LED點陣心形流水燈禮品設(shè)計_第1頁
LED點陣心形流水燈禮品設(shè)計_第2頁
LED點陣心形流水燈禮品設(shè)計_第3頁
LED點陣心形流水燈禮品設(shè)計_第4頁
LED點陣心形流水燈禮品設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、景德鎮(zhèn)陶瓷學(xué)院開放實驗室單片機設(shè)計報告LED點陣心形流水燈禮品設(shè)計設(shè)計人:李盛 目 錄0 前言11 系統(tǒng)組成與功能.11.1 系統(tǒng)組成1 1.1.1 AT89C51單片機11.1.2 16乘16點陣21.2 系統(tǒng)功能32 系統(tǒng)原理32.1系統(tǒng)仿真圖32.2 實物照片43 程序流程圖.64 程序代碼.75 結(jié)論14參考文獻(xiàn)1414基于單片機控制心形流水燈跟點陣0 前言 隨著社會的發(fā)展,單片機得到了廣泛的應(yīng)用,人們越來越重視單片機的應(yīng)用。比如溫度是和每個人息息相關(guān)的,并且在有的生產(chǎn)車間里還要進行溫度時時測量,甚至是對溫度的進一步調(diào)控等,這些都是單片機的應(yīng)用之例。本設(shè)計是用單片機和點陣加一個小的流水

2、燈電路,作為玩具挺有趣的。 這次的作品,初衷是希望通過單片機學(xué)習(xí),做個生日禮物送給朋友。由于時間緊迫,做的有些倉促,望原諒。1系統(tǒng)組成與功能1.1 系統(tǒng)組成本系統(tǒng)主要有AT89C51單片機、18b20、1602、蜂鳴器、四位一體七段數(shù)碼管等元件組成。1.1.1 AT89C51單片機AT89S51具有如下特點:40個引腳,8k Bytes Flash片內(nèi)程序存儲器,256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)圖1-1 AT89C51引腳圖電路,片內(nèi)時鐘振蕩

3、器。此外,AT89S52設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。引腳圖如圖1-1所示。1.1.2 16乘16點陣顯示模塊本點陣屏采用4塊8*8點陣組合,形成一個16*16的點陣,加驅(qū)動集成電路SN74HC164和74HC595組成。通過軟件控制,本屏以動態(tài)掃描的顯示方式,可顯示文字、圖形、動畫等多種花樣。 1、 SN74HC164是串行移位寄存器,串行輸入并行輸出,當(dāng)清零端CLR為高電平時,每來一個時鐘脈沖CLK寄存器中

4、的數(shù)據(jù)就會從Qa向Qh方向移動一位,即QaQb、QbQc、QcQd、QdQe、QeQf、QfQg、QgQh,同時兩個輸入端A和B與非的結(jié)果進入Qa,SN74HC164的邏輯功能如圖1-2所示。圖1-2 SN74HC164的邏輯功能圖 2、 74HC595有一個8位串行輸入,并行輸出的移位寄存器,該寄存器向一個8位D型存儲寄存器提供數(shù)據(jù)。74HC595N的存儲寄存器具備三態(tài)輸出。移位寄存器和存儲寄存器分別有獨立的時鐘。74HC595N的移位寄存器帶有最高優(yōu)先級的直接清零端(SRCLR)、串行輸入端(SER)和用于級聯(lián)的串行輸出端。當(dāng)輸出使能端(OE)為高時,74HC595的輸出將處于高阻態(tài)。不管

5、是移位寄存器時鐘(SRCLK)還是存儲寄存器時鐘(RCLK),都是上升沿觸發(fā)。如果當(dāng)兩個時鐘綁定在一起時,則移位寄存器將一直領(lǐng)先存儲寄存器一個時鐘脈沖。 SN74HC595特性:8位串行輸入,并行輸出移位;寬工作電壓范圍:2.06.0 V高強度電流三態(tài)輸出,最多可驅(qū)動高達(dá)15個LSTTL負(fù)載;低功耗,最大ICC =80A;典型tpd=13 ns;5V下驅(qū)動電流為±6 mA;移位寄存器可直接清零低輸入電流,最大1A;8位移位寄存器,具有三態(tài)輸出鎖存。最后,集成了74HC595、74HC154的點陣實物圖見圖1-3所示。3、點陣主要技術(shù)參數(shù):  顯示容量:16*16個

6、字符圖1-3 點陣實物圖 芯片工作電壓:4.55.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V4、引腳功能說明VCC 5V電源GND 接地DS 串行數(shù)據(jù)輸入STcp 并行數(shù)據(jù)輸出時鐘 SHcp 串行數(shù)據(jù)輸入時鐘 CS 選擇器使能 A0-A3 16位數(shù)據(jù)選擇器輸入不算電源線,共8線,算電源為10線。本點陣已將驅(qū)動集成電路74HC595、74HC154等放在點陣后面了,引入10線及信號即可顯示。2 系統(tǒng)設(shè)計 2.1 系統(tǒng)設(shè)計方案 利用TC89C52RC單片機,16*16點陣LED,74HC164N 和74HC595N芯片,TIP127三極管組成的

7、漢字點陣顯示系統(tǒng)。本系統(tǒng)主要分成屏體和控制器兩大部分。屏體的主要部分是LED點陣,還有行列驅(qū)動電路。LED點陣屏采用16*16LED顯示模塊連接而成。一塊16行16列顯示屏,其LED發(fā)光器件數(shù)量相當(dāng)大,不適合使用靜態(tài)驅(qū)動電路,而采用動態(tài)掃描驅(qū)動電路。掃描驅(qū)動電路采用多行的同名列共用一套驅(qū)動器,行驅(qū)動器一行的行線連接到電源的一端,列驅(qū)動器一列的列連接到電源的另一端??刂齐娐坟?fù)責(zé)有序地選通各行,選通每一行之前還要把該行該列的數(shù)據(jù)準(zhǔn)備好,一旦該行選通,這一行上的LED發(fā)光器件就可以根據(jù)列數(shù)據(jù)進行顯示。 本系統(tǒng)的控制電路采用單片機方法,由于單片機的I/O口數(shù)量少,驅(qū)動能力不強,則要擴展一定的硬件電路,

8、才能滿足顯示屏的需要。硬件電路大體上可分為單片機控制器、LED顯示屏行列驅(qū)動電路、LED點陣屏三部分,LED顯示屏驅(qū)動電路使用通用的數(shù)字電路并盡量減少外圍硬件,做到電路簡單、適應(yīng)性強、成本不高、維護方便等要求。 為了增強漢字點陣的顯示效果,LED漢字點陣顯示系統(tǒng)也可以有多種顯示模式。最簡單的顯示模式是靜態(tài)顯示。同靜態(tài)顯示模式相對應(yīng)有多種動態(tài)顯示模式,它們所顯示的文字是動態(tài)的。按照文字運動的特點可以分為平移、閃爍、旋轉(zhuǎn)、縮放等多種顯示模式。產(chǎn)生不同顯示模式的方法可以通過一定的算法從原來的顯示數(shù)據(jù)產(chǎn)生。不過當(dāng)算法太復(fù)雜時就會太浪費時間,也可以考慮預(yù)先生成刷新數(shù)據(jù),存儲備用。 本系統(tǒng)采用動態(tài)顯示的模

9、式,所謂的動態(tài)顯示模式是指逐行輪流點亮。我們把所有的同一行發(fā)光管的陽極連接在一起,把所有第一列發(fā)光管的陰極連接一起,先送出對應(yīng)第一行的發(fā)光管亮滅的數(shù)據(jù)并且鎖存,然后選通第一行使其點亮一定的時間然后熄滅;再送出第二行的數(shù)據(jù)并且鎖存,然后宣統(tǒng)第二行使其點亮同樣的時間,然后熄滅;直到第第十六行顯示完后再重新點亮第一行,這樣反復(fù)輪回。如圖2所示。單片機行掃描LED點陣屏列掃描圖2 系統(tǒng)的整體結(jié)構(gòu)圖 2.2 點陣部分程序流程圖2.3 流水燈部分基于單片機的流水燈是一個小設(shè)計,其原理就不詳細(xì)說明。單片機1(左)控制流水燈,單片機2(右)控制點陣。 下面是系統(tǒng)連線圖:圖21 系統(tǒng)電路連線圖2.2實物照片具體

10、的實物照片如下圖實物圖一實物圖二圖23 實物照片圖三3 合并程序流程圖開始心形流水燈一個接一個亮起點陣依次顯示 葛靜寶寶生日快樂心形流水燈一個間隔一個亮起點陣流動顯示生日快心形流水燈全亮然后全滅返回開始4 部分程序源代碼點陣單片機程序/*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar N=7; / N 表示有多少個漢字, 如要加多個字,只需改動N的值即可sbit DS=P10; /74HC595串行數(shù)據(jù)sbit STcp=P11; /74HC595并行輸出時鐘sbit SHcp=

11、P12; /74HC595串行時鐘sbit CS=P13; /74HC154輸出有效信號/=P2口作為74HC154的選擇控制數(shù)據(jù)輸入=/=P2口整體控制A0-A4,所以無需單獨控制每個信號=/sbit A0=P30;/sbit A1=P31;/sbit A2=P32;/sbit A3=P33;/=字模表=/=取模方法:陰碼,逆向,逐行=/=uchar code Hanzi=/*0x60,0x02,0x1C,0x0A,0x10,0x12,0x10,0x12,0x10,0x02,0xFF,0x7F,0x10,0x02,0x10,0x12,0x70,0x14,0x1C,0x0C,0x13,0x04

12、,0x10,0x0A,0x90,0x49,0x10,0x50,0x14,0x60,0x08,0x40,/*"我",00x00,0x1F,0xFC,0x09,0x48,0x08,0x90,0x04,0xFC,0x7F,0x44,0x40,0x42,0x00,0xFC,0x3F,0x20,0x00,0xE0,0x0F,0x30,0x04,0xD0,0x02,0x08,0x03,0xC6,0x0C,0x31,0x70,0x0C,0x20,/*"愛",10x90,0x00,0x90,0x01,0x88,0x20,0xC8,0x7F,0x44,0x20,0x2C,

13、0x12,0x16,0x02,0x45,0x0A,0xC4,0x12,0x44,0x12,0x24,0x22,0x24,0x62,0x14,0x22,0x84,0x02,0x04,0x01,0x00,0x00,/*"你",2*/0x60,0x02,0x1C,0x0A,0x10,0x12,0x10,0x12,0x10,0x02,0xFF,0x7F,0x10,0x02,0x10,0x12,0x70,0x14,0x1C,0x0C,0x13,0x04,0x10,0x0A,0x90,0x49,0x10,0x50,0x14,0x60,0x08,0x40,/*"我",

14、3*/* (16 X 16 , 宋體 )*/0x00,0x1F,0xFC,0x09,0x48,0x08,0x90,0x04,0xFC,0x7F,0x44,0x40,0x42,0x00,0xFC,0x3F,0x20,0x00,0xE0,0x0F,0x30,0x04,0xD0,0x02,0x08,0x03,0xC6,0x0C,0x31,0x70,0x0C,0x20,/*"愛",4*/* (16 X 16 , 宋體 )*/0x90,0x00,0x90,0x01,0x88,0x20,0xC8,0x7F,0x44,0x20,0x2C,0x12,0x16,0x02,0x45,0x0A,

15、0xC4,0x12,0x44,0x12,0x24,0x22,0x24,0x62,0x14,0x22,0x84,0x02,0x04,0x01,0x00,0x00,/*"你",5*/* (16 X 16 , 宋體 )*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,/*"!",6*/一定要

16、在字模后加一個清屏的字模,否則移動顯示時出現(xiàn)亂麻0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/清屏0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;/=延時程序=void delay(uint N) uchar i; uint j; for(j=0;j<N;j+) for(i=125;i>0;i-);/=逐行測試=/=目的:查看有無壞點=void displ

17、ay_test(uchar N) uchar i,j; for(j=0;j<100;j+) DS=0; /整行顯示 for(i=0;i<16;i+) SHcp=0; SHcp=1; STcp=0; STcp=1; P3=N; CS=0; delay(10); /本程序太長,省去部分,需要完整程序請 CS=1; /聯(lián)系QQ154401855(或154401856)下載 /+靜態(tài)顯示+/=+顯示程序=/ N表示傳遞過來的第幾個文字,一個文字占32個字節(jié),所以M為32的倍數(shù)/=void display_state(uchar M) uchar i,j,n,cont=0; uchar te

18、mp; for(n=0;n<50;n+) /重復(fù)顯示50次,以便能清楚顯示 for(i=0;i<16;i=i+2) temp=HanziM+i+16; /取一字模數(shù)據(jù)存放于temp,高8位 /進行8次轉(zhuǎn)換,使8位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)for(j=0;j<8;j+)if(temp&0x80) /并行數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù),高位在前 DS=1;else DS=0;SHcp=0;SHcp=1; /SHcp上升沿鎖存一位數(shù)據(jù)temp=temp<<1; /左移一位,進行下一次轉(zhuǎn)換temp=HanziM+i; /取一字模數(shù)據(jù)存放于temp,低8位 /進行8次轉(zhuǎn)換,使8位并行

19、數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)for(j=0;j<8;j+)if(temp&0x80) /并行數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù),高位在前 DS=1;else DS=0;SHcp=0;SHcp=1; /SHcp上升沿鎖存一位數(shù)據(jù)temp=temp<<1; /左移一位,進行下一次轉(zhuǎn)換STcp=0;STcp=1; /STcp上升沿使8位數(shù)據(jù)并行輸入P3=cont; /cont計數(shù)器作為74HC154的選擇信號,由P2口輸出CS=0; /74HC154 使能,開啟顯示delay(2); /延時一下,以便有足夠的點亮?xí)r間CS=1; /關(guān)顯示,不關(guān)顯示會出現(xiàn)花屏現(xiàn)象cont+; /cont計數(shù)器加一 for

20、(i=1;i<16;i=i+2) temp=HanziM+i+16;for(j=0;j<8;j+)if(temp&0x80) DS=1;else DS=0;SHcp=0;SHcp=1;temp=temp<<1;temp=HanziM+i;for(j=0;j<8;j+)if(temp&0x80) DS=1;else DS=0;SHcp=0;SHcp=1;temp=temp<<1;STcp=0;STcp=1;P3=cont;CS=0;delay(2);CS=1;cont+; for(i=0;i<16;i+) DS=0;SHcp=0;S

21、Hcp=1; /SHcp上升沿鎖存一位數(shù)據(jù) cont=0; CS=1; /+動態(tài)顯示文字+void display_move(void) uchar i,j,n,cont=0; uchar temp,hang; for(hang=0;hang<32*N;hang=hang+2) /每次上移一行,即實現(xiàn)動態(tài)移動顯示效果 for(n=0;n<10;n+) /程序太長,省略一部分,需要完整程序請 /聯(lián)系QQ154401855(或154401856)下載 /=主函數(shù)=void main(void) uchar i; P1=0xFF; P2=0xFF; while(1) /* for(i=0

22、;i<16;i+) /16行點陣測試 display_test(i); delay(100); */ for(i=0;i<32*N;i=i+32) /靜態(tài)漢字顯示 display_state(i); delay(1000); display_move(); /動態(tài)漢字顯示 流水燈陣程序/*/#include<reg51.h>/*8位將流水燈編碼存于單片機程序存儲中*unsigned char code LED1_shun=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F; /順時針點亮數(shù)據(jù)unsigned char code LED2_ni=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE; /逆時針點亮數(shù)據(jù)unsigned int N=300;void delay(unsigned int n)unsigned int i;unsigned char j;for(i=0;i<n;i+)for(j=100;j>0;j-); /程序?qū)嵲谔L,省略一部分voi

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論