【毕设课设】基于单片机16路抢答器仿真系统,可以通过按键设定抢答时间,并设定主持人开始功能按键,一个十六路抢答按键,抢答完成锁定,其他人再抢答会进行报警等功能。
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换
#define uchar unsigned char; //定义数据类型 程序中遇到unsigned char 则用uchar替换
#define uint unsigned int; //定义数据类型 程序中遇到unsigned int 则用uint替换
sbit add=P2^0;
sbit jian=P2^1;
sbit beep=P2^2; //定义报警输入端口
sbit start=P2^3;
sbit WEI=P2^7; //定义锁存使能端口 位锁存
sbit DUAN=P2^6; //定义锁存使能端口 段锁存
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
sbit key5=P1^4;
sbit key6=P1^5;
sbit key7=P1^6;
sbit key8=P1^7;
sbit key9=P3^0;
sbit key10=P3^1;
sbit key11=P3^2;
sbit key12=P3^3;
sbit key13=P3^4;
sbit key14=P3^5;
sbit key15=P3^6;
sbit key16=P3^7;
uchar code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9
uchar code dofly_WeiMa[10]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码
uchar code table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar TempData[8]; //存储显示值的全局变量
//函数声明
void DelayUs2x(unsigned char t);
void DelayMs(unsigned char t);