新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 串口通信之點陣左移

串口通信之點陣左移

作者: 時間:2016-11-25 來源:網絡 收藏
(*注:圖中各595的pin10腳相連接后與+Vcc相連。)
驅動程序可根據本人的16*16點陣程序改編,另外還有一個本人對程序中顯示數據生成函數的解釋資料一并錄于此處,也歡迎切磋。
語句temp=(h1<>(8-tempcol));的設計原理:
下面我們以程序進行左移3位的運算為例解釋一下語句temp=(h1<>(8-tempcol));的設計原理;我們知道,在8位二進制數據進行運算時,若要將一個3位的二進制數據置入另一個8位二進制數據后3位的空位中,(注:這里所說的數據置入,是指當一個顯示數據顯示后,這個數據經左移以后變成了下一個要顯示的新數據,而這個新的數據實際上就是由已顯示數據的前7位與后一個數據的前1位數據組合形成的,也就相當與將后面的數據置入了前一個數據。)可以采用的方法不外乎有兩個,一個是加入YYYYY000+00000XXX=YYYYYXXX。另一個方法是按位或,而后一個方法更加直觀方便。本語句就是采用了按位或的方法,詳解如下:設寄存器D中有數據D=0X33=00110011其左移3位后D中的數據改變?yōu)?0011000后置入DY(數據移出后寄存器相應位自動清零);設寄存器C中有數據C=0XA6=10100110其右移8-3=5位后C中的數據改變?yōu)?0000101后置入CY。 DY|CY運算后,結果為10011101其結果不難看出,相當于將C(0XA6)中的前3位數據左移進入了DY的后3位中。這一算式的設計,是為了適應我們的硬件系統(tǒng),解決了一個8位顯示數據由當前的8位鎖存輸出芯片(595)進入下一片(595)時能夠保持連貫;因為我們的硬件系統(tǒng)的組成為8位單片機通過級聯的8位數字電路驅動點陣屏,假如我們的硬件無所不有,那么,我們可以使用16位的系統(tǒng)驅動16列的屏,32位驅動32列,64位驅動64列,128位……。那么我們只要用一句簡單的移位語句,即可達到目的,就不必如此費周折了。


關鍵詞: 串口通信點陣左

評論


技術專區(qū)

關閉