51单片机定时器计数器汇编实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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灯闪烁。

相关文档
最新文档