加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

8路搶答器,小白出品,c語言編寫

2018/07/25
80
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

家里領(lǐng)導(dǎo)有令,命我做個(gè)搶答器給她,領(lǐng)導(dǎo)有令,怎敢不從,與領(lǐng)導(dǎo)溝通,做個(gè)八路搶答器。
首先,做這東西,單片機(jī)永遠(yuǎn)比數(shù)字電路簡單,而且成本更低。但是C語言都忘光了,又找出郭天祥的書啃了一天。
那就開始做吧
其實(shí)邏輯很簡單,AT89C51單片機(jī)檢測io口,有信號,顯示并鎖存。復(fù)位重新開始。
要顯示信號,就驅(qū)動數(shù)碼管最簡單,八路搶答器,需要8個(gè)io口,數(shù)碼管需要7個(gè)io,那單片機(jī)選擇最簡單的stc89c52
要想顯示數(shù)碼管數(shù)字,先定義數(shù)碼管字符
語句:unsigned char code disp[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0xbf}
其中0xf9----0xbf為16進(jìn)制機(jī)器懂得語言
單片機(jī)檢測io語句:P0=0xff
有按鍵動作,要識別是人為搶答按下還是干擾,所以要加一個(gè)消抖
語句:
button=P0
delay(1200)
判斷是搶答按鍵,那就開始io動作
語句:
button=P0
switch(button)
再判斷io是p幾,也就是按鍵值跳轉(zhuǎn)
語句:
case 0xfe: P1=disp[0];delay(10000);while(1);break; //0按下,顯示1,待機(jī)
case 0xfd: P1=disp[1];delay(10000);while(1);break; //1按下,顯示2,待機(jī)
case 0xfb: P1=disp[2];delay(10000);while(1);break; //2按下,顯示3,待機(jī)
case 0xf7: P1=disp[3];delay(10000);while(1);break; //3按下,顯示4,待機(jī)
case 0xef: P1=disp[4];delay(10000);while(1);break; //4按下,顯示5,待機(jī)
case 0xdf: P1=disp[5];delay(10000);while(1);break; //5按下,顯示6,待機(jī)
case 0xbf: P1=disp[6];delay(10000);while(1);break; //6按下,顯示7,待機(jī)
case 0x7f: P1=disp[7];delay(10000);while(1);break; //7按下,顯示8,待機(jī)
default: break;
程序就這些,然后把頭文件等組裝起來,搞定
下面開始仿真:
模型電路

上電復(fù)位

按鍵檢測

程序與仿真搞定,那就開始做實(shí)物吧
最小系統(tǒng)版搭個(gè)模型出來

完成

測試,1---8搶答正常

復(fù)位正常
工作電流16ma
里面電池是:1800mAh*4=7200mAh,夠用好長時(shí)間哈
最后整體圖

  • 八路搶答器.rar
    描述:程序16進(jìn)制
  • 原文地址.rar
    描述:原文出處

相關(guān)推薦

電子產(chǎn)業(yè)圖譜