51单片机定时器计数器汇编实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
批
阅
长沙理工大学
实验报告
年级光电班号姓名同组姓名实验日期月日
指导教师签字:批阅老师签字:
内容
一、实验目的四、实验方法及步骤
二、实验原理五、实验记录及数据处理
三、实验仪器六、误差分析及问题讨论
单片机定时器/计数器实验
一、实验目的
1、掌握51单片机定时器/计数器的基本结构。
2、掌握定时器/计数器的原理及编程方法。
二、实验仪器
1、装有keil软件的电脑
2、单片机开发板
三、实验原理
51单片机有2个16位的定时器/计数器,分别是T0和T1,他们有四种工作方式,现以方式1举例。若定时器/计数器0工作在方式1,计数器由TH0全部8位和TL0全部8位构成。
方式1作计数器用时,计数范围是:1-65536(2^16);作定时器用时,时间计算公式是:T=(2^16-计数初值)×晶振周期×12。
四、实验内容
1、计算计数初值
单片机晶振频率为6MHz,使用定时器0产生周期为120000μs等宽方波连续脉冲,并由P1.0输出。设待求计数初值为x,则:
(2^16-x)×2×10^-6 = 120000×10^-6解得x=5536。二进制表示为:00010101 10100000B。十六进制为:高八位(15H),低八位(A0H)。
2、设置相关控制寄存器
TMOD设置为xxxx0001B
3、程序设计
ORG 0000H
AJMP MAIN
ORG 30H
MAIN: MOV P1,#0FFH ;关闭所有灯
ANL TMOD,#0F0H ;置定时器0工作方式1
ORL TMOD,#01H ;不影响T1的工作
MOV TH0,#15H ;设置计数初始值
MOV TL0,#0A0H
SETB EA ;CPU开中断
SETB ET0 ;定时器0开中断
SETB TR0 ;定时器开始运行
LOOP: JBC TF0,INTP ;如果TF0=1,则清TF0并转到INTP
AJMP LOOP ;然跳转到LOOP处运行
INTP: MOV TH0,#15H ;重新设置计数初值
MOV TL0,#0A0H
CPL P1.0 ;输出取反
AJMP LOOP
END AJMP LOOP
END
4、实验仿真
新建工程项目文件中,并为工程选择目标器件为AT公司的AT89S51。编辑源程序,建立.asm源文件,将源文件添加到工程项目组中。将生成的.hex文件下载到单片机开发板,观察P1.0连接的LED灯闪烁。