STC89C52RC汇编语言编程的秒表2015
基于51汇编语言编程的秒表A设计;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG 0000HLJMP MAINORG 000BH ;;定时器 T0 入口地址LJMP T0_INTORG 001BH ;;定时器 T1 入口地址LJMP T1_INT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 初始化服务程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIN: SETB EA ;开中断 SETB ET0 SETB PT0 SETB IT0 SETB EX1 SETB IT1 SETB ET1 SETB TR1 MOV TMOD,#11H ; 选择定时器工作方式 MOV TH0,#0D8H ; 对定时器 T0 赋初值 MOV TL0,#0F0H MOV TH1,#0B1H ; 对定时器 T1 赋初值 MOV TL1,#0E0H MOV R0,#00H ; 对 R0、R6、P0、R7、60H、 MOV R6,#0FH; MOV P0,#00FH ; 72H 寄存器初始化 MOV R7,#80H MOV 60H,#00H MOV 72H,#01H MOV DPTR,#TAB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 开始,停止键检测 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;LOOP: MOV A,P1 CJNE A,#0F7H,ON1 LCALL DELAY1 MOV A,P1 CJNE A,#0F7H,ON1 LJMP ON;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 清零键检测 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ON1: MOV A,P1 CJNE A,#0FBH,STC LCALL DELAY1 MOV A,P1 CJNE A,#0FBH,STC LJMP ON2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 报警解除服务程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STC: MOV A,P1 CJNE A,#0DFH,ON3 LCALL DELAY1 MOV A,P1 CJNE A,#0DFH, ON3 MOV 60H,#00H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3、4 号键同时按下检测 ;;;;; 进入报警值设定模式 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ON3: MOV A,P1 CJNE A,#0CFH,BJ2 LCALL DELAY1 MOV A,P1 CJNE A,#0CFH,BJ2 LJMP ON4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 报警值检测 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BJ2: MOV A,60H CJNE A,#0,BJ1BJ: LCALL DELAY1 LCALL DELAY1 MOV A,R4 CJNE A,73H,LOOP LCALL DELAY1 LCALL DELAY1 MOV A,R3 CJNE A,72H,LOOPLCALL DELAY1 LCALL DELAY1 MOV A,R2 CJNE A,71H,LOOPINC 60HLJMP BJ1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 报警服务程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BJ1: MOV P3,#00H LCALL DELAY2 MOV P3,#0FFH LCAL