新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的LED數(shù)字大屏幕顯示系統(tǒng)

基于單片機(jī)的LED數(shù)字大屏幕顯示系統(tǒng)

作者: 時(shí)間:2011-08-17 來源:網(wǎng)絡(luò) 收藏

  2.2 矩陣轉(zhuǎn)換移位算法

  矩陣轉(zhuǎn)換移位算法目的就是如何把這些原始的數(shù)據(jù)轉(zhuǎn)換成串行的數(shù)據(jù),以便把數(shù)據(jù)正確的輸入到74HC595。原始的數(shù)據(jù)必須要對(duì)其轉(zhuǎn)換。下面為它的算法實(shí)現(xiàn)。

  2.3 上位機(jī)和下位機(jī)的通信

  上位機(jī)和下位機(jī)的通信主要是通過RS232接口進(jìn)行的,對(duì)于上位機(jī)的數(shù)據(jù)傳輸?shù)乃俾蕿?600bps。為了便于數(shù)據(jù)的傳輸和接收,可以給要傳輸數(shù)據(jù)的前后加上標(biāo)志位。如果數(shù)據(jù)發(fā)送量大,在發(fā)送數(shù)據(jù)時(shí)還可采用線程的方式來發(fā)送。而下位機(jī)接收數(shù)據(jù)則可采用內(nèi)全雙工的通用異步收發(fā)器(UART)來進(jìn)行。

  UART有中斷和查詢兩種工作方式,UART初始化需要設(shè)置相關(guān)幾個(gè)控制寄存器,我們可以把UART幾個(gè)控制寄存器的初始化情況表示出來:

 UCR=0x00設(shè)置波特率時(shí)要先關(guān)閉UARTUBRR=0x33設(shè)置波特率為9600bpsUCR=0xD8打開串口:

8位數(shù)據(jù)UART如何接收和發(fā)送數(shù)據(jù)通過數(shù)據(jù)寄存器UDR完成。UDR雖然只有一個(gè)地址,但是在物理上分離了二個(gè)寄存器,一個(gè)用于發(fā)送,一個(gè)用于接收。對(duì)于數(shù)據(jù)的接收和發(fā)送采用中斷的方式,其中斷向量為12,即是interrupthandleruart0_rx_isr:12。接收和發(fā)送方式如下:



評(píng)論


相關(guān)推薦

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

關(guān)閉