發(fā)光二極管流水燈試驗_第1頁
發(fā)光二極管流水燈試驗_第2頁
發(fā)光二極管流水燈試驗_第3頁
發(fā)光二極管流水燈試驗_第4頁
發(fā)光二極管流水燈試驗_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、文檔實驗發(fā)光二極管流水燈實驗一、實驗?zāi)康模?.通過AT89C51單片機(jī)控制8個發(fā)光二極管,八個發(fā)光二極管分別接在單片機(jī)的P0.0-P0.7接口上,輸出“ 0”時,發(fā)光二極管亮。開始時 P0.0 - P0.1.一 P0.7,實現(xiàn)亮點以1HZ頻率循環(huán) 移動。2.用PROTEU酸計,仿真以AT89C51為核心的發(fā)光二極管流水燈實驗裝置。3.掌握發(fā)光二極管的控制方法。、PROTEUS路設(shè)計:L.L LRESFAGK-8dOO 不 nm -1 1«=.». 1 A /4 .耳國 TC 曰丁. 產(chǎn) d oo - r一RIB .I 1 noo 甲”1 而 T-C包丁 書 1><

2、; 三、程序部分#include<reg51.h>sbit control = P3A7;void delay(int z)int x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main()int i,tmp;control = 0;P0 = 0xef;delay(1000);for(i=1;i<=7;i+)tmp = P0;P0 = (tmp>>1)+ 0x80; delay(1000);實驗二開關(guān)控制LED數(shù)碼管實驗一、實驗?zāi)康模? .通過AT89C51讀入4位開關(guān)K1、K2、K3、K4的輸入狀態(tài),并按照二進(jìn)制

3、編碼關(guān)系0-F輸出到數(shù)碼管顯示。(如 K4K3K2K1全部按下,則顯示 F;若只有K2按下,則顯示 2。)2 .掌握LED數(shù)碼管的靜態(tài)顯示。3 .掌握I/O 口的控制方法。、PROTEUS路設(shè)計:RP1RESF'ACK B工U1C2IIIRJXVADO PO.mDI PO.2/AD2 PO3JAD3 FO AAAD4 P0.5WD5 PO.6JAD& PO.7JIAD7F3QRKD P3.1/TXD袍耐網(wǎng) P2.1MP22j«k1O 校如1 PS4M12 P2.5XA13 P2J6XAH P2.7iA15CfCRYSTALTl產(chǎn)J;_ IDSPSENP3.-3ff5f

4、TP3.47TOIP3.5rT1P3.6 便才皿3E JJa3三、程序部分#include<reg51.h>unsigned char table尸0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,;unsigned char KEY;void main()while(1) KEY = P2; switch(KEY) case 0xff:P0 = table0;break;case 0xfe:P0 = table1;break;case 0xfd:P0 = table2;b

5、reak;case 0xfc:P0 = table3;break;case 0xfb:P0 = table4;break;case 0xfa:P0 = table5;break;case 0xf9:P0 = table6;break;case 0xf8:P0 = table7;break;case 0xf7:P0 = table8;break;case 0xf6:P0 = table9;break;case 0xf5:P0 = table10;break;case 0xf4:P0 = table11;break;case 0xf3:P0 = table12;break;case 0xf2:P0

6、 = table13;break;case 0xf1:P0 = table14;break;case 0xf0:P0 = table15;break; default :break;實驗三外中斷優(yōu)先級實驗一、實驗?zāi)康模? .理解單片機(jī)中斷優(yōu)先級和優(yōu)先權(quán)。2 .用PROTEUS:計,仿真基于 AT89C51片機(jī)的中斷優(yōu)先級實驗。3 .掌握中斷編程方法。單片機(jī)主程序控制P0 口數(shù)碼管循環(huán)顯示08;外中斷0、外中斷1發(fā)生時分別在 P2 口、P1 口依次顯示08。通過實驗可演示高優(yōu)先級可中斷低優(yōu)先級,但低優(yōu)先級的 中斷請求不能中斷高優(yōu)先級。二、PROTEUS路設(shè)計:RP1RE獅也陵hlJI gll 艮

7、HA 一良 .呂 弋a(chǎn)dMALIXTAL2IQRSTFsej Lb 百.用.Q徜期 配.irMi PlI.263E; POJi'XH PO.+'.AM 曰 5>'fiD5 MM PD.燈即P2CUWP2 1j0« 理力同口 P2。網(wǎng) I P2.411012 P2.5/W3 用囪用4 P2 7/SJ5P3貨而" p 二 4n pj t/n po.aWP37fflB、程序部分#include<reg51.h>共陽數(shù)碼unsigned char code table尸0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0

8、xF8,0x80;管的段碼void delay(int z)/延時子程序,大約 1msint x,y;for(x=110;x>0;x-) for(y=z;y>0;y-);int i0=0,i1=0;void main()int i;EX0 = 1;EX1 = 1;IT0 = 1;IT1 = 1;PX0 = 1;PX1 = 0;EA = 1;while(1)for(i=0;i<9;i+)/用于中斷0,1顯示數(shù)碼管的變量/開外部中斷0/開外部中斷1/開總中斷/P0循環(huán)顯示08 P0 = tablei; delay(200); void int0()interrupt 0/外部中斷

9、0優(yōu)先級高于外部中斷 1 ,中斷號為0for(i0=0;i0<9;i0+)/ 顯示 08 P2 = tablei0; delay(200); void int1()interrupt 2/ 外部中斷 1,中斷號為 2for(i1=0;i1<9;i1+)/ 顯示 08 P1 = tablei1; delay(200); 實驗四 60S倒計時實驗、實驗?zāi)康?1 .通過AT89C51的定時器實現(xiàn)60S倒計時,顯示采用兩位數(shù)碼管動態(tài)顯示2 .用PROTEUS2:計,仿真基于 AT89C51II片機(jī)的60S倒計時實驗。、PROTEUS路設(shè)計:1JFIDin P112 P123" P

10、I” P14529_E3DM31 WALIXTAL2RSTpie?"P178«j£n 16PiEN 乩E 育盟皿及P2J收 F2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.77A15P3WRXD F3.1/D© P3.2/IW P3,3/n7|TP3.4HDP3.5/HP3.8MWP3.7/RD三、程序部分#include<reg52.h>sbit GE = P2A1;sbit SHI = P2A0;int count = 0,number = 60;unsigned char code tab

11、le尸0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;void delay(int z);void display。;void main()EA = 1;ET0 = 1;TMOD = 0X01;TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;TR0 = 1;while(1)display。;文檔void delay(int z)int x,y;for(x=110;x>0;x-) for(y=z;y>0;y-); void d

12、isplay。SHI = 0;GE = 1;P1 = tablenumber%10;delay(10);GE = 0;SHI = 1;P1 = tablenumber/10; delay(10);void time_count() interrupt 1TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;count+;if(count = 20)count = 0; number-;if(number < 0)number = 59;又檔實驗五 矩陣式鍵盤的設(shè)計一、實驗?zāi)康模? .掌握鍵盤設(shè)計中按鍵識別的原則。2 .用PROTEUS:計一個常規(guī)

13、4X4的矩陣鍵盤。3 .鍵盤編碼規(guī)則自己定義,分別對應(yīng)數(shù)字鍵 0-9、A-F,按下對應(yīng)的按鍵顯示在數(shù) 碼管上顯示對應(yīng)的數(shù)據(jù)。二、PROTEUS路設(shè)計:.卜 XTOJ XTA12. HatFJ.IfTWB 。旦mrro -u-i'IMTIF3.»m P3jmIF3 7/HE-raM用內(nèi)口11口口",三、程序部分#include<reg51.h>sbit show_1 = P1A0;sbit show_2 = P1a1; sbit show_3 = P1A2; sbit show_4 = P1A3;unsigned char j,k,temp,key;uns

14、igned char code table尸0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,;void delay(unsigned char i);void display(unsigned char num);void key_scan();void main()while(1)key_scan(); display(key);void delay(unsigned char i)for(j=i;j>0;j-) for(k=110;k>0;k-);void displ

15、ay(unsigned char num)P0=tablenum;show_4 = 0;void key_scan()P2=0xef;temp=P2;temp=temp&0x0f;if(temp!=0x0f)delay(10);if(temp!=0x0f)temp=P2;switch(temp)case 0xe7:key=0;break;case 0xeb:key=1;break;case 0xed:key=2;break;case 0xee:key=3;break;while(temp!=0x0f)文檔temp=P2;temp=temp&0x0f;display(key);P

16、2=0xdf;temp=P2;temp=temp&0x0f;if(temp!=0x0f)delay(10);if(temp!=0x0f)temp=P2;switch(temp)case 0xd7: key=4; break;case 0xdb: key=5; break;case 0xdd: key=6; break;case 0xde: key=7; break;while(temp!=0x0f)temp=P2;temp=temp&0x0f;display(key);P2=0xbf;temp=P2;temp=temp&0x0f;if(temp!=0x0f)delay(

17、10);if(temp!=0x0f)temp=P2;switch(temp)case 0xb7:key=8;break;case 0xbb:key=9;break;case 0xbd:key=10;break;case 0xbe:key=11;break;while(temp!=0x0f)temp=P2;temp=temp&0x0f; display(key);P2=0x7f;temp=P2;temp=temp&0x0f;if(temp!=0x0f)delay(10);if(temp!=0x0f)temp=P2;switch(temp)case 0x77:key=12;brea

18、k;case 0x7 b: key=13; break;case 0x7d: key=14; break;case 0x7e: key=15; break;while(temp!=0x0f)temp=P2;temp=temp&0x0f;display(key);實驗六 AD 轉(zhuǎn)換程序設(shè)計、實驗?zāi)康?1 .掌握轉(zhuǎn)換器ADC0809勺使用。2 .用PROTEUS:計,仿真基于 AT89C51片機(jī)的A/D轉(zhuǎn)換實驗。3 .通過改變電位器的值改變模擬量的輸入,經(jīng)轉(zhuǎn)換為數(shù)字量在LED上顯示,比對模擬量和數(shù)字量的關(guān)系。二、PROTEUS路設(shè)計:己35raiKDi pa ami KIJftM 用叫制P

19、OT>.:'1*2M 也3FZ3MQ PJ3M1F21AU P2BA1JV±M«14 REI色精pn:>:DRJ1T<D Fjjrwni p3jswTT陽MTO pqjxrirarflT受工主p*00 a ADO I jmaeME"1TMET三、程序部分#include<reg51.h>sbit OE = P3A1;sbit START = P3A3;sbit NUM_1 = P3A4;sbit NUM_2 = P3A5;sbit NUM_3 = P3A6;sbit NUM_4 = P3A7;sbit dp = P1A7;un

20、signed char code table尸0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned int date;void show();void delay(int z)int x,y;for(x=z;x>0;x-) for(y=110;y>0;y-);void main()EX0 = 1;IT0 = 1;EA = 1;START = 0;START = 1;START = 0;while(1);void over() interrupt 0OE = 1;date = P0;OE = 0;show();START = 0;START = 1;ST

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論