




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 2010 2011 學(xué)年 第 2 學(xué)期 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作課程設(shè)計(jì)報(bào)告教學(xué)院(部)電氣與電子信息工程學(xué)院 教 研 室 電氣自動(dòng)化 指 導(dǎo) 教 師 課程設(shè)計(jì)時(shí) 間 2011.5.302011.6.10 課程設(shè)計(jì)班 級(jí) 電氣自動(dòng)化技術(shù)2009(*)班學(xué) 號(hào) 2009* 姓 名 * * 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作課程設(shè)計(jì)成績(jī)?cè)u(píng)定表課程設(shè)計(jì)題目:籃球計(jì)時(shí)記分器課程設(shè)計(jì)答辯或質(zhì)疑記錄:1、2、成績(jī)?cè)u(píng)定依據(jù):成績(jī)?cè)u(píng)定依據(jù):課程設(shè)計(jì)考勤情況(20):課程設(shè)計(jì)答辯情況(30):完成設(shè)計(jì)任務(wù)與報(bào)告規(guī)性(50):最終評(píng)定成績(jī)(以?xún)?yōu)、良、中、與格、不與格評(píng)定) 指導(dǎo)教師簽字: 2011 年 6
2、月 20 日摘 要籃球計(jì)時(shí)計(jì)分器以單片機(jī)為核心,由計(jì)時(shí)器、計(jì)分器、綜合控制器等組成。系統(tǒng)采用模塊化設(shè)計(jì),主體分為計(jì)時(shí)顯示模塊、計(jì)分顯示模塊、定時(shí)報(bào)警、按鍵控制鍵盤(pán)模塊。每個(gè)模塊的程序結(jié)構(gòu)簡(jiǎn)單、任務(wù)明確,易于編寫(xiě)、調(diào)試和修改。編程后利用Keil軟件來(lái)進(jìn)行編譯,再將生成的HEX文件裝入芯片中,采用Proteus軟件仿真,檢驗(yàn)功能是否能夠正常實(shí)現(xiàn),本設(shè)計(jì)中系統(tǒng)硬件電路主要由以下幾個(gè)部分組成:?jiǎn)纹瑱C(jī)AT89C52、計(jì)時(shí)電路、計(jì)分電路、報(bào)警電路和按鍵開(kāi)關(guān)。該系統(tǒng)具有賽程定時(shí)設(shè)置、賽程時(shí)間暫停、與時(shí)刷新甲乙雙方的成績(jī)以與賽后成績(jī)暫存等功能。關(guān)鍵詞:?jiǎn)纹瑱C(jī),計(jì)時(shí),計(jì)分,顯示器,接口ABSTRACTTime
3、basketball scoring device as the core of SCM includes the timer, scoring devices, integrated controller and other components.This system is used of the modular design, in which the main display module is divided into time display module, scoring display module, timing alarm module, and key control k
4、eyboard module. Program structure of each module is simple and clear. So it is easy to write, debug and modify. After programming, firstly we can use Keil software to compile and then generate the HEX file into the chip. Secondly we use the Proteus software simulation to test whether the normal func
5、tion to achieve. The design of hardware circuit mainly consists of the five components, including AT89C52, timing circuit, scoring circuit, alarm circuit and key switch circuit.The system has many features,such as setting the schedule time, scheduling time to pause, refreshing result of both parties
6、 timely, storing temporarily results after the match and so on.KEY WORDS:Microcontroller, Timing, Scoring, Display, Interface目 錄一、設(shè)計(jì)目的與要求···························&
7、#183;······ 3二、方案論證 ······································· 3三、元件與其功能簡(jiǎn)介
8、3;······························· 5四、電路方案設(shè)計(jì)·················
9、···················12五、編程與仿真·····························
10、83;········16六、心得與總結(jié) ····································· 20附表一、程序清單·
11、····································21參考文獻(xiàn)·············
12、································34課程設(shè)計(jì)報(bào)告一、設(shè)計(jì)目的與要求1、設(shè)計(jì)目的通過(guò)本次基于C51系列籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì),可以了解、熟悉有關(guān)單片機(jī)開(kāi)發(fā)設(shè)計(jì)的過(guò)程,并加深對(duì)單片機(jī)的理解和應(yīng)用以與掌握單片機(jī)與外圍接口的一些方法和技巧,這主要表現(xiàn)在以下一
13、些方面:(1) 籃球賽計(jì)時(shí)計(jì)分系統(tǒng)包含了8051系列單片機(jī)的最小應(yīng)用系統(tǒng)的構(gòu)成,同時(shí)在此基礎(chǔ)上擴(kuò)展了一些使用性強(qiáng)的外圍接口。(2) 可以了解到LED顯示器的結(jié)構(gòu)、工作原理以與這種顯示器的接口實(shí)例與具體連接與編程方法。(3) 怎樣利用串行口來(lái)擴(kuò)展顯示接口等。2、設(shè)計(jì)要求(1)能記錄整個(gè)賽程的比賽時(shí)間,并能修改比賽時(shí)間、暫停比賽時(shí)間;(2)能隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)比賽中的比分;(3)比賽時(shí)間和24秒結(jié)束,能發(fā)出報(bào)警提示。二、方案論證1、單片機(jī)的選型方案一:51單片機(jī)雖然51單片機(jī)是8位的,采用總線(xiàn)結(jié)構(gòu),但具有編程控制簡(jiǎn)單、接口簡(jiǎn)單、工作可靠、價(jià)格經(jīng)濟(jì)、能耗少、容易實(shí)現(xiàn)系統(tǒng)小型化。方案二:61單片
14、機(jī)61單片機(jī)是在51的基礎(chǔ)上擴(kuò)展起來(lái)的,它是16位非總線(xiàn)結(jié)構(gòu)的,支持16位硬件乘法,還有專(zhuān)門(mén)的乘法指令,現(xiàn)在應(yīng)用非常廣泛。由于本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,用51單片機(jī)就足夠?qū)崿F(xiàn)其功能,因此本系統(tǒng)采用51單片機(jī)來(lái)實(shí)現(xiàn)。2、計(jì)時(shí)、計(jì)分方案方案一:采用計(jì)時(shí)芯片針對(duì)計(jì)算機(jī)系統(tǒng)對(duì)即使芯片的要求,各大芯片廠家退出了鍵時(shí)鐘、倒時(shí)鐘、正時(shí)鐘各種芯片,可采用自動(dòng)控制計(jì)時(shí)芯片,通過(guò)觸發(fā)控制電路使計(jì)時(shí)器自動(dòng)地計(jì)時(shí),達(dá)到預(yù)定時(shí)間后,芯片重新開(kāi)始計(jì)時(shí)(實(shí)現(xiàn)倒計(jì)時(shí)功能);也可以觸發(fā)控制電路使計(jì)時(shí)器不計(jì)時(shí),達(dá)到預(yù)定時(shí)間后芯片重新開(kāi)始計(jì)時(shí)(實(shí)現(xiàn)暫停功能),不需要程序干預(yù)。計(jì)算機(jī)可以通過(guò)中斷或查詢(xún)方式讀取計(jì)數(shù)器數(shù)據(jù),實(shí)現(xiàn)計(jì)時(shí)的暫停的功能,
15、并進(jìn)行顯示,計(jì)時(shí)功能的時(shí)間就無(wú)需占用cpu的時(shí)間,程序簡(jiǎn)單,控制精度高,因此在工業(yè)控制系統(tǒng)中多采用這一類(lèi)專(zhuān)用芯片實(shí)現(xiàn)計(jì)時(shí)功能。方案二:軟件控制利用MCS51部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷定時(shí),配合軟件延時(shí)實(shí)現(xiàn)計(jì)時(shí)。該方案節(jié)省硬件成本。方案二可以綜合運(yùn)用定時(shí)器/計(jì)數(shù)器、中斷以與程序設(shè)計(jì)的知識(shí),更適合做課程設(shè)計(jì)使用,因此本系統(tǒng)采用軟件方案來(lái)實(shí)現(xiàn)計(jì)時(shí)。3、數(shù)碼管顯示方式點(diǎn)亮LED顯示器有兩種方式:一是靜態(tài)顯示;二是動(dòng)態(tài)顯示。方案一:靜態(tài)顯示靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口,用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí)
16、,再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開(kāi)銷(xiāo)小。這種電路的優(yōu)點(diǎn)在于:在同一時(shí)間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多。從圖可以看出,每位LED顯示器需要單獨(dú)占用8根端口線(xiàn)。方案二:動(dòng)態(tài)顯示動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨(dú)立的I/O線(xiàn)控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到一樣的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位元就顯示出字形
17、,沒(méi)有選通的數(shù)碼管就不會(huì)亮。 透過(guò)分時(shí)輪流控制各個(gè)LED數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺(jué)暫留現(xiàn)象與發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感。 由于動(dòng)態(tài)顯示和靜態(tài)顯示的顯示效果是一樣的,動(dòng)態(tài)顯示能夠節(jié)省大量的I/O埠,而且功耗更低。所以在本系統(tǒng)中選用動(dòng)態(tài)顯示靜態(tài)顯示圖 動(dòng)態(tài)顯示圖4、系統(tǒng)結(jié)構(gòu)方框圖本系統(tǒng)的核心控制元件是單片機(jī)AT89C52,在它的基礎(chǔ)上加上一些輸入控制和輸出顯示模塊,來(lái)實(shí)現(xiàn)調(diào)整和顯示籃球比賽時(shí)
18、的時(shí)間和分?jǐn)?shù)的設(shè)置。三、元件與其功能簡(jiǎn)介1、單片機(jī)AT89C52、單片機(jī)AT89C52簡(jiǎn)介 AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片含8k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲(chǔ)單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。 AT89C52為8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51核,在部功能與管腳排布上與通用的8xc52 一樣,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC 部寄
19、存器、數(shù)據(jù)RAM與外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼與與主板CPU通信等。、基本功能特性1、兼容MCS51指令系統(tǒng) 2、8k可反復(fù)擦寫(xiě)(大于1000次)Flash ROM; 3、32個(gè)雙向I/O口; 4、256x8bit部RAM; 5、3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷; 6、時(shí)鐘頻率0-24MHz; 7、2個(gè)串行中斷,可編程UART串行通道; 8、2個(gè)外部中斷源,共8個(gè)中斷源; 9、2個(gè)讀寫(xiě)中斷口線(xiàn),3級(jí)加密位; 10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; 11、有PDIP、PQFP、TQFP與PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的
20、需求。、主要管腳與接口XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線(xiàn)控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳與28 腳定義為握手信號(hào)功能端口,連接主板CP
21、U 的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)與會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。P0 口:P0 口是一組8 位漏極開(kāi)路型雙向I/O 口, 也即地址/數(shù)據(jù)總線(xiàn)復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL邏輯門(mén)電路,對(duì)端口P0 寫(xiě)“1”時(shí),可作為高阻抗輸入端用。 在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線(xiàn)分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線(xiàn)復(fù)用,在訪(fǎng)問(wèn)期間激活部上拉電阻。在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1 口:P1 是一個(gè)帶部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門(mén)電路。
22、對(duì)端口寫(xiě)“1”,通過(guò)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮?,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。 與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX), Flash 編程和程序校驗(yàn)期間,P1 接收低8 位地址。P1.0和P1.1的第二功能引腳號(hào)功能特性P1.0T2,時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)器2)P2 口:P2 是一個(gè)帶有部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門(mén)電路。對(duì)端口P2 寫(xiě)“1”
23、,通過(guò)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮?,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。 在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪(fǎng)問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI 指令)時(shí),P2 口輸出P2 鎖存器的容。 Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。P3 口:P3 口是一組帶有部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門(mén)電路。對(duì)P3 口寫(xiě)入“1”時(shí),它們被部上拉電阻拉高并可作為
24、輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線(xiàn)外,更重要的用途是它的第二功能。P3口第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用
25、于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE 脈沖。 對(duì)Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。 如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52 由外部程序存儲(chǔ)器取指令
26、(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。XTAL1:振蕩器反相放大器的與部時(shí)鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。、中斷AT89C52 共有6 個(gè)中斷向量:兩個(gè)外中斷(INT0 和INT1),3 個(gè)定時(shí)器中斷(定時(shí)器0、1、2)和串行口中斷。這些中斷源可通過(guò)分別設(shè)置專(zhuān)用寄存器IE 的置位或清0 來(lái)控制每一個(gè)中斷的允許或禁止。IE 也有一個(gè)總禁止位EA,它能控制所有中斷的允許或禁止。定時(shí)器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,
27、事實(shí)上,服務(wù)程序需確定是TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時(shí)器0 和定時(shí)器1 的標(biāo)志位TF0 和TF1 在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2 狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢(xún)到該中斷標(biāo)志。然而,定時(shí)器2 的標(biāo)志位TF2 在定時(shí)器溢出的那個(gè)機(jī)器周期的S2P2 狀態(tài)置位,并在同一個(gè)機(jī)器周期查詢(xún)到該標(biāo)志。、Flash存儲(chǔ)器的編程AT89C52單片機(jī)部有8k字節(jié)的Flash PEROM,這個(gè)Flash 存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(即所有存儲(chǔ)單元的容均為FFH),用戶(hù)隨時(shí)可對(duì)其進(jìn)行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號(hào)。低電壓編程模式適合于用戶(hù)在
28、線(xiàn)編程系統(tǒng),而高電壓編程模式可與通用EPROM 編程器兼容。AT89C52 單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶(hù)可從芯片上的型號(hào)和讀取芯片的簽名字節(jié)獲得該信息。AT89C52 的程序存儲(chǔ)器陣列是采用字節(jié)寫(xiě)入方式編程的,每次寫(xiě)入一個(gè)字節(jié),要對(duì)整個(gè)芯片的PEROM 程序存儲(chǔ)器寫(xiě)入一個(gè)非空字節(jié),必須使用片擦除的方式將整個(gè)存儲(chǔ)器的容清除。2、報(bào)警器、報(bào)警器的分類(lèi)蜂鳴器有兩類(lèi)3大品種。一類(lèi)是壓電式,一類(lèi)是電磁式,電磁式又有兩大品種,鐵振膜式和動(dòng)圈式,二者原理一樣只是結(jié)構(gòu)不同。所有蜂鳴器都有兩種類(lèi)型:純蜂鳴器和帶驅(qū)動(dòng)的蜂鳴器,蜂鳴器都是用音頻信號(hào)驅(qū)動(dòng)的,都是交流驅(qū)動(dòng)。、報(bào)警器工
29、作原理電磁式蜂鳴器由振蕩器、電磁線(xiàn)圈、磁鐵、震動(dòng)膜片以與外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號(hào)通過(guò)電磁線(xiàn)圈,使得電磁線(xiàn)圈產(chǎn)生了一個(gè)磁場(chǎng)。振動(dòng)膜片在電磁線(xiàn)圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。3、芯片74HC154、簡(jiǎn)介:4線(xiàn)16線(xiàn)譯碼器,可以實(shí)現(xiàn)地址的擴(kuò)展。、引腳說(shuō)明1-11 13-17 :輸出端。12 :Gnd電源地18-19 :使能輸入端、低電平有效20-23 :地址輸入端24 :VCC電源正4、RESPACK8 接在51單片機(jī)的P0口,因?yàn)镻0口部沒(méi)有上拉電阻,不能輸出高電平,所以要接上拉電阻。排阻就是好多電阻連在一起,他們有一個(gè)公共端1端為公共端接VCC或地。5、LED數(shù)碼管
30、LED顯示器又稱(chēng)為數(shù)碼管,LED顯示器由8個(gè)發(fā)光二極管組成。中7個(gè)長(zhǎng)條形的發(fā)光管排列成“日”字形,另一個(gè)點(diǎn)形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字與部份英文字母。LED顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱(chēng)之為共陽(yáng)極LED顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱(chēng)之為共陰極LED顯示器。如圖所示。本設(shè)計(jì)采用的是共陰極數(shù)碼管顯示。7段LED數(shù)碼管共陰極與共陽(yáng)極LED顯示器共陽(yáng)極與共陰極LED顯示器顯示數(shù)字、字母與顯示代碼之間的對(duì)應(yīng)關(guān)系:顯示字符共陰極段碼共陽(yáng)極段碼顯示字符共陰極段碼共陽(yáng)極段碼03FHC087FH80H106HF996FH9
31、0H25BHA4A77H88H34FHB0B7CH83H466H99HC39HC656DH92HD5EHA1H67DH82HE79H86H707HF8F71H8EH四、電路方案設(shè)計(jì)1、功能控制電路該控制電路可以實(shí)現(xiàn)籃球比賽的節(jié)數(shù)、時(shí)間、24秒復(fù)位、比賽暫停、兩隊(duì)的分?jǐn)?shù)加減等功能的設(shè)置。采用7個(gè)復(fù)位開(kāi)關(guān)一端共地,另一端接入與門(mén),再連接到單片機(jī)的13號(hào)腳(P3.3/INT1口),實(shí)現(xiàn)外部中斷1請(qǐng)求。、賽程時(shí)間設(shè)置在計(jì)時(shí)電路中,“修改移位開(kāi)關(guān)”和“紅隊(duì)加、減分開(kāi)關(guān)”共同用來(lái)設(shè)置比賽的節(jié)次、剩余時(shí)間等。比如:比賽時(shí)間為第一小節(jié)剩余10分鐘,則通過(guò)按“修改移位開(kāi)關(guān)”,使數(shù)碼管1進(jìn)入修改模式,再按“紅隊(duì)加
32、、減分開(kāi)關(guān)”鍵,設(shè)定本場(chǎng)比賽的小節(jié)數(shù),使數(shù)碼管1顯示“1”即可;繼續(xù)按動(dòng)“修改移位開(kāi)關(guān)”可以使其他的數(shù)碼管進(jìn)入修改模式,按以上方法修改即可。當(dāng)比賽結(jié)束時(shí),如果由于一些特殊原因需要增加比賽時(shí)間,這時(shí)增加比賽時(shí)間同樣由以上方法來(lái)設(shè)置。、賽程時(shí)間啟動(dòng)暫停設(shè)置當(dāng)時(shí)間設(shè)置完成后,這時(shí),如果裁判吹響開(kāi)始的哨聲時(shí),則應(yīng)立即按下按“暫停/啟動(dòng)”鍵,表示賽程開(kāi)始,計(jì)時(shí)顯示則開(kāi)始倒計(jì)時(shí),在此過(guò)程中24秒也開(kāi)始倒計(jì),在24秒倒計(jì)到06秒時(shí),蜂鳴器發(fā)出警報(bào),報(bào)警燈開(kāi)始閃爍,如果24秒倒計(jì)為00前,沒(méi)有被復(fù)位(有人24秒進(jìn)攻違例),則比賽自動(dòng)暫停。如果無(wú)進(jìn)攻違例,則需要記分人員手動(dòng)復(fù)位24秒(按控制鍵盤(pán)中的“復(fù)位”開(kāi)關(guān)
33、即可)。比賽暫停后,需要按“暫停/啟動(dòng)”鍵來(lái)激活時(shí)間倒計(jì)。、比分刷新控制由于在比賽中,甲、乙兩隊(duì)的比分是不斷在變化的,所以需要設(shè)置比分刷新控制裝置;此部分功能由計(jì)分電路中的所示的按鍵開(kāi)關(guān)“紅隊(duì)加分”、“紅隊(duì)減分”、“藍(lán)隊(duì)加分”、“藍(lán)隊(duì)減分”來(lái)完成的。2、時(shí)鐘產(chǎn)生方式采用部時(shí)鐘方式(在單片機(jī)的XTAL1和XTAL2引腳外接晶振即可),途中,電容器C1和C2的作用是穩(wěn)定頻率和快速起振。3、復(fù)位電路該電路采用:按鍵與上電復(fù)位 上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間RST引腳獲得高電平,隨著電容C3的充電,RST引腳的高電平將逐漸下降。RST引腳的高電平只要能保持足夠的時(shí)間(兩個(gè)機(jī)械
34、周期),單片機(jī)就可以進(jìn)行復(fù)位操作。按下復(fù)位開(kāi)關(guān)時(shí),短接電容C3,使RST引腳瞬間得到高電平也可實(shí)現(xiàn)復(fù)位功能。4、 顯示電路顯示電路是由數(shù)碼管組成的,主要用來(lái)顯示籃球比賽過(guò)程中的節(jié)次、24秒、比賽剩余時(shí)間、兩隊(duì)分?jǐn)?shù)。在此電路中,單片機(jī)的P1口用于控制4位LED的段選碼:P2口的P2.0P2.3用于控制4位LED位選碼。由于所有的段選碼連在一起,所以同一瞬間只能顯示同一種字符。但如果要顯示不同字符,則要由位選碼來(lái)控制,系統(tǒng)通過(guò)74HC154來(lái)擴(kuò)展P2.0P2.3端子來(lái)實(shí)現(xiàn)AT89c52對(duì)數(shù)碼管的選碼。(如果LED為共陰極則P2.0P2.3輸出為高電平,如果LED為共陽(yáng)極則P2.0P2.3輸出為低電
35、平。)顯示電路的主電路圖如下:5、電路總圖綜上所述,結(jié)合以上各個(gè)電路,加上適當(dāng)?shù)慕M件,即可得到籃球比賽計(jì)時(shí)計(jì)分器的總設(shè)計(jì)圖:五、編程與仿真1、keil軟件的應(yīng)用利用keil軟件,編寫(xiě)程序,并進(jìn)行調(diào)試,調(diào)試結(jié)果出現(xiàn)0個(gè)錯(cuò)誤時(shí),即可生成hex文件(部分程序流程圖如下)。計(jì)時(shí)程序部分流程圖:按下調(diào)時(shí)開(kāi)關(guān)立即數(shù)00H取出,LE輸出高電平經(jīng)過(guò)P1.0發(fā)送代碼,然后將LE清零開(kāi)放定時(shí)中斷啟動(dòng)定時(shí)器,T0開(kāi)始定時(shí)定時(shí)中斷初始化調(diào)用定時(shí)中斷程序記分程序部分流程圖:按下計(jì)分鍵輸出低電平,外部中斷產(chǎn)生調(diào)用中斷程序串行數(shù)據(jù)輸出移位脈沖輸出顯示數(shù)據(jù),兩隊(duì)相應(yīng)比分變化串行口發(fā)送完畢,標(biāo)志清零程序流程圖:HEX文件的生成
36、方式:在所建工程上右鍵下拉菜單中點(diǎn)擊options for targettarget1點(diǎn)擊輸出選項(xiàng)卡勾中創(chuàng)建hex文件(如下圖)確定運(yùn)行。即可再所建工程的文件夾下找到hex文件2、proteus的應(yīng)用按照原理圖搭建防真電路圖,加載hex文件運(yùn)行即可。Hex文件加載方式:雙擊仿真電路圖中的AT89C52單片機(jī)單擊program file項(xiàng)后面的文件夾圖標(biāo)選中剛剛建立的hex文件確定(如下圖所示)確定3、進(jìn)行電路仿真以上準(zhǔn)備工作全部完成后就可以進(jìn)行電路仿真啦,單擊開(kāi)始進(jìn)行仿真。運(yùn)行效果圖如下:六、 心得與總結(jié)在本次設(shè)計(jì)中,我通過(guò)基于典型單片機(jī)AT89C52的設(shè)計(jì)和應(yīng)用,對(duì)于單片機(jī)工作原理,功能有了
37、宏觀的了解,并對(duì)單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識(shí)。在設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,給我的感覺(jué)就是下手很難,很不順手,看似很簡(jiǎn)單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來(lái),是很難的一件事,主要原因是我們沒(méi)有經(jīng)常動(dòng)手設(shè)計(jì)過(guò)電路。另外單片機(jī)系統(tǒng)的知識(shí)似懂非懂,而且很多知識(shí)當(dāng)時(shí)弄明白了,現(xiàn)在要用的時(shí)候又不記得,造成我用了大量的時(shí)間去查閱各種資料和程序命令,因此整個(gè)過(guò)程時(shí)間安排不合理。由于設(shè)計(jì)的計(jì)劃沒(méi)有安排好,設(shè)計(jì)的時(shí)間極為倉(cāng)促,尤其是在仿真調(diào)試的過(guò)程中出現(xiàn)了很大的問(wèn)題。另外資料的查找也是一大難題,這就要求我們?cè)谝院蟮膶W(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重要的是我們要學(xué)會(huì)把從書(shū)本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來(lái),
38、這不論是對(duì)我們以后的就業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助。本次設(shè)計(jì)測(cè)試結(jié)果以與不足之處:計(jì)時(shí)電路可完成倒計(jì)時(shí)、暫停、繼續(xù)等功能,在比賽時(shí)間到后可進(jìn)行報(bào)警。記分電路工作正常,可完成對(duì)比分的刷新與暫存。但在測(cè)試過(guò)程中發(fā)現(xiàn),在比賽上半場(chǎng)時(shí)間到后,不能進(jìn)行比分的交換。進(jìn)行分析后得出結(jié)論如下:系統(tǒng)電路部分設(shè)計(jì)沒(méi)有原則性的錯(cuò)誤,基本達(dá)到本次課程設(shè)計(jì)的要求。附表一程序編程清單:#include <REGX52.H>#define uchar unsigned char #define uint unsigned int #define TH_value 0xb1#define TL_value
39、 0xe0/定時(shí)器工作于方式1,每20ms產(chǎn)生一個(gè)中斷sbit speak=P37;sbit ext=P32;sbit led=P34;/*BCD碼字*/uchar code bcd=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F;/*09數(shù)字顯示*/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;uchar munite;/比賽剩余分位數(shù)uchar second;/比賽剩余秒位數(shù)ucha
40、r part;/當(dāng)前比賽的節(jié)次uchar s24;/24秒標(biāo)志uchar red_mark;/紅隊(duì)得分uchar blue_mark;/藍(lán)隊(duì)得分uchar key_move;/設(shè)置位移動(dòng)uchar key_red_add;/紅隊(duì)得分增加1uchar key_red_mul;/紅隊(duì)得分減少1uchar key_blue_add;/藍(lán)隊(duì)得分增加1uchar key_blue_mul;/藍(lán)隊(duì)得分減少1uchar key_pause;/暫停uchar key_reset;/24秒復(fù)位與進(jìn)入下一節(jié)復(fù)位uchar time_tick1,time_tick2;uchar station;/狀態(tài)標(biāo)志位ucha
41、r flag;/跳亮標(biāo)志位uchar talk1,talk2,num,num1;/報(bào)警信號(hào)標(biāo)志/*函數(shù)聲明*/void init();void init_timer();void init_extra();uchar key_scan();void scanf(uchar p,uchar tw,uchar m,uchar s,uchar r,uchar b);void scanf1(uchar p,uchar r,uchar b);void scanf2(uchar tw,uchar r,uchar b);void scanf3(uchar m,uchar r,uchar b);void sc
42、anf4(uchar s,uchar r,uchar b);void play24();void playstop1();void playstop2();/*延時(shí)程序,t=1時(shí),延時(shí)1ms*/void delay(uchar t)int i,j;for(j=0;j<t;j+) for(i=0;i<110;i+);/*主程序*/void main()init();init_timer();init_extra();/初始化while(1)if(station=0)/狀態(tài)0:比賽狀態(tài)scanf(part,s24,munite,second,red_mark,blue_mark);if
43、(time_tick1=50)time_tick1=0;if(second=0)/時(shí)間計(jì)數(shù)if(munite=0)if(part>=4)talk2=1;/終場(chǎng)報(bào)警操作TR0=0;/關(guān)閉定時(shí)器中斷0TR1=1;elsetalk2=1;/小節(jié)結(jié)束報(bào)警TR1=1;TR0=0;elsemunite-;second=59;elsesecond-;if(s24=0)/24秒計(jì)數(shù)TR0=0;elseif(s24<2)talk2=1;TR1=1;TR0=0;key_pause=0;else if(s24<8)talk1=1;TR1=1;s24-;/6秒提醒if(second=0&&a
44、mp;munite=0)/操作進(jìn)入下一節(jié)比賽if(key_reset=1)s24=0x18;part+;key_reset=0;if(part=10)talk2=1;/比賽太久,報(bào)警if(part<5)/判斷是否為加時(shí)賽,不是,延長(zhǎng)12分鐘munite=0x0c;second=0x00;else/加時(shí)賽,延長(zhǎng)5分鐘munite=0x05;second=0x00;if(second!=0|munite!=0)/操作24秒復(fù)位if(key_reset=1)if(second<0x18&&munite=0)/當(dāng)比賽剩余時(shí)間少于24秒時(shí),sS4為當(dāng)前剩余時(shí)間key_rese
45、t=0;s24=second;else/當(dāng)時(shí)間大于24秒時(shí),S24復(fù)位為24秒key_reset=0;s24=0x18;if(key_red_add=1)/紅隊(duì)得分操作加key_red_add=0;if(red_mark<0xff)red_mark+;if(key_red_mul=1)/紅隊(duì)得分操作減key_red_mul=0;if(red_mark>0)red_mark-;if(key_blue_add=1)/藍(lán)隊(duì)得分操作加key_blue_add=0;if(blue_mark<0xff)blue_mark+;if(key_blue_mul=1)/藍(lán)隊(duì)得分操作減key_bl
46、ue_mul=0;if(blue_mark>0)blue_mark-;if(station=1)/比賽節(jié)次操作TR1=1;flag=0;while(station=1)if(flag=0)scanf1(part,red_mark,blue_mark);if(flag=1)scanf(part,s24,munite,second,red_mark,blue_mark); if(key_red_add=1)/比賽節(jié)次操作加key_red_add=0;if(part<0x09)part+;if(key_red_mul=1)/比賽節(jié)次操作減key_red_mul=0;if(part>
47、1)part-;if(station!=1)TR1=0;flag=0;if(station=2)/24秒操作TR1=1;flag=0;while(station=2)if(flag=0)scanf2(s24,red_mark,blue_mark);if(flag=1)scanf(part,s24,munite,second,red_mark,blue_mark); if(key_red_add=1)/24秒操作加.MAX=24key_red_add=0;if(s24<0x18)s24+;if(key_red_mul=1)/24秒操作減key_red_mul=0;if(s24>0)s
48、24-;if(station!=2)TR1=0;flag=0;if(station=3)/計(jì)時(shí)分操作TR1=1;flag=0;while(station=3)if(flag=0)scanf3(munite,red_mark,blue_mark);if(flag=1)scanf(part,s24,munite,second,red_mark,blue_mark); if(key_red_add=1)/分操作加,MAX=60key_red_add=0;if(munite<0x3c)munite+;if(key_red_mul=1)/分操作減key_red_mul=0;if(munite>
49、;0)munite-;if(station!=3)TR1=0;flag=0;if(station=4)/計(jì)時(shí)秒操作TR1=1;flag=0;while(station=4)if(flag=0)scanf4(second,red_mark,blue_mark);if(flag=1)scanf(part,s24,munite,second,red_mark,blue_mark); if(key_red_add=1)/秒操作加,MAX=60key_red_add=0;if(second<0x3c)second+;if(key_red_mul=1)/秒操作減key_red_mul=0;if(se
50、cond>0)second-;if(station!=4)TR1=0;flag=0;/*初始化*/void init()munite=0x01;second=0x00;red_mark=0x00;blue_mark=0x00;part=0x01;s24=0x18;station=0x00;key_pause=0;key_move=0x00;key_red_add=0x00;key_red_mul=0x00;key_blue_add=0x00;key_blue_mul=0x00;key_reset=0x00;flag=0x00;/*定時(shí)器0初始化*/void init_timer()TMO
51、D=0x11;TH0=TH_value;TL0=TL_value;TH1=TH_value;TL1=TL_value;ET0=1;ET1=1;time_tick1=0;time_tick2=0;/*外部中斷源初始化*/void init_extra()EX0=1;EX1=1;IT0=1;IT1=1;EA=1;/*定時(shí)器0*/void timer0()interrupt 1time_tick1+;TH0=TH_value;TL0=TL_value;/*定時(shí)器1*/void timer1()interrupt 3EA=0;TH1=TH_value;TL1=TL_value;time_tick2+;if(time_tick2=50)led=led;time_tick2=0x00;if(flag=0)flag=1;/跳亮標(biāo)志位elseflag=0;if(talk1=1)EA=0;TH1=0xFD;TL1=0xF7;EA=1;speak=speak;num+;if(num=2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)藥咨詢(xún)采購(gòu)合同范本
- 倉(cāng)儲(chǔ)貨架合同范本
- 勞動(dòng)合同范本醫(yī)療
- 會(huì)計(jì)臨聘用合同范本
- 展廳工程合同范本
- 出貨協(xié)議合同范本
- 義賣(mài)贊助合同范本
- 北京和杭州租房合同范本
- 勞務(wù)用工勞務(wù)合同范本
- 出售高端養(yǎng)老房合同范例
- 電子商務(wù)數(shù)據(jù)分析基礎(chǔ)(第二版) 課件 模塊1、2 電子商務(wù)數(shù)據(jù)分析概述、基礎(chǔ)數(shù)據(jù)采集
- YB-T+4190-2018工程用機(jī)編鋼絲網(wǎng)及組合體
- 高大模板安全施工施工安全保證措施
- 比亞迪公司應(yīng)收賬款管理的問(wèn)題及對(duì)策分析
- 【高考真題】2024年新課標(biāo)全國(guó)Ⅱ卷高考語(yǔ)文真題試卷(含答案)
- 委托辦理報(bào)廢汽車(chē)協(xié)議書(shū)
- 旅游服務(wù)質(zhì)量評(píng)價(jià)體系
- 義烏市建筑工程質(zhì)量通病防治措施100條(2022版本)
- 蘇教版(SJ)《四年級(jí)下冊(cè)數(shù)學(xué)》補(bǔ)充習(xí)題
- 體育足球籃球排球體操教案
- 統(tǒng)編版高中政治必修3必背主觀題
評(píng)論
0/150
提交評(píng)論