硬件电路如图,设计要求:
p3.0口的按键按下后数码管显示十秒倒计时;十秒钟之内当四个抢答按键按下后数码管显示对应组号,对应指示灯亮,倒计时十秒结束恢复初始状态,不能抢答。并且每个键按下都有声音提示。自己设计的程序不能实现发声和倒计时功能,求帮忙改正
ORG 0000H
LJMP START
ORG 0040H
LJMP MAIN
ORG 0050H
START: MOV P2,#0FFH
JB P3.0, $
CPL P3.1
LACLL DELAY
CPL P3.1
MOV P2,#0C0H
AGAIN:JNB P1.0,X1
JNB P1.1,X2
JNB P1.2,X3
JNB P1.3,X4
SJMP AGAIN
X1:RETI
ANL P1,#0EFH
CPL P3.1
LACLL DELAY
CPL P3.1
MOV P2,#0F9H
SJMP $
X2:ANL P1,#0DFH
CPL P3.1
LACLL DELAY
CPL P3.1
MOV P2,#0A4H
SJMP $
X3:ANL P1,#0BFH
CPL P3.1
LACLL DELAY
CPL P3.1
MOV P2,#0B0H
SJMP $
X4:ANL P1,#7FH
CPL P3.1
LACLL DELAY
CPL P3.1
MOV P2 ,#99H
SJMP $
DELAY: MOV R7,#100
DEL1: MOV R6,#249
DL:NOP
NOP
DJNZ R6,DL
DJNZ R7,DEL1
RET
END
这个程序蜂鸣器部分是低电平有效吧,如果我想让它高电平有效呢
追答我的程序,是好用的。
采纳时,你点错了,对我来说,并没有多大的关系。
只是,可能会误导很多人。
------
对于单片机来说,输出低电平有效,是正常的。
因为,复位时,单片机的输出,默认就是高电平。
如果,外设,是高电平有效,刚开机时,就会引起误操作。
所以,设计各种外设电路,都要避免高电平有效。
恩 ,懂了,非常感谢