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