- 相關(guān)推薦
PIC單片機控制點陣LED顯示技術(shù)研究工學(xué)論文
[摘要]LED顯示技術(shù)在工業(yè)儀表中應(yīng)用十分廣泛,它能直觀地顯示運行系統(tǒng)的實時狀態(tài)。同時PIC單片機由于功能強,成本低的優(yōu)勢在各種儀表中應(yīng)用廣泛。對PIC單片機控制點陣LED顯示技術(shù)進行研究。
[關(guān)鍵詞]PIC單片機 LED 控制
一、點陣LED的結(jié)構(gòu)
使用的LED為14*15點陣,由六片7*5點陣LED拼接而成,先分別用三片LED橫向組成兩個7*15點陣,再用兩個7*15上下排列,組成需要的14*15點陣。當某一個LED所在的行驅(qū)動為低,列驅(qū)動為高時,這個發(fā)光管被點亮。
二、靜態(tài)顯示電路的構(gòu)成
74LS164為TTL單向8位移位寄存器,可實現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個引腳按邏輯與運算規(guī)律輸入信號,共一個輸入信號時可并接。CLK(第8腳)為時鐘輸入端,可連接到串行口的同步時鐘輸出端。每一個時鐘信號的上升沿加到CLK端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進制數(shù)全部移入74LS164中。在給出了8個脈沖后,最先進入74LS164的第一個數(shù)據(jù)到達了最高位,再來一個脈沖,第一個脈沖就會從最高位移出。4片74LS164首尾相串,而時鐘端則接在一起。
只要我們對每片LED上7位行驅(qū)動中的一位輸入低電平,這行中相應(yīng)列驅(qū)動為高的點就會被點亮。如此反復(fù)向每一行送入低電平,同時在相應(yīng)的行被選中時,在列送入相應(yīng)的數(shù)據(jù),并反復(fù)的掃描,由于人眼存在視覺暫留效應(yīng)就可以看到預(yù)期的畫面信息。
三、編碼方式
編碼方式是由硬件設(shè)計方式?jīng)Q定的。因為送入下排三個LED中最后一片最后一位的列驅(qū)動是最先進入74LS164的數(shù)據(jù),所以字模的編碼順序和在LED顯示順序正好相反。而且PIC16F877做串行輸出時,串行輸出寄存器SSPBUF中的8位數(shù)據(jù)的最高位是最先送出的,所以每行8個點是右面為高位,左面為低進行編碼。后面的類推,要顯示一個完整的14*15點陣共需要28組的8位2進制字模數(shù)據(jù)。
四、PIC16F877與LED電路的連接
PIC16F877中提供了兩個串行通信模塊,分別是同步串行口和通用同步異步接收發(fā)送器。其中MSSP模塊又提供了兩種工作方式,一種是串行外圍接口(SPI),另一個工作方式是芯片間通信總線(IIC)。SSP模塊主要用于單片機和其他外圍接口或微處理器芯片間的串行通信,像串行EEPROM、顯示控制器、模擬數(shù)字轉(zhuǎn)換器等,都屬于電路板上眾多器件間的串行通信接口。USART則屬于和電路板外部設(shè)備串行通信的接口,簡單地說就是RS232接口,可以與PC通信。所以,我們選擇SPI同步串行通信方式送入行選編碼。SPI工作方式提供8位數(shù)據(jù)的傳輸,SCK引腳上的時鐘速度決定數(shù)據(jù)的傳輸速度。在連接的器件中,由主控器件來產(chǎn)生時鐘,其他器件以此外界的時鐘為標準。因此在使用SPI方式時,必須確定那個器件為主控器件,其它則為從控器件。本電路使用PIC16F877作為主控器件,SSP模塊工作在主控方式下。SCK引腳的時鐘由單片機自己產(chǎn)生,因此可以在任何時候數(shù)據(jù)的傳送,傳送在有寫入SSPBUF緩沖器的動作時開始,我們用SCK引腳輸出串行輸出同步時鐘。本電路中的SPI模塊中用來輸入出數(shù)據(jù),那么SDI引腳可以關(guān)掉不用,這時SSBUF寄存器里的內(nèi)容全根據(jù)設(shè)定的時鐘一位的由SDO引腳移出。在設(shè)置使用MSSP模塊的SPI工作方式前第一件事是初始化MSSP模塊,SSPCON寄存器包含了要設(shè)置的相關(guān)位,在設(shè)置完成后,置MSSP模式使能位SSPEN,便可以開始SPI方式的工作。同時,要復(fù)位SSP模塊,只要先將SSPEN位清除0,然后重新設(shè)置SSPCON,再將SSPEN設(shè)置為1就可以。設(shè)定好SSPCON就相當于設(shè)定了SDO,SCK,SDI,SS 為串行通信用的引腳,因此除了SSPCON寄存器的設(shè)置外,對SPI工作方式用到的引腳也要設(shè)置。SDO和SCK為輸出引腳,因此TRISC<3>和TRISC<5>必須清零。
PORTD端口寄存器讀出的是相應(yīng)的I/O引腳上的電平狀態(tài),而寫PORTD
端口寄存器則是寫入其數(shù)據(jù)鎖存器。另外,D端口還可以作為并行從動端口與單片機總線接口。這里,我們使用它的8 位并行數(shù)據(jù)輸出功能,作為7位并行行選信號和一位使能信號的輸出。
五、程序的編寫
程序各模塊功能說明:
INITIAL:初始化模塊。設(shè)置串行口工作方式為SPI主動方式;RC3,RC5引腳為輸出;SSPBUF寄存器在時鐘上升沿送出數(shù)據(jù);串行同步時鐘為單片機內(nèi)部時鐘的四分頻;清SSP中斷標志;使能SSP模塊。
I2C_OUT:串行口發(fā)送數(shù)據(jù)模塊,要發(fā)送的數(shù)據(jù)存放在TXDATA寄存單元中。將TXDATA內(nèi)容送入SSPBUF中后,檢查SSPIF位。當此位被置1時,表示SSPBUF數(shù)據(jù)送完。SSPIF位需要手動清零,然后此模塊返回。
SHOW:將表TABLE的段地址裝入數(shù)據(jù)寄存器DATA1中。共有四個字符要顯示,數(shù)據(jù)寄存器NUM中存放當前顯示的是第幾個字體符。
SHOW1:每送一次行選取數(shù)據(jù)后連續(xù)送四個列選數(shù)據(jù),數(shù)據(jù)寄存器R1 中存放在送出的是每四個列選數(shù)據(jù)是的第幾個,初始值為4。
SHOW2:初始化表地址段內(nèi)偏移數(shù)據(jù)寄存器R0。由段地址和段內(nèi)偏移相加得出要查表數(shù)據(jù)的頁內(nèi)地址,地址值存放W寄存器。查表得到地址W 內(nèi)的數(shù)據(jù)內(nèi)容放入TXDATA數(shù)據(jù)寄存器,即當前要送入的列選數(shù)據(jù)。
SHOW3:將行選數(shù)據(jù)寄存器R2中的內(nèi)容送放D口,顯示已經(jīng)送出的四組列選數(shù)據(jù)。調(diào)用延遲模塊。關(guān)閉D口,LED全滅。從新計算行選數(shù)據(jù),然后存入行選數(shù)據(jù)寄存器R2中。通過R3寄存器判斷是否一個字符是否全部顯示完畢,如果沒有完畢則回到SHOW1模塊,送出下面四個列選數(shù)據(jù);否則轉(zhuǎn)到下一個模塊。
NUMBER:將當前的段內(nèi)偏移加上段地址作為新的段地址,這個新的段地址存放在DATA1數(shù)據(jù)寄存器中。判斷是否所有字符都已經(jīng)顯示完畢。如果沒有則轉(zhuǎn)移到SHOW6模塊準備顯示下一個字符;如果所有字符都已經(jīng)顯示完畢,則回到主模塊MAIN,循環(huán)顯示四個字符。
DELAY:延遲模塊。因為每次LED上只有一行是顯示出來的,所以快速的刷新會在人的視覺系統(tǒng)中造成視覺暫留,人眼看到的就會是一幅完成的畫面。延遲程序時間的長短應(yīng)使人肉眼看到的畫面連貫,無強烈閃爍。
參考文獻:
[1]程明、劉琴,LED顯示屏的原理及其無線尋呼通信方法[J].電訊技術(shù),2004,(04).
[2]王永忠,銀行自動叫號系統(tǒng)的設(shè)計[J].北京服裝學(xué)院學(xué)報(自然科學(xué)版),2006,(02).
【PIC單片機控制點陣LED顯示技術(shù)研究工學(xué)論文】相關(guān)文章:
單片機點陣顯示實驗總結(jié)08-19
單片機控制步進電機論文致謝04-27
PIC單片機在飛機加油系統(tǒng)中的應(yīng)用04-30
單片機控制步進電機論文致謝詞04-28
藍牙適配器·什么是LED顯示04-26
新婚led顯示屏祝福語10-14
LED白熾燈論文04-27