微機原理與接口技術(shù)課程設(shè)計_第1頁
微機原理與接口技術(shù)課程設(shè)計_第2頁
微機原理與接口技術(shù)課程設(shè)計_第3頁
微機原理與接口技術(shù)課程設(shè)計_第4頁
微機原理與接口技術(shù)課程設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄一 設(shè)計目地。2二 設(shè)計要求。2三 設(shè)計任務(wù)及項目說明。2四 硬件設(shè)計原理4.1最小系統(tǒng)原理圖及PCB。34.2擴展系統(tǒng)原理圖及PCB。44.3硬件工作原理。6五 購置元器件5.1最小系統(tǒng)元器件。75.2擴展元件。8六 程序設(shè)計6.1程序設(shè)計原理。86.2程序內(nèi)容。8七 作品功能。29八 心得體會。29九 參考文獻。30一設(shè)計目的使大家對學(xué)習(xí)的微機原理與接口技術(shù)進一步的掌握和鞏固,掌握電路板的焊接技術(shù),會利用軟件實現(xiàn)簡單的程序設(shè)計和調(diào)試。二設(shè)計要求根據(jù)最小系統(tǒng)的原理圖及PCB,購齊相關(guān)電子元件,完成實驗開發(fā)板的焊接,并為擴展留下接口。然后利用最小系統(tǒng)的接口,完成擴展訓(xùn)練,擴展項目如下,可自

2、行選擇(也可超出以下題目自擬,需包含輸入和輸出)。a)鍵盤與數(shù)碼箮顯示,至少包含4個鍵盤及兩位數(shù)碼管顯示,能實現(xiàn)099以內(nèi)數(shù)字的遞增和遞減顯示;b)LCD顯示器件顯示,能在屏幕上顯示字符及數(shù)字;c)18B20數(shù)字溫度測量,并用數(shù)碼管顯示;d)流水燈(至少3個樣式);e)交通燈(需有時間顯示);f)音樂播放器,可顯示歌曲的播放g)小型兩相步進電機的驅(qū)動;h)小型直流電機調(diào)速;i)串行通訊+LCD數(shù)字顯示;j)電壓測量顯示(電壓可由電位器提供);k)超聲測距顯示;三設(shè)計任務(wù)及項目說明這里選擇流水燈項目。流水燈是一串按一定的規(guī)律像流水一樣連續(xù)閃亮。流水燈控制是可編程控制器的一個應(yīng)用,其控制思想在工業(yè)

3、控制技術(shù)領(lǐng)域也同樣適用。流水燈控制可用多種方法實現(xiàn),但對現(xiàn)代可編程控制器而言,利用移位寄存器實現(xiàn)最為便利。通常用左移寄存器實現(xiàn)燈的單方向移動;用雙向移位寄存器實現(xiàn)燈的雙向移動。本案例利用價格低廉的AT89C51系列單片機控制基色LED燈泡從而實現(xiàn)豐富的變化。四硬件設(shè)計原理4.1最小系統(tǒng)原理圖及PCB最小系統(tǒng)原理圖8051最小系統(tǒng)PCB4.2擴展系統(tǒng)原理圖及PCB擴展系統(tǒng)原理圖擴展系統(tǒng)PCB4.3硬件工作原理整個系統(tǒng)工作由軟件程序控制運行,以AT89C51單片機作為主控核心,與驅(qū)動等模塊組成核心主控制模塊。在主控模塊上設(shè)有晶振電路和32個LED顯示二極管,根據(jù)需要編寫若干種亮燈模式,根據(jù)各種亮燈

4、時間的不同需要,在不同時刻輸出燈亮或燈滅的控制信號。五購置元器件5.1最小系統(tǒng)元器件名稱數(shù)量標(biāo)號實驗板(洞洞板)需要有db9和USB座口1-STC單片機任選一個STC11F16xSTC11F20x1U3DIP40底座1U3SSOP28轉(zhuǎn)DIP28板1U2PL23031U2DIP28底座(寬)1U2USB底座兩種類型選其中一種即可1USB140芯插針2P1-P6晶振12MHz2X1 X2電阻27R 2個1.5k 1個1K 1個10k 2個4.7K 1個R6 R7R5R1R4 R8R25.1k 9腳排阻1R3瓷片電容30pf 2個22pf 2個C12 C13C6 C7電容25V0.1uf 7個25

5、v10uf 2個C1-c5 C9-C10C8 C11二極管1N40011D1復(fù)位按鍵1S2自鎖開關(guān)1S1Max232/sp2321U1DIP16底座1U1DB9 母頭1J1LED綠1Led1杜邦線(根據(jù)實際需要根數(shù)購買)若干-跳線帽2P1 P2USB線1-5.2擴展元件LED 紅321k電阻 32六程序設(shè)計6.1程序設(shè)計原理用查表的方法控制點亮流水燈,即移位的思想:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;/左邊單個點亮0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;/右邊逐個點亮0x01,0x03,0x07,0x

6、0f,0x1f,0x3f,0x7f,0xff;/左邊逐個熄滅0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;/右邊單個點亮0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;/左邊逐個點亮0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;/右邊逐個熄滅0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;/左邊逐兩個點亮0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;/右邊逐兩個點亮0xf8,0xf1,0xe3,0x07,0x8f,0x1

7、f,0xff;/左邊逐三個亮0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;/右邊逐三個亮6.2程序內(nèi)容#include<reg52.h> #define uchar unsigned charuchar flag=200;/uchar code Tab1=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF;/暗中左移向下uchar code Tab2=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF;/暗中右移向上uchar code Tab3=0x01,0x02,0x04,0x0

8、8,0x10,0x20,0x40,0x80,0x00;/亮中左移向下uchar code Tab4=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00;/亮中右移向上uchar code Tab11=0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff;/暗中左移向下uchar code Tab22=0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff;/uchar code Tab33=0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF;uchar cod

9、e Tab44=0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF;uchar code Tab55=0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff;uchar code Tab5=0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff;uchar code Tab6=0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff;uchar code Tab7=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar code T

10、ab8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/void shansuo();void xl();/void delay(void) unsigned char m,n;for(m=0;m<flag;m+) for(n=0;n<250;n+) ;/ void hy1(void) /點亮狀態(tài)逆時針旋轉(zhuǎn)90度(一個一個滅)unsigned char i;for(i=0;i<8;i+) P0=Tab11i;P3=Tab22i;P2=Tab11i;P1=Tab22i;delay();for(i=0;i<8;i+) P0=Tab44i;P

11、3=Tab55i;P2=Tab44i;P1=Tab55i;delay();/void hy2(void) /暗中逆時針轉(zhuǎn)360。(一個一個點亮)unsigned char i;for(flag=250;flag>0;flag=flag-50)P0=0xff;P3=0xff;P2=0xff;P1=0xff;for(i=0;i<8;i+) P0=Tab11i;delay(); for(i=0;i<8;i+) P2=Tab11i;delay(); for(i=0;i<8;i+) P1=Tab22i;delay(); for(i=0;i<8;i+) P3=Tab22i;d

12、elay();flag=250;/ void hy3(void) /點亮中逆時針轉(zhuǎn)360°(一個一個滅)unsigned char i;flag=50;P0=0x00;P3=0x00;P2=0x00;P1=0x00;for(i=0;i<8;i+) P0=Tab44i;delay();for(i=0;i<8;i+) P2=Tab44i;delay(); for(i=0;i<8;i+) P1=Tab33i;delay(); for(i=0;i<8;i+) P3=Tab33i;delay();flag=150;/void hy4(void) /點亮狀態(tài)順時針旋轉(zhuǎn)90

13、度(一個一個滅)unsigned char i;for(i=0;i<8;i+) P3=Tab11i;P0=Tab22i;P1=Tab11i;P2=Tab22i;delay(); for(i=0;i<9;i+) P3=Tab6i;P0=Tab5i;P1=Tab6i;P2=Tab5i;delay();/ void hy2_1(void) /暗中逆時針轉(zhuǎn)90度。(一個一個點亮)unsigned char i;flag=200;P0=0xff;P3=0xff;P2=0xff;P1=0xff;for(i=0;i<9;i+) P0=Tab11i;delay();flag=110;for(

14、i=0;i<9;i+) P2=Tab11i;delay();flag=80;for(i=0;i<9;i+) P1=Tab22i;delay();flag=80; for(i=0;i<9;i+) P3=Tab22i;delay();/ void hy2_2(void) /暗中逆時針轉(zhuǎn)180度。(一個一個點亮)unsigned char i;P0=0xff;P3=0xff;P2=0xff;P1=0xff;for(i=0;i<8;i+) P0=Tab11i;delay();for(i=0;i<8;i+) P2=Tab11i;delay();P0=0xff;P2=0xff

15、;for(i=0;i<8;i+) P1=Tab22i;delay(); for(i=0;i<8;i+) P3=Tab22i;delay();P3=0xff;P1=0xff;/ void hy2_3(void) /暗中向下180。(一個一個點亮)unsigned char i;P0=0xff;P3=0xff;P2=0xff;P1=0xff;for(i=0;i<8;i+) P0=Tab11i;P3=Tab11i;delay(); for(i=0;i<8;i+) P2=Tab11i;P1=Tab11i;delay();/ flag=100;for(i=0;i<8;i+)

16、 P2=Tab33i; P1=Tab33i;delay(); for(i=0;i<8;i+) P0=Tab33i;P3=Tab33i;delay();flag=200;/ void hy2_4(void) /暗中逆時針轉(zhuǎn)360。(一個一個點亮)unsigned char i;P0=0xff;P3=0xff;P2=0xff;P1=0xff; for(i=0;i<8;i+) P0=Tab11i;P1=Tab22i;delay(); for(i=0;i<8;i+) P2=Tab11i;P3=Tab22i;delay();/ flag=100;for(i=0;i<8;i+) P

17、0=Tab44i;P1=Tab5i;delay(); for(i=0;i<8;i+) P2=Tab44i;P3=Tab5i;delay(); flag=200;/ void hy5(void) /先向下伸展,然后向上伸展逐漸點亮unsigned char i;for(i=0;i<8;i+) P0=Tab8i;P3=Tab8i;delay();P0=0xff;P3=0xff; for(i=0;i<8;i+) P2=Tab8i;P1=Tab8i;delay();P2=0xff;P1=0xff;for(i=0;i<8;i+) P2=Tab7i;P1=Tab7i;delay()

18、;P2=0xff;P1=0xff;for(i=0;i<8;i+) P0=Tab7i;P3=Tab7i;delay();P0=0xff;P3=0xff;/void jr(void)/聚攏unsigned char i;for(i=0;i<9;i+) /8位控制碼 P0=Tab1i;P3=Tab1i;P2=Tab2i;P1=Tab2i; delay(); for(i=0;i<9;i+) P0=Tab2i;P3=Tab2i;P2=Tab1i;P1=Tab1i;delay(); /for(i=0;i<9;i+) P0=Tab1i;P3=Tab1i;P2=Tab2i;P1=Tab

19、2i; delay();for(i=0;i<9;i+) P0=Tab2i;P3=Tab2i;P2=Tab1i;P1=Tab1i;delay();xl(); /星星眨眼xl(); /星星眨眼/for(i=0;i<9;i+) P0=Tab3i; P3=Tab3i;P2=Tab4i; P1=Tab4i;delay();for(i=0;i<9;i+) P0=Tab4i;P3=Tab4i; P2=Tab3i;P1=Tab4i;delay();/for(i=0;i<9;i+) P0=Tab1i;P3=Tab1i;P2=Tab2i; P1=Tab2i; delay(); for(i=

20、0;i<9;i+) P0=Tab4i;P3=Tab4i;P2=Tab3i;P1=Tab3i;delay(); /for(i=0;i<9;i+) P0=Tab3i; P3=Tab3i;P2=Tab4i;P1=Tab4i;delay(); for(i=0;i<9;i+) P0=Tab2i;P3=Tab2i; P2=Tab1i;P1=Tab1i; delay();/void azzy(void) /暗中向下unsigned char i;flag=200;for(i=0;i<8;i+) P2=0xff;P1=0xff; P3=Tab1i;P0=Tab1i;delay(); f

21、or(i=0;i<9;i+) P3=0xff;P0=0xff; P2=Tab1i;P1=Tab1i;delay();/void azyy(void) /暗中you移unsigned char i;for(i=0;i<8;i+) P0=0xff;P3=0xff;P2=Tab2i;P1=Tab2i; delay(); for(i=0;i<9;i+) P0=Tab2i;P3=Tab2i;delay(); / void led_flow1(void) unsigned char i;for(i=0;i<9;i+) P2=0;P1=0;P3=Tab3i;P0=Tab3i;dela

22、y(); for(i=0;i<9;i+) P2=Tab3i;P1=Tab3i;delay(); / void lzyy(void) /亮中右移unsigned char i;for(i=0;i<9;i+) P0=0x00;P3=0x00;P2=Tab4i;P1=Tab4i;delay(); for(i=0;i<9;i+) P0=Tab4i;P3=Tab4i;delay();/void shansuo(void)/全部燈閃爍uchar i;for(i=0;i<3;i+)P0=0xff; P3=0xff; P2=0xff; P1=0xff;delay(); delay();

23、P0=0x00; P3=0x00; P2=0x00; P1=0x00;delay(); delay();void xl(void)/相鄰倆個變換uchar i;for(i=0;i<3;i+)P0=0xAA;P3=0xAA;P2=0xAA;P1=0xAA;delay();delay();P0=0x55;P3=0x55;P2=0x55;P1=0x55;delay();delay();/void sxb(void)/上下半unsigned char i;P0=0xff;P3=0xff;P2=0x00;P1=0x00;delay();delay();delay();delay();for(i=0

24、;i<8;i+) P0=Tab11i;P3=Tab11i;delay();for(i=0;i<8;i+) P0=Tab11i;P3=Tab11i;delay(); for(i=0;i<8;i+) P0=Tab11i;P3=Tab11i;delay();for(i=0;i<3;i+) P0=0x00;P3=0x00;delay();delay();P0=0xff;P3=0xff;delay();delay();/void jc(void)/uchar i;for(i=0;i<3;i+) P0=0x00;P1=0x00;P3=0xff;P2=0xff;delay();

25、delay();delay();delay();P3=0x00;P2=0x00;P0=0xff;P1=0xff;delay();delay();delay();delay();/void azzy_1(void) /暗中向下unsigned char i,i1;for(flag=80;flag>0;flag=flag-10) for(i=0;i<8;i+) P2=0xff;P1=0xff;P3=Tab1i;P0=Tab1i;delay(); for(i=0;i<9;i+) P3=0xff;P0=0xff;P2=Tab1i;P1=Tab1i;delay();flag=10; f

26、or(i1=0;i1<30;i1+) for(i=0;i<8;i+) P2=0xff;P1=0xff; P3=Tab1i;P0=Tab1i;delay(); for(i=0;i<9;i+) P3=0xff;P0=0xff;P2=Tab1i;P1=Tab1i; delay(); flag=200;/void js(void)/結(jié)束uchar i;hy2_3();for(i=0;i<3;i+) P0=0xff;P2=0xff;delay();delay();P0=0x00;P2=0x00;delay();delay();/for(i=0;i<3;i+) P3=0xff

27、;P1=0xff;delay();delay();P3=0x00;P1=0x00;delay();delay();/for(i=0;i<3;i+) P3=0x00;P1=0x00;P0=0x00;P2=0x00;delay();delay();P3=0xff;P1=0xff;P0=0xff;P2=0xff;delay();delay();/void main(void) uchar x1,x2;x1=P3; x2=x1&0x01;x1=x1>>1; while (1)azzy_1();/hy2(); /暗中逆時針轉(zhuǎn)360°(一個一個點亮)hy3(); /點亮中逆時針轉(zhuǎn)360°(一個一個滅)hy2_1();/暗中逆時針轉(zhuǎn)90度。(一個一個點亮)hy2_2();/暗中逆時針轉(zhuǎn)180度。(一個一個點亮)hy2_3();/暗中向下180。(一個一個點亮)hy3(); hy2_4();/hy1(); /暗中狀態(tài)逆時針旋轉(zhuǎn)90度(一個一個亮)jc();/交叉四葉草h

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論