版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、-大學(xué)物理與電子學(xué)院開放實驗室單片機(jī)設(shè)計報告LED點陣心形流水燈禮品設(shè)計設(shè)計人:開放實驗室入室人員目 錄0 前言11系統(tǒng)組成與功能.11.1 系統(tǒng)組成11.1.1 AT89C51單片機(jī)11.1.216乘16點陣21.2 系統(tǒng)功能32系統(tǒng)原理32.1系統(tǒng)仿真圖32.2 實物照片43程序流程圖.64程序代碼.75結(jié)論14參考文獻(xiàn)14. z-基于單片機(jī)控制心形流水燈跟點陣0 前言 隨著社會的開展,單片機(jī)得到了廣泛的應(yīng)用,人們越來越重視單片機(jī)的應(yīng)用。比方溫度是和每個人息息相關(guān)的,并且在有的生產(chǎn)車間里還要進(jìn)展溫度時時測量,甚至是對溫度的進(jìn)一步調(diào)控等,這些都是單片機(jī)的應(yīng)用之例。本設(shè)計是用單片機(jī)和點陣加一個
2、小的流水燈電路,作為玩具挺有趣的。這次的作品,初衷是希望通過單片機(jī)學(xué)習(xí),做個生日禮物送給朋友。由于時間緊迫,做的有些倉促,望原諒。1系統(tǒng)組成與功能1.1系統(tǒng)組成本系統(tǒng)主要有AT89C51單片機(jī)、18b20、1602、蜂鳴器、四位一體七段數(shù)碼管等元件組成。1.1.1 AT89C51單片機(jī)AT89S51具有如下特點:40個引腳,8k Bytes Flash片程序存儲器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲器RAM,32個外部雙向輸入/輸出I/O口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗WDT圖1-1 AT89C51引腳圖電路,片時鐘振蕩器。此外,A
3、T89S52設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停頓芯片其它功能直至外中斷激活或硬件復(fù)位。引腳圖如圖1-1所示。16乘16點陣顯示模塊本點陣屏采用4塊8*8點陣組合,形成一個16*16的點陣,加驅(qū)動集成電路SN74HC164和74HC595組成。通過軟件控制,本屏以動態(tài)掃描的顯示方式,可顯示文字、圖形、動畫等多種把戲。 1、 SN74HC164是串行移位存放器,串行輸入并行輸出,當(dāng)清零端CLR為高電平時,每來一個時鐘脈沖CLK存放器中的數(shù)據(jù)就會從Qa向Qh方
4、向移動一位,即QaQb、QbQc、QcQd、QdQe、QeQf、QfQg、QgQh,同時兩個輸入端A和B與非的結(jié)果進(jìn)入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)。不管是移位存放器時鐘SRCLK還是存儲存
5、放器時鐘RCLK,都是上升沿觸發(fā)。如果當(dāng)兩個時鐘綁定在一起時,則移位存放器將一直領(lǐng)先存儲存放器一個時鐘脈沖。SN74HC595特性:8位串行輸入,并行輸出移位;寬工作電壓圍:2.06.0 V高強(qiáng)度電流三態(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個字符圖1-3 點陣實物圖芯片工作電壓:4.55.5V工作電流:2.0mA
6、(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單片機(jī),16*16點陣LED,74HC164N 和74HC595N芯片,TIP127三極管組成的漢字點陣顯示系統(tǒng)。本系統(tǒng)主要分成屏體和控制器兩大局部。屏體的主要局部是LED點陣,還有行列驅(qū)動電路。LED點陣屏
7、采用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ù)進(jìn)展顯示。 本系統(tǒng)的控制電路采用單片機(jī)方法,由于單片機(jī)的I/O口數(shù)量少,驅(qū)動能力不強(qiáng),則要擴(kuò)展一定的硬件電路,才能滿足顯示屏的需要。硬件電路大體上可分為單片機(jī)控制器、LED顯示屏行列驅(qū)動電路、LED點陣屏三局部,LED顯示
8、屏驅(qū)動電路使用通用的數(shù)字電路并盡量減少外圍硬件,做到電路簡單、適應(yīng)性強(qiáng)、本錢不高、維護(hù)方便等要求。 為了增強(qiá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)顯示的模式,所謂的動態(tài)顯示模式是指逐行輪流點亮。我們把所有的同一行發(fā)光管的陽極連接在一起,把所有第一列發(fā)光管的陰極連接一
9、起,先送出對應(yīng)第一行的發(fā)光管亮滅的數(shù)據(jù)并且鎖存,然后選通第一行使其點亮一定的時間然后熄滅;再送出第二行的數(shù)據(jù)并且鎖存,然后宣統(tǒng)第二行使其點亮同樣的時間,然后熄滅;直到第第十六行顯示完后再重新點亮第一行,這樣反復(fù)輪回。如圖2所示。單片機(jī)行掃描LED點陣屏列掃描圖2 系統(tǒng)的整體構(gòu)造圖 2.2點陣局部程序流程圖2.3流水燈局部基于單片機(jī)的流水燈是一個小設(shè)計,其原理就不詳細(xì)說明。單片機(jī)1左控制流水燈,單片機(jī)2右控制點陣。下面是系統(tǒng)連線圖:圖21 系統(tǒng)電路連線圖2.2實物照片具體的實物照片如下列圖實物圖一實物圖二圖23 實物照片圖三3 合并程序流程圖開場心形流水燈一個接一個亮起點陣依次顯示 葛靜寶寶生日
10、快樂心形流水燈一個間隔一個亮起點陣流動顯示生日快心形流水燈全亮然后全滅返回開場4 局部程序源代碼點陣單片機(jī)程序/*/*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=P12; /74HC595串行時鐘sbit CS=P13; /74HC154輸出有效信號/=P2口作為74HC154的選擇控
11、制數(shù)據(jù)輸入=/=P2口整體控制A0-A4,所以無需單獨控制每個信號=/sbit A0=P30;/sbit A1=P31;/sbit A2=P32;/sbit A3=P33;/=字模表=/=取模方法:陰碼,逆向,逐行=/=uchar code Hanzi=/*0*60,0*02,0*1C,0*0A,0*10,0*12,0*10,0*12,0*10,0*02,0*FF,0*7F,0*10,0*02,0*10,0*12,0*70,0*14,0*1C,0*0C,0*13,0*04,0*10,0*0A,0*90,0*49,0*10,0*50,0*14,0*60,0*08,0*40,/*"我&q
12、uot;,00*00,0*1F,0*FC,0*09,0*48,0*08,0*90,0*04,0*FC,0*7F,0*44,0*40,0*42,0*00,0*FC,0*3F,0*20,0*00,0*E0,0*0F,0*30,0*04,0*D0,0*02,0*08,0*03,0*C6,0*0C,0*31,0*70,0*0C,0*20,/*"愛",10*90,0*00,0*90,0*01,0*88,0*20,0*C8,0*7F,0*44,0*20,0*2C,0*12,0*16,0*02,0*45,0*0A,0*C4,0*12,0*44,0*12,0*24,0*22,0*24,0*
13、62,0*14,0*22,0*84,0*02,0*04,0*01,0*00,0*00,/*"你",2*/0*60,0*02,0*1C,0*0A,0*10,0*12,0*10,0*12,0*10,0*02,0*FF,0*7F,0*10,0*02,0*10,0*12,0*70,0*14,0*1C,0*0C,0*13,0*04,0*10,0*0A,0*90,0*49,0*10,0*50,0*14,0*60,0*08,0*40,/*"我",3*/* (16 * 16 , 宋體 )*/0*00,0*1F,0*FC,0*09,0*48,0*08,0*90,0*04,
14、0*FC,0*7F,0*44,0*40,0*42,0*00,0*FC,0*3F,0*20,0*00,0*E0,0*0F,0*30,0*04,0*D0,0*02,0*08,0*03,0*C6,0*0C,0*31,0*70,0*0C,0*20,/*"愛",4*/* (16 * 16 , 宋體 )*/0*90,0*00,0*90,0*01,0*88,0*20,0*C8,0*7F,0*44,0*20,0*2C,0*12,0*16,0*02,0*45,0*0A,0*C4,0*12,0*44,0*12,0*24,0*22,0*24,0*62,0*14,0*22,0*84,0*02,0*
15、04,0*01,0*00,0*00,/*"你",5*/* (16 * 16 , 宋體 )*/0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*08,0*00,0*00,0*00,0*08,0*00,0*00,0*00,/*"!",6*/一定要在字模后加一個清屏的字模,否則移動顯示時出現(xiàn)亂麻0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*0
16、0,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,/清屏0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,0*00,;/=延時程序=void delay(uint N) uchar i; uint j; for(j=0;j<N;j+) for(i=125;i>0;i-);/=逐行測試=/=目的:查看有無壞點=void display_test(uchar N) uchar i,j; for(j=0;j<100;j+) DS=0; /整行顯示 f
17、or(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 temp; for(n=0;n<50;n+) /重復(fù)顯示50次,以便能清楚顯示 for(i=0;i<16;i=i+2
18、) temp=HanziM+i+16; /取一字模數(shù)據(jù)存放于temp,高8位 /進(jìn)展8次轉(zhuǎn)換,使8位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)for(j=0;j<8;j+)if(temp&0*80) /并行數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù),高位在前 DS=1;else DS=0;SHcp=0;SHcp=1; /SHcp上升沿鎖存一位數(shù)據(jù)temp=temp<<1; /左移一位,進(jìn)展下一次轉(zhuǎn)換temp=HanziM+i; /取一字模數(shù)據(jù)存放于temp,低8位 /進(jìn)展8次轉(zhuǎn)換,使8位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)for(j=0;j<8;j+)if(temp&0*80) /并行數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù),高位在前
19、DS=1;else DS=0;SHcp=0;SHcp=1; /SHcp上升沿鎖存一位數(shù)據(jù)temp=temp<<1; /左移一位,進(jìn)展下一次轉(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(i=1;i<16;i=i+2) temp=HanziM+i+16;for(j=0;j<8;j+)if(temp
20、&0*80) DS=1;else DS=0;SHcp=0;SHcp=1;temp=temp<<1;temp=HanziM+i;for(j=0;j<8;j+)if(temp&0*80) 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;SHcp=1; /SHcp上升沿鎖存一位數(shù)據(jù) cont=0; CS=1; /+動態(tài)顯示文字+void display_move
21、(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=0*FF; P2=0*FF; while(1) /* for(i=0;i<16;i+) /16行點陣測試 display_test(i); delay(100); */ for(i=0;
22、i<32*N;i=i+32) /靜態(tài)漢字顯示 display_state(i); delay(1000);display_move(); /動態(tài)漢字顯示 流水燈陣程序/*/*include<reg51.h>/*8位將流水燈編碼存于單片機(jī)程序存儲中*unsigned char code LED1_shun=0*FE,0*FD,0*FB,0*F7,0*EF,0*DF,0*BF,0*7F; /順時針點亮數(shù)據(jù)unsigned char code LED2_ni=0*7F,0*BF,0*DF,0*EF,0*F7,0*FB,0*FD,0*FE; /逆時針點亮數(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-); /程
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隴南古建筑雕塑施工方案
- 鋁格柵幕墻施工方案
- 句容別墅地暖施工方案
- 盆式橡膠坐墊施工方案
- 遼寧苗圃立體綠化施工方案
- 石子粉基層施工方案
- 遼寧輕型鋼結(jié)構(gòu)施工方案
- 地鐵指示牌安裝施工方案
- 中國激光晶體材料未來趨勢預(yù)測分析及投資規(guī)劃研究建議報告
- 鞋店裝修保修協(xié)議樣本
- 軟件項目應(yīng)急措施及方案
- 2025河北邯鄲經(jīng)開國控資產(chǎn)運營管理限公司招聘專業(yè)技術(shù)人才5名高頻重點提升(共500題)附帶答案詳解
- 2024年民法典知識競賽考試題庫及答案(共50題)
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合卷(含答案)
- 鈑金設(shè)備操作培訓(xùn)
- 中考英語688高頻詞大綱詞頻表
- 九年級初三中考物理綜合復(fù)習(xí)測試卷3套(含答案)
- 移民推薦信4篇【精選】
- 管理制度評價表(填寫模板)
- 工地設(shè)計代表服務(wù)記錄
評論
0/150
提交評論