一位数码管连在51单片机上,按键后数码管加1,按一下加1.怎样用汇编语言编写,求程序非常感谢 10
6个回答
展开全部
一、图貌似有点问题:
1、用的是共阴极数码管,如果用单片机直接驱动的话,应该用共阳极的;
2、所有LED(包括数码管)都未接限流电阻,建议串接470欧左右的;
3、单片机直接驱动“sounder”,估计驱动电流不够,建议接三极管后再输出
二、程序可以借鉴楼上的,但需要修改:
......
SETB P1.0
JNB P1.0,$
......
在这2句之间需要加入:
JB 1.0 LP0
LCALL DELAY_50MS
另:加入子程序DELAY_50MS
DELAY_50MS:
MOV R7,#0C3H
LP_DL:
MOV R6,#00H
DJNZ R6,$
DJNZ R7,LP_DL
RET
如果换成共阳极数码管后,数据表换成以下的:
TABLE: ;表:共阳数码管 0-9 A-F
DB 0C0H,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
以上意见供参考
1、用的是共阴极数码管,如果用单片机直接驱动的话,应该用共阳极的;
2、所有LED(包括数码管)都未接限流电阻,建议串接470欧左右的;
3、单片机直接驱动“sounder”,估计驱动电流不够,建议接三极管后再输出
二、程序可以借鉴楼上的,但需要修改:
......
SETB P1.0
JNB P1.0,$
......
在这2句之间需要加入:
JB 1.0 LP0
LCALL DELAY_50MS
另:加入子程序DELAY_50MS
DELAY_50MS:
MOV R7,#0C3H
LP_DL:
MOV R6,#00H
DJNZ R6,$
DJNZ R7,LP_DL
RET
如果换成共阳极数码管后,数据表换成以下的:
TABLE: ;表:共阳数码管 0-9 A-F
DB 0C0H,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
以上意见供参考
展开全部
;一位数码管连在51单片机上,按键后数码管加1,按一下加1.
SP1 EQU P3.2
ORG 0000H
MOV 30H, #3FH ;0
MOV 31H, #06H ;1
MOV 32H, #5BH ;2
MOV 33H, #4FH ;3
MOV 34H, #66H ;4
MOV 35H, #6DH ;5
MOV 36H, #7DH ;6
MOV 37H, #07H ;7
MOV 38H, #7FH ;8
MOV 39H, #6FH ;9
M_0: MOV R0, #30H
DISP: MOV P2, @R0
WT: JB SP1, $
MOV R6, #40
DJNZ R7, $
DJNZ R6, $ - 2
JB SP1, WT
JNB SP1, $
INC R0
CJNE R0, #3AH, DISP
SJMP M_0
END
SP1 EQU P3.2
ORG 0000H
MOV 30H, #3FH ;0
MOV 31H, #06H ;1
MOV 32H, #5BH ;2
MOV 33H, #4FH ;3
MOV 34H, #66H ;4
MOV 35H, #6DH ;5
MOV 36H, #7DH ;6
MOV 37H, #07H ;7
MOV 38H, #7FH ;8
MOV 39H, #6FH ;9
M_0: MOV R0, #30H
DISP: MOV P2, @R0
WT: JB SP1, $
MOV R6, #40
DJNZ R7, $
DJNZ R6, $ - 2
JB SP1, WT
JNB SP1, $
INC R0
CJNE R0, #3AH, DISP
SJMP M_0
END
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
;按键后数码管加1,到9后又从0开始
ORG 0000H
AJMP MAIN
ORG 0040H
MAIN:
MOV DPTR,#TABLE
CLR A
MOV R0,A
MOVC A,@A+DPTR
MOV P2,A
LP0:
SETB P1.0
JNB P1.0,$
INC R0
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
CJNE R0,#10,LP0
AJMP MAIN
TABLE:
DB 0FCH;0
DB 060H;1
DB 0DAH;2
DB 0F2H;3
DB 066H;4
DB 0B6H;5
DB 0BEH;6
DB 0E0H;7
DB 0FEH;8
DB 0F6H;9
END
ORG 0000H
AJMP MAIN
ORG 0040H
MAIN:
MOV DPTR,#TABLE
CLR A
MOV R0,A
MOVC A,@A+DPTR
MOV P2,A
LP0:
SETB P1.0
JNB P1.0,$
INC R0
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
CJNE R0,#10,LP0
AJMP MAIN
TABLE:
DB 0FCH;0
DB 060H;1
DB 0DAH;2
DB 0F2H;3
DB 066H;4
DB 0B6H;5
DB 0BEH;6
DB 0E0H;7
DB 0FEH;8
DB 0F6H;9
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ORG 0000H
AJMP MAIN
ORG 0040H
MAIN:
MOV DPTR,#TABLE
CLR A
MOV R0,A
MOVC A,@A+DPTR
MOV P2,A
LP0:
SETB P1.0
JNB P1.0,$
INC R0
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
CJNE R0,#10,LP0
AJMP MAIN
TABLE:
DB 0FCH;0
DB 060H;1
DB 0DAH;2
DB 0F2H;3
DB 066H;4
DB 0B6H;5
DB 0BEH;6
DB 0E0H;7
DB 0FEH;8
DB 0F6H;9
END
AJMP MAIN
ORG 0040H
MAIN:
MOV DPTR,#TABLE
CLR A
MOV R0,A
MOVC A,@A+DPTR
MOV P2,A
LP0:
SETB P1.0
JNB P1.0,$
INC R0
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
CJNE R0,#10,LP0
AJMP MAIN
TABLE:
DB 0FCH;0
DB 060H;1
DB 0DAH;2
DB 0F2H;3
DB 066H;4
DB 0B6H;5
DB 0BEH;6
DB 0E0H;7
DB 0FEH;8
DB 0F6H;9
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哎,看了2个答案,完全是抄的,连错误都一模一样,反正什么说呢,某不负责任的书上来的吧。不说了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询