当前位置:编程学习 > 汇编语言 >>

单片机基于8051片子做的八路抢答器程序,请高手帮忙检查下

8路抢答器控制要求: 1。一共8路抢答输入 2。当没有任一路按键按下时,数码管中间一段每隔一秒闪烁一次(亮的时间和灭的时间分别为0。5秒) 3。当任一路抢答时,蜂鸣器发音(鸣叫1秒),并且LED数码管显示该路的编号。 4。一次抢答结束后,过5S恢复到开机初始状态,等待下一轮抢答。 程序: org 0000h sjmp START ORG 0013H LJMP INT1 ORG 0030H START: CLR IE1 SETB EA SETB EX1 CLR R7 CLR R6 CLR R5 CLR R4 MAIN: MOV P0 , #40H ACALL TIME MOV P0 , 00H ACALL TIME AJMP MAIN INT1: PUSH PSW PUSH ACC JNB P1.0 , TI1 JNB P1.1 , TI2 JNB P1.2 , TI3 JNB P1.3 , TI4 JNB P1.4 , TI5 JNB P1.5 , TI6 JNB P1.6 , TI7 BAKE: POP ACC POP PSW RETI TI1: MOV P0 ,#86H ACALL TIME1 MOV P0 , #06H AJMP TIME2 TI2: MOV P0 ,#DBH ACALL TIME1 MOV P0 , #5BH AJMP TIME2 TI3: MOV P0 ,#CFH ACALL TIME1 MOV P0 , #4FH AJMP TIME2 TI4: MOV P0 ,#E6H ACALL TIME1 MOV P0 , #66H AJMP TIME2 TI5: MOV P0 ,#EDH ACALL TIME1 MOV P0 , #6DH AJMP TIME2 TI6: MOV P0 ,#FDH ACALL TIME1 MOV P0 , #7DH AJMP TIME2 TI7: MOV P0 ,#87H ACALL TIME1 MOV P0 , #07H AJMP TIME2 TIME: MOV R7 , #2000H DEL: MOV R6 , #125H DEL1: DJNZ R6 , DEL1 DJNZ R7 , DEL RET TIME1: MOV R5 , #2H 1S: ACALL TIME DJNZ R5 , 1S RET TIME2: MOV R4 , #4H 4S: ACALL TIME1 DJNZ R4 , 4S RETI 因为没有具体连接过,第一次实验,请有经验的大哥大姐们帮忙检查下,谢谢咯。。
补充:I/O分配:
P0输出P0.0-P0.6为数码管
P0.7为蜂鸣器

P1为8个按钮输入
答案:这个,你拿Mewin软件仿真一下不就行了,编译汇编看有没有错误,这个并不一定要有实验箱的,软件得先查错啊
其他:才给0分啊,至少得100吧,现在技术不廉价哦 我发个程序给你好了。检查程序太麻烦了 

上一个:请问一下高手 我这段51的汇编语言 宏定义 那里错误啊? 不能调用啊?
下一个:用51做一个pwm输出 要求:1 汇编语言 2 用一个定时器 3三个按键K1 K2 K3

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,