要四人抢答器毕业设计
- 提问者网友:杀手的诗
- 2021-07-24 14:31
- 五星知识达人网友:神鬼未生
- 2021-07-24 15:38
- 1楼网友:長槍戰八方
- 2021-07-24 16:04
二至八路抢答器设计
#include "reg52.h" // 头文件
unsigned char code tab[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //显示0到9十个数 unsigned char a,b; //定义两个变量,a为显示数据,b为标志 sbit cc=P3^7; //老师抢答控制键 sbit a1=P2^6; //第一个数码管位选 sbit a2=P2^7; //第二个数码管位选
void delay(unsigned z) //延时函数 { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
void display() //显示函数 { a2=0; P0=tab[a]; delay(10); }
void main() //主函数 { a=0; b=1; while(1) //死循环 { if(cc==0||b==0) //老师控制键被按下或者标志位置零 { a=0; //老师按下了控制键则把显示清零 b=0; //把标志位置零 if(P1==0xfe) //如果是第一个同学则把1赋给a显示 {a=1;b=1;} //并且把标志位置壹 if(P1==0xfd) //同上,如果只要几路可以把下面的去掉就可以了。 {a=2;b=1;} if(P1==0xfb) {a=3;b=1;} if(P1==0xf7) {a=4;b=1;} if(P1==0xef) {a=5;b=1;} if(P1==0xdf) {a=6;b=1;} if(P1==0xbf) {a=7;b=1;} if(P1==0x7f) {a=8;b=1;} } delay(5); //延时,也可以不要 display(); //显示函数 } }