单片机定时器计数器应用实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开始开始
确定定时器确定定时器工作方式工作方式
设置定时器设置定时器计数初值计数初值
启动定时器
允许定时器否
中断查询计数溢
出否
启动定时器
是
等待中断
P1.0口取反
P1.0口取反
开始
开始开始
禁止中断
确定定时器禁止中断
确定定时器
工作方式
工作方式
确定定时器设置定时1器
工作方式
设置定时0器计数初值
计数初值设置定时1器
设置定时0器
计数初值设置定时1器
计数初值
计数初值
启动定时器1
否
启动定时器0
启动定时器0
查询定时器1
关闭定时器1 P1.0口取反启动定时器1
查询定时器0
否
否
计数溢出否
是
累加器加1
查询定时器0 计数溢出否
是累加器等于2
是否计数溢出否
关闭定时器0
是
是
启动定时器1 P1.0口取反
P1.0口取反
否
累加器等于5 关闭定时器0 查询定时器0
P1.0口取反
否
计数溢出否
是
关闭定时器1
是
P1.0口取反
查询定时器1
计数溢出否P1.0口取反
累加器清0
ORG 0000H
MAIN:MOV TMOD,#02H
MOV TH0,#9CH
MOV TL0,
#9CH SETB TR0
LOOP0:JBC TF0,LOOP1
AJMP LOOP0
LOOP1:CPL P1.0
AJMP LOOP0
END
ORG 0000H
START: LJMP MAIN
ORG 000BH
LJMP LOOP1
ORG 0100H
MAIN: MOV TMOD, #02H
MOV TH0, #88H
MOV TL0, #88H
SETB EA
SETB ET0
LOOP: SETB TR0
HERE: SJMP HERE
LOOP1: CPL P1.0
RETI
ORG 0000H
MOV TMOD, #20H
MOV IE, #00H
MOV TH1, #38H
MOV TL1, #38H LOOP4: MOV TH0, #0F6H
MOV TL0, #13H
SETB TR0
CLR TR1
CPL P1.0
LOOP0: JBC TF0, LOOP1 AJMP LOOP0 LOOP1:
SETB TR1
CLR TR0
CPL P1.0
LOOP5: JBC TF1, LOOP4
AJMP LOOP5
END
ORG 0000H
MOV IE, #00H
MOV TMOD, #02H
MOV TH0, #38H
MOV TL0, #38H
LOOP1: MOV TH1, #0F0H
MOV TL1, #0CH
SETB TR0
SETB TR1
LOOP3: JBC TF0, LOOP0
AJMP LOOP3
LOOP0: CLR TR0
CPL P1.0
LOOP4: JBC TF1, LOOP5
AJMP LOOP4
LOOP5: CLR TR1
CPL P1.0
LJMP LOOP1
END
ORG 0000H
MOV SP, #2FH
MOV IE, #00H
MOV TMOD, #20H
MOV TH1, #9CH
MOV TL1, #9CH
SETB TR1
LOOP: JNB TF1, LOOP
LOOP1: INC A
CLR TF1
CJNE A , #02, LOOP2
CPL P1.0
LOOP2: CJNE A , #05, LOOP CPL P1.0
CLR A
LJMP LOOP
END