《《路搶答器設(shè)計(jì)》word版》由會(huì)員分享,可在線閱讀,更多相關(guān)《《路搶答器設(shè)計(jì)》word版(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、課程設(shè)計(jì)說明書
(2012 /2013學(xué)年第二學(xué)期)
課程名稱 :?jiǎn)纹瑱C(jī)應(yīng)用
題 目 :4路搶答器設(shè)計(jì)
專業(yè)班級(jí) :電氣二班
學(xué)生姓名 :隋宇
學(xué) 號(hào):100062214
指導(dǎo)教師 : 岑毅南、苗敬利、王靜爽等
設(shè)計(jì)周數(shù) : 兩 周
設(shè)計(jì)成績(jī) :
2013年7月12日
目 錄
一、課程設(shè)計(jì)目的-------------------------------------2
二、課程設(shè)計(jì)任務(wù)及要求-----------------------
2、--------2
2.1 原始數(shù)據(jù)及主要任務(wù)--------------------------2
2.2 技術(shù)要求------------------------------------2
三、設(shè)計(jì)方案-----------------------------------------3
3.1元器件簡(jiǎn)介-----------------------------------4
四、系統(tǒng)總原理圖--------------------------------------5
五、單元電路設(shè)計(jì)--------------------------------------5
4.1搶答
3、信號(hào)顯示和倒計(jì)時(shí)顯示電路設(shè)計(jì)-------------5
4.2警報(bào)發(fā)生器電路--------------------------------6
4.3按鍵電路--------------------------------------6
4.4指示燈電路-------------------------------------7
六、主程序流程圖----------------------------------8
6.1參考程序-------------------------------------8
七、所用器材----------------
4、-----------------------16
八、課程設(shè)計(jì)總結(jié)-----------------------------------17
九、參考文獻(xiàn)---------------------------------------17
十、評(píng)語(yǔ)及成績(jī)--------------------------------------18
一、課程設(shè)計(jì)目的
通過長(zhǎng)達(dá)兩周的課程設(shè)計(jì),加深對(duì)《單片機(jī)》課程所學(xué)理論知識(shí)的理解,運(yùn)用所學(xué)理論知識(shí)解決實(shí)際問題。結(jié)合課程設(shè)計(jì)的內(nèi)容,學(xué)會(huì)利用Protel軟件繪制電路原理圖和PCB圖,掌握電路的設(shè)計(jì)與組裝方法,進(jìn)行軟硬件聯(lián)機(jī)調(diào)試。學(xué)會(huì)查閱相關(guān)專業(yè)技術(shù)資料及
5、設(shè)計(jì)手冊(cè),提高進(jìn)行獨(dú)立設(shè)計(jì)的能力并完成課程設(shè)計(jì)相關(guān)任務(wù)。
二、課程設(shè)計(jì)任務(wù)及要求
2.1 原始數(shù)據(jù)及主要任務(wù)
1.設(shè)計(jì)鍵盤輸入電路;
2.設(shè)計(jì)顯示輸出電路;
3.掌握響應(yīng)外部中斷的原理;
4.編寫程序;
5.利用Protel設(shè)計(jì)硬件電路原理圖和PCB圖;
6.軟硬件聯(lián)機(jī)調(diào)試;
7.書寫設(shè)計(jì)報(bào)告。
2.2 技術(shù)要求
1.設(shè)計(jì)四個(gè)搶答臺(tái)和四個(gè)搶答成功指示燈,一個(gè)比賽主持人“開始”鍵和一個(gè)搶答指示燈以及一個(gè)LED顯示器。
2.采用中斷和查詢結(jié)合的方法確定按鍵的動(dòng)作。
3.主持人按下“開
6、始”鍵后,若有人搶答,則搶答指示燈確認(rèn)有人搶答,并用7段LED顯示搶答者的號(hào)碼(1—4),并同時(shí)點(diǎn)亮對(duì)應(yīng)搶答臺(tái)上的搶答成功指示燈;若10秒內(nèi)無人搶答,則發(fā)出超時(shí)報(bào)警聲,此題作廢,主持人可按下“開始”鍵開始下一題的搶答。
三、設(shè)計(jì)方案
設(shè)置4個(gè)按鈕,其編號(hào)分別是1到4,按鈕的編號(hào)與選手的編號(hào)相對(duì)應(yīng)。初始時(shí),4個(gè)按鈕常開,只有當(dāng)主持人按下開始按鍵時(shí)才可以進(jìn)行倒計(jì)時(shí)搶答。當(dāng)主持人按下開始按鍵后,開始倒計(jì)時(shí)10秒,當(dāng)4個(gè)按鈕只要有一個(gè)按下即只要有人搶答時(shí),單片機(jī)收到信號(hào),搶答成功指示燈點(diǎn)亮,選手前面的指示燈也一同點(diǎn)亮。通過74LS245進(jìn)行段選使數(shù)碼管置顯示選手的序號(hào),同時(shí)倒計(jì)時(shí)停止計(jì)時(shí),在另一個(gè)
7、數(shù)碼管上顯示。并且當(dāng)有按鍵按下后其他選手按鍵無效。當(dāng)選手答完后,由主持人將數(shù)碼管清零,繼續(xù)下次搶答。若10秒內(nèi)無人搶答,則發(fā)出超時(shí)報(bào)警聲,此題作廢,主持人可按下“開始”鍵開始下一題的搶答。
3.1、元器件簡(jiǎn)介
AT89C51單片機(jī),其內(nèi)部帶有4KB的掩膜ROM。無需擴(kuò)展外部程序存儲(chǔ)器。其中:
CVV:供電電壓。
GND:接地。
P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)
8、部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。P3口也可作為AT89C51的一些特殊功能口:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷1)
9、;P3.4 T0(記時(shí)器0外部輸入);P3.5 T1(記時(shí)器1外部輸入);P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通);P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。
RST:復(fù)位輸入。
EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
四、系統(tǒng)總原理圖
五、單元電路設(shè)計(jì)
4.1搶答信號(hào)顯示和倒計(jì)時(shí)顯示電路設(shè)計(jì)
4.2警報(bào)發(fā)生器電路
4.3按鍵電路
4.4指示燈電路
六、主程序流程圖
否
是
是
10、
是
否
是
計(jì)時(shí)3秒提示回答
按鍵處理
有鍵按下
結(jié)束搶答?
犯規(guī)處理
有鍵按下?
開始搶答?
主程序開始
6.1參考程序
#include
#define unint unsigned int
#define unchar unsigned char
//#define weil unsigned int
//#define Benn unsigned int
sbit wei1=P1^0;
sbit wei2=P1^1;
sbit Been=P1^2;
sbit AN1=P3^3;
sbit AN2=P3^4;
sbit
11、AN3=P3^5;
sbit AN4=P3^6;
sbit AN5=P3^7;
sbit D1=P1^3;
sbit D2=P1^4;
sbit D3=P1^5;
sbit D4=P1^6;
sbit D5=P1^7;
unchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xcf,0xba,0xaf,0xca,0xfd};
int i,num=9,num1=0,t,t1,Person=0,flag=0,flag1=0,flag2=0,kz=0;
void delay(unint z)
{
u
12、nint x,y;
for(x=z;x>0;x--)
for(y=55;y>0;y--);
}
void All_Init(void) //定時(shí)器的初始化
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
EA=1;
}
void Display(int x,int y) //數(shù)碼管顯示
{
wei1=0;
P2=table[x]; //顯示選手
delay(20);
wei1=1;
wei2=0;
P2=table[y]; //顯示倒計(jì)時(shí)
13、
delay(20);
wei2=1;
}
void Deal_Number(void) //數(shù)據(jù)處理
{
int ge;
ge=num;
Display(Person,ge);
}
void AnJian(void) //按鍵檢測(cè)
{
//##############選手按鍵###########/
if(flag1==1)
{
if(AN1==0)
{
delay(15);
if(AN1==0)
while(!AN1);
Person=1;
TR0=0;
TR1=1;
flag=0;
flag1=0;
flag2=1;
14、
D1=0;
D5=0;
}
}
if(AN2==0)
{
delay(15);
if(AN2==0)
{
while(!AN2);
Person=2;
TR0=0;
TR1=1;
flag=0;
flag1=0;
flag2=1;
D2=0;
D5=0;
}
}
if(AN3==0)
{
delay(15);
if(AN3==0)
{
while(!AN3);
Person=3;
TR0=0;
TR1=1;
flag=0;
flag1=0;
D3=0;
D5=0;
}
}
if(AN4==0)
{
delay(15)
15、;
{
if(AN4==0)
{
while(!AN4);
Person=4;
TR0=0;
TR1=1;
flag=0;
flag1=0;
flag2=1;
D4=0;
D5=0;
}
}
}
//#############主持人按鍵#############/
if(AN5==0)
{
delay(15);
if(AN5==0)
{
while(!AN5);
Person=0;
D1=1;
D2=1;
D3=1;
D4=1;
D5=1;
if(flag1==1)
{
flag1=0;
TR0=0;
}
if(flag2==
16、1)
{
flag2=0;
TR0=0;
}
if(flag==0)TR0=1;
num=9;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
flag1=1;
flag=1;
Been=1;
kz++;
}
}
}
void BeenRing(void) //蜂鳴器處理
{
if(num==0)
{
Been=0;
delay(20);
}
}
//###########主函數(shù)###########/
void main()
{
All_Init();
while(1)
{
AnJi
17、an();
if(kz>0)
Deal_Number();
else
Display(0,9);
BeenRing();
}
}
//#############中斷函數(shù)###############/
void timer0()interrupt 1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
t++;
if(t==500)
{
t=0;
num--;
if(num==0)
{
//num=9;
TR0=0;
flag1=0;
flag=0;
}
}
}
七、所用器件
AT89C51
18、 1個(gè)
晶振6Mz 1個(gè)
發(fā)光二極管 7個(gè)
瓷片電容 22p 2個(gè)
獨(dú)石電容 0.22uF 5個(gè)
104 1個(gè)
電解電容 1.0uF 2個(gè)
10uF 3個(gè)
47uF 4個(gè)
接線端子 1個(gè)
按鈕 6個(gè)
DB9針形插座
19、 1個(gè)
插座DIP 20 1個(gè)
插座DIP 40 1個(gè)
74LS245 總線驅(qū)動(dòng)器 1個(gè)
數(shù)碼管 2個(gè)
蜂鳴器 1個(gè)
PNP三極管 1個(gè)
NPN三極管 2個(gè)
導(dǎo)線若干
電阻 200 1個(gè)
470 8個(gè)
330 5個(gè)
5K 8個(gè)
八、課程設(shè)
20、計(jì)總結(jié)
回顧兩周的課程設(shè)計(jì),付出了很多,也收獲了很多,周一至周二主要繪制原理圖,緊接著就是看書查找資料,對(duì)相關(guān)元器件做一些了解,然后編程,由于我底子薄弱了一點(diǎn),所以花在編程上的時(shí)間相對(duì)來說多了一點(diǎn)。在堅(jiān)持不懈的努力下,終于編好了程序,時(shí)間也來到了第二周。編號(hào)程序以后就剩下調(diào)試了,把焊接好的板子與裝好程序的單片機(jī)連接好,然后調(diào)試,調(diào)試并不是一帆風(fēng)順的,起初一點(diǎn)反應(yīng)都沒有,但好事多磨,在一步步的改進(jìn)下,終于成功了。當(dāng)我看到搶答器正常工作時(shí),興奮不已。
在這幾天中,體會(huì)到了團(tuán)結(jié)協(xié)作的重要性和樂趣,有什么問題很想法拿出來一起探討與分享,將會(huì)有更好的答案,活躍了一個(gè)人的思維,豐富了我們的頭腦,學(xué)會(huì)去
21、接受別人,肯定別人,同樣也得到了別人的尊重與肯定,除了討論之外,還需積極獨(dú)立思考,唯獨(dú)通過自己的獨(dú)立思考,才能解決相關(guān)問題,才能提高對(duì)專業(yè)知識(shí)的熟悉程度,以后才能學(xué)會(huì)用,同樣這也是我該努力的兩個(gè)方向。
在此要感謝我的指導(dǎo)老師,感謝老師給我這樣的機(jī)會(huì)鍛煉。在整個(gè)設(shè)計(jì)過程中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。
九、參考文獻(xiàn)
【1】張毅剛 . 單片機(jī)原理及應(yīng)用 . 高等教育出版社
【2】 康華光 電子技術(shù)基礎(chǔ) 模擬部分 高等教育出版社
【3】 郭天祥 51單片機(jī)C語(yǔ)言教程 電子工業(yè)出版社
【4】 康光華 電子技術(shù)基礎(chǔ) 模擬部分 高等教育出版社
十、課程設(shè)計(jì)評(píng)語(yǔ)及成績(jī)
課程設(shè)計(jì)
評(píng) 語(yǔ)
課程設(shè)計(jì)
成 績(jī)
指導(dǎo)教師
(簽字)
年 月 日