找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 20983|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)16*64LED點(diǎn)陣廣告牌設(shè)計(jì) PCB+電路原理圖

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
      本人做的一個(gè)小的設(shè)計(jì),設(shè)計(jì)所用,因?yàn)槭艿接行┮蛩氐挠绊懀倦娐酚行﹩栴}所在,不過在軟件上面已經(jīng)更正,如果要使用本電路請(qǐng)注意一定要注意取膜時(shí)要注意把取模后的代碼的左右部首調(diào)換,不然不能實(shí)現(xiàn)完整顯示。

附錄:產(chǎn)品圖片





LED點(diǎn)陣廣告牌在大街小巷隨處可見,它的應(yīng)用領(lǐng)域現(xiàn)在極其廣泛。LED顯示屏需求量都是非常大的。而這些LED的最基本單元都是8*8的點(diǎn)陣,它是組成漢字及其其它圖形的基礎(chǔ)。
本次的設(shè)計(jì)就是采用單片機(jī)作為主要控制單元核心,來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的LED點(diǎn)陣漢字顯示系統(tǒng)。通過單片機(jī)對(duì)行列掃描的控制,配合程序的運(yùn)用,來實(shí)現(xiàn)顯示、滾動(dòng)、暫停以及調(diào)速。漢字的顯示就是字模以極快的速度在屏幕上循環(huán),超過一定的速度,由于人眼的暫留效應(yīng),就會(huì)認(rèn)為是完整地顯示了漢字。把字模按一定的速度依次調(diào)用顯示,在我們視線中就好像字體在滾動(dòng)。
在本次的設(shè)計(jì)中,主要用到了單片機(jī)的串口通信技術(shù),這樣不僅節(jié)省了單片機(jī)IO口的數(shù)目,而且是程序更加簡(jiǎn)潔。
LED顯示漢字技術(shù)相信在將來還會(huì)得到更加廣泛的應(yīng)用,它在我們?nèi)粘I钪姓嫉玫匚幌嘈乓矔?huì)愈來愈重要。


第一章 緒論
1.1 課題研究背景
1.2 研究現(xiàn)狀及發(fā)展趨勢(shì)
1.3 文檔主要內(nèi)容
第二章 方案論證與選擇
2.1 系統(tǒng)硬件方案
2.1.1 顯示屏主控制器
2.1.2 通信系統(tǒng)
2.1.3 硬件設(shè)計(jì)方案
2.2 系統(tǒng)軟件方案
2.2.1 單片機(jī)編程語言
2.2.2 系統(tǒng)軟件編譯器介紹
第三章 硬件設(shè)計(jì)
3.1 硬件系統(tǒng)的總體設(shè)計(jì)
3.2 單片機(jī)系統(tǒng)設(shè)計(jì)
3.2.1 STC89S52RC簡(jiǎn)介
3.2.2 STC89S52RC單片機(jī)引腳功能
3.2.3 復(fù)位電路設(shè)計(jì)
3.2.4 時(shí)鐘電路
3.2.5 電源電路
3.3 控制單元設(shè)計(jì)
3.4 驅(qū)動(dòng)電路設(shè)計(jì)
3.4.1 列驅(qū)動(dòng)
3.4.2 行驅(qū)動(dòng)
3.4.3 點(diǎn)陣屏分類
3.4.4 點(diǎn)陣工作原理
3.5 系統(tǒng)總電路圖
第四章 軟件設(shè)計(jì)
4.1 主程序設(shè)計(jì)思想及流程圖
4.2 顯示驅(qū)動(dòng)程序設(shè)計(jì)
第五章 制作與調(diào)試
5.1 系統(tǒng)硬件部分調(diào)試
5.1.1 短路與虛焊檢測(cè)
5.1.2 上電測(cè)試
5.2 系統(tǒng)軟件調(diào)試
5.3 總結(jié)
參考文獻(xiàn)
致謝


第一章 緒論
1.1 課題研究背景
LED顯示屏是八十年代后期在全球迅速發(fā)展起來的新型信息顯示媒體,顯示屏由幾萬到幾十萬個(gè)半導(dǎo)體發(fā)光二極管像素點(diǎn)均勻排列組成。利用不同的材料可以制造不同色彩的LED像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色LED的開發(fā)已經(jīng)達(dá)到了實(shí)用階段。LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內(nèi)環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點(diǎn)。
在短短的十來年中,LED點(diǎn)陣顯示屏就以亮度高、工作電壓低、功耗小、小型化、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定的優(yōu)點(diǎn)迅速成長(zhǎng)為平板顯示的主流產(chǎn)品,在信息顯示領(lǐng)域得到了廣泛的應(yīng)用。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。LED顯示屏的應(yīng)用涉及社會(huì)經(jīng)濟(jì)的許多領(lǐng)域

現(xiàn)代信息社會(huì)中,作為人-機(jī)信息視覺傳播媒體的顯示產(chǎn)品和技術(shù)得到迅速發(fā)展,進(jìn)入二十一世紀(jì)的顯示技術(shù)是平板顯示的時(shí)代,LED顯示屏作為平板顯示的主導(dǎo)產(chǎn)品之一無疑會(huì)有更大的發(fā)展,并有可能成為二十一世紀(jì)平板顯示的代表性主流產(chǎn)品。高亮度、全彩化藍(lán)色及純綠色LED產(chǎn)品自出現(xiàn)以來,成本逐年快速降低,已具備成熟的商業(yè)化條件、基礎(chǔ)材料的產(chǎn)業(yè)化。使LED全彩色顯示產(chǎn)品成本下降,應(yīng)用加快。LED產(chǎn)品性能的提高,使全彩色顯示屏的亮度、色彩、白平衡均達(dá)到比較理想的效果,完全可以滿足戶外全天候的環(huán)境條件要求,同時(shí),由于全彩色顯示屏價(jià)格性能比的優(yōu)勢(shì),預(yù)計(jì)在未來幾年的發(fā)展中,全彩色LED顯示屏在戶外廣告媒體中會(huì)越來越多地代替?zhèn)鹘y(tǒng)的燈箱、霓紅燈、磁翻板等產(chǎn)品,體育場(chǎng)館的顯示方面全彩色LED屏更會(huì)成為主流產(chǎn)品。全彩色LED顯示屏的廣泛應(yīng)用會(huì)是LED顯示屏產(chǎn)業(yè)發(fā)展的一個(gè)新的增長(zhǎng)點(diǎn)。
未來LED顯示屏?xí)蛑鴺?biāo)準(zhǔn)化、規(guī)范化,產(chǎn)品結(jié)構(gòu)多樣化的方向發(fā)展。
3. 選題意義
該設(shè)計(jì)課題使我們能夠掌握LED顯示屏的基本顯示原理和設(shè)計(jì)方法,對(duì)LED顯示屏這個(gè)行業(yè)有了較為深刻的了解和認(rèn)識(shí)。并且對(duì)大學(xué)期間所學(xué)習(xí)的一些理論進(jìn)行了實(shí)踐,使我們對(duì)所學(xué)過的理論知識(shí)有了新的認(rèn)識(shí)。并且通過該設(shè)計(jì)課題掌握了51單片機(jī)的的軟硬件開發(fā)工具的使用方法,為以后從事相關(guān)行業(yè)的工作積累了實(shí)際工作經(jīng)驗(yàn)。目前我國(guó)的信息行業(yè)發(fā)展迅速,作為主要平面顯示媒介的LED顯示屏的作用也越練越廣泛,相關(guān)的從業(yè)人員也會(huì)越來越緊缺。但同時(shí)應(yīng)該清楚的認(rèn)識(shí)到我國(guó)的LED技術(shù)雖然發(fā)展迅速但和世界先進(jìn)水平還有一定的差距。因此此課題不論是對(duì)自己的就業(yè)還是對(duì)我國(guó)LED顯示技術(shù)的發(fā)展都有非�,F(xiàn)實(shí)與積極的意義。
1.3 文檔主要內(nèi)容
針對(duì)設(shè)計(jì)項(xiàng)目的特點(diǎn),作者對(duì)文檔的內(nèi)容和結(jié)構(gòu)將做如下安排:
  • 初步方案的論證和選擇
搜集項(xiàng)目的有關(guān)資料,并參照目前通用的設(shè)計(jì)思想和設(shè)計(jì)方法擬定幾套設(shè)計(jì)方案進(jìn)行分析比較。最終選定了以單片機(jī)為核心控制器件,外加行驅(qū)動(dòng)電路和列驅(qū)動(dòng)電路的設(shè)計(jì)方案。
  • 方案實(shí)現(xiàn)
以設(shè)計(jì)方案為指導(dǎo)思想選擇合適的器件來實(shí)現(xiàn)這一思想,選擇器件時(shí)要從功能和電氣特性兩方面來選擇和論證。經(jīng)過對(duì)比選擇選定STC89S52RC單片機(jī)為核心控制器件,由74LS154和SDM495為行驅(qū)動(dòng)電路器件,74HC595為列驅(qū)動(dòng)電路器件。文檔列出了詳細(xì)的器件參數(shù)和在系統(tǒng)中的連接使用方法。
  • 軟件編寫
根據(jù)硬件特點(diǎn)和設(shè)計(jì)要求,軟件選用C語言編寫。程序按功能分為靜態(tài)顯示、動(dòng)態(tài)顯示、通信等幾個(gè)功能上相對(duì)獨(dú)立的模塊。然后按照所劃分的模塊逐個(gè)編寫和調(diào)試,最后將獨(dú)立的模塊整合起來。
  • 結(jié)論
設(shè)計(jì)完成后對(duì)設(shè)計(jì)中所遇到的問題、經(jīng)驗(yàn)教訓(xùn)、以及自己的想法進(jìn)行總結(jié)。

第二章 方案論證與選擇2.1 系統(tǒng)硬件方案
大多數(shù)的LED顯示屏都在戶外,所以對(duì)硬件的質(zhì)量要求非常的高。為方便檢修和維護(hù)硬件電路設(shè)計(jì)時(shí)常常采用模塊化的設(shè)計(jì)方法。硬件的設(shè)計(jì)采用模塊化設(shè)計(jì),既要滿足模塊本身功能又要能夠和整個(gè)系統(tǒng)兼容。如圖2-1所示,根據(jù)顯示系統(tǒng)的功能特點(diǎn)確定系統(tǒng)硬件由顯示屏部分,控制部分,通信系統(tǒng)三部分組成。單片機(jī)通過通信部分發(fā)送控制指令和顯示內(nèi)容代碼,執(zhí)行顯示指令并將顯示代碼處理后控制顯示部分的顯示內(nèi)容和顯示方式。

圖2-1  系統(tǒng)硬件組成框圖
2.1.1 顯示屏主控制器
控制部分是整個(gè)系統(tǒng)的核心部分,其功能為發(fā)送數(shù)據(jù)和控制指令處理后控制顯示部分顯示內(nèi)容。其常用的電子設(shè)計(jì)方法有單片機(jī)、DSP、及EDA技術(shù)。幾種設(shè)計(jì)方法比較各有其特點(diǎn):
  • 單片機(jī)
單片機(jī)是集成了CPU,ROM,RAM和I/ O口的微型計(jì)算機(jī)。它有很強(qiáng)的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU)。單片機(jī)品種齊全,型號(hào)多樣 CPU 從8,16,32到64位,多采用RISC 技術(shù),片上I/O非常豐富,有的單片機(jī)集成有A/ D,“ 看門狗”,PWM,顯示驅(qū)動(dòng),函數(shù)發(fā)生器,鍵盤控制等。它們的價(jià)格也高低不等,這樣極大地滿足了開發(fā)者的選擇自由。除此之外單片機(jī)還具有低電壓和低功耗的特點(diǎn)。隨著超大規(guī)模集成電路的發(fā)展,NMOS工藝單片機(jī)被CMOS代替,并開始向HMOS 過渡。供電電壓由5V 降到3V,2V甚至到1V,工作電流由mA降至μA ,這在便攜式產(chǎn)品中大有用武之地。
  • DSP 芯片
DSP 又叫數(shù)字信號(hào)處理器。顧名思義,DSP主要用于數(shù)字信號(hào)處理領(lǐng)域,非常適合高密度,重復(fù)運(yùn)算及大數(shù)據(jù)容量的信號(hào)處理�,F(xiàn)在已經(jīng)廣泛應(yīng)用于通信、便攜式計(jì)算機(jī)和便攜式儀表、雷達(dá)、圖像、航空、家用電器、醫(yī)療設(shè)備等領(lǐng)域,DSP具有修正的哈佛結(jié)構(gòu),多總線技術(shù)以及流水線結(jié)構(gòu)。將程序與數(shù)據(jù)存儲(chǔ)器分開,使用多總線,取指令和取數(shù)據(jù)同時(shí)進(jìn)行,以及流水線技術(shù),這使得速度有了較大的提高。DSP區(qū)別于一般微處理器的另一重要標(biāo)志是硬件乘法器以及特殊指令,一般微處理器用軟件實(shí)現(xiàn)乘法,逐條執(zhí)行指令,速度慢。而DSP 依靠硬件乘法器單周期完成乘法運(yùn)算,而且還具有專門的信號(hào)處理指令,如TM320 系列的FIRS ,LMS,MACD指令等。
  • EDA
EDA(即Electronic Design Automation) 即電子設(shè)計(jì)自動(dòng)化,它是以計(jì)算機(jī)為工具,在EDA 軟件平臺(tái)上,對(duì)用硬件描述語言HDL 完成的設(shè)計(jì)文件自動(dòng)地邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對(duì)于特定目標(biāo)芯片進(jìn)行適配編譯、邏輯影射和編程下載等。設(shè)計(jì)者只需用HDL 語言完成系統(tǒng)功能的描述,借助EDA工具就可得到設(shè)計(jì)結(jié)果,將編譯后的代碼下載到目標(biāo)芯片就可在硬件上實(shí)現(xiàn)。由于FPGA/CPLD可以通過軟件編程對(duì)該硬件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),修改軟件程序就相當(dāng)于改變了硬件,軟件編寫可以采用自頂向下的設(shè)計(jì)方案,而且可以多個(gè)人分工并行工作這樣便縮短了開發(fā)周期和上市時(shí)間,有利于在激烈的市場(chǎng)競(jìng)爭(zhēng)中搶占先機(jī)。而且MCU和DSP都是通過串行執(zhí)行指令來實(shí)現(xiàn)特定功能,不可避免低速,而FPGA/CPLD則可實(shí)現(xiàn)硬件上的并行工作,在實(shí)時(shí)測(cè)控和高速應(yīng)用領(lǐng)域前景廣闊;另一方面,F(xiàn)PGA/CPLP器件在功能開發(fā)上是軟件實(shí)現(xiàn)的,但物理機(jī)制卻和純硬件電路一樣,十分可靠。
三種設(shè)計(jì)方式相比較各有優(yōu)點(diǎn)且都能夠?qū)崿F(xiàn)控制功能,但單片機(jī)的技術(shù)門檻較低開發(fā)成本也較低非常適合初學(xué)者進(jìn)行學(xué)習(xí)和鍛煉使用�,F(xiàn)在市場(chǎng)上常用的單片機(jī)主要有MCS-51、AVR、ARM、PIC等。其中應(yīng)用最廣泛的單片機(jī)首推Intel的51系列,由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)常作為單片機(jī)學(xué)習(xí)的教材。且51系列的I/O腳的設(shè)置和使用非常簡(jiǎn)單,當(dāng)該腳作輸入腳使用時(shí),只須將該腳設(shè)置為高電平(復(fù)位時(shí),各I/O口均置高電平)。當(dāng)該腳作輸出腳使用時(shí),則為高電平或低電平均可。所以在控制部分方案的選擇中選定51系列單片機(jī)作為控制部分的核心器件。
2.1.2 通信系統(tǒng)
通信部分要滿足的設(shè)計(jì)要求就是穩(wěn)定、快速、簡(jiǎn)單易實(shí)現(xiàn)。計(jì)算機(jī)數(shù)據(jù)通信主要采用并行通信和串行通信兩種方式。
  • 并行通信
并行通信時(shí)數(shù)據(jù)的各個(gè)位同時(shí)傳送,可以字或字節(jié)為單位并行進(jìn)行。并行通信速度快,但用的通信線多、成本高,故不宜進(jìn)行遠(yuǎn)距離通信。
  • 串行通信
串行通信數(shù)據(jù)是一位一位順序傳送,只用很少幾根通信線,串行傳送的速度低,但傳送的距離長(zhǎng),因此串行適用于長(zhǎng)距離而速度要求不高的場(chǎng)合。在串行發(fā)送時(shí),數(shù)據(jù)是一位一位按順序進(jìn)行的,而計(jì)算機(jī)內(nèi)部的數(shù)據(jù)是并行的。因此,當(dāng)計(jì)算機(jī)向外發(fā)送數(shù)據(jù)時(shí),必須將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)再發(fā)送。反之,又必須將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入計(jì)算機(jī)中。這種轉(zhuǎn)換即可以用硬件實(shí)現(xiàn)也可以用軟件實(shí)現(xiàn)。單由軟件實(shí)現(xiàn)會(huì)增加CPU負(fù)擔(dān),降低其利用率,故目前常采用硬件實(shí)現(xiàn)。通用的通用異步接收/發(fā)送器,簡(jiǎn)稱UART(Universal Asynchromous ReceeiverTrabsnitter)是完成這一功能的硬件電路。在單片機(jī)芯片中,UART已經(jīng)集成在其中,作為其組成部分,構(gòu)成一個(gè)串行口。
綜上所述,項(xiàng)目設(shè)計(jì)已經(jīng)選定了單片機(jī)為開發(fā)方式而單片機(jī)的UART已經(jīng)集成在單片機(jī)內(nèi),所以通信系統(tǒng)選擇串行通信為通信方式。
2.1.3 硬件設(shè)計(jì)方案
最終方案如圖2-2所示,以單片機(jī)機(jī)作為核心控制器件存儲(chǔ)和處理顯示內(nèi)容,用串行通信的方式將顯示內(nèi)容和控制指令傳輸?shù)絾纹瑱C(jī)系統(tǒng),單片機(jī)根據(jù)傳輸來的內(nèi)容和指令通過端口譯碼擴(kuò)展后驅(qū)動(dòng)16塊8×8LED點(diǎn)陣模塊構(gòu)成的16×64的LED點(diǎn)陣顯示屏。項(xiàng)目將以此方案為指導(dǎo)思想展開具體的硬件電路設(shè)計(jì)。


圖2-2  硬件設(shè)計(jì)方案

2.2 系統(tǒng)軟件方案
軟件的設(shè)計(jì)除了滿足設(shè)計(jì)功能外還必須要滿足易讀寫,方便下載和編譯。設(shè)計(jì)目標(biāo)和硬件總體結(jié)構(gòu)確定的情況下,軟件可以分為主程序,顯示子程序,各種特效顯示子程序,通信程序三個(gè)主要部分組成。具體結(jié)構(gòu)如圖2-3所示。

圖2-3  軟件功能結(jié)構(gòu)框圖

軟件的編寫需要借助軟件編輯器和編譯軟件,編譯完成后還需要下載到單片機(jī)中執(zhí)行。編寫軟件之前得首先選擇一種合適的語言以及配套的編輯器和編譯軟件。最后還要選擇一款與所選單片機(jī)的下載器或下載軟件來把編寫的程序下載到單片機(jī)中執(zhí)行。
2.2.1 單片機(jī)編程語言
現(xiàn)在主要運(yùn)用的單片機(jī)編程語言為匯編語言和C語言。兩種語言相比較各有優(yōu)點(diǎn)。
匯編語言(Assembly Language)是面向機(jī)器的程序設(shè)計(jì)語言,是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語言。其具有執(zhí)行速度快,占內(nèi)存空間少等優(yōu)點(diǎn),但在編寫復(fù)雜程序時(shí)具有明顯的局限性,匯編語言依賴于具體的機(jī)型,不能通用,也不能在不同機(jī)型之間移植。
C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼。C語言結(jié)構(gòu)是以括號(hào){ }而不是子和特殊符號(hào)的語言。C可以進(jìn)行許多機(jī)器級(jí)函數(shù)控制而不用匯編語言。與匯編相比,有如下優(yōu)點(diǎn):對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)51的存儲(chǔ)器結(jié)構(gòu)有初步了解;寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化;將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率;提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;已編好程序可容易的植入新程序,因?yàn)樗哂蟹奖愕哪K化編程技術(shù)。C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機(jī)的不同較快地移植過來。
基于以上理由決定采用C語言為該顯示系統(tǒng)的編程語言。
2.2.2 系統(tǒng)軟件編譯器介紹
C語言編寫的程序并不能被單片機(jī)直接執(zhí)行還需要編譯為單片機(jī)可執(zhí)行的機(jī)器語言。因此在系統(tǒng)軟件設(shè)計(jì)中,編譯器必不可少。支持MCS-51用C語言編程的編譯器主要有兩種:Franklin C51編譯器和KEILC51編譯器。目前在單片機(jī)開發(fā)中普遍都是使用KEIL C51來進(jìn)行編譯。

第三章 硬件設(shè)計(jì)3.1 硬件系統(tǒng)的總體設(shè)計(jì)
本設(shè)計(jì)采用STC89S52RC單片機(jī)為核心控制器件,用16塊8*8點(diǎn)陣相連組成16*64點(diǎn)陣屏,作為顯示部分。用74LS154作為行驅(qū)動(dòng)控制,控制點(diǎn)陣屏的行控制信號(hào),有十六根數(shù)據(jù)線接在點(diǎn)陣屏的十六個(gè)行控制信號(hào)端上,用74HC595作為列驅(qū)動(dòng)控制,控制點(diǎn)陣屏的列控制信號(hào),同樣有三根數(shù)據(jù)線接在點(diǎn)陣屏的十六個(gè)列控制信號(hào)端。系統(tǒng)方框圖如圖3-1所示。

圖 3-1  系統(tǒng)方框圖
3.2 單片機(jī)系統(tǒng)設(shè)計(jì)3.2.1 STC89S52RC簡(jiǎn)介
本設(shè)計(jì)使用的是STC89S52RC單片機(jī),原因是此款單片機(jī)具有眾多優(yōu)點(diǎn)。
加密性強(qiáng),難解密
超強(qiáng)抗干擾
超低功耗  掉電模式:<0.1μA
空閑模式:2mA
正常工作模式:4mA~7mA
提供STC-ISP在線編輯系統(tǒng),無需編輯器,無需仿真器,可省去購(gòu)買編輯器,仿真器的昂貴資金,適合大眾使用
內(nèi)置看門狗
STC89S52RC的基本結(jié)構(gòu)與8051相同,但是比傳統(tǒng)的8051單片機(jī)擁有更多的內(nèi)部Flash,最高可達(dá)64KB。片內(nèi)SRAM容量同樣是非常吸引的數(shù)字,最高可擁有1280Byte的SRAM。而且還內(nèi)置EEPROM存儲(chǔ)器、AD轉(zhuǎn)換等功能。另外它還可以用串口直接仿真程序,不需要另外加用仿真器或者下載線。
3.2.2 STC89S52RC單片機(jī)引腳功能
VCC:接電源正極,一般輸入電壓為5V。
GND:接電源地端。
P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每個(gè)腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。
P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。
P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。
P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(計(jì)數(shù)器0外部輸入)
P3.5 T1(計(jì)數(shù)器1外部輸入)
P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)
P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
3.2.3 復(fù)位電路設(shè)計(jì)
為確保單片機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般單片機(jī)正常工作所需要的供電電壓為+5V,由于單片機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC在特定的工作電壓范圍內(nèi)以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,單片機(jī)開始正常工作。
目前為止,單片機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。
復(fù)位電路工作原理如圖3-2所示,VCC上電時(shí),C充電,在10k電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,C充滿,10k電阻上電流降為零,電壓也為零,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下S、C放電。S松手,C又充電,在10k電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位。幾個(gè)毫秒后,單片機(jī)進(jìn)入工作狀態(tài)。

圖3-2  復(fù)位電路
3.2.4 時(shí)鐘電路
內(nèi)部時(shí)鐘,是用芯片內(nèi)部振蕩電路,精度不高,溫飄也較大,不需要外部振蕩器件。
外部時(shí)鐘,分RC振蕩和石英晶振,RC精度不高,成本低,石英晶振,精度高,穩(wěn)定性好,根據(jù)使用場(chǎng)合選擇,適合的時(shí)鐘方式。
STC89S52RC內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是反相放大器的輸入端和輸出端,由這個(gè)放大器與作為反饋元件的片外晶體或搪瓷諧振器一起構(gòu)成了一個(gè)自激振蕩器,這種方式形成的時(shí)鐘信號(hào)稱為內(nèi)部時(shí)鐘方式。利用芯片內(nèi)部的振蕩電路,在XTAL1和XTAL2兩端跨接晶體(或陶瓷)振蕩器和兩個(gè)電容就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。晶體振蕩頻率可在1.2MHz~12MHz之間選擇。電容值無嚴(yán)格要求,但其取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度稍有影響,C1、C2可在20pF~100pF之間取值。一般當(dāng)外接晶體時(shí),電容選為30pF。本設(shè)計(jì)采用外部時(shí)鐘電路,電路圖如圖3-3所示。

圖3-3  時(shí)鐘電路
3.2.5 電源電路
電源電路不單單是為單片機(jī)運(yùn)行提供工作電壓,還需要對(duì)單片機(jī)的外圍電路提供工作電源。這里提供2種電源供電方案:
USB接口供電
具有USB接口的設(shè)備一般工作電壓都為5V。計(jì)算機(jī)上的USB接口(圖3-4)可以輸出穩(wěn)定的+5V電壓,最大額定電流為500mA,不足以滿足本設(shè)計(jì)的要求,所以需加上外接電源。在設(shè)計(jì)的時(shí)候,需要注意電路不能出現(xiàn)短路,以免損壞電腦的USB接口。

圖3-4 USB接口

要注意,接口上的電源為五只引腳的最旁邊的兩個(gè),而中間的三個(gè)引腳是USB的差分?jǐn)?shù)據(jù)線,在本設(shè)計(jì)中不需要使用。
3.3 控制單元設(shè)計(jì)
控制單元是整個(gè)顯示系統(tǒng)的核心,該系統(tǒng)中采用51系列單片機(jī)為核心器件,用來發(fā)送控制指令和顯示內(nèi)容,并且直接輸出數(shù)據(jù)通過譯碼電路控制LED顯示屏的顯示內(nèi)容和顯示狀態(tài)。
在51系列單片機(jī)中選定一款合適的機(jī)型來作為控制單元的主控芯片。根據(jù)項(xiàng)目的要求該芯片必須要具有的就是方便的編程能力,因?yàn)樵谲浖O(shè)計(jì)時(shí)方便的程序下載對(duì)程序的驗(yàn)證和編寫非常有用。還有就是為了提高LED顯示屏的掃描速度,單片機(jī)的執(zhí)行速度要盡可能的快。根據(jù)這兩點(diǎn)要求,選擇STC89S52RC為控制單元的主控芯片。
STC89S52RC的最小系統(tǒng)包括了外界時(shí)鐘電路和復(fù)位電路,選定一定數(shù)量的I\O口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機(jī)端口添加外圍的器件,具體電路如圖3-5所示。
在該系統(tǒng)中,P0各口主要用作LED顯示數(shù)據(jù)的控制輸出。由于端口的驅(qū)動(dòng)能力有限所以該端口外接了10K的上拉電阻來提高驅(qū)動(dòng)能力。具體接法為:P0.0,P0.1,P0.2,P0.3分別接四塊74HC154的ABCD端,向74HC154送入串行數(shù)據(jù)經(jīng)過其轉(zhuǎn)換后并行輸出; P3.1接 74HC595的SCK,上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。;P1.1接74HC595的RCK端,上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位,QA-->QB-->QC-->...-->QH;下降沿移位寄存器數(shù)據(jù)不變。引腳29,EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。因?yàn)闆]有擴(kuò)展外部程序存儲(chǔ)器所以將EA置為高電平。



圖3-5  控制部分電路圖

3.4 驅(qū)動(dòng)電路設(shè)計(jì)3.4.1 列驅(qū)動(dòng)
列驅(qū)動(dòng)電路由集成電路74HC595構(gòu)成。它具有一個(gè)8位串入并出的移位寄存器和一個(gè)8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,可以實(shí)現(xiàn)在顯示本行列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù),既達(dá)到重疊處理的目的。

圖3-7 74HC595結(jié)構(gòu)圖表

74HC595的外形如圖3-7所示。它的輸入側(cè)有8個(gè)串行移位寄存器,每個(gè)移位寄存器的輸出都連接一個(gè)輸出鎖存器。引腳DS是串行數(shù)據(jù)的輸入端。引腳ST是移位寄存器的移位時(shí)鐘脈沖,在其上升沿發(fā)生移位,并將SI的下一個(gè)數(shù)據(jù)打入最低位。74HC595引腳說明見表3-1。列驅(qū)動(dòng)電路見圖3-8。


表3-1 74HC595引腳說明

符號(hào)

引腳

描述

Oo~O7

1~7

并行數(shù)據(jù)輸出

GND

8

Q7’

9

串行數(shù)據(jù)輸出

SRCLR

10

主復(fù)位(低電平)

SRCLK

11

移位寄存時(shí)鐘輸入

RCLK

12

存儲(chǔ)寄存時(shí)鐘輸入

CE

13

輸出有效(低電平)

SER

14

串行數(shù)據(jù)輸入

VCC

16

電源


移位后的各位信號(hào)出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK是輸出鎖存器的打入信號(hào),其上升沿將移位寄存器的輸出打入輸出鎖存器。引腳G是輸出三態(tài)門的開放信號(hào),只有當(dāng)其為低時(shí)鎖存器的輸出才開放,否則為高組態(tài)。SCLR信號(hào)是移位寄存器清零輸入端,當(dāng)其為低時(shí)移位寄存器的輸出全部為零。由于SCK和RCK兩個(gè)信號(hào)是互相獨(dú)立的,所以能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為QA~QH,最高位QH可作為多片74HC595級(jí)聯(lián)應(yīng)用時(shí),向上一級(jí)的級(jí)聯(lián)輸出。但因?yàn)镼H受輸出鎖存器的打入控制,所以還從輸出鎖存器前引出QH,作為與移位寄存器完全同步的級(jí)聯(lián)輸出。


圖3-8列驅(qū)動(dòng)電路

將8片74HC595進(jìn)行級(jí)連,可共用一個(gè)移位時(shí)鐘SCK及數(shù)據(jù)鎖存信號(hào)RCK。這樣,當(dāng)?shù)谝恍行枰@示的數(shù)據(jù)經(jīng)過8x8=64個(gè)SCK時(shí)鐘后便可將其全 部移入74HC595中,此時(shí)還將產(chǎn)生一個(gè)數(shù)據(jù)鎖存信號(hào)RCK將數(shù)據(jù)鎖存在74HC595中,并在使能信號(hào)G的作用下,使串入數(shù)據(jù)并行輸出,從而使與各輸 出位對(duì)應(yīng)的場(chǎng)驅(qū)動(dòng)管處于放大或截止?fàn)顟B(tài);同時(shí)由行掃描控制電路產(chǎn)生信號(hào)使第一行掃描管導(dǎo)通,相當(dāng)于第一行LED的正端都接高,顯然,第一行LED管的亮滅 就取決于74HC595中的鎖存信號(hào);此外,在第一行LED管點(diǎn)亮的同時(shí),再在74HC595中移入第二行需要顯示的數(shù)據(jù),隨后將其鎖存,同時(shí)由行掃描控 制電路將第一行掃描管關(guān)閉而接通第二行,使第二行LED管點(diǎn)亮,以此類推,當(dāng)?shù)谑袙呙柽^后再回到第一行,這樣,只要掃描速度足夠高,就可形成一幅完整 的文字或圖像。
3.4.2 行驅(qū)動(dòng)
本設(shè)計(jì)采用74LS154作為點(diǎn)陣屏列控制信號(hào),因?yàn)?54可以輸出16位的控制信號(hào),所以只要掃描頻率可以,點(diǎn)陣屏就可以看成是穩(wěn)定平滑過渡,沒有閃爍的感覺,給人以正常的視覺效果。74LS154引腳圖3-9如圖所示。

圖3-9  74LS154

74LS154可以將4 個(gè)二進(jìn)制編碼輸入譯成16 個(gè)彼獨(dú)立的輸出之一,還可以將數(shù)據(jù)從一個(gè)輸入線分配到16 個(gè)輸出的任意一個(gè)而實(shí)現(xiàn)解調(diào)功能。圖3-10和3-11是74LS154內(nèi)部邏輯連接圖和管腳功能示意圖。



圖3-10  內(nèi)部邏輯連接                圖3-11  管腳功能

74LS154為4線——16線譯碼器,可以實(shí)現(xiàn)地址的擴(kuò)展。
該譯碼器采用先進(jìn)的硅結(jié)構(gòu)CMOS技術(shù),并適合內(nèi)存地址譯碼和數(shù)據(jù)路由應(yīng)用。它抗噪聲能力強(qiáng),低功耗,并與低電壓TTL電路兼容。
功能特性:傳輸延遲:21ns
電源提供靜態(tài)電流:80μA
電源電壓范圍:2―6V
低電平輸入電流:最大1μA
引腳功能說明:
1-11 13-17 :輸出端。(outputs (active LOW))
12:Gnd電源地 (ground (0 V))
18-19:使能輸入端 (enable inputs (active LOW))
20-23地址輸入端 (address inputs)
24:VCC電源正 (positive supply voltage)
地址/全能輸入對(duì)應(yīng)輸出表
功能真值表注意:
H = 高電平(HIGH voltage level)
L = 低電平(LOW voltage level)
X = 任意電平(don’t care)
只要控制端G1、G2任意一個(gè)為高電平,A、B、C、D任意電平輸入都無效。
74LS154是此集成電路的TTL版本,其功耗更小,功能一樣。譯碼器在單片機(jī)系統(tǒng)中一般起擴(kuò)展I/O的作用,當(dāng)外設(shè)比較多,單片機(jī)的引腳不夠用的時(shí)候,就可以由74LS154把4個(gè)單片機(jī)I/O口擴(kuò)展為16個(gè)。增強(qiáng)了單片機(jī)控制外設(shè)的能力。這種單片 4 線—16 線譯碼器非常適合用于高性能存儲(chǔ)器的譯碼器。當(dāng)兩個(gè)選通輸入E1 和E2 為低時(shí), 它可將4 個(gè)二進(jìn)制編碼的輸入譯成16 個(gè)互相獨(dú)立的輸出之一。實(shí)現(xiàn)解調(diào)功能的辦法是:用4 個(gè)輸入線(A、B、C、D)寫出輸出線的地址,使得在一個(gè)選通輸入為低時(shí)數(shù)據(jù)通過另一個(gè)選通輸入。當(dāng)任何一個(gè)選通輸入是高時(shí),所有輸出都為高。
3.4.3 點(diǎn)陣屏分類
1. 按顏色基色分:
單基色顯示屏:單一顏色(紅色或綠色)。
雙基色顯示屏:紅和綠雙基色,256級(jí)灰度、可以顯示65536種顏色。
全彩色顯示屏:紅、綠、藍(lán)三基色,256級(jí)灰度的全彩色顯示屏可以顯 示一千六百多萬種色。
2. 按顯示器件分: LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時(shí)鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。
LED點(diǎn)陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點(diǎn)陣顯示模塊,適于播放文字、圖像信息。
LED視頻顯示屏:顯示器件是由許多發(fā)光二極管組成,可以顯示視頻、動(dòng)畫等各種視頻文件。
3. 按使用場(chǎng)合分類
室內(nèi)顯示屏:發(fā)光點(diǎn)較小,一般Φ3mm--Φ8mm,顯示面積一般幾至十幾平方米。
室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽光下工作,具有防風(fēng)、防雨、防水功能。
4. 按發(fā)光點(diǎn)直徑及間距分類
室內(nèi)屏(按直徑分):Φ3mm、Φ3.75mm、Φ5mm、
室外屏(按間距分):PH10、PH12、PH14、PH16、PH20、PH25、PH31.25、PH37.5......
3.4.4 點(diǎn)陣工作原理
圖3-12為8*8點(diǎn)陣LED等效電路,只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。
一般我們使用點(diǎn)陣顯示漢字是用的16*16的點(diǎn)陣宋體字庫(kù),所謂16*16,是每一個(gè)漢字在縱、橫各16點(diǎn)的區(qū)域內(nèi)顯示的。也就是說得用四個(gè)8*8點(diǎn)陣組合成一個(gè)16*16的點(diǎn)陣。                 

圖3-12  點(diǎn)陣原理圖
LED顯示屏是由一個(gè)一個(gè)的發(fā)光二極管點(diǎn)陣構(gòu)成的,要構(gòu)成大屏幕的LED顯示屏就需要多個(gè)發(fā)光二極管。構(gòu)成LED屏幕的方法有兩種,一是由單個(gè)的發(fā)光二極管逐點(diǎn)連接起來,如圖3-12所示;二是選用一些由單個(gè)發(fā)光二極管構(gòu)成的LED點(diǎn)陣子模塊構(gòu)成大的LED點(diǎn)陣模塊。目前市場(chǎng)上普遍采用的點(diǎn)陣模塊有8×8、16×16幾種;這兩種屏幕構(gòu)成方法各有有缺點(diǎn),單個(gè)發(fā)光二極管構(gòu)成顯示屏優(yōu)點(diǎn)在于當(dāng)單個(gè)的發(fā)光二極管出現(xiàn)問題時(shí)只需更換一個(gè)二極管即可,檢修的成本較低,缺點(diǎn)在于連接線路復(fù)雜;而點(diǎn)陣模塊構(gòu)成的方法卻正好與之相反,模塊構(gòu)成省約了大量的連線,不過當(dāng)一個(gè)LED出現(xiàn)問題時(shí)同在一個(gè)模塊的所有LED都必須被更換。這就加大了維修的成本。
兩種方法相比較,決定采取模塊構(gòu)成的方法來制作一個(gè)LED點(diǎn)陣顯示屏。為了避免模塊的缺點(diǎn),選擇點(diǎn)陣數(shù)較小的模塊來減小出現(xiàn)這一問題的風(fēng)險(xiǎn)。所以構(gòu)建一個(gè)16×64的LED點(diǎn)陣屏選用塊8×8點(diǎn)陣模塊。
如圖3-13所示,本設(shè)計(jì)采用了16個(gè)8*8的點(diǎn)陣發(fā)光二級(jí)管模塊,組成了16*64的LED點(diǎn)陣顯示屏。LED驅(qū)動(dòng)顯示采用的動(dòng)態(tài)驅(qū)動(dòng)掃描方法,動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起,先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第一行使其點(diǎn)亮一定的時(shí)間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其點(diǎn)亮相同的時(shí)間,然后熄滅;…第十六行之后,又重新點(diǎn)亮第一行,反復(fù)輪回。當(dāng)這樣的輪回速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。
圖3-13點(diǎn)陣顯示電路

3.5 系統(tǒng)總電路圖

第四章 軟件設(shè)計(jì)
如果說硬件是一個(gè)人的身體軀干,那么,軟件就是一個(gè)人的靈魂、思想。只有合理并且完美的程序才能使指導(dǎo)一個(gè)人成功地去完成一項(xiàng)任務(wù)。對(duì)于單片機(jī)來說更是如此,基礎(chǔ)的硬件電路焊接好后,就需要從軟件設(shè)計(jì)來下手,想要實(shí)現(xiàn)硬件電路的正常工作,往往需要對(duì)軟件進(jìn)行系統(tǒng)的設(shè)計(jì),設(shè)計(jì)的思想、設(shè)計(jì)的目標(biāo)、設(shè)計(jì)方案、代碼的編寫、軟件的測(cè)試等對(duì)軟件設(shè)計(jì)的成功有著非同一般的指導(dǎo)意義。
4.1 主程序設(shè)計(jì)思想及流程圖
顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號(hào),使屏幕按設(shè)計(jì)的要求顯示。根據(jù)軟件分層次設(shè)計(jì)的原理,可以把顯示屏的軟件系統(tǒng)分為兩層;第一層是底層的顯示驅(qū)動(dòng)程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動(dòng)程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號(hào)和其他控制信號(hào),配合完成LED顯示屏的掃描顯示工作。顯示驅(qū)動(dòng)器程序由定時(shí)器T0中斷程序?qū)崿F(xiàn)。系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化)、顯示效果處理等工作,由主程序來實(shí)現(xiàn)。
本設(shè)計(jì)從單片機(jī)上電開始,先進(jìn)行初始化操作,單片機(jī)執(zhí)行顯示程序后,點(diǎn)陣屏可以輸出顯示結(jié)果,此過程單片機(jī)要對(duì)74HC595的觸發(fā)端進(jìn)行調(diào)整,為下一次重新執(zhí)行做好準(zhǔn)備工作;數(shù)據(jù)在SCHcp的上升沿把單片機(jī)端口輸出的8位串行數(shù)據(jù)輸入移位寄存器中,在STcp的上升沿到來后再把數(shù)據(jù)輸送到到存儲(chǔ)寄存器中去。若顯示程序成功執(zhí)行一個(gè)周期,則重新跳回到初始化狀態(tài)進(jìn)行下一周期的顯示,若沒有顯示完全,則一直在顯示程序內(nèi)執(zhí)行,直到本次顯示完全實(shí)現(xiàn)。流程圖如圖4-1所示。

圖4-1 主程序流程圖

4.2 顯示驅(qū)動(dòng)程序設(shè)計(jì)
顯示程序分為靜態(tài)顯示程序、左移顯示2種種顯示方式。其中左移動(dòng)程序調(diào)用了靜態(tài)顯示程序?yàn)樽映绦颉?/div>
對(duì)靜態(tài)顯示來說,每一個(gè)發(fā)光二極管都需要一套驅(qū)動(dòng)電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示內(nèi)容,需要重新輸出新的點(diǎn)陣數(shù)據(jù).這種方式系統(tǒng)原理相對(duì)簡(jiǎn)單一些,但所需的譯碼驅(qū)動(dòng)裝量很多,引線多而繁雜,不便于大屏幕的制造,成本高,其可靠性也較低。
另一種動(dòng)態(tài)掃描顯示是把整個(gè)LED屏幕分成若干部分,每一幅畫面的顯示是顯示完一部分后,又顯示第二部分……直到顯示完最后一部分又重新開始顯示第一部分,重復(fù)循環(huán)進(jìn)行.在重復(fù)掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的畫面.也就是說采用動(dòng)態(tài)掃描顯示需要不斷進(jìn)行畫面的刷新.在這種方式下其顯示驅(qū)動(dòng)電路可重復(fù)利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時(shí)的耗電量大大降低.大屏幕的制造、維護(hù)要容易許多,可靠性也增加了.
兩種顯示方式的比較再結(jié)合51單片機(jī)IO口數(shù)量有限的原因決定采用動(dòng)態(tài)掃描的方式進(jìn)行顯示。
動(dòng)態(tài)掃描分為行掃描和列掃描兩種方式區(qū)別在于選通端和數(shù)據(jù)輸入端分別是行還是列。在該顯示系統(tǒng)中掃描顯示的工作原理如圖4-2所示,先選通列然后再?gòu)男兴腿雽?duì)應(yīng)列的數(shù)據(jù),這樣從第1列到第16列循環(huán)往復(fù),只要切換的速度足夠的快利用人眼的延時(shí)特性就可以看見一幅穩(wěn)定的畫面。

圖4-2 掃描顯示程序原理圖

顯示采用的是列掃描的顯示方式,選通一列后按照列與數(shù)據(jù)元素的對(duì)應(yīng)關(guān)系第i列對(duì)應(yīng)的行數(shù)據(jù)為數(shù)組中的第i和第i+16個(gè)元素。將對(duì)應(yīng)元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與0X01相與,所得結(jié)果通過單片機(jī)端口輸出到串并轉(zhuǎn)換器的A端,鎖存在鎖存器里完成一列數(shù)據(jù)移位后再將其輸出。如此依次循環(huán)選通各列來顯示所需畫面。

圖4-3 左移程序流程圖

動(dòng)態(tài)顯示程序流程如圖4-5所示,根據(jù)顯示數(shù)據(jù)的存儲(chǔ)原理通過改變實(shí)際LED列與數(shù)據(jù)邏輯列的方法來實(shí)現(xiàn)程序的左移。顯示數(shù)據(jù)與列的對(duì)應(yīng)關(guān)系為:第i列對(duì)應(yīng)的數(shù)據(jù)為數(shù)組中i和第2×i個(gè)數(shù)據(jù)。顯示數(shù)組中,第1至16個(gè)元素的第8至第1位LED顯示屏中的第1至第8行。同理第17至32個(gè)元素的第8至第1位LED顯示屏中的第9至第16行。所以將元素?cái)?shù)據(jù)進(jìn)行邏輯位移便能產(chǎn)生左移動(dòng)的效果。

第五章 制作與調(diào)試
軟件硬件完成后開始進(jìn)行調(diào)試。調(diào)試可分為硬件調(diào)試,軟件調(diào)試和系統(tǒng)聯(lián)合調(diào)試。
5.1 系統(tǒng)硬件部分調(diào)試
硬件調(diào)試主要是調(diào)試各部分的焊接是否合格和各芯片的輸出輸入電壓是否符合設(shè)計(jì)要求,最后測(cè)試各硬件部分能否完成設(shè)計(jì)功能。因此把硬件調(diào)試按照以下四部分分步來進(jìn)行:
1. 測(cè)試所有焊點(diǎn)是否有短路和虛焊的現(xiàn)象存在;
2. 通電測(cè)試所有硬件芯片的輸入輸出電壓是否在設(shè)計(jì)要求的范圍內(nèi);
3. 測(cè)試USB下載的功能是否能夠?qū)崿F(xiàn);
4. 測(cè)試覆銅板上的線路是否存在短路斷路;
由于最重要的顯示系統(tǒng)功能的測(cè)試需要軟件配合所以在硬件調(diào)試部分只測(cè)試單片機(jī)復(fù)位電平,功能部分測(cè)試放在系統(tǒng)聯(lián)合調(diào)試部分來完成。
5.1.1 短路與虛焊檢測(cè)
檢測(cè)工具為萬用表,使用萬用表的短路報(bào)警功能,逐個(gè)測(cè)試相臨的兩個(gè)焊點(diǎn)檢測(cè)是否短路。按照電路圖檢測(cè)需要連接的兩點(diǎn)是否短路來檢測(cè)是否已經(jīng)連接上,以此來檢測(cè)虛焊的情況。檢測(cè)和修改完成后為下一步通電檢測(cè)排除了短路的危險(xiǎn)和由于虛焊引起檢測(cè)結(jié)果不真實(shí)的麻煩。
5.1.2 上電測(cè)試
由于系統(tǒng)測(cè)試時(shí)是采用USB電源為系統(tǒng)電源,所以電源輸入都為5V。顯示系統(tǒng)中單片機(jī)、譯碼器,鎖存器,驅(qū)動(dòng)電路的電源電壓均要求為5V所以可同時(shí)直接接入。
上電后首先觀察電路是否有過熱,異味,冒煙的現(xiàn)象出現(xiàn)。經(jīng)過觀察,沒有這些現(xiàn)象出現(xiàn)。然后測(cè)試各器件的電源,接地及一些電平應(yīng)該固定的端口的電壓。測(cè)試的結(jié)果為:各器件電源端在4.3V~4.8V之間滿足器件的電源電壓要求,單片機(jī)端口在未接負(fù)載時(shí)端口電壓為4.5V。
5.2 系統(tǒng)軟件調(diào)試
由于已經(jīng)進(jìn)行了硬件調(diào)試,所以軟件調(diào)試主要是軟件編譯和將各功能塊程序分別寫入以驗(yàn)證其功能的可實(shí)現(xiàn)性。在進(jìn)行功能調(diào)試前必須用KEIL C對(duì)所有程序進(jìn)行編譯,編譯成功生產(chǎn)可執(zhí)行的.hex后將程序燒入芯片中。如圖5-1,5-2所示:


圖5-1生成.hex文件

圖5-2下載

5.3 總結(jié)
經(jīng)過一段時(shí)間的工作,終于完成了基于51單片機(jī)的LED顯示系統(tǒng)的設(shè)計(jì),設(shè)計(jì)所要求的功能全部達(dá)到。通過這次設(shè)計(jì)收獲頗多,不僅是所作項(xiàng)目涉及到的軟硬件知識(shí)還有更為重要的實(shí)際經(jīng)驗(yàn)和過程中所發(fā)現(xiàn)的問題。
接手項(xiàng)目之后從互聯(lián)網(wǎng)上對(duì)LED進(jìn)行了詳細(xì)的資料收集,從技術(shù)和產(chǎn)業(yè)的兩方面對(duì)LED進(jìn)行了了解。通過了解我認(rèn)識(shí)到LED是一門當(dāng)今應(yīng)用非常廣泛的技術(shù),整個(gè)產(chǎn)業(yè)每年都會(huì)有巨大的產(chǎn)值而且技術(shù)還在不斷發(fā)展和創(chuàng)新。
從設(shè)計(jì)之初就確定了參照大屏幕顯示屏的實(shí)現(xiàn)方法和實(shí)際情況設(shè)計(jì)一款小屏幕的LED點(diǎn)陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了項(xiàng)目的設(shè)計(jì)方案。整個(gè)設(shè)計(jì)采用STC89S52RC做核心控制器,74LS154做成譯碼電路,74HC595做成列驅(qū)動(dòng)。在實(shí)現(xiàn)這一設(shè)計(jì)的過程中所遇到的問題和困難給我留下了寶貴的經(jīng)驗(yàn)和深刻教訓(xùn)。這些經(jīng)驗(yàn)和教訓(xùn)是:
1. 設(shè)計(jì)之前應(yīng)該進(jìn)行大量的資料收集和分析,確定一個(gè)清晰的設(shè)計(jì)思路;
2. 器件選擇時(shí)要詳細(xì)閱讀器件使用手冊(cè),不但要考慮器件的功能實(shí)現(xiàn)還要考慮器件在整個(gè)系統(tǒng)中的兼容性;
3. 硬件的系統(tǒng)的建立必須合理和穩(wěn)定,實(shí)物建立之前最好進(jìn)行仿真這樣才能為軟件提供一個(gè)可靠的試驗(yàn)平臺(tái);
4. 軟件的編寫不但要實(shí)現(xiàn)功能還要不斷的優(yōu)化、簡(jiǎn)練、易讀。
5. 電路板的制作過程中要不斷自己的去實(shí)踐和發(fā)現(xiàn)捷徑,從而更快更好的完成整個(gè)設(shè)計(jì)的制作。
隨著課題的進(jìn)行,對(duì)LED的了解也越來越深入。認(rèn)為L(zhǎng)ED技術(shù)也會(huì)進(jìn)一步發(fā)展,LED應(yīng)用將會(huì)更加廣泛�?梢栽O(shè)想利用LED的高穩(wěn)定性和低能耗,再與無線通信技術(shù)相結(jié)合在沙漠深處或者人跡罕至的雪山之顛樹立一塊依靠太陽能充電,通過無線傳輸方式更改顯示內(nèi)容的信息板為登山者提供指示和天氣信息,為沙漠迷路的人指引方向。
設(shè)計(jì)結(jié)束了,但學(xué)習(xí)還在繼續(xù)。我相信通過此次設(shè)計(jì)所得到的知識(shí)、心得、經(jīng)驗(yàn)?zāi)酥粮惺芏紩?huì)讓我在以后的日子里受益匪淺。



資料51hei附件下載:
PCB: 原理圖和PCB.7z (8.82 MB, 下載次數(shù): 358)
word: 文檔.doc (4.44 MB, 下載次數(shù): 207)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏15 分享淘帖 頂4 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:64053 發(fā)表于 2019-3-1 20:47 | 只看該作者
支持一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:482999 發(fā)表于 2019-3-1 22:37 | 只看該作者
資料很完整 支持一下
回復(fù)

使用道具 舉報(bào)

地板
ID:486142 發(fā)表于 2019-3-7 12:07 | 只看該作者
支持一下
回復(fù)

使用道具 舉報(bào)

5#
ID:367145 發(fā)表于 2019-10-25 18:37 | 只看該作者
支持支持支持,謝謝作者。我愛這個(gè)論壇
回復(fù)

使用道具 舉報(bào)

6#
ID:643105 發(fā)表于 2019-11-16 12:58 | 只看該作者
謝謝謝謝
回復(fù)

使用道具 舉報(bào)

7#
ID:359625 發(fā)表于 2019-12-24 21:03 | 只看該作者
支持一下 謝謝
回復(fù)

使用道具 舉報(bào)

8#
ID:743549 發(fā)表于 2020-5-6 20:58 | 只看該作者
我也準(zhǔn)備學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

9#
ID:856401 發(fā)表于 2021-3-24 17:54 來自觸屏版 | 只看該作者
樓主,怎么才能實(shí)現(xiàn)32*64呢?
回復(fù)

使用道具 舉報(bào)

10#
ID:856401 發(fā)表于 2021-3-24 18:00 來自觸屏版 | 只看該作者
樓主32*64的思路能指導(dǎo)一下嗎
回復(fù)

使用道具 舉報(bào)

11#
ID:968442 發(fā)表于 2021-9-26 21:02 | 只看該作者
沒有源碼
回復(fù)

使用道具 舉報(bào)

12#
ID:1002257 發(fā)表于 2022-1-28 19:37 | 只看該作者
先關(guān)注一下,有事時(shí)間慢慢看
回復(fù)

使用道具 舉報(bào)

13#
ID:495817 發(fā)表于 2023-5-10 06:42 | 只看該作者
這個(gè)是我最想看到的教程,很系統(tǒng),如果有視頻教程更好,如何能組合成更大廣告屏?期待出新教程,比如通過藍(lán)牙WiFi 修改字幕
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表