导航:首页 > 编程语言 > 单片机四路抢答器c程序

单片机四路抢答器c程序

发布时间:2023-03-13 20:53:02

① 求proteus单片机c语言程序代码,四路抢答器

能把问题描述清楚看来程序实现对你来说不成问题,我用伪代码给你写出来你自己补充完整即可。
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;
}
}
}

注意:代码是允许有同时按下的情况,当然也可以改为不允许同时按下的情况发生,即如果发生同时按下则随便选择一个按键,这样觉得有点不公平。

② 怎么把用c语言编的四路抢答器程序转变成汇编语言的程序(程序如下)

SW1 BIT P3.0
SW2 BIT P3.1
SW3 BIT P3.2
SW4 BIT P3.3
ORG 0000H
LJMP MAIN
ORG 0030H
DELAY: ;延时毫秒
MOV R3,#2
DELAY1:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DELAY1
DJNZ R2,DELAY
RET
MAIN:
JB SW1,MAIN1
MOV P2,#7FH
MOV P0,#0F9H
SJMP $
MAIN1:
JB SW2,MAIN2
MOV P2,#7FH
MOV P0,#0A4H
SJMP $
MAIN2:
JB SW3,MAIN3
MOV P2,#7FH
MOV P0,#0B0H

SJMP $
MAIN3:
MOV P2,#7FH
MOV P0,#99H
SJMP $

END

③ 急求最简单的单片机4人抢答器c51程序

;以下是以前做的八路抢答器程序,你参考一下。
ORG 0000H
JMP BEGIN
ORG 0030H
TABLE: ; 共阴极数码管显示代码表
DB 3FH,06H,5BH,4FH,66H ;12345
DB 6DH,7DH,07H,7FH ;6789
DELAY: MOV R5,#20
LOOP4: MOV R6,#50H ;延时20X20ms
LOOP5: MOV R7,#100
DJNZ R7,$
DJNZ R6,LOOP5
DJNZ R5,LOOP4
RET
;---------------------------------------
BEGIN: MOV P2,#0FFH ;P2口置高电平,准备接收信号
MOV R4,#0
MOV A,R4 ;R4位标志值送A寄存器
AGAIN: MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P1,A
LOOP1: MOV A,P3 ; 接收p3口的抢答信号
CPL A
JZ LOOP1
LOOP2: RRC A ;有人抢答信号则逐次移动判断哪一位抢答
INC R4
JNC LOOP2
;********************
MOV A,R4
MOVC A,@A+DPTR ;找到相应位显示代码
MOV P1,A
LEDDIS:
MOV A,#0FFH
CLR C
LEDDIS1:
RLC A
DJNZ R4,LEDDIS1
MOV P0,A
LOOP3: JNB P2.2,BEGIN ;若主持人按下复位信号键,则转向主程序
CPL P2.0 ;若没按复位信号键,则通过p2.2口给出高低信号驱动蜂鸣器
LCALL DELAY ;调用延时子程序
SJMP LOOP3 ;p2.2口反复间隔0.4s变化,驱动蜂鸣器
END

阅读全文

与单片机四路抢答器c程序相关的资料

热点内容
linux命令行修改文件内容 浏览:526
java通信框架有哪些 浏览:331
哪里看美国报纸app 浏览:753
excel打开同一个文件出现两个窗口 浏览:318
手机版用word做文件怎么换行 浏览:822
应用程序无法正常启动0xc0000013 浏览:761
华为鸿蒙主题在哪个文件夹 浏览:683
什么app是扔地雷 浏览:497
游戏策划要学什么编程语言 浏览:600
解压后的文件哪个是你安装包 浏览:540
g2文件是什么 浏览:782
python中修改文件 浏览:198
win10查系统版本号 浏览:861
win10如何更改壁纸 浏览:803
怎么引用另一个表格的数据 浏览:990
杭州哪个网站便宜又好 浏览:511
linuxclibcurl 浏览:434
hadoophdfs删除文件 浏览:752
ios查看软件版本号 浏览:403
搭建商用网站需要学什么 浏览:188

友情链接