AT89S52单片机程序50例(00-50)

源代码在线查看: 00-99计数器.asm

软件大小: 1701 K
上传用户: fjhgjgjk
关键词: 89S S52 AT 89
下载地址: 免注册下载 普通下载 VIP

相关代码

				;===  00-99计数器  ===
				
				      Count EQU 30H
				      SP1 BIT P3.7  ;定义P3.7为按键
				      ORG 0000H
				
				START:MOV Count,#00H
				 NEXT:MOV A,Count
				      MOV B,#10
				      DIV AB
				      MOV DPTR,#TABLE  ;取表的有效地址
				      MOVC A,@A+DPTR  ;查表
				      MOV P0,A
				      MOV A,B
				      MOVC A,@A+DPTR
				      MOV P2,A
				
				
				 WAIT:JB SP1,WAIT  ;是否有按键?无,则继续检测
				      LCALL DELY10MS  ;有,则延时消抖
				      JB SP1,WAIT  ;是否真的有按键?无,则重新检测
				      INC Count  ;有,则Count加1
				      MOV A,Count
				      JNB SP1,$
				      CJNE A,#100,NEXT  ;按键次数是否为100,不是,则跳转至NEXT
				      LJMP START  ;是,则重新计数
				
				;===  10ms延时子程序  ===
				DELY10MS:MOV R6,#20
				      D1:MOV R7,#248
				         DJNZ R7,$
				         DJNZ R6,D1
				 RET
				
				;=== 0-9的段码值  ===
				TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
				
				END
							

相关资源