智能抢答器C程序.docx_第1页
智能抢答器C程序.docx_第2页
智能抢答器C程序.docx_第3页
智能抢答器C程序.docx_第4页
智能抢答器C程序.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除#include#include#include#define uchar unsigned char#define uint unsigned intSbit rs =p07;Sbit e =p06;Sbit FM =p05;Sbit Load =p00;Sbit Din =p01;Sbit Clk =p02;Sbit SuoCun =p33;Sbit Start_Key =p34;Sbit Start_Key1 =p35;Sbit Start_Key2 =p36;Sbit Start_Key 3=p37;Sbit Reset_Start =p04;Sbit QC_Key =p03;Char code First0 = “ ”;Char code First1 = “ Name: Responder ”;Char code First2 = “ wenyisan ”;Char code First3 = “ Start Respond! ”;Char code First4 = “ Start Answer ”;Char code First5 = “ Responder end! ”;Char code First6 = “ Number: ”;Char code First7 = “ Answer Right ”;Char code First8 = “ Answer Wrong ”;Char code First9 = “ Add 1 Score ”;Char code First10 = “ Minus 1 Score ”;Char code First11 = “ Nobody Respond ”;Char code First12 = “ Next Question ”;Char code First13 = “ New Question ”;Char code First14 = “ Wait Start ”;Char code First15 = “ No Answer ”;Char code First16 = “ Continue Respond ”;Char code First17 = “ Respond Fouls ”;Char code First18 = “ Respond invalid ”;Uchar key1=0,key2=0,key3=0,key4=0,key5=0,key6=0;Uchar key7=0,key8=0,s1=0,s2=0,s3=0,s4=0,s5=0,s6=0,s7=0,s8=0;Uchar Flag_FG,Flag1=0,Flag2=0Xs,Baj;Char Hao;Char Num = 0,1,2,3,4,5,6,7,8,9;Int code Num1 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;Int code Num2 = 0xbf,0x86,0xdb,oxcf,oxe6,0xed, ,0xfd,0x87,0xff,0xef;Void 1cd_init();Void write(char x);Void 1cd_enable();Void write1cd(char *pt);Void Display_char(void);Void delay(uint t);Void write_7221(long int x);Void Init7221(void);Void DaoJiShi_5s(void);Void DaoJiShi_10(void);Void Int_Ext0(void);Void Check_key(void);Void SMG_DISP(void);Void BaoJing(void);Void main() FM=0; Int_Ext0(); Init7221(); 1cd_init(); Display_char(); While (1) SMG_DISP(); Check_Key();If(Start_Key=0) Flag_FG=1; DaoJiShi_5s(); Flag_FG=0; SunCun=1; If(Start_Key1=0) DaoJiShi_10(); SuoCun =1; If(Reset_Start=0) key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;Flag1=0;p2=0x80; 1cd_enable();Write1cd(First13);P2 = 0xc0;1cd_enable();Write1cd(First14);SuoCun =1; If(Baj=1) BaoJing(); If(QC_Key=0) Baj=0; Key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;Flag1=0;p2=0x80; 1cd_enable(); Write1cd(First13); P2 = 0xc0; 1cd_enable();Write1cd(First14); Void BaoJing(void) FM=1; Delay(200); FM=0; Delay(200);P2=0x80;1cd_enable();Write1cd(First17);P2=0x81;1cd_enable();write(Hao);p2=0xc0;1cd_enable();Write1cd(First18);Void SMG_DISP(void) write_7221(0x800/Num1s1/(key17); write_7221(0x900/Num1s2/(key27); write_7221(0xa00/Num1s3/(key37); write_7221(0xb00/Num1s4/(key47); write_7221(0xc00/Num1s5/(key57); write_7221(0xd00/Num1s6/(key67); write_7221(0xe00/Num1s7/(key77); write_7221(0xf00/Num1s8/(key87); void Check_Key(void) switch(p1) case 0x01: key1=1;Hao=Num1;Xs=1;break; case 0x02: key2=1;Hao=Num2;Xs=2;break; case 0x04: key3=1;Hao=Num3;Xs=3;break; case 0x08: key4=1;Hao=Num4;Xs=4;break; case 0x10: key5=1;Hao=Num5;Xs=5;break; case 0x20: key6=1;Hao=Num6;Xs=6;break; case 0x40: key7=1;Hao=Num7;Xs=7;break; case 0x80: key8=1;Hao=Num8;Xs=8;break; void Int0_out(void) interrupt 0 using 3 if(Flag_FG=1 ) SuoCun =0;Flag1=1; else Baj=1; void Int_Ext0(void) IT0=1; EX0=1; EA=1 ; void 1cd_init() p2 = 0x1; 1cd_enable(); p2 = 0x38; 1cd_enable(); p2 = 0x0c; 1cd_enable(); p2=0x06; 1cd_enable(); void write(charx) p2=x; rs=1;e=0;delay(1);e=1;void 1cd_enable() rs=0; e=0;delay(1);e=1; void write1cd(char *pt) while(*pt) while(*pt+);void Display_char(void) p2=0x80; 1cd_enable(); write1cd(First1); p2=0xc0; 1cd_enable(); write1cd(First2);void delay(uint t) uint i; while(t-) for (i=0;i125;i+); void Write_7221(long int x) long int ch; unsigned char i=0; ch=x; clk=0; Load=0; for(i=0;i=1; clk=0; clk=1; else Din=0; ch=1;clk=0;clk=1; Load=1; void Init7221(void) Write_7221(0x201); write_7221(0x401); /write_7221(0x580); write_7221(0x500); void DaoJiShi_5s(void) char i; p2=0x80;1cd_enable();write1cd(First3);p2=0xc0;1cd_enable();write1cd(First0);for(i=5;i=0;i-) SMG_DISP(); if(Flag1=1) Check_Key(); p2=0x80; 1cd_enable(); write1cd(First5);p2=0xc0; 1cd_enable(); write1cd(First6);p2=0xcb; 1cd_enable(); write(Hao);return; p2=0xc7; 1cd_enable(); write(Numi); p2=0xc8; 1cd_enable(); write(s); FM=1;delay(500); FM=0;delay(500); p2=0x80; 1cd_enable(); write1cd(First11); p2=0xc0; 1cd_enable(); write1cd(First12) Void DaoJiShi_10(void) char i; SuoCun =1;p2=0x80;1cd_enable();write1cd(First4);p2=0xc0;1cd_enable();write1cd(First0); for(i=10;i=0;i-) p2=0xc6;1cd_enable();write(Numi/10); p2=0xc7;1cd_enable();write(Numi%10); p2=0xc8;1cd_enable();write(s);FM=1;delay(500); FM=0;delay(500);if(Start_Key2=0) p2=0x80; 1cd_enable(); write1cd(First7); p2=0xc0; 1cd_enable(); write1cd(First9)switch(Xs) case 1: s1+;break; case 2: s2+;break; case 3: s3+;break; case 4: s4+;break; case 5: s5+;break; case 6: s6+;break; case 7: s7+;break; case 8: s8+;break; key1=0;key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;Flag1=0; return; if(Start_Key3=0) p2=ox80; 1cd_enable(); write1cd(First8); p2=0xc0; 1cd_enable(); write1cd(First10)switch(Xs) case 1: s1-;break; case 2: s2-;break; case 3: s3-;break; case 4: s4-;break; case 5: s5-;break; case 6: s6-;break; case 7: s7-;break

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论