- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抢答器程序
/*硬件电路等资料在另外一个文档《抢答器报告》*/
#includereg52.h
#includeintrins.h //包含_nop_()函数定义的头文件
#define uchar unsigned char
#define uint unsigned int
/*竞答者按键*/
sbit s1=P1^0;
sbit s2=P1^1;
sbit s3=P1^2;
sbit s4=P1^3;
sbit s5=P1^4;
sbit s6=P1^5;
sbit s7=P1^6;
sbit s8=P1^7;
/*主持人按键*/
sbit tm=P3^0;
sbit tp=P3^1;
sbit time_h=P3^2;
sbit time_q=P3^3;
sbit clean=P3^4;
sbit start=P3^5;
/*****LED灯*****/
sbit led_hd=P3^6;
sbit led_ks=P3^7;
sbit a=P2^5;
sbit b=P2^4;
sbit c=P2^3;
sbit d=P2^7;
sbit fmq=P2^6;//蜂鸣器
sbit RS=P2^0; //寄存器选择位,将RS位定义为P2.0引脚
sbit RW=P2^1; //读写选择位,将RW位定义为P2.1引脚
sbit E=P2^2; //使能信号位,将E位定义为P2.2引脚
sbit BF=P0^7; //忙碌标志位,,将BF位定义为P0.7引脚
unsigned char num[9]={0,0,0,0,0,0,0,0,0};
unsigned char fen[9]={0,0,0,0,0,0,0,0,0};
unsigned char fangui[9]={0,0,0,0,0,0,0,0,0};
unsigned char code string[ ]= {competitor: };
unsigned char code string1[ ]={ time: };
unsigned char code string2[]=;
unsigned char code string3[]={0123456789};
unsigned char code string4[]={over!!!};
unsigned char code string5[]={-};
unsigned char code string6[]={scores: };
uchar sec,shi,ge,t=1,j,time,nn=0;//
uchar k;//记录抢答按键
uint count;
uchar maxtime_qd=20;// 抢答时间(初始值)
uchar maxtime_hd=20;//回答时间(初始值)
/*****************************************************
函数功能:延时1ms
***************************************************/
void delay1ms()
{
unsigned char i,j;
for(i=0;i10;i++)
for(j=0;j33;j++)
;
}
/*****************************************************
函数功能:延时若干毫秒
入口参数:n
***************************************************/
void delay(unsigned int n)
{
unsigned int i;
for(i=0;in;i++)
delay1ms();
}
/*************************************************
蜂鸣器----竞答---- 2 khz
*************************************************/
void delayms(unsigned int ms) //延时子函数
{
uchar t;
while(ms--)
{
for(t = 0; t 120; t++);
}
}
/************************/
void delay0(uchar x) // x*0.14MS 延时子函数
{
unsigned char i;
while(x--)
{
for (i
文档评论(0)