您现在的位置: 主页 > MCU > 单片机技术应用 > 计时秒表程序设计 -
本文所属标签:
为本文创立个标签吧:

计时秒表程序设计 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
;题目要求:;秒表计时,按S0开始计时,并由数码管显示;;再按S0停止。若计满1分钟结束未按S0停止,则蜂鸣器报警。;要在proteus软件上面模拟......;==================================================

;题目要求:
;秒表计时,按S0开始计时,并由数码管显示;
;再按S0停止。若计满1分钟结束未按S0停止,则蜂鸣器报警。
;要在proteus软件上面模拟......
;==================================================================
;提问者给出了程序,经过修改,要求的功能,除了蜂鸣器报警,都能实现。
;蜂鸣器报警,从原来的程序上修改,困难较大,建议改成LED发光报警。
;程序如下:
;----------------------------------------------
TEMP EQU 22H
ORG 0000H
SJMP START
ORG 0003H
LJMP X0_INT
ORG 0050H
;----------------------------------------------
START:
MOV IE, #85H
MOV IP, #00000001B
MOV TEMP, #0
;----------------------------------------------
M_LOOP:
CALL DISPLAY
CALL DELAY2 ;延时约500ms
CALL DELAY2
JNB F0, NEXT
INC TEMP
MOV A, TEMP
CJNE A, #61, NEXT
CLR P0.1
MOV TEMP, #60
NEXT:
SJMP M_LOOP ;一个循环,约1s
;----------------------------------------------
X0_INT:
CPL F0
JB P0.1, X0_END
SETB P0.1
MOV TEMP, #0
X0_END:
JNB P3.2, $
RETI
;----------------------------------------------
DISPLAY:
MOV DPTR, #NUMTAB ;指定查表地址
MOV A, TEMP
MOV B, #10
DIV AB ;A/B商=a,余数=b
MOVC A, @A+DPTR ;查十位七段码
MOV P1, A ;送出十位七段码
MOV A, B ;个位在b
MOVC A, @A+DPTR ;查个位七段码
MOV P2, A ;送出个位七段
RET
;----------------------------------------------
NUMTAB:
DB 0C0H,0F9H,0A4H,0B0H,099H
DB 092H,082H,0F8H,080H,090H
;----------------------------------------------
DELAY2: ;延时约500ms
MOV R5, #10
DEL3: MOV R6, #100
DEL4: MOV R7, #248
DJNZ R7, $
DJNZ R6, DEL4
DJNZ R5, DEL3
RET
END
;----------------------------------------------
;程序用PROTEUS运行,屏幕截图如下:

本文引用地址: http://www.21ic.com/app/mcu/201806/764340.htm




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 计时秒表程序设计 -
 

"计时秒表程序设计 -"的相关文章

网站地图

围观()