实验六
单片机定时计数器实验1方波发生器
一、实验目的
1定时计数器是单片机的一个重要功能部件,可用来实现定时、计数、频率测量、脉冲宽度测量、产生信号、信号检测等。用AT89C51单片机定时计数器0的定时功能可构成一简单的方波发生器,实现为400us的方波输出。若改变定时计数器0的初值,可得到不同周期的方波输出。2用proteus设计、仿真基于AT89C51单片机的方波发生器。3学会使用VSM虚拟示波器观测波形。
二、电路设计
R1
10k
C1
30p
C2
30p19
U1
XTAL1XTAL2ALEEAPSEN303129AD07A81518
X1
CRYSTAL9RST
C3
22uf
12345678
P10P11P12P13P14P15P16P17
P30RXDP31TXDP32INT0P33INT1P34T0P35T1P36WRP37RD
1011121314151617
ABCD
AT89C51PROGRAMaaa5HEX
1从PROTEUS库中选取元件①AT89C51:单片机;②RES:电阻;③LEDGREEN:绿发光二极管;④CAP、CAPELEC:电容、电解电容;
f⑤CRYSTAL:晶振。2放置元器件3放置电源和地4连线5元器件属性设置6电气检测7虚拟检测仪器(1)VSM虚拟示波器单击小工具栏中的按钮,在对象选择器列表中单击OSCILLOSOPE
(示波器),再在ISIS编辑区中适当位置单击,虚拟示波器就放置好了。它以虚拟示波器符号表示,如图所示。最后将单片机的P35、P37分别于示波器的A、B信道相连。(2)电压探针选择电压探针,连接到要实时监测的电路上,以便仿真时观察该处的电压变化。
三、源程序设计、生成目标代码文件
1流程图2源程序设计通过菜单“source→AddRemoveSourceFiles”新建源程序文件:DZC36ASM。通过菜单“source→DZC36ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。程序编辑好后,单击按钮存入文件DZC36ASM。
3源程序编译汇编、生成目标代码文件通过菜单“source→BuildAll”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇编成功。四、PROTEUS仿真1加载目标代码文件2仿真单击按钮,启动仿真。暗点以12MHZ频率,开关断开,输入引脚电平为高,开关闭合,输入引脚电平为低。P35、P37上的电平每隔半周期(200us)进行翻转,且在程序中设置他们总是反向。
f两个电压探针的电压值分别是V0199005V、V498677V正反映了这这种情况,虚拟示波器能实时记录仿真波形的情况,连个输出信号电平相反。虚拟示波器当前的参数设置为:①电压幅值:2V格;②分辨率:100us格;③双通道,直流。从虚拟示波器上看出,高、低电平的宽度为2格,为200us,定时的信号周期为400us,电平高度约为25格,为5V。两r