8位按键控制led

详细的问题说明,有助于回答者给出准确的答案
用8位按键做单片机的输入,控制输入,控制输出端口连接的8只LED发光二极管。按下按键相应的LED亮3秒

网上有好多啊,你们看看这个,延时时间自己调,楼上的只是时间不一样,不会延时程序也让别人做吧!!
8个按键接P1口,8个LED接P0口。
ORG 00H
AJCX:
JNB P1.0, AJCL-1 ;键按下,转移到消抖延时程序
JNB P1.1, AJCL-2
JNB P1.2, AJCL-3
JNB P1.3, AJCL-4
JNB P1.4, AJCL-5
JNB P1.5, AJCL-6
JNB P1.6, AJCL-7
JNB P1.7, AJCL-8
JMP AJCX ;无键按下,转按键查询
AJCL-1: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.0, $ ;查询P1.0等待
CLR P0.0 ;点亮P1.0口LED灯
CALL LDYS ;调亮灯延时
SETB P0.0 ;关掉P1.0口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-2: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.1, $ ;查询P1.1等待
CLR P0.1 ;点燃P0.1口LED灯
CALL LDYS ;调亮灯延时
SETB P0.1 ;关掉P0.1口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-3: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.2, $ ;查询P1.2等待
CLR P0.2 ;点燃P0.2口LED灯
CALL LDYS ;调亮灯延时
SETB P0.2 ;关掉P0.2口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-4: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.3, $ ;查询P1.3等待
CLR P0.3 ;点燃P0.3口LED灯
CALL LDYS ;调亮灯延时
SETB P0.3 ;关掉P0.3口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-5: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.4, $ ;查询P1.4等待
CLR P0.4 ;点燃P0.4口LED灯
CALL LDYS ;调亮灯延时
SETB P0.4 ;关掉P0.4口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-6: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.5, $ ;查询P1.5等待
CLR P0.5 ;点燃P0.5口LED灯
CALL LDYS ;调亮灯延时
SETB P0.5 ;关掉P0.5口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-7: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.6, $ ;查询P1.6等待
CLR P0.6 ;点燃P0.6口LED灯
CALL LDYS ;调亮灯延时
SETB P0.6 ;关掉P0.6口LED灯
SJMP AJCX ;转移到按键查询程序
AJCL-8: ;按键处理程序
CALL XDYS ;调转消抖延时程序
JNB P1.7, $ ;查询P1.7等待
CLR P0.7 ;点燃P0.7口LED灯
CALL LDYS ;调亮灯延时
SETB P0.7 ;关掉P0.7口LED灯
SJMP AJCX ;转移到按键查询程序
LDYS: MOV R7, #10
L2: MOV R6, #202
L1: MOV R5, #246
DJNZ R5, $
DJNZ R6, L1
DJNZ R7, L2
RET
XDYS: MOV R4, #60
L3: MOV R3, #248
DJNZ R3, $
DJNZ R4, L3
RET
END

参考资料:http://zhidao.baidu.com/question/80635319.html?fr=uc_push wzt158981

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-11
采纳答案是错误的。

3秒一个、3秒一个、3秒一个。。。,前面的亮完了,才能按键。

参考:

第2个回答  2008-12-29
怎么和我求的问题一样啊,不过我的是要LED亮1秒

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网