<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串口通信之點(diǎn)陣左移

          串口通信之點(diǎn)陣左移

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


          關(guān)鍵詞: 串口通信點(diǎn)陣左

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();