单片机带声音提示的秒
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
程序
程序6-2:带声音提示的秒表程序(对应图6-21)
ORG 00H ; 设置起始地址
START:
CLR P1.7 ; P1.7=0关闭蜂鸣器
MOV P0,#00H ; 两位七段数码管显示“00”
JB P3.5,$ ; 如果按钮开关S1没有按下重复执行本行
CALL FILTER ; 如果检测S1被按下,调FILTER子程序,消除开关的抖动
JNB P3.5,$ ; 如果S1没有放开则等待,放开后执行下一行
MOV A,#00H ; 累加器A=0
MOV R1,#50 ; 计时50秒的计数器 PRESS:
MOV P0,A ; 输出至P0,七段数码管显示
MOV R5,#10 ; 为延时1秒设定的寄存器初始值 ADD_1:
CALL DELAY ; 调延时子程序
DJNZ R5,ADD_1 ; 循环10次完成1秒延时
ADD A,#01H ; 计时值加1
DA A ; 十进制调整
DJNZ R1,PRESS ; 判断是不是到50秒,如果没到就继续计时
MOV R1,#6 ; 声音提示计数器 NOTICE:
CPL P1.7 ; P1.7反相,蜂鸣器转换状态
CALL DELAY ; 调延时子程序
DJNZ R1,NOTICE ; 判断是否响了3次
JMP START ; 循环
DELAY: ; 本段延时0.5ms
MOV R6,#200
D1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET ; 延时子程序返回主程序 FILTER: ; 按钮开关过滤抖动子程序
MOV R6,#60
F1: MOV R7,#248
DJNZ R7,$
DJNZ R6,F1
RET ; 过滤子程序返回主程序
END ; 程序结束点