谁能帮我找一下基于8051单片机的“八路智能抢答器”的源代码(汇编或c#)及电路图

来源:百度知道 编辑:UC知道 时间:2024/06/11 07:29:33
我的邮箱是yangdeqing2006@163.com

抢答器的基本部分原理:
一人按键后,显示出该人编号,其他人再按键无效。那么只一人输入信号后,使其它人输入无效,且区分出是那一位选手输入即可。
单片机做法原理:
键盘分先手1~15号和主持人复位键,对4X4键盘进行扫描。对所输入的键盘进行扫描。当主持人按下键时开始计时,这时比赛开始。如果选手按键后则输出显示对应的选手号,并且对再输入的选手信号进行屏蔽,直到主持人重新按下复位键,这时新的一轮比赛开始。
原程序如下:
#include <wanggl.h> //一些常用的输入输出函数
#define uchar unsigned char
void delay1 (uchar n);
void shijian(void);
main()
{
uchar? k,p; //k为扫描结果,p为判断是否有键按下
uchar? key,key1;//key为按入键对应的十六进制(或为十进制的个位)
//key1为十六进制转换十进制的十位
p=0;

while(1)
{
shijian(); //调用显示时间函数
loop:
k=KeyScan(); //扫描键盘函数
key=KeyLED(k); //将扫描键盘的数值转换成十六进制
if((k!=0x11)&&(!p)) //0x11为复位键 p=1为有键按下
{ //显示字符
key1=0xff;
if(k<0x25) //如果输入字符大于9将键盘扫描为<0x25的值
{
key1=0x9f; //十位数显示1
switch(k) //个位数显示
{
case 0x24: key=0x03; break;// 0
case 0x22: key=0x9f; break;// 1
case 0x21: key=0x25; break;// 2
case 0x18: key=0x0d; break;//