实验五 单片机定时、计数器实验(方波发生器)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五单片机定时/计数器实验1——方波发生器
一、实验目的
1.定时/计数器是单片机的一个重要功能部件,可用来实现定时、计数、频率测量、脉冲宽度测量、产生信号、信号检测等。用AT89C51单片机定时/计数器0的定时功能可构成一简单的方波发生器,实现为400us的方波输出。若改变定时/计数器0的初值,可得到不同周期的方波输出。
2.用proteus设计、仿真基于AT89C51单片机的方波发生器。
3.学会使用VSM虚拟示波器观测波形。
二、电路设计
1.从PROTEUS库中选取元件
①AT89C51:单片机;
②RES:电阻;
③LED-GREEN:绿发光二极管;
④CAP、CAP-ELEC:电容、电解电容;
⑤CRYSTAL:晶振;
⑥SW-SPST:带锁存的单刀双掷开关。
2.放置元器件
3.放置电源和地
4.连线
5.元器件属性设置
6.电气检测
7.虚拟检测仪器
(1)VSM虚拟示波器
单击小工具栏中的按钮,在对象选择器列表中单击OSCILLOSOPE
(示波器),再在ISIS编辑区中适当位置单击,虚拟示波器就放置好了。它以虚拟示波器符号表示,如图所示。最后将单片机的P3.5、P3.7分别于示波器的A、B信道相连。
(2)电压探针
选择电压探针,连接到要实时监测的电路上,以便仿真时观察该处的电压变化。
三、源程序设计、生成目标代码文件
1.流程图
2.源程序设计
通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC32.ASM。
通过菜单“sourc e→DZC35.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。
程序编辑好后,单击按钮存入文件DZC35.ASM。
3.源程序编译汇编、生成目标代码文件
通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇编成功。
四、PROTEUS仿真
1.加载目标代码文件
2.仿真
单击按钮,启动仿真。暗点以12MHZ频率,开关断开,输入引脚电平为高,开关闭合,输入引脚电平为低。
P3.5、P3.7上的电平每隔半周期(200us)进行翻转,且在程序中设置他们总是反向。
两个电压探针的电压值分别是V=0.199005V、V=4.98677 V正反映了这这种情况,虚拟示波器能实时记录仿真波形的情况,连个输出信号电平相反。虚拟示波器当前的参数设置为:
①电压幅值:2V/格;
②分辨率:100us/格;
③双通道,直流。
从虚拟示波器上看出,高、低电平的宽度为2格,为200us,定时的信号周期为400us,电平高度约为2.5格,为5V。两个通道的信号相位是相反的,仿真结果与设计所期望的结果一致。还可以用虚拟示波器对波形参数进行测量。
五、思考题:
1.定时器T0和T1各有几种工作方式?请简述。
f=12MHZ,若要求定时值分别为
2.已知单片机系统时钟频率
OSC
0.1ms、1ms和10ms,定时器T0工作在方式0,方式1和方式3时,定时
器对应的初值各位多少?