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

要求没有蜂鸣器 和开始计时 就是四个开关作为抢答开关 主持人一个复位开关就行 有知道的人帮助下 谢谢了

先来个汇编的程序,P1接一个共阳极数码管,P0低4位接4个抢答按键,主持人复位采用单片机复位按钮实现。
ORG 0000H
START: MOV A,P0
ORL A,#0F0H
CJNE A,#0FFH,PL0
SJMP START

PL0: LCALL DELAY
MOV A,P0
ORL A,#0F0H
CJNE A,#0FFH,PL1
SJMP START

PL1: JNB ACC.0,K1
JNB ACC.1,K2
JNB ACC.2,K3
JNB ACC.3,K4

LJMP START

K1: MOV P1,#0F9H
SJMP $
K2: MOV P1,#0A4H
SJMP $
K3: MOV P1,#0B0H
SJMP $
K4: MOV P1,#99H
SJMP $

DELAY: MOV R6,#15
DEL2: MOV R7,#200
DJNZ R7,$
DJNZ R6,DEL2
RET
END追问

我要的是 C51程序

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-30
;以下是以前做的八路抢答器程序,你参考一下。
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
第2个回答  2012-12-01
这个应该不难啊。4路抢答器。我有这方面的资料,需要可以找我,我随时都在线,等待回复!追问

这个是不是很难 但是我们现在要做很多设计 没时间做 你有可不可以给我呀?

追答

不知道您的具体要求是什么,可以加1870111474详聊哈。