求proteus单片机c语言程序代码,四路抢答器
发布网友
发布时间:2023-09-20 08:47
我来回答
共1个回答
热心网友
时间:2024-11-15 21:24
能把问题描述清楚看来程序实现对你来说不成问题,我用伪代码给你写出来你自己补充完整即可。
void main()
{
unsigned char key,cont;
bit flag = 0;
初始化IO口;\\关闭红灯点亮绿灯,数码管显示0
while(1)
{
key = P1&0xF;
if(key!=0xF)
{
/*按下的按键相应绿灯关闭*/
LED_G1 = (bit)(key&0x1);
LED_G2 = (bit)(key&0x2);
LED_G3 = (bit)(key&0x4);
LED_G4 = (bit)(key&0x8);
/*按下的按键相应红色LED闪烁*/
for(cont=0;cont<5;cont++)
{
LED_R1 = (~LED_G1)|flag;
LED_R2 = (~LED_G2)|flag;
LED_R3= (~LED_G3)|flag;
LED_R4 = (~LED_G4)|flag;
Delay();//延时
flag = ~flag;
}
关闭所有红色LED并开启所有绿色LED;
}
}
}
注意:代码是允许有同时按下的情况,当然也可以改为不允许同时按下的情况发生,即如果发生同时按下则随便选择一个按键,这样觉得有点不公平。追问我后面那电路图和代码不用看,我自己做的,给你们看一下而已。你只需按照要求,写出代码便可。你上面好像都没有按要求写,第一个人抢答完成,一段时间后还可以另外一个人抢答。当没人抢答,就进入下一题抢答。还有数码管显示似乎没有