基于單片機IAP技術的LED顯示屏控制系統的設計
發布時間:2008/5/27 0:00:00 訪問次數:607
    
    
    西南交通大學 靳桅 鄔芝權 肖波led顯示屏由于其具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點,已經成為新一代的信息傳播媒體工具。led與lcd相比較最突出的特點是,亮度高、成本低且屏幕尺寸可根據現場情況用標準led單元板拼制。按安裝位置可分為室外、半室外和室內;按顏色可分為單色、雙基色和彩色;按發光二極管點距可分為φ5.0、φ3.75及φ3.0等。本文以市場上常見的室內雙色led單元板為控制對象,說明基于單片機iap技術的led顯示屏控制系統工作原理以及數據組織方法。
    1 雙色led單元板硬件組成及工作原理
    
    常見的室內雙色led單元板電路框圖如圖1(a)所示。其中行掃描電路由2片74hc138(3-8譯碼器)構成的4-16譯碼器加上多個4953(mos管)組成的,掃描方式為1/16。上下半屏分別由2組用74hc595串行移位寄存器實現紅色、綠色顯示數據的列輸入,在圖1(a)所示的64×32標準led單元板中,每組串行移位寄存器中有8個74hc595級聯,4組共用了32個74hc595。74hc595內部電路框圖如圖1(b)所示。所有4組74hc595的控制信號rck、sck、en全部接在一起。74hc595的控制信號和4組串行移位寄存器的輸入以及行掃描控制信號a、b、c、d構成整個led單元板的輸入;74hc595的控制信號經驅動后和4組串行移位寄存器的輸出以及行經過驅動的掃描控制信號a、b、c、d構成整個led單元板的輸出,用于級聯下一個led單元板的輸入。雙色led單元板等效電路框圖如圖1(c)所示。
    
    
    2 led顯示控制系統的硬件組成及工作原理
    
    led顯示控制系統的硬件組成如圖2所示。從表面上看是一個普通的單片機簡單應用,實際上在設計此系統時已經考慮了很多硬件、軟件及硬軟件配合的因素。首先在使用51單片機的前提下,用其串行口方式0似乎可以利用單片機發出的移位脈沖將8位數據送入74hc595中,但要實現圖2中8位數據的同時輸入必須加其他的輔助芯片,而且在縮短數據傳輸時間上沒有什么好處。其次,采用fpga、cpld等可編程芯片設計成專用硬件電路與單片機接口可大幅度提高數據傳輸的速度,但成本也將同步大幅度提高。
    
    
    在圖2所示的系統中采用了以下的設計理念:①由p0口同步輸出8位字型點陣數據。②用p3.6產生sck信號,軟件中相應使用“movx@r0,a”指令,在形成sck信號的同時減少指令的字節數。③由p2.0至p2.3輸出行掃描信號,軟件中將a、b、c、d存放在dph的低4位中。④rck和en分別由p3.4、p3.5控制。⑤sst89e516單片機的串行口與pc機通信。利用該單片機的iap功能下載顯示所需的字型數據和控制程序。
    
    3 led顯示控制系統的數據組織及軟件優化
    
    led顯示控制系統的數據組織如圖3所示。從圖2可以得到圖3(a)所示的從正面看過去顯示行與顯示數據位以及顏色的對應關系。為了提高數據的讀取速度,將顯示數據按掃描行進行連續排列,可得到圖3(b)所示的存儲單元與掃描行、存儲單元數據位及顏色的關系。
    
    具體編程時可按下列步驟進行:①將準備掃描的行地址送p2口的低4位中。②將dptr指向待顯示行相應存儲單元的首地址。③以dptr為指針,使用“moxca,@a+dptr”讀顯示數據,并將顯示數據送p0口。④通過p3.6產生sck,同時dptr加1。⑤重復②、③、④直到一行數據顯示完畢,通過p3.4產生rck將通過移位寄存器移入的一行數據顯示。⑥重復②、③、④、⑤直到15行數據全部顯示完畢。⑦重復①~⑥刷新顯示。
    
    根據上述編程步驟,可以很容易編出顯示第i行的子程序1。子程序1的第3行至第9行為循環體,送1字節的顯示數據共需10個機器周期,機器碼的字節數為11。通過分析74hc595的sck為上升沿有效,可用單片機的寫信號(wr)來代替,故子程序1中的第5、6、7行3條指令可用“movx@r0,a”一條指令來替換,實驗表明這樣的替換是可靠的。顯示第i行的子程序2為替換后的程序,送1字節的顯示數據所需機器周期減為9,機器碼的字節數減為6。再對顯示第i行的子程序2仔細分析后發現,在僅使用sst89e516內部64 kb的flash存儲器作為顯示數據存儲且不增加輔助電路的前提下,只有子程序2第7行“djnz r0,dp1”這條2個機器周期2字節指令,可以利用sst89e516內部64 kb的flash存儲器大的特點,直接簡單
    
    
    西南交通大學 靳桅 鄔芝權 肖波led顯示屏由于其具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點,已經成為新一代的信息傳播媒體工具。led與lcd相比較最突出的特點是,亮度高、成本低且屏幕尺寸可根據現場情況用標準led單元板拼制。按安裝位置可分為室外、半室外和室內;按顏色可分為單色、雙基色和彩色;按發光二極管點距可分為φ5.0、φ3.75及φ3.0等。本文以市場上常見的室內雙色led單元板為控制對象,說明基于單片機iap技術的led顯示屏控制系統工作原理以及數據組織方法。
    1 雙色led單元板硬件組成及工作原理
    
    常見的室內雙色led單元板電路框圖如圖1(a)所示。其中行掃描電路由2片74hc138(3-8譯碼器)構成的4-16譯碼器加上多個4953(mos管)組成的,掃描方式為1/16。上下半屏分別由2組用74hc595串行移位寄存器實現紅色、綠色顯示數據的列輸入,在圖1(a)所示的64×32標準led單元板中,每組串行移位寄存器中有8個74hc595級聯,4組共用了32個74hc595。74hc595內部電路框圖如圖1(b)所示。所有4組74hc595的控制信號rck、sck、en全部接在一起。74hc595的控制信號和4組串行移位寄存器的輸入以及行掃描控制信號a、b、c、d構成整個led單元板的輸入;74hc595的控制信號經驅動后和4組串行移位寄存器的輸出以及行經過驅動的掃描控制信號a、b、c、d構成整個led單元板的輸出,用于級聯下一個led單元板的輸入。雙色led單元板等效電路框圖如圖1(c)所示。
    
    
    2 led顯示控制系統的硬件組成及工作原理
    
    led顯示控制系統的硬件組成如圖2所示。從表面上看是一個普通的單片機簡單應用,實際上在設計此系統時已經考慮了很多硬件、軟件及硬軟件配合的因素。首先在使用51單片機的前提下,用其串行口方式0似乎可以利用單片機發出的移位脈沖將8位數據送入74hc595中,但要實現圖2中8位數據的同時輸入必須加其他的輔助芯片,而且在縮短數據傳輸時間上沒有什么好處。其次,采用fpga、cpld等可編程芯片設計成專用硬件電路與單片機接口可大幅度提高數據傳輸的速度,但成本也將同步大幅度提高。
    
    
    在圖2所示的系統中采用了以下的設計理念:①由p0口同步輸出8位字型點陣數據。②用p3.6產生sck信號,軟件中相應使用“movx@r0,a”指令,在形成sck信號的同時減少指令的字節數。③由p2.0至p2.3輸出行掃描信號,軟件中將a、b、c、d存放在dph的低4位中。④rck和en分別由p3.4、p3.5控制。⑤sst89e516單片機的串行口與pc機通信。利用該單片機的iap功能下載顯示所需的字型數據和控制程序。
    
    3 led顯示控制系統的數據組織及軟件優化
    
    led顯示控制系統的數據組織如圖3所示。從圖2可以得到圖3(a)所示的從正面看過去顯示行與顯示數據位以及顏色的對應關系。為了提高數據的讀取速度,將顯示數據按掃描行進行連續排列,可得到圖3(b)所示的存儲單元與掃描行、存儲單元數據位及顏色的關系。
    
    具體編程時可按下列步驟進行:①將準備掃描的行地址送p2口的低4位中。②將dptr指向待顯示行相應存儲單元的首地址。③以dptr為指針,使用“moxca,@a+dptr”讀顯示數據,并將顯示數據送p0口。④通過p3.6產生sck,同時dptr加1。⑤重復②、③、④直到一行數據顯示完畢,通過p3.4產生rck將通過移位寄存器移入的一行數據顯示。⑥重復②、③、④、⑤直到15行數據全部顯示完畢。⑦重復①~⑥刷新顯示。
    
    根據上述編程步驟,可以很容易編出顯示第i行的子程序1。子程序1的第3行至第9行為循環體,送1字節的顯示數據共需10個機器周期,機器碼的字節數為11。通過分析74hc595的sck為上升沿有效,可用單片機的寫信號(wr)來代替,故子程序1中的第5、6、7行3條指令可用“movx@r0,a”一條指令來替換,實驗表明這樣的替換是可靠的。顯示第i行的子程序2為替換后的程序,送1字節的顯示數據所需機器周期減為9,機器碼的字節數減為6。再對顯示第i行的子程序2仔細分析后發現,在僅使用sst89e516內部64 kb的flash存儲器作為顯示數據存儲且不增加輔助電路的前提下,只有子程序2第7行“djnz r0,dp1”這條2個機器周期2字節指令,可以利用sst89e516內部64 kb的flash存儲器大的特點,直接簡單