51单片机4路抢答器的原理及C语言源程序由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“51单片机抢答器c程序”。
51单片机4路抢答器的原理及C语言源程序
单片机,当然不只是51,51单片机是一种稍通用型的单片机,通过I/O口的定义,可以实现多种控制功能。
抢答器,原理:如果为四路,当其中任一路控下后,其他几路即失效,结果为第一次按下的,可以用数码管或是LED灯来显示,当然这里只是讲原理与编程,具体可以根据抢答器路数及显示方式更改程序即可。源程序如下:
/*用的是AT89S52开发板,独立按键接口如下,就用这四路。先按下的用LED灯来显示,对应第一个到第四个LED灯,其他再按无效,如果想再次实现,可手动复位单片机*/ #include sbit key1=P3^0;//定义按键,根据需要连接线路,如独立按键(4路)sbit key2=P3^1;sbit key3=P3^2;sbit key4=P3^3;/*void delay(unsigned int cnt)//如果有抖动或是干扰,可以用个小延时去抖 { while(--cnt);} */ void main(){ bit Flag;while(!Flag){ if(!key1){P1=0xFE;Flag=1;} /*LED灯来显示按下的键,第一个灯,我这里是8位LED灯,即:0111 1111,反过来读数为:1111 1110 即:0xFE *,P1口对应LED灯,给P1赋值/
else if(!key2){P1=0xFD;Flag=1;} //第二个灯亮 else if(!key3){P1=0xFB;Flag=1;} //第三个灯亮
else if(!key4){P1=0xF7;Flag=1;} //第四个灯亮,意味着第四路首先按下 } while(Flag);//可以再加个I/O,控制Flag,这样初始化,继续抢答,还可以设计按下时的声音
} 以上程序测试只能测试一次,如再想测试,只能手动复位单片机。当然,可以根据此原理,设计出功能强大的抢答器。如加入声音提示,数码管或是LCD液晶显示,裁判确定后可复位继续抢答等。
当然,用51单片机,是浪费,可根据I/O口(抢答路数)来用其他的单片机实现。
基于单片机msp430和温度传感器ds18b20的水温度控制系统的c语言源程序(不是测量,要有加热跟制冷)我这是用STC做的,应该很容易移植到MPS430上的给你参考一下。 #include #include......
C/C++程序编译步骤如何生成可执行文件电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命......
【C语言】 【数据类型】【转义字符】 【语句】 【#define】 #define 新名 原名 【typedef】typedef 原类型名 新类型名; 【sbit】 sbit P1_0=P1^0; 在reg52.h或reg51.h的头......
8、指针的使用8.1 在定义的时候,*ap中的‘*’是指针类型说明符;在进行指针预算时,x = *ap 中的‘*’是指针运算符。 8.2 如果在已定义好的指针变量,并引用,即int *ap, int a; ap......
单片机C语言之一___________________________________________________________________ _____________________ 预处理 一》宏定义:1、不带参数:#define 标识符 常量表达式/......