




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上專業(yè)方向課程設(shè)計(jì)課程設(shè)計(jì)報(bào)告題目: 心形花樣流水燈與點(diǎn)陣顯示 專業(yè): 電子信息工程 班級(jí): 二 班 學(xué)號(hào): 姓名: 指導(dǎo)老師: 重慶交通大學(xué)信息科學(xué)與工程學(xué)院設(shè)計(jì)時(shí)間:2013年 9 月 8 日 到 2013 年 11 月 16 號(hào)一、 設(shè)計(jì)任務(wù)說明隨著社會(huì)的發(fā)展,單片機(jī)得到了廣泛的應(yīng)用,人們?cè)絹碓街匾晢纹瑱C(jī)的應(yīng)用。比如溫度是和每個(gè)人息息相關(guān)的,并且在有的生產(chǎn)車間里還要進(jìn)行溫度時(shí)時(shí)測(cè)量,甚至是對(duì)溫度的進(jìn)一步調(diào)控等,這些都是單片機(jī)的應(yīng)用之例。本設(shè)計(jì)是用單片機(jī)和點(diǎn)陣加一個(gè)小的流水燈電路, 這次作品的初衷是希望通過單片機(jī)學(xué)習(xí),做個(gè)生日禮物送給朋友。二、 總體設(shè)計(jì)本系統(tǒng)主要有
2、AT89C51單片機(jī)、5mm彩色LED燈、74HC245、8*8LED點(diǎn)陣、200歐電阻等元件組成。1.流水燈設(shè)計(jì):(1)AT89C51單片機(jī):AT89C51具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)程序存儲(chǔ)器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT) AT89C51引腳圖電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷 系
3、統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。引腳圖如右圖所示。此次設(shè)計(jì)把51單片機(jī)的4個(gè)I/O口與32個(gè)5mm高亮LED燈相接,通過單片機(jī)控制各I/O引腳的高低電平控制LED的亮滅從而形成各種不同亮滅的花樣。2.點(diǎn)陣顯示設(shè)計(jì):(1)8*8點(diǎn)陣原理圖 :從圖中可以看出,8X8點(diǎn)陣共需要64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一列置1電平,某一行置0電平,則相應(yīng)的二極管就亮;因此要實(shí)現(xiàn)一根柱形的亮法,如圖所示,對(duì)應(yīng)的一列為一根豎柱,或者對(duì)應(yīng)的一行為一根橫柱,因此實(shí)現(xiàn)柱的亮的方法如下所述:一根豎柱:對(duì)應(yīng)的列置1,
4、而行則采用掃描的方法來實(shí)現(xiàn)。一根橫柱:對(duì)應(yīng)的行置0,而列則采用掃描的方法來實(shí)現(xiàn)。 (2)74HC245:74HC245是一種三態(tài)輸出、八路信號(hào)收發(fā)器,主要應(yīng)用于大屏顯示,以及其它的消費(fèi)類電子產(chǎn)品中增加驅(qū)動(dòng) 主要特性:采用CMOS工藝寬電壓工作范圍:3.0V5.0V雙向三態(tài)輸出八線雙向收發(fā)器封裝形式:SOP20、SOP20-2、TSSOP20、DIP20此次設(shè)計(jì)采用74HC245來驅(qū)動(dòng)8*8點(diǎn)陣,74HC245一端與51單片機(jī)的P0口想連,另一端則與點(diǎn)陣的輸入端相連,從而通過單片機(jī)控制驅(qū)動(dòng)點(diǎn)陣。三、 硬件設(shè)計(jì)心型流水燈的硬件設(shè)計(jì)如下圖:此次設(shè)計(jì)把51單片機(jī)的4個(gè)I/O口與32個(gè)5mm高亮LED燈
5、相接,通過單片機(jī)控制各I/O引腳的高低電平控制LED的亮滅從而形成各種不同亮滅的花樣。點(diǎn)陣顯示的硬件設(shè)計(jì)圖如下:本次設(shè)計(jì)通過74HC245來驅(qū)動(dòng)8*8點(diǎn)陣,74HC245的輸入端與51單片機(jī)的P0口想連,74HC245的輸出端則與點(diǎn)陣的行相連,而點(diǎn)陣的列則與單片機(jī)的P3口相連,通過單片機(jī)控制、74HC245驅(qū)動(dòng),從而完成了點(diǎn)陣的顯示。四、 軟件設(shè)計(jì)心形花樣流水燈的程序如下:#include<reg52.h>#include <intrins.h>#defineuint unsigned int#defineuchar unsigned charuchar code ta
6、ble=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; / 逐個(gè)點(diǎn)亮07uchar code table1=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00; / 逐個(gè)點(diǎn)亮70uchar code table2=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff; / 逐個(gè)滅07uchar code table3=0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff; / 逐個(gè)滅70/*/void delay(uint t);/延時(shí)void zg(uint t,uchar a)
7、;/兩邊逐個(gè)亮void qs(uint t,uchar a);/全部閃爍void zgxh(uint t,uchar a); / 逆時(shí)針逐個(gè)點(diǎn)亮void djs(uint t,uchar a); /對(duì)角閃void lbzgm(uint t,uchar a);/兩邊逐個(gè)滅void nszgm(uint t,uchar a); / 逆時(shí)針逐個(gè)滅void sztl(uint t,uchar a);/順時(shí)逐個(gè)同步亮void nztl(uint t,uchar a);/逆時(shí)逐個(gè)同步亮void sztm(uint t,uchar a);/順時(shí)逐個(gè)同步滅void nztm(uint t,uchar a);/
8、逆時(shí)逐個(gè)同步滅void hwzjl(uint t,uchar a); /橫往中間亮void hwzjm(uint t,uchar a); /橫往中間滅void nzdl(uint t,uchar a); /逆時(shí)逐段亮void nzdgl(uint t,uchar a); /逆時(shí)逐段一個(gè)點(diǎn)亮void jgs(uint t,uchar a); /間隔閃/*/void zg(uint t,uchar a)/兩邊逐個(gè)亮uchar i,j; for(j=0;j<a;j+) P0=P1=P2=P3=0xff; P0=0x7f;delay(t); for(i=0;i<7;i+) P0=table
9、1i+1; P2=table1i; delay(t); P2=0x00;P1=0xfe; delay(t); for(i=0;i<7;i+) P1=tablei+1;P3=table1i;delay(t); P3=0x00;delay(t); void qs(uint t,uchar a) /全部閃爍uchar j;for(j=0;j<a;j+) P0=P1=P2=P3=0xff; delay(t); P0=P1=P2=P3=0x00; delay(t); void zgxh(uint t,uchar a) / 逆時(shí)針逐個(gè)點(diǎn)亮uchar i,j;for (j=0;j<a;j+
10、)P0=P1=P2=P3=0xff;for (i=0;i<8;i+)P0=table1i;delay(t);for(i=0;i<8;i+)P1=tablei;delay(t);for(i=0;i<8;i+)P3=tablei;delay(t);for(i=0;i<8;i+)P2=tablei;delay(t);void nszgm(uint t,uchar a) / 逆時(shí)針逐個(gè)滅uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0x00;for (i=0;i<8;i+)P0=table3i;delay(t);for (i=0;i<
11、;8;i+)P1=table2i;delay(t);for (i=0;i<8;i+)P3=table2i;delay(t);for (i=0;i<8;i+)P2=table2i;delay(t);void djs(uint t,uchar a) /對(duì)角閃uchar j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;P0=P3=0x00;delay(t);P0=P1=P2=P3=0xff;P1=P2=0x00;delay(t);void lbzgm(uint t,uchar a)/兩邊逐個(gè)滅 uchar i,j; for (j=0;j<a;j+) P0=
12、P2=0x00;P3=0x01;delay(t);for(i=7;i>1;i-)P1=tablei-1;P3=table1i-2;delay(t);P1=0xfe;P3=0xff;delay(t);P1=0xff;P2=0x01;delay(t);for(i=7;i>1;i-)P0=table1i-1;P2=table1i-2;delay(t);P0=0x7f;P2=0xff;delay(t);P0=0xff;delay(t); void sztl(uint t,uchar a)/順時(shí)逐個(gè)同步亮uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff
13、;for(i=0;i<8;i+)P0=tablei;P1=P2=P3=table1i;delay(t);void nztl(uint t,uchar a)/逆時(shí)逐個(gè)同步亮uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table1i;P1=P2=P3=tablei;delay(t);void sztm(uint t,uchar a)/順時(shí)逐個(gè)同步滅uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0x00;for(i=0;i<8;i+)P0=table2i;P1=P2=
14、P3=table3i;delay(t);void nztm(uint t,uchar a)/逆時(shí)逐個(gè)同步滅uchar i,j;for(j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table3i;P1=P2=P3=table2i;delay(t);void hwzjl(uint t,uchar a) /橫往中間亮uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=P2=P1=table1i;P3=tablei;delay(t);void hwzjm(uin
15、t t,uchar a) /橫往中間滅uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0x00;for(i=0;i<8;i+)P0=P2=P1=table3i;P3=table2i;delay(t);void nzdl(uint t,uchar a) /逆時(shí)逐段亮uchar i,j;for (j=0;j<a;j+)P0=P1=P2=P3=0xff;for(i=0;i<8;i+)P0=table1i;delay(t);P0=0xff;for(i=0;i<8;i+)P1=tablei;delay(t);P1=0xff;for(i=0;i&l
16、t;8;i+)P3=tablei;delay(t);P3=0xff;for(i=0;i<8;i+)P2=tablei;delay(t);P2=0xff;void nzdgl(uint t,uchar a) /逆時(shí)逐段一個(gè)點(diǎn)亮uchar i,j,k,l;for (j=0;j<a;j+)k=table10;P0=k;l=table0;P1=P2=P3=l;delay(t);for(i=0;i<8;i+)k=_crol_(k,-1);P0=k;l=_crol_(l,1);P1=P2=P3=l;delay(t);void jgs(uint t,uchar a) /間隔閃uchar j
17、;for (j=0;j<a;j+)P0=0x55;P1=P2=P3=0xaa;delay(t);P0=0xaa;P1=P2=P3=0x55;delay(t);void main()uchar i;while(1) zg(100,1); /兩邊逐個(gè)亮 lbzgm(100,1); /兩邊逐個(gè)滅 jgs(300,10); djs(100,20); /對(duì)角閃/P1=P2=P3=0xff;for(i=0;i<3;i+) P0=0x00;delay(800); P0=0xff;delay(800); P0=0x00; for(i=0;i<3;i+) P1=0x00;delay(800);
18、 P1=0xff;delay(800); P1=0x00; for(i=0;i<3;i+) P3=0x00;delay(800); P3=0xff;delay(800); P3=0x00; for(i=0;i<3;i+) P2=0x00;delay(800); P2=0xff;delay(800); qs(500,3);/for(i=0;i<6;i+) zgxh(50,1); nszgm(50,1); djs(100,20); /對(duì)角閃for(i=0;i<3;i+) zg(100,1); /兩邊逐個(gè)亮 lbzgm(100,1); /兩邊逐個(gè)滅 qs(200,10);dj
19、s(100,50); for(i=0;i<5;i+) sztl(200,1); /順時(shí)逐個(gè)同步亮nztm(200,1); nztl(200,1);sztm(200,1); /順時(shí)逐個(gè)同步滅 djs(300,10); /對(duì)角閃 nzdgl(300,10); /逆時(shí)逐段一個(gè)點(diǎn)亮 jgs(300,10); /間隔閃for(i=0;i<3;i+) zgxh(100,1); nszgm(100,1); nzdl(200,3); /逆時(shí)逐段亮 jgs(50,100); /間隔閃/nzdgl(50,40); /逆時(shí)逐段一個(gè)點(diǎn)亮for(i=0;i<4;i+) zg(100,1);qs(100
20、,10); lbzgm(100,1); for(i=0;i<3;i+) zgxh(100,1); nszgm(100,1); djs(1000,10); for(i=0;i<10;i+) hwzjl(200,1); /橫往中間亮hwzjm(200,1); /橫往中間滅 djs(300,10); /對(duì)角閃for(i=0;i<5;i+) zgxh(100,1); nszgm(100,1); djs(100,20); /對(duì)角閃 zg(300,1); lbzgm(300,1); for(i=0;i<5;i+) sztl(200,1); /順時(shí)逐個(gè)同步亮nztm(200,1);
21、nztl(200,1);sztm(200,1); /順時(shí)逐個(gè)同步滅 djs(500,20); /對(duì)角閃 djs(100,30); /對(duì)角閃 djs(50,50); /對(duì)角閃 delay(1000);void delay(uint t) uint x,y;for (x=t;x>0;x-)for (y=120;y>0;y-);點(diǎn)陣顯示的程序如下:RS_CNTEQU30HNUMEQU31HTCON_TEQU32HORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVRS_CNT,#00HMOV NUM,#00HMOVTCON_T,#00HMOVTMOD,#01H
22、MOVTH0,#(65536-5000)/256MOVTL0,#(65536-5000)MOD 256MOVIE,#82HSETBTR0SJMP$INT_T0:MOVTH0,#(65536-5000)/256MOVTL0,#(65536-5000)MOD 256MOV DPTR,#TABLEMOVA,RS_CNTMOVCA,A+DPTRMOVP3,AMOVDPTR,#TABLE1MOVA,NUMMOVB,#8MULABADDA,RS_CNTMOVCA,A+DPTRCPLAMOVP0,AINCRS_CNTMOVA,RS_CNTCJNEA,#8,NEXTMOVRS_CNT,#00H NEXT:INCTCON_T MOVA,TCON_TCJNEA,#200,RETUNEMOVTCON_T,#00HINCNUMMOVA,NUMCJNEA,#7,RETUNEMOVNUM,#00HRETUNE:R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幾分包合同范本
- 農(nóng)村耕地流轉(zhuǎn)合同范本
- 產(chǎn)品免責(zé)合同范本
- 倉儲(chǔ)臨時(shí)合同范本
- 化妝產(chǎn)品合同范本
- 信息驗(yàn)收合同范例
- 書法裝裱售賣合同范本
- 農(nóng)村集體資源招租合同范本
- 免除追償工傷合同范本
- 兄弟籃球合同范本
- 2024年-ITSS新標(biāo)準(zhǔn)培訓(xùn)學(xué)習(xí)材料
- 第2課《讓美德照亮幸福人生》第2框《做守家庭美德的好成員》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- (正式版)SHT 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 2024屆廣東省深圳市中考物理模擬試卷(一模)(附答案)
- 前庭功能鍛煉科普知識(shí)講座
- 供應(yīng)鏈戰(zhàn)略布局與區(qū)域拓展案例
- 上海話培訓(xùn)課件
- 注塑車間績效考核方案
- 初中英語閱讀理解專項(xiàng)練習(xí)26篇(含答案)
- 誦讀經(jīng)典傳承文明課件
- 高中數(shù)學(xué)選擇性必修3 教材習(xí)題答案
評(píng)論
0/150
提交評(píng)論