第1章 課題概述
1.1 課題意義LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內(nèi)環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無(wú)法比擬的優(yōu)點(diǎn)。LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點(diǎn)分不開(kāi)的。這些優(yōu)點(diǎn)概括起來(lái)是:亮度高、工作電壓低、功耗小、小型化、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。
1.2課題目的通過(guò)課程設(shè)計(jì),進(jìn)一步熟悉和掌握AT89C51單片機(jī)的結(jié)構(gòu)及工作原理,掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù),了解表關(guān)電路參數(shù)的計(jì)算方法。通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序開(kāi)發(fā)的完整過(guò)程,進(jìn)一步了解開(kāi)發(fā)一單片機(jī)應(yīng)用系統(tǒng)的全過(guò)程,通過(guò)此綜合訓(xùn)練,為以后畢業(yè)設(shè)計(jì)打下一定的基礎(chǔ)。
(1)利用74HC595擴(kuò)展單片機(jī)IO口間接控制LED點(diǎn)陣使其顯示。
(2)綜合運(yùn)用所學(xué)的《單片機(jī)原理與應(yīng)用》理論知識(shí),通過(guò)實(shí)踐加強(qiáng)對(duì)所學(xué)知識(shí)的理解,具備設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的能力,加深對(duì)單片機(jī)課程的全面認(rèn)識(shí)。
(3)通過(guò)本次課程設(shè)計(jì)能夠?qū)Τ绦蜻M(jìn)行編寫(xiě)和調(diào)試。
(4)通過(guò)本次系統(tǒng)設(shè)計(jì),增強(qiáng)自己的動(dòng)手能力。認(rèn)識(shí)單片機(jī)在日常生活中的應(yīng)用的廣泛性,實(shí)用性。
1.3課題內(nèi)容 以AT89C51單片機(jī)為控制器,用一個(gè)8*8點(diǎn)陣LED點(diǎn)陣顯示屏,顯示“●、○、♥”圖形,通過(guò)按鍵來(lái)選擇要顯示的圖形。
1.4設(shè)計(jì)方案點(diǎn)陣LED一般采用掃描式顯示,實(shí)際運(yùn)用分為三種方式: 一、點(diǎn)掃描;二、行掃描;三、 列掃描。 若使用第一種方式,其掃描頻率必須大于16×64=1024Hz,周期小于1ms即 可。若使用第二和第三種方式,則頻率必須大于16×8=128Hz,周期小于7.8ms即可符合視覺(jué)暫留要求。此外一次驅(qū)動(dòng)一列或一行(8顆LED)時(shí)需外加驅(qū)動(dòng)電路提高電流,否則LED亮度會(huì)不足。
所以本設(shè)計(jì)采用列掃描的方式,行由單片機(jī)向74HC595送串行數(shù)據(jù),然后74HC595并行輸出到LED點(diǎn)陣模塊,利用外部中斷檢測(cè)按鍵控制切換顯示圖像數(shù)據(jù)輸出,以達(dá)到設(shè)計(jì)要求的目的。
第2章 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)
2.1 硬件元器件的選擇硬件元器件:AT89C51單片機(jī)、兩個(gè)8位位移寄存器74HC595、一塊8*8LED點(diǎn)陣、一個(gè)按鍵。
2.1.1 單片機(jī)型號(hào)選擇
AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲(chǔ)器的8位CMOS微控制器,使用高密度、非易失存儲(chǔ)技術(shù)制造,并且與89C51引腳和指令系統(tǒng)完全兼容。 圖2.1.1 AT89C51引腳圖
2.1.2 單片機(jī)IO擴(kuò)展電路芯片選擇74HC595具有8位移位寄存器和一個(gè)存儲(chǔ)器,三態(tài)輸出功能。 移位寄存器和存儲(chǔ)器有相互獨(dú)立的時(shí)鐘。利用它可以將8線(xiàn)IO縮小到3個(gè)IO使用即可滿(mǎn)足設(shè)計(jì)需求。
圖2.1.2 74HC595引腳圖
2.1.3 8*8LED點(diǎn)陣模塊選擇如下圖一為8×8點(diǎn)陣LED外觀(guān)及引腳圖,圖二為其等效電路圖,只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。滿(mǎn)足設(shè)計(jì)需求。
圖(一) 圖(二)
2.2 硬件電路設(shè)計(jì)2.2.1主控電路的設(shè)計(jì)- 晶振電路設(shè)計(jì):該電路晶振采用11.052MHz晶振,為單片機(jī)提供機(jī)械脈沖源。
- 復(fù)位電路設(shè)計(jì):在單片機(jī)的RST端給高電平可使得單片機(jī)復(fù)位。
(3)電源電路設(shè)計(jì):該電路采用VS1838b穩(wěn)壓三極管,使得系統(tǒng)電源穩(wěn)定在5V。
(4)單片機(jī)IO:引腳如圖所示的單片機(jī)是引腳雙列直插封裝方式,電源引腳40腳與接地腳20。 P0口作輸入口使用時(shí),應(yīng)先向口鎖存器寫(xiě)入1。P1口是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O端口。P1的輸出緩存可驅(qū)動(dòng)4個(gè)TTL輸入。P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口也是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口, P3端口還用于一些復(fù)用功能。
2.2.2 LED點(diǎn)陣模塊電路設(shè)計(jì)
74HC595的輸入端連接單片機(jī)的P2.2,P3.3,P2.3,輸出端控制LED點(diǎn)陣模塊引腳。 2.2.3 按鍵電路設(shè)計(jì)如圖為按鍵電路,采用上拉電阻式設(shè)計(jì),使得按鍵初始狀態(tài)穩(wěn)定在高電平,抗干擾能力得到加強(qiáng)。
其中按鍵接口為單片機(jī)外部中斷引腳。
第3章 軟件設(shè)計(jì)
3.1 程序流程圖第4章 調(diào)試及分析
本次設(shè)計(jì)是我第一次接觸LED點(diǎn)陣顯示設(shè)計(jì),在經(jīng)過(guò)老師簡(jiǎn)介L(zhǎng)ED點(diǎn)陣工作原理后,我在電腦仿真上先利用電源和地簡(jiǎn)單的測(cè)試?yán)碚摚缓笤谝淮未蝿?dòng)手過(guò)程中最終理解了LED點(diǎn)陣的工作原理,在書(shū)寫(xiě)程序時(shí),我分為以下幾個(gè)步驟:
- 學(xué)會(huì)使用74HC595輸出預(yù)設(shè)的數(shù)據(jù)。
- 結(jié)合74HC595點(diǎn)亮LED點(diǎn)陣?yán)锩娴娜我?/font>LED燈。
- 將點(diǎn)亮LED點(diǎn)陣單個(gè)LED函數(shù)封裝成整體顯示函數(shù),顯示預(yù)設(shè)簡(jiǎn)單圖案如圖一。
- 調(diào)通按鍵部分,使其工作正常,并可隨意控制。
- 將按鍵和LED顯示結(jié)合起來(lái),利用按鍵改變LED顯示圖案。
- 將設(shè)計(jì)要求的圖案替換原先簡(jiǎn)單圖形,如圖二至四。
圖一 圖二
圖三 圖四
心得體會(huì)
本次課程設(shè)計(jì)分為兩個(gè)部分,單片機(jī)開(kāi)發(fā)板焊接、調(diào)試與程序設(shè)計(jì)。我們花了一天的時(shí)間焊接,調(diào)試單片機(jī)。看似簡(jiǎn)單的一件事,需要耐心和細(xì)心。其中貼片元件是最難焊的。最后還是順利完成了。
程序設(shè)計(jì)部分,之前參考例程,把一個(gè)簡(jiǎn)單的圖形顯示了出來(lái),獲得了不少的成就感,然后按照例程里面的圖形數(shù)組的數(shù)據(jù),自己修改,把自己設(shè)想的圖案顯示出來(lái)。之后一直在努力實(shí)現(xiàn)按鍵切換功能的實(shí)現(xiàn),但一直都沒(méi)有思路,后來(lái)想到用三個(gè)普通按鍵實(shí)現(xiàn)三種圖形切換,發(fā)現(xiàn)這種方法實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,之后想起應(yīng)該要盡量減少硬件的使用以降低成本和工藝復(fù)雜度,用一個(gè)按鍵結(jié)合外部中斷來(lái)實(shí)現(xiàn)圖形切換的功能,反應(yīng)速度要比之前顯著提高。
改進(jìn)的思路如下:之前采用一個(gè)一維數(shù)組儲(chǔ)存一個(gè)圖形的數(shù)據(jù),如果要增加多個(gè)圖形,則明顯增加變量,然后我就想到了用一個(gè)二維數(shù)組來(lái)儲(chǔ)存多個(gè)圖形數(shù)據(jù),因?yàn)槠浔旧砭鸵呀?jīng)保留了圖形編號(hào),便于調(diào)用。關(guān)于圖形切換,采用按鍵觸發(fā)中斷,當(dāng)按鍵按下時(shí),其中斷服務(wù)函數(shù)里面的變量自增一次,而在主函數(shù)里面查詢(xún)這個(gè)變量的值,不同的值顯示不同的圖案。
最終實(shí)現(xiàn)了一個(gè)按鍵切換三個(gè)圖形的功能,但主體程序完成后,我發(fā)現(xiàn)之前的圖形取模不規(guī)范,然后利用軟件取模的方法,使得模組數(shù)據(jù)規(guī)范化,使得最終的顯示達(dá)到標(biāo)準(zhǔn)。
參考文獻(xiàn)
【1】曾屹.單片機(jī)原理與應(yīng)用.第2版.湖南:中南大學(xué)出版社,2009
【2】郭天祥.51單片機(jī)C語(yǔ)言教程.新概念.北京:電子工業(yè)出版社,2009
3.2主程序的設(shè)計(jì)
3.3 顯示程序設(shè)計(jì)
(詳見(jiàn)附件)