八路抢答器C51程序Word文档下载推荐.docx
- 文档编号:8184957
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:24
- 大小:16.91KB
八路抢答器C51程序Word文档下载推荐.docx
《八路抢答器C51程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《八路抢答器C51程序Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
sbitkey7=P3^6;
sbitkey8=P3^7;
/*****************数码管****************/
unsignedcharconstdofly[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//显示段码值01234567
/*****共阳数码管*********/
/********功能键***********************/
sbitfuwei=P2^1;
sbitspeak=P2^7;
sbitkaishi=P2^0;
unsignedcharshijian=30;
//unsignedcharcodeIC_DAT3[]={48,49,50,51,52,53,54,55,56,57,58,};
unsignedcharcodeIC_DAT3[]={"
0123456789"
};
//***************************8延时程序***********************
//**********************************************************8//
voiddelayms(unsignedintn)//延时10×
n毫秒程序
{
unsignedinti,j;
for(i=0;
i<
n;
i++)
for(j=0;
j<
2000;
j++);
}
voiddelay(unsignedcharm)//延时程序
m;
10;
}
/*函数声明*/
/****************************命令数据写·
*****************************/
voidTransferData(chardata1,bitDI)//传送数据或者命令,当DI=0是,传送命令,当DI=1,传送数据.
WRD=0;
RS=DI;
delay
(1);
P0=data1;
E=1;
E=0;
/*液晶初始化-字库*/
voidinitinal(void)//LCD字库初始化程序
delay(40);
//大于40MS的延时程序
//PSB=1;
//设置为8BIT并口工作模式
//延时
//RES=0;
//复位
//RES=1;
//复位置高
delay(10);
TransferData(0x30,0);
//ExtendedFunctionSet:
8BIT设置,RE=0:
basicinstructionset,G=0:
graphicdisplayOFF
delay(100);
//大于100uS的延时程序
//FunctionSet
delay(37);
////大于37uS的延时程序
TransferData(0x08,0);
//DisplayonControl
TransferData(0x10,0);
//CursorDisplayControl光标设置
TransferData(0x0C,0);
//DisplayControl,D=1,显示开
TransferData(0x01,0);
//DisplayClear
//大于10mS的延时程序
TransferData(0x06,0);
//EnryModeSet,光标从右向左加1位移动
//要显示的汉字
unsignedcharcodeIC_DAT[]={
"
抢答者:
第"
unsignedcharcodeIC_DAT4[]={
队"
unsignedcharcodeIC_DAT1[]={
违规者:
unsignedcharcodeIC_DAT2[]={
抢答开始"
/***************************写汉字起始地址***************************/
voidlcd_mesg(unsignedcharcode*adder1)
{
unsignedchari;
TransferData(0x90,0);
//SetGraphicDisplayRAMAddress
/*for(i=0;
16;
i++)*/
for(i=0;
{
TransferData(*adder1,1);
adder1++;
}
voidlcd_mesg1(unsignedcharcode*adder1)
TransferData(0x98,0);
voidlcd_mesg2(unsignedcharcode*adder1)
TransferData(0x81,0);
/***************个位十位百位***************************************/
voidlcd_mesg3(unsignedcharr)
unsignedchara,b,c;
a=r/100;
b=r%100/10;
c=r%10;
TransferData(0x8C,0);
//SetGraphicDisplayRAMAddress数据起始地址
TransferData(IC_DAT3[c],1);
//个位
delay(100);
TransferData(0x8B,0);
TransferData(IC_DAT3[b],1);
//十位
TransferData(0x8A,0);
TransferData(IC_DAT3[a],1);
//百位
/****************************************************
********************************主程序***************/
voidmain(void)
inti=200,j=200,k=200;
/****报警参数?
********/
lianghenfei:
i=200;
j=200;
k=200;
shijian=30;
speak=1;
initinal();
//调用LCD字库初始化程
lcd_mesg(IC_DAT);
//显示中文汉字1
lcd_mesg1(IC_DAT1);
delay(100);
P1=0x7f;
/*关闭数码管*/
while(kaishi)
{
if(fuwei==0){speak=0;
delayms(25);
gotolianghenfei;
if(!
key1)
{//按下相应的按键,数码管显示相应的码值
TransferData(0X9E,0);
TransferData(IC_DAT3[1],1);
while
(1)
{
speak=0;
P1=dofly[1];
if(fuwei==0){gotolianghenfei;
};
//警告
}
if(fuwei==0){speak=0;
key2)
TransferData(IC_DAT3[2],1);
P1=dofly[2];
key3)
TransferData(IC_DAT3[3],1);
P1=dofly[3];
key4)
TransferData(IC_DAT3[4],1);
P1=dofly[4];
key5)
TransferData(IC_DAT3[5],1);
P1=dofly[5];
key6)
TransferData(IC_DAT3[6],1);
P1=dofly[6];
key7)
TransferData(IC_DAT3[7],1);
P1=dofly[7];
key8)
TransferData(IC_DAT3[8],1);
P1=dofly[8];
}
lcd_mesg2(IC_DAT2);
/*****************************开始抢答*************************
**************************************************************/
while(i--){speak=0;
speak=1;
while
(1)
initinal();
lcd_mesg(IC_DAT);
delay(100);
TransferData(0X95,0);
TransferData(IC_DAT3[1],1);
delayms(50);
if(shijian>
=50){speak=0;
delayms(300);
delayms(100);
lcd_mesg3(shijian--);
while(shijian<
=9)
lcd_mesg3(shijian);
P1=dofly[shijian--];
delayms(25);
delayms(100);
}
TransferData(IC_DAT3[2],1);
TransferData(IC_DAT3[3],1);
lc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八路 抢答 C51 程序
![提示](https://static.bingdoc.com/images/bang_tan.gif)