列驅(qū)動(dòng)電路由集成電路74HC595構(gòu)成。它具有一個(gè)8位串人并出的移位寄存器和一個(gè)8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,可以實(shí)現(xiàn)在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù),即達(dá)到重疊處理的目的。
它的輸入側(cè)有8個(gè)串行移位寄存器,每個(gè)移位寄存器的輸出都連接一個(gè)輸出鎖存器。引腳SI是串行數(shù)據(jù)的輸入端。引腳SCK是移位寄存器的移位時(shí)鐘脈沖,在其上升沿發(fā)生移位,并將SI的下一個(gè)數(shù)據(jù)打人最低位。移位后的各位信號(hào)出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK是輸出鎖存器的打人信號(hào),其上升沿將移位寄存器的輸出打人到輸出鎖存器。引腳G是輸出三態(tài)門(mén)的開(kāi)放信號(hào),只有當(dāng)其為低時(shí)鎖存器的輸出才開(kāi)放,否則為高阻態(tài)。SCLR信號(hào)是移位寄存器的靖0輸入端,當(dāng)其為低時(shí)移位寄存器的輸出全部為o。由于SCK和RCK兩個(gè)信號(hào)是互相獨(dú)立的,所以能夠做到輸人串行移位與輸出鎖存互不干擾。芯片的輸出端為QA~QH.最高位QH可作為多片74HC595級(jí)聯(lián)應(yīng)用時(shí),向上一級(jí)的級(jí)聯(lián)輸出。但因QH受輸出鎖存器打人控制,所以還從輸出鎖存器前引出了QH’,作為與移位寄存器完全同步的級(jí)聯(lián)輸出。
行驅(qū)動(dòng)電路:
單片機(jī)P1口低4位輸出的行號(hào)經(jīng)4/16線譯碼器74LSl54譯碼后生成1 6條行選通信號(hào)線,再經(jīng)過(guò)驅(qū)動(dòng)器驅(qū)動(dòng)對(duì)應(yīng)的行線。一條行線上要帶動(dòng)16列的LED進(jìn)行顯示,按每一LED器件20 mA電流計(jì)算,16個(gè)LED同時(shí)發(fā)光時(shí),需要320 mA電流,選用三極管8550作為驅(qū)動(dòng)管可滿足要求。
系統(tǒng)程序的設(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è)置(初始化)、顯示效果處理等工作,由主程序來(lái)實(shí)現(xiàn)。
從有利于實(shí)現(xiàn)較復(fù)雜的算法(顯示效果處理)和有利于程序結(jié)構(gòu)化考慮,顯示屏程序適宜采用c語(yǔ)言編寫(xiě)。
顯示驅(qū)動(dòng)程序:
顯示驅(qū)動(dòng)程序在進(jìn)人中斷后首先要對(duì)定時(shí)器T0重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16掃描顯示屏的刷新率(幀頻)計(jì)算公式如下:
刷新率(幀頻)=1/16×T0溢出率=1/16×fosc/12(65536—to) 其中fosc為晶振頻率,to為定時(shí)器T0初值(工作在16位定時(shí)器模式)。
然后顯示驅(qū)動(dòng)程序查詢(xún)當(dāng)前燃亮的行號(hào),從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過(guò)串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時(shí)候產(chǎn)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打人輸出鎖存器并鎖存,然后再輸出新的行號(hào),重新打開(kāi)顯示。
圖7.4 顯示驅(qū)動(dòng)程序流程圖

?
系統(tǒng)主程序:
系統(tǒng)主程序開(kāi)始以后,首先是對(duì)系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時(shí)器、中斷和端口;然后向上滾動(dòng)顯示“單片機(jī)是工業(yè)中最基礎(chǔ)的運(yùn)用......”。由于單片機(jī)沒(méi)有停機(jī)指令,所以可以設(shè)置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。
裝配圖片

?

評(píng)論