AT89S52单片机 用计数器实现按键计数功能,七段数码管“0-9”循环计数显示 用到P0端显示数 如何用外部中断1实现第一个数码管0-9循环,按下按键后计数暂...

AT89S52\u5355\u7247\u673a \u6c47\u7f16\u8bed\u8a00 \u901a\u8fc7\u8ba1\u65f6\u5668\u7f16\u51990-9\u7684\u5faa\u73af\u663e\u793a

ORG 0000H
JMP BEGIN
ORG 000BH
LJMP T0ISR
ORG 0030H
TABLE: ; \u5171\u9634\u6781\u6570\u7801\u7ba1\u663e\u793a\u4ee3\u7801\u8868
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
;---------------------------------------
BEGIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
SETB ET0
SETB EA
MOV R2,#0
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
SETB TR0
MOV DPTR,#TABLE
MOV A,R2
MOVC A,@A+DPTR
MOV P1,A
INC R2
CJNE R2,#10,T0E
MOV R2,#0
T0E:
RETI
END

#include#define uchar unsigned charuchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit key=P1^0;void delay(uchar a){uchar i;while(1--)for(i=0;i<120;i++);}main(){uchar num=0;bit flag=0;whilie(1) { P0=table[num]; P2=0x0fe; delay(200); if(flag==0)num++; if(key==0) { while(key==0); flag=~flag; } }}

;P0口是段码,共阴。
;P1.0是位码
;按键16个在P3口
;按键用1S延时,没有用等待松开确认
;按键只做了第一列00-12共4个按键,后3列02-15按键自己按照这个意思编写
ORG 0000H
AJMP MAIN
MAIN:
SETB P1.0
MOV P0,#00H

SCAN:
CLR P3.0
ACALL DELAY1S
JB P3.4,KEY04 ;是按键0吗?不是就跳转到按键4,如果是按键0被按下,显示按键位号0.
MOV A,#00H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P1.0
LCALL SCAN
KEY04:
CLR P3.0
ACALL DELAY1S
JB P3.5,KEY08
CLR P1.0
MOV A,#04H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P1.0
LCALL SCAN
KEY08:
CLR P3.0
ACALL DELAY1S
JB P3.6,KEY12
CLR P1.0
MOV A,#08H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P1.0
LCALL SCAN
KEY12:
CLR P3.0
ACALL DELAY1S
JB P3.7,KEY02
MOV A,#0CH
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P1.0
SETB P3.0

LCALL SCAN
KEY02:
;省略
RET
TAB:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;Define定义段码0、1、2、3、4、5、6、7、8、9
DB 77H,7CH,39H,5EH,79H,71H,0FFH,73H,5CH,70H ;Define定义段码A、B、C、D、E、F、灭、P、o、r
DELAY1S: MOV R4,#08H
MOV R5,#00H
MOV R6,#00H
DJNZ R4,$
DELAY2: DJNZ R5,DELAY2
DJNZ R6,DELAY2
RET
END

c语言的呢

扩展阅读:单片机型号及参数 ... 51单片机计数 ... 单片机计数器设计 ... 单片机按键计数 ... at89c52单片机烧录器 ... at89s52实物图 ... stc51单片机型号参数 ... 51单片机型号大全 ... 单位交16% 个人8% ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网