实验六 方波发生器
1、学习单片机内部定时器的硬件结构及其应用。
2、定时器T0、T1的两种用途之一:作为定时器实现定时控制。
3、掌握TMOD、TCON的各位的意义,学会可编程控制方法。
4、学会使用VSM虚拟示波器观测波形。
二、实训预备知识
1、单片机内部定时器/计数器的编程主要是时间常数的设置和有关控制寄存器的设置。 内部定时器/计数器在单片机的主要有定时和计数两种功能,本实训使用的是定时功能。
2、与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0~windows下刷bios3,并确定用于定时还是计数。TCON主要功能是为了定时器在溢
出时设定标志位,并控制定时器的运行或停止。
3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡周期。
4、在设置时间常数前要先关闭对应的中断,设置完时间常数之后再打开该中断。 三、实训设备:微机一台、实训箱、THKL-C51仿真器、示波器、扁平数据线和一条串行数据通信线。
四、实训内容
(1)用内部定时器/计数器0的定时功能,实现周期为400us的方波输出。
图5-1 400us方波发生器原理图
(2)用内部定时器/计数器1的定时功能,rna测序在P3.0引脚上产生周期为10ms的方波输出,定时器采用查询和中断两种方式实现。
图5-210ms方波发生器原理图
(3)用内部定时器/黄粉虫筛选机计数器0的方式2,在P3.0引脚上产生矩形波, 高电平为50us,低电平为300us。
五、程序设计步骤
1、PROTEUS电路设计 图4-25 矩形波波形图
方波发生器电路原理图如图5-1、5-2所示,设计在PROTEU伪随机数 ISIS平台中进行。
菜单【file】/【New Design】,出现选择模板窗口,选中”DEFAULT” 模板,再单击金桥通联轴器”OK”按钮,在文件名框中输入文件名,单击”保存”油路分配器按钮,则保存新建设计文件,其后缀自动为.DSN。
单击“P”按钮,在其左上角“Keywords”(关键字)一栏中输入以下元器件的关键字,将以下元器件添加到对象选择器中。
①AT89C51:单片机
②RES:电阻
③LED-GREEN:绿发光二极管
④CAP、CAP-ELEC:电容、电解电容
⑤CRYSTAL:晶振
⑥OCSILLOSCOPE:VSM虚拟示波器
⑦电压探针
(3)放置元器件:按照原理图合理放置元器件。
(4)放置电源和地(终端)
单击工具栏中的终端按钮,在对象选择器中选取电源(POWER)、地(GROUND), 用上述放置元器件方法分别放置于编辑区中。
(5)电路图连线
系统默认自动扑捉和自动布线有效。只要在两端点相继单击,便可画线。画折线,在拐弯处单击;若中途想取消,可右双击或按“Esc”;若终点在空白初,左双击即可结束。
(6)设置、修改元器件的属性
先右击后左击各器件,在弹出的属性编辑框中设置、修改它的属性。
(7)电气检测
选择【Tools】/【Electrical Rule Check】菜单项,出现电气检查报告单,无错误,则用户可执行下一步。
2、源程序设计、生成目标代码文件
(1)流程图
(a)主程序框图 (b)T0中断处路程序框图
图5-3 400us方波发生器控制流程图
(a)查询方式流程图 (b)中断方式流程图
图5-4 10ms方波发生器控制流程图
图5-5 矩形波控制流程图
(2)源程序设计
在Kile软件中
第一步:建立一个工程项目文件
执行菜单【Project 】/【New project 】,给项目文件取名并保存,选择单片机型号为AT89C51;
第二步:选择目标器件
右键Target1-Options for Target“ Target1”或选择【 Project】/ 【Options for Target“Target1” 】对选项卡进行设置,在“Output”选项卡,选中“Create HEX File”;