【普中開(kāi)發(fā)板】基于51單片機(jī)的八位搶答器設(shè)計(jì)( proteus仿真+程序+設(shè)計(jì)報(bào)告+講解視頻)Proteus 仿真:Proteus 8.16(有低版本)
程序編譯器:keil 4/keil 5
編程語(yǔ)言:C語(yǔ)言
設(shè)計(jì)編號(hào):P06
1. 主要功能:
普中開(kāi)發(fā)板實(shí)驗(yàn)設(shè)計(jì)
本設(shè)計(jì)旨在設(shè)計(jì)一個(gè)基于51單片機(jī)的8位競(jìng)賽搶答器設(shè)計(jì)。
以單片機(jī)為核心,設(shè)計(jì)一個(gè)8位競(jìng)賽搶答器:同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕1-8號(hào)表示。
1.設(shè)置一個(gè)系統(tǒng)清除和搶答控制開(kāi)關(guān)S,開(kāi)關(guān)由主持人控制。
2.搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應(yīng)的編號(hào),并在優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。
3.搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如20秒)。
4.當(dāng)主持人啟動(dòng)“開(kāi)始”鍵后,定時(shí)器進(jìn)行減計(jì)時(shí)。
參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號(hào)和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。
5.如果在主持人啟動(dòng)"開(kāi)始"鍵前搶答 ,搶答無(wú)效。且顯示器上會(huì)顯示搶答選手編號(hào)。
6.如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。
(目前僅完全適配普中開(kāi)發(fā)板A234,其他普中開(kāi)發(fā)板型號(hào)可能需要做代碼修改或接線)
需注意本設(shè)計(jì)仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。
資料下載鏈接:
P系列單片機(jī)設(shè)計(jì)下載鏈接(復(fù)制到瀏覽器打開(kāi))
https://docs.qq.com/doc/DS2pPenNRaHB6SlR1
以下為本設(shè)計(jì)資料展示圖:
2. 講解視頻:
講解視頻包含仿真運(yùn)行講解、實(shí)物運(yùn)行講解和代碼講解
【普中】基于51單片機(jī)的八位搶答器( proteus仿真程序報(bào)告講解)
3. 設(shè)計(jì)說(shuō)明書(shū)(報(bào)告)
隨著科學(xué)技術(shù)的發(fā)展和普及,各種各樣的競(jìng)賽越來(lái)越多,其中搶答器的作用也越來(lái)越重要。本文設(shè)計(jì)出以AT89C51單片機(jī)為核心的8位搶答器,采用了數(shù)字顯示器直接指示,自動(dòng)鎖存顯示結(jié)果,并自動(dòng)復(fù)位的設(shè)計(jì)思想,它能根據(jù)不同的搶答輸入信號(hào),經(jīng)過(guò)單片機(jī)的控制處理并產(chǎn)生不同的與輸入信號(hào)相對(duì)應(yīng)的輸出信號(hào),最后通過(guò)LED數(shù)碼管顯示相應(yīng)的路數(shù),充分利用了單片機(jī)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、功能強(qiáng)大、可靠性好、實(shí)用性強(qiáng)的特點(diǎn)。
4. 仿真
打開(kāi)仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開(kāi)始仿真。
5. 實(shí)物燒錄和現(xiàn)象
軟件準(zhǔn)備:
第一次使用務(wù)必先安裝CH340驅(qū)動(dòng)。
雙擊打開(kāi) STC-ISP.exe。
下載步驟:
0.板子先上電,接電源線到電腦USB口,先不上電,板子無(wú)燈光。
1.選擇選擇單片機(jī)型號(hào)
2.選擇下載器的串口
3.打開(kāi)編譯生成的 HEX 文件
4.點(diǎn)擊下載,單片機(jī)板子電源鍵按下接通電源,等待下載完成提示
6. 程序代碼
使用keil4或者keil5編譯,代碼有注釋。
核心代碼:
void main()
{
? TMOD = 0X12; //初始化定時(shí)器
? TH0 = 6;
? TL0 = 6;
? TH1 = (65536-50000)/256; //50ms計(jì)時(shí)初值
? TL1 =(65536-50000)%256;
? EA = 1; //開(kāi)總中斷
? ET0 = 1; //開(kāi)T0中斷
? ET1 = 1; //開(kāi)T1中斷
? temp_fen=fen=10; //設(shè)置搶答倒計(jì)時(shí)
? while(1)
? {
? ChangeFor();
?
? KeyScanf();
? if((start== 1)&&(flag == 0)) //如果開(kāi)始鍵動(dòng)作,且處于空閑狀態(tài)
? {
? flag = 1; //設(shè)置運(yùn)行標(biāo)志
? fen=temp_fen;
? TR1 = 1; //啟動(dòng)定時(shí)器
? }
?
? if((add==1)&&(flag==0))//如果時(shí)間+鍵動(dòng)作,且處于空閑狀態(tài)
? {
? add=0;
? key_flick++;
? if((key_flick%25)==0){//消抖
? key_flick=0;
? temp_fen++; //時(shí)間+1
? fen=temp_fen;
? }
? }
?
? if((dec==1)&&(flag==0))//如果時(shí)間-鍵動(dòng)作,且處于空閑狀態(tài)
? {
? dec=0;
? key_flick++;
? if((key_flick%25)==0){//消抖
? key_flick=0;
? temp_fen--; //時(shí)間-1
? fen=temp_fen;
? }
? }
?
? if((start==0)&&(flag==0))
? {
? if((key != 0)) //如果鍵值有效
? {
? xianshou = key; //顯示搶答鍵
? flag = 2;
? TR1 = 0; //關(guān)閉T0
? flaga = 8000; //報(bào)警值,蜂鳴器響2秒
? TR0 = 1; //啟動(dòng)T0
? }
? }
? while(flag == 1) //如果運(yùn)行標(biāo)志有效,進(jìn)入運(yùn)行狀態(tài)
? {
? ChangeFor(); //顯示
? KeyScanf(); //掃描搶答鍵
? if((key != 0)) //如果鍵值有效
? {
? xianshou = key; //顯示搶答鍵
? flag = 2;
? TR1 = 0; //關(guān)閉T0
? flaga = 8000; //報(bào)警值,蜂鳴器響2秒
? TR0 = 0; //啟動(dòng)T0
? }
? }
? if((end == 1)&&(flag==2)) //運(yùn)行結(jié)束后復(fù)位鍵按下
? {
? flag = 0; //回到初始狀態(tài)
? xianshou = 0; //變量歸零
? fen = 0;
? TR0 = 0;
? TR1 = 0;
? start=0;
? key=0;
? end=0;
? }
? }
}
7. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接
資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。
0、常見(jiàn)使用問(wèn)題及解決方法–必讀?。。。?/p>
1.程序代碼
2.仿真
3.開(kāi)題報(bào)告
4.功能要求
5.設(shè)計(jì)報(bào)告
6.講解視頻
7.燒錄工具
Altium Designer 安裝破解
KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
普中-2&普中-3&普中-4開(kāi)發(fā)板原理圖.pdf
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開(kāi)查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url