標題: 51單片機3路搶答器設計文檔 [打印本頁]
作者: 拉拉洗牙 時間: 2019-12-26 19:56
標題: 51單片機3路搶答器設計文檔
設計要求1、一位主持人和3位搶答者,復位后,甲乙丙的綠、紅燈全亮,開始鍵、復位鍵的指示燈全暗;主持人按復位鍵則僅復位指示燈亮,其他都暗,準備開始;主持人按開始鍵,開始燈亮,允許甲乙丙搶答,此時優先者則相應成功指示燈亮,如允許前搶就相應犯規燈亮;答題開始進行倒計時,到規定時間不允許答題,并返回復位狀態。
2、具有搶答控制和倒計時顯示功能。
3、控制器應有復位控制、開始控制、搶答控制和狀態指示等功能,并有答題時間控制和顯示功能。
單片機源程序如下:
- #include"reg51.h" //包括一個51標準內核的頭文件
- #include "ABSACC.H" //庫函數
- #define a8255_PA XBYTE[0xD1FF] /*PA口地址*/
- #define a8255_PB XBYTE[0xD2FF] /*PB口地址*/
- #define a8255_PC XBYTE[0xD5FF] /*PC口地址*/
- #define a8255_CON XBYTE[0xD7FF] /*控制字地址*/
- unsigned char Timer_Count=0; //定義變量
- unsigned char second=9;
- unsigned char light;
- unsigned char const num_table[16]={
- 0xA0, /*0*/
- 0xBB, /*1*/
- 0x62, /*2*/
- 0x2A, /*3 */
- 0x39, /*4*/
- 0x2C, /*5 */
- 0x24, /*6*/
- 0xBA, /*7*/
- 0x20, /*8*/
- 0x28, /*9 */
- 0x30, /*A*/
- 0x25, /*B*/
- 0xE4, /*C*/
- 0x23, /*D*/
- 0x64, /*E*/
- 0x74, /*F */
- };
- void Timer1_Init(void); //函數聲明
- void GInt_Init(void);
- void delay (unsigned int x) ;
- void display (unsigned char place, unsigned char number) ;
- unsigned char keyboard();
- main() // 主程序
- {unsigned char flag=0;
- light=0xc0;
- Timer1_Init();定時器工作模式設定及初始化
- while(1) //主程序循環
- { GInt_Init(); //函數調用(打開中斷及相應的設定)
- P1=light;
- display(6,second);
- if(second==0)
- {second=0x09;
- TR1=0;
- light=0x7f;
- }
- flag=keyboard();
- if(light==0x3f)
- { switch(flag)
- {case 1: light= 0xfd,TR1=1; break;
- case 2: light= 0xf7, TR1=1 ; break;
- case 3:light=0xdf, TR1=1; break;
- default : light =0x3f;}
- }
- if(light==0x7f)
- { switch(flag)
- {case 1: light=0xfe; break;
- case 2:light=0xfb; break;
- case 3:light= 0xef; break;
- default : light =0x7f; }
- }
- }
- }
- void GInt_Init(void) //打開中斷及相應的設定
- { EA = 1;
- EX0 = 1;
- IT0 = 1;
- EX1= 1;
- IT1 = 1;
- ET1=1;
- }
- void ISR_Ex0(void) interrupt 0 //外中斷0
- { light=0x7f;}
- void ISR_Ex1(void) interrupt 2 //外中斷1
- { light&=0xbf;}
- void Timer1_Init(void) // 定時器工作模式設定及初始化
- { TMOD=0x10;
- TH1=(65535-50000 )/256;
- TL1=(65535-50000)%256;
- }
- void ISR_Timer1(void) interrupt 3 //1秒時間的設定
- {Timer_Count++;
- if(Timer_Count == 20)
- {Timer_Count = 0;
- second--; }
- Timer1_Init(); }
- void delay(unsigned int x) //延時
- {unsigned char i,j,k;
- while(x--)
- { for(i=0;i<=5;i++)
- for(j=0;j<=10;j++)
- ; }
- }
- void display(unsigned char place, unsigned char number) //顯示
- { a8255_CON=0x89;
- a8255_PA =0xff;
- a8255_PB=0xff;
- a8255_PA=~(0x01<<(place-1));
- a8255_PB=num_table[number];
- }
- unsigned char keyboard() //鍵盤
- { unsigned char PC_data;
- unsigned char j;
- unsigned char y=0;
- a8255_CON=0x89;
- a8255_PA=0xf1;
- a8255_PB=0xff;
- delay(1);
- PC_data=a8255_PC;
- for(j = 0;j<4;j++)
- { if((PC_data&(1<<j)) == (1<<j))
- y= j+1; }
- return(y) ; }
復制代碼
完整的Word格式文檔51黑下載地址:
#51單片機三路搶答器.doc
(207.5 KB, 下載次數: 22)
2019-12-26 19:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日本免费小视频
|
黄色网址免费看
|
欧美一区二区三区在线观看
|
午夜手机在线视频
|
欧美在线一区二区三区
|
9999精品视频
|
成人av影院
|
亚洲精品不卡
|
亚洲一区二区三区在线观看免费
|
国产黑丝av
|
午夜精品一区
|
成人一区二区三区在线
|
色综合色综合
|
日韩 欧美 综合
|
久久中文字幕一区
|
99精品一区二区三区
|
午夜激情视频
|
av一区二区三区在线观看
|
欧美二级
|
一区二区三区在线电影
|
亚洲综合一区二区三区
|
成年人国产在线观看
|
在线视频 亚洲
|
免费观看www7722午夜电影
|
国产成人一区在线
|
亚洲一区亚洲二区
|
超碰人人做
|
91亚洲精品国偷拍自产在线观看
|
午夜成人在线视频
|
国产成人在线看
|
91精品国产美女在线观看
|
一级黄色片在线免费观看
|
www久久久
|
在线免费观看成人
|
欧美黄色片
|
日本久久网
|
亚洲网站在线观看
|
91电影|
亚洲天天干|
亚洲国产高清在线
|
亚洲人在线播放
|