单片机实验5(定时计数器应用)_第1页
单片机实验5(定时计数器应用)_第2页
单片机实验5(定时计数器应用)_第3页
单片机实验5(定时计数器应用)_第4页
单片机实验5(定时计数器应用)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验五实验五 定时计数器应用定时计数器应用一、实验目的一、实验目的: :1、单片机系统中、单片机系统中,可以用软件或硬件定时,当定时时可以用软件或硬件定时,当定时时间较长,定时准确率要求较高时,应采用硬件定时。间较长,定时准确率要求较高时,应采用硬件定时。 MCS51系列单片机中有系列单片机中有2个个16位的可编程定时位的可编程定时/计计数器数器T0和和T1,通过本实验要求掌握通过本实验要求掌握T0、T1的初始化的初始化编程和应用。编程和应用。2、学会应用烧录软件学会应用烧录软件XLISPXLISP和和keil-uvision2keil-uvision2集成调集成调试软件进行实验。掌握实验的

2、步骤并能得到正确的实试软件进行实验。掌握实验的步骤并能得到正确的实验结果。验结果。二、实验内容二、实验内容 1 1、定时计数器应用:、定时计数器应用: 8只LED呈流水灯显示,用定时计数器定时,使流水灯的间隔时间为1S。 用定时计数器0实现定时1S,采用软硬件结合方式:T0方式0,定时50ms,循环程序20次。 2 2、数码管显示:、数码管显示: 要求数码管显示0-9,间隔时间0.5S,采用定时计数器T1实现。 3 3、思考题:、思考题: 用定时计数器T0和T1级联定时3S。 三、实验步骤三、实验步骤 1 1、硬件连接、硬件连接 (1) (1)使用使用USBUSB线线( (电源电源) )和串口

3、线和串口线( (通信通信),),将将XL2000XL2000综合综合仿真仪与微型计算机连接起来仿真仪与微型计算机连接起来; ; CPUCPU选用选用AT89S51AT89S51,采,采用程序直接写入方式用程序直接写入方式; ;将将JP17JP17的开关(编程仿真模式)的开关(编程仿真模式)置为弹起状态置为弹起状态, ,选择编程模式选择编程模式; ; ( (2 2) )定时计数器应用:定时计数器应用:使用使用8P8P的连接线将的连接线将CPUCPU的的P P0 0口口与与JP32JP32(8 8个发光二极管)相连。个发光二极管)相连。 ( (3 3) )数码管显示:数码管显示: P1P1口接数码

4、管(口接数码管(JP19JP19)。)。 2 2、软件设计、软件设计(1) Kiel(1) Kiel软件操作同实验一:建立工程并存储、选软件操作同实验一:建立工程并存储、选择芯片择芯片89C5189C51、新建文件输入程序并保存,将文件、新建文件输入程序并保存,将文件加入到工程中。加入到工程中。 (2)(2)修改属性:修改属性:如如右图右图, ,点击工程下拉点击工程下拉菜单中的菜单中的”目标目标目标目标11属性属性”;”;单击单击”目标目标”,”,输入仿真器的频率输入仿真器的频率12(MHz);12(MHz);选择选择“输出输出”菜单中的菜单中的”生成生成HEXHEX文件文件”,”,以以便汇编

5、后产生便汇编后产生HEXHEX代码代码, ,供编程器使用供编程器使用; ;3 3、将程序写入、将程序写入AT89C51AT89C51:双击桌面双击桌面XLISPXLISP启动程序,启动程序,出现下面界面出现下面界面。 (1 1)选择操作)选择操作/ /检测编程器点击。检测编程器点击。 在上图在上图7 7窗口中出现编程器检测窗口中出现编程器检测OKOK!说明系统已经!说明系统已经连接完好,可以下一步实验,否则需要检查出错的连接完好,可以下一步实验,否则需要检查出错的原因并改正原因并改正; (2 2)点击擦除图标,将)点击擦除图标,将CPUCPU中的原有程序擦除;中的原有程序擦除; (3 3)点击

6、打开图标,)点击打开图标,找到Kiel编译后需要执行的程序(HEX文件),点击;在XLISP的文件 程序区可见到要执行的程序; (4 4)点击写入框,在程序写入结束后即可观察点击写入框,在程序写入结束后即可观察运行的结果。运行的结果。参考程序1、间隔显示时间为1秒的流水灯程序#include REG51.Hvoid delay1s() unsigned char i; for(i=0;i0 x14;i+) TH0=0 x3c; TL0=0 xb0; TR0=1; while(!TF0); TF0=0; void main() unsigned char i,w; TMOD=0 x01; whi

7、le(1) w=0 x01; for(i=0;i8;i+) P1=w; w=1; delay1s(); 2 2、0 09 9简易秒表简易秒表#include unsigned char led=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; void delay(); /采用定时器1实现0.5秒延时 unsigned int i; for(i=0;i2000;i+) /设置2000次循环次数 TH1=0 x06;/方式2,设置定时器初值为06H TL1=0 x06; TR1=1;/启动T1 while(!TF1); /定时0.250ms时间到,TF1=1 TF1=0;/将T1溢出标志位TF1清零 void main()/主函数 unsigned char i; TMOD=0 x20;/设置定时器1工作于方式2 while(1) for(i=0;i10;i+) P1=ledi; /字型显示码送段控制口P1 delay (); 3 3、思考题连接:、思考题连接:T0T0定时定时50ms50ms,由,由P1.7P1.7输出至输出至T1T1计数端计数端P3.5P3.5,T1T1计数计数6060次,由次,由P1.6P1.6输出输出3S3S定时。定时。 四、提交试验报告:四、提交试验报告: 每次实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论