一位数码管连在51单片机上,按键后数码管加1,按一下加1.怎样用汇编语言编写?
1个回答
展开全部
一、图貌似有点问题:
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
以上意见供参考
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询