<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于單片機的LED顯示屏控制系統設計

基于單片機的LED顯示屏控制系統設計

作者: 時(shí)間:2013-01-18 來(lái)源:網(wǎng)絡(luò ) 收藏

基于單片機的LED顯示屏控制系統設計

  這里討論YL在實(shí)際顯示區域的坐標沒(méi)有多大意義,只須注意YL在當前顯示塊的相對坐標,NL=YL%(Bw·Sw)就是YL在當前顯示塊的相對縱坐標,則相對坐標為(NL,YL)。動(dòng)態(tài)顯示的基礎是靜態(tài)顯示,靜態(tài)顯示以從特定行顯示一屏為特征,當顯示屏從第YL行開(kāi)始顯示信息時(shí),因為一塊顯示區域有Sw·Dw個(gè)數據,則YL所在塊顯示數據的起始地址為:

基于單片機的LED顯示屏控制系統設計

  一塊顯示區域分為Sw個(gè)區,則YL所在的分區記作:

基于單片機的LED顯示屏控制系統設計

  一區存放有Dw個(gè)顯示數據,所以YL所在分區地址與所在塊起始地址之間的相對偏移地址為(YL%Sw)·Dw。所以,只要知道了顯示信息的起始行坐標,就能得到顯示數據在存儲器中的存儲地址。

  NL=YL/(Bw·Sw),這里記i=NL/Sw(0≤i≤7),表示顯示信息跨越兩個(gè)數據塊時(shí)需要選擇的數據位數。存儲器輸出16位數據[D0,D1,…,D15]后,從Di位控制選擇連續的8位數據[Di,Di+1,…,D7,…,D7+i]輸出到顯示屏。當數據從一個(gè)字節的Di位開(kāi)始輸出16位時(shí),如[Di,Di+1,…,D7,…,D15,D0,…,Di-1],前面8位在當前顯示是多余的幾位數據,后面8位數據[D8+i,…,D15,D0,…,Di-1]正好是要輸出到顯示屏的8位數據。當這16位數據串行輸出到一個(gè)8位的移位寄存器中時(shí),移位寄存器剛好可以容納高8位數據,并將其輸出顯示。之后各列數據的輸出情況同樣如此,不需要額外的指令或電路來(lái)對輸出數據進(jìn)行選擇輸出。只是在每行第一列數據輸出前,通過(guò)模擬i個(gè)時(shí)鐘脈沖輸出到存儲器,讓輸出數據產(chǎn)生錯位,使數據從Di位開(kāi)始輸出。另外,當顯示信息剛好是A、B、C、D塊中的某一塊時(shí),無(wú)須產(chǎn)生模擬脈沖對數據進(jìn)行選擇,而是直接將數據輸出顯示。通過(guò)分析可知,SPI模塊剛好具有這個(gè)功能,通過(guò)額外模擬i個(gè)時(shí)鐘脈沖,輸出到串行存儲器的時(shí)鐘信號端,可以使數據錯位,從指定的某一位Di開(kāi)始輸出。當顯示信息跨越Sw-1區間時(shí),如果一場(chǎng)顯示還沒(méi)有完畢,內存地址應返回到YL所在塊的起始地址,并從起始地址開(kāi)始輸出顯示數據,模擬的脈沖數i也相應發(fā)生變化。

2 、設計

  控制電路。為了提高數據輸出效率,采用RAMtron公司的帶SPI功能模塊的VRS51L3074單片機。VRS51L3074的時(shí)鐘頻率為40 M-Hz,指令周期短,處理速度快,效率高;工作電壓在3.3 V左右,但是可以兼容5 V。SST25VF016B是一款具有SPI接口的8引腳串行Flash。7 4LSl64為移位寄存器。

  2.1 VRS51L3074的SPI功能模塊

  VRS51L3074的SPI時(shí)鐘頻率可以在SysClk/2~SysClk/10

24范圍內調整,SPI時(shí)鐘頻率最高可以達到20MHz。當VRS51L3074作為SPI主機時(shí),可以對SPI運行控制、配置和狀態(tài)監控以及其他的一些工作環(huán)境進(jìn)行設置。

  配置寄存器SPICONFIG:主要對片選信號控制模式、SPI中斷進(jìn)行設置。

  狀態(tài)寄存器SPISTATUS:主要用于對SPI運行狀態(tài)的監控。

  傳輸字長(cháng)寄存器SPISIZE:設置傳輸字長(cháng),本文設置為16位,即每次輸出16位數據。

  控制寄存器SPICTRL:對SPI時(shí)鐘速率、時(shí)鐘相位/極性、片選信號,以及SPI時(shí)鐘頻率進(jìn)行設置。

  數據寄存器SPIRXTX0~SPIRXTX3:用于對SPI接口32位收發(fā)緩沖器的訪(fǎng)問(wèn),對數據寄存器執行寫(xiě)操作是將數據送入發(fā)送緩沖器中,對數據寄存器執行讀操作是從接收緩沖器中取出收到的數據。SPI接口的發(fā)送和接收緩沖器都采用雙緩沖結構,從硬件上減少數據沖突并提高數據傳輸效率。在主模式下對SPIRXTX0寄存器執行寫(xiě)入操作將啟動(dòng)SPI傳輸。當傳輸字各行長(cháng)大于8時(shí),應最后向SPIRXTX0寄存器寫(xiě)入。

  向串行Flash輸入控制信號和數據地址后,啟動(dòng)串行Flash傳輸數據,在SPI時(shí)鐘驅動(dòng)下輸出顯示數據,并且可以用單片機模擬串行Flash時(shí)鐘信號控制任意位數據輸出。

  2.2 數據選擇控制電路

  如圖3所示,VRS51L3074單片機內部自帶精確的40 MHz振蕩器,不需要外部晶振電路提供系統時(shí)鐘。數據顯示采用內存為16 Mb的SST25VF016B。雙RAM技術(shù)輸出顯示數據的時(shí)候,是將兩塊RAM中相同地址的兩個(gè)數據同時(shí)輸出,所以,將兩塊RAM的顯示數據存放在一塊串行存儲器中時(shí),偶地址單元應存儲RAM0的數據,奇地址單元存儲RAMl的數據,數據輸出時(shí)每次輸出16位數據。串行存儲器和單片機的工作電壓都在3.3 V左右,但是VRS51L3074可以兼容5V,簡(jiǎn)化了控制電路??刂菩盘柡惋@示數據在輸出到寄存器74LS164和顯示屏的時(shí)候,需要用74LVC07進(jìn)行電平轉換。

陀螺儀相關(guān)文章:陀螺儀原理




關(guān)鍵詞: 單片機 LED顯示屏 控制系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>