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

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

?

評論