版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> LED點陣</b></p><p><b> 1. 總體設(shè)計思路</b></p><p> LED點陣由許多放光二極管組成,當(dāng)發(fā)光二極管有規(guī)律的亮和滅時,就能顯示出圖像和字符,而一個點陣不能顯示完整圖像或字符,需要利用人的視覺暫留來快速掃描每一行或每一列,快速掃描時就會形成一幅完整的圖像。</p>
2、<p><b> 2. 方案設(shè)計</b></p><p> 單片機作為主控芯片來控制點陣的顯示,單片機把數(shù)據(jù)以串行的方式發(fā)送給串并轉(zhuǎn)換電路,這樣做是為了減少控制端口,由串并轉(zhuǎn)換電路為點陣提供要顯示的數(shù)據(jù),列掃描配合每一幀數(shù)據(jù)顯示在合適的列,列高速掃描,就會顯示出圖像或字符。</p><p><b> 3. 硬件設(shè)計</b><
3、/p><p> 本系統(tǒng)中用MCS-51單片機作為控制器,發(fā)出時序控制信號以及數(shù)據(jù)信號,移位寄存器部分采用兩個74HC595,譯碼器采用74LS154以及兩個2803驅(qū)動器,管腳圖如下:</p><p> 74HC595 74LS154 ULN2803A</p><p> 單片機的P3.0口(RXD)連接
4、到兩個74HC595的DS端,串行的送入數(shù)據(jù),P3.1口(TXD)連接兩個74HC595的SH_CP端口,控制串行傳送數(shù)據(jù)時,數(shù)據(jù)的移位存儲,P3.2和P3.3分別接到MR端和ST_CP端,輸出復(fù)位信號和鎖存信號,另外,作為低位的74HC595的Q7`接到高位的74HC595的DS中,實現(xiàn)兩個移位寄存器的串聯(lián),兩個移位寄存器的輸出端分別接到2803a的輸入端上,2803a的輸出端再接到LED點陣行選上;單片機的P1.0~P1.3口分別連
5、接到74LS154的A0~A3輸入口上,譯碼器的輸出端接到LED的列選上;其中行選線上需要接上拉電阻,因為有可能移位寄存器的輸出不足以驅(qū)動LED發(fā)光,需要上拉電阻來提高移位寄存器的輸出電平。</p><p><b> 4. 軟件設(shè)計</b></p><p><b> 5. 總結(jié)</b></p><p> 給點陣發(fā)送數(shù)
6、據(jù)時有兩種方法,一種用串口發(fā)送回,即把取到的字模的數(shù)組直接負(fù)給SBUF,讓SBUF自動給LED發(fā)送數(shù)據(jù),但要注意的是:1)用SBUF發(fā)送數(shù)據(jù)時要把P3.0、P3.1口置為高電平,否者無法發(fā)送數(shù)據(jù)。2)SBUF發(fā)送數(shù)據(jù)時一定要等到前一幀數(shù)據(jù)發(fā)送完成之后(即TI變?yōu)椤?’之后)才可發(fā)送第二幀數(shù)據(jù),發(fā)送下一幀數(shù)據(jù)之前要將TI置‘0’否者無法發(fā)送下一幀數(shù)據(jù)。另一種是用一般的I/O端口來發(fā)送,要注意的是:1)發(fā)送時要注意時序關(guān)系,發(fā)送每一bit都
7、要提供相應(yīng)的脈沖信號。2)要明確取模方式,每一個字先從高位發(fā)送還是先從低位發(fā)送。3)數(shù)據(jù)發(fā)送完之后脈沖信號不得在變直到下一幀數(shù)據(jù)發(fā)送之前。</p><p> 74HC595和74HC164的區(qū)別是:1)74HC595內(nèi)部含有一個八位鎖存器,可以鎖存轉(zhuǎn)換后的并行信號。2)74HC595在數(shù)據(jù)串并轉(zhuǎn)換時不影響并行數(shù)據(jù)的輸出。</p><p><b> 附件</b>&l
8、t;/p><p> 1. 硬件資料 芯片資料</p><p> ..\芯片資料\SST89E58_www.ic37.com.pdf</p><p> ..\芯片資料\74hc595.pdf</p><p> ..\芯片資料\2803.pdf</p><p> 2. 原理圖 SCH</p>&l
9、t;p> ..\SCH文件\class19點陣.ddb</p><p> 3. 軟件源代碼 </p><p> #include<reg52.h></p><p> sbit sclr=P3^2; //移位寄存器的清零端</p><p> sbit rck=P3^3;//鎖存器的鎖存控制</p&g
10、t;<p> int code dat[]={</p><p> 0x00,0x40,0x00,0x20,0x00,0x18,0xF8,0x07,0x48,0x00,0x48,0x7E,0x48,0x22,0x49,0x22,//啟</p><p> 0x4e,0x22,0x4a,0x22,0x48,0x22,0x48,0x22,0x48,0x22,0x78,0x7e
11、,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x04,0x00,0x04,0x20,0xc4,0x18,0xb4,0x0e,0x8c,0x04,0x87,0x20,0x84,0x40,//東</p><p> 0xf4,0xff,0x84,0x00,0x84,0x02,0x84,0x04,0x84,0x18,0x04,0x30,0x00,0x00
12、,0x00,0x00,</p><p> 0x04,0x00,0x04,0x00,0x04,0x00,0xe4,0x3f,0x24,0x00,0x25,0x00,0x25,0x00,0xfe,0xff,//市</p><p> 0x24,0x00,0x24,0x00,0x24,0x10,0x24,0x20,0xe4,0x1f,0x04,0x00,0x04,0x00,0x00,0x00
13、,</p><p> 0x10,0x01,0x88,0x00,0xf7,0xff,0x22,0x40,0x5c,0x20,0x50,0x1f,0x5f,0x01,0x50,0x01,//微</p><p> 0x5c,0xbf,0x20,0x50,0xf8,0x21,0x17,0x16,0x12,0x08,0xf0,0xf7,0x10,0x40,0x00,0x00,</p>
14、;<p> 0x08,0x04,0x08,0x00,0xc8,0x00,0xff,0xff,0x48,0x00,0x88,0x41,0x08,0x30,0x00,0x0c,//機</p><p> 0xfe,0x03,0x02,0x00,0x02,0x00,0x02,0x00,0xfe,0x3f,0x00,0x40,0x00,0x78,0x00,0x00,</p><p&g
15、t; 0x00,0x40,0x00,0x38,0xfc,0x07,0x44,0x20,0x84,0x20,0x04,0x2f,0x14,0x24,0x25,0x20,//應(yīng)</p><p> 0xc6,0x23,0x84,0x30,0x04,0x2c,0x04,0x23,0xe4,0x20,0x44,0x22,0x00,0x20,0x00,0x00,</p><p> 0x00,0
16、x80,0x00,0x40,0x00,0x30,0xfe,0x0f,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,//用</p><p> 0xfe,0xff,0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,0xfe,0x7f,0x00,0x00,0x00,0x00,</p><p><b> };</
17、b></p><p> void delay(int t) //延時函數(shù)</p><p><b> {</b></p><p> while(t--);</p><p><b> } </b></p><p> int get_send_dat(int
18、n) //數(shù)據(jù)發(fā)送函數(shù)</p><p><b> {</b></p><p><b> int i;</b></p><p><b> i=2*n;</b></p><p><b> sclr=0;</b></p><p&g
19、t;<b> sclr=1;</b></p><p><b> rck=0;</b></p><p> SBUF=dat[i+1];</p><p> while(TI==0);</p><p> TI=0; //手動置TI為‘0’可以開始下
20、一幀數(shù)據(jù)的發(fā)送</p><p> SBUF=dat[i];</p><p> while(TI==0);</p><p><b> TI=0;</b></p><p><b> rck=1;</b></p><p> //delay(1);</p>
21、<p><b> rck=0;</b></p><p><b> }</b></p><p> void move() //字模移動函數(shù)</p><p><b> {</b></p><p> int num,j,k,b=0x
22、01;</p><p> for(num=0;num<128;num++)</p><p><b> { </b></p><p> for(k=0;k<5;k++)</p><p><b> {</b></p><p><b> b=0x0
23、0;</b></p><p> for(j=0;j<16;j++)</p><p><b> { </b></p><p><b> P1=b;</b></p><p> get_send_dat(num+j);</p><p><b&
24、gt; b=b+0x01;</b></p><p> delay(100);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }
25、</b></p><p> int main()</p><p><b> {</b></p><p><b> P1=0x00;</b></p><p><b> P3=0xff;</b></p><p><b> wh
26、ile(1)</b></p><p><b> {</b></p><p><b> move();</b></p><p><b> }</b></p><p><b> }</b></p><p> /**
27、***********************************************************************</p><p> 用SBUF做串口模式通信時要把P3.0和P3.1職位干電平否則無法正常發(fā)送數(shù)據(jù)</p><p> ****************************************************************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- led點陣課程設(shè)計報告
- led點陣課程設(shè)計報告
- 課程設(shè)計-led點陣電子鐘
- led點陣顯示屏課程設(shè)計
- 單片機課程設(shè)計-led燈點陣課程設(shè)計
- eda課程設(shè)計--led點陣顯示控制
- pic課程設(shè)計--88led點陣
- 16x64led點陣課程設(shè)計
- 單片機課程設(shè)計----led點陣漢字顯示
- 16x16led點陣課程設(shè)計報告
- 課程設(shè)計--led1616點陣顯示設(shè)計
- 課程設(shè)計報告--led點陣廣告牌的設(shè)計
- 課程設(shè)計報告--led點陣廣告牌的設(shè)計
- 單片機課程設(shè)計---led點陣屏滾動
- 課程設(shè)計報告--led點陣廣告牌的設(shè)計
- 課程設(shè)計---點陣led圖文顯示屏的設(shè)計
- 基于單片機的led點陣顯示課程設(shè)計
- 單片機課程設(shè)計--點陣led電子顯示屏
- 數(shù)字電子技術(shù)課程設(shè)計報告(led矩形點陣)
- 計算機控制課程設(shè)計---點陣led顯示系統(tǒng)
評論
0/150
提交評論