51单片机定时器计数器汇编实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三、定时器/计数器实验报告
一、实验内容
1、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.7接到示波器显示该方波波形;用T1作计数器对从P3.6输出的方波进行计数,计数结果通过P1口输出到发光二极管显示。(计算机仿真)
2、编写单片机程序,用T0作定时器产生周期为1秒的方波(用查询方式编程),从P3.6,P3.7口输出,将P3.6输出的方波接到P3.5口通过T1作计数器对该方波进行计数,计数值由LED显示,用存储示波器显示P3.7输出的方波。(实验台验证)
3、设计一个60秒计时器,秒计时结果用两位LED数码管显示。(计算机仿真)
二、实验仿真图
(1)脉冲计数
实验程序
ORG 0000H
BEGIN:MOV TMOD,#51H MOV TL0,#0F0H
MOV TH0,#0DBH
MOV TH1,#00H
MOV TL1,#00H
MOV P1,#00H
MOV P0,#00H
MOV P2,#00H
MOV R3,#00H
MOV R4,#00H
SETB TR0
SETB TR1
S1: MOV R1,#33H
MOV A,R4
MOV R5,TL1
ADD A,R5
MOV P1,A
MOV R2,TL1
CJNE R2,#10,S2
MOV TH1,#00H
MOV TL1,#00H
INC R3
MOV A,R3
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P2,A
MOV P0,#3FH
MOV A,R3
MOV B,#0AH
MUL AB
MOV R4,A
MOV P1,R4
AJMP NEXT
S2: MOV R1,#33H
MOV DPTR,#TAB1
MOV A,TL1
MOVC A,@A+DPTR
MOV P0,A
AJMP NEXT LOOP: JBC TF0,NEXT AJMP LOOP
NEXT: MOV TL0,#0F0H
MOV TH0,#0DBH
DJNZ R1,LOOP
CPL P3.6
CPL P3.7
AJMP S1
TAB1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;(SW3,SW4为:00) END
(2)60秒定时器
实验程序
ORG 0000H
BEGIN:MOV TMOD,#51H
TL0,#0F0H
MOV
MOV
TH0,#0DBH
TH1,#00H
MOV
TL1,#00H
MOV
R3,#00H
MOV
P0,#00H
MOV
P2,#00H
MOV
SETB
TR0
TR1
SETB
S1: MOV R1,#33H
R2,TL1
MOV
R2,#10,S2
CJNE
TH1,#00H
MOV
TL1,#00H
MOV
R3
INC
R3,#06H,S4
CJNE
R3,#00H
MOV
S4: MOV A,R3
DPTR,#TAB1
MOV
A,@A+DPTR
MOVC
P2,A
MOV
MOV
P0,#3FH
NEXT
AJMP
S2: MOV R1,#33H
DPTR,#TAB1
MOV
A,TL1
MOV
A,@A+DPTR
MOVC
MOV
P0,A
NEXT
AJMP
LOOP: JBC TF0,NEXT
LOOP
AJMP
NEXT: MOV TL0,#0F0H
TH0,#0DBH
MOV
R1,LOOP
DJNZ
P3.6
CPL
CPL
P3.7
S1
AJMP
TAB1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END