單片機實驗報告_第1頁
單片機實驗報告_第2頁
單片機實驗報告_第3頁
單片機實驗報告_第4頁
單片機實驗報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機技術基礎實驗報告學 院: 自動化學院 專 業(yè):電氣工程及其自動化 班 級: 學 號: 姓 名: 楊 鵬 任課教師: 實驗 1:Proteus軟件快速入門一、實驗目的與要求:1、認識Proteus 軟件;2、掌握用 Proteus 軟件建立文件;3、掌握如何使用 Proteus 軟件元件庫; 二、實驗設備、儀器、工具:安裝有Proteus 和 Keil 軟件的微機。三、實驗步驟:在 Proteus 軟件中畫原理圖四、實驗結果:實驗 2 :Keil uVision 軟件快速入門一、實驗目的與要求:1、認識 Keil uVision 軟件;2、掌握用 Keil uVision 軟件建立工程;3

2、、掌握用 Keil uVision 軟件進行仿真調(diào)試;二、實驗設備、儀器、工具:安裝有 proteus 和 keil 軟件的電腦。三、實驗步驟:1、在 proteus 軟件中畫原理圖;2、keil 軟件下編寫源程序并編譯形成可執(zhí)行文件.hex;3、載源程序;4、仿真。四、實驗結果:六、源程序代碼:ORG 0000HAJMP MAIN1ORG 0003HMAIN1:MOV A,#0FEHMAIN: MOV P0,ARL AAJMP MAINEND實驗 3:單片機最小應用系統(tǒng)一、實驗目的與要求:1. 掌握單片機最小系統(tǒng)的設計方法;2. 掌握如何使用Proteus軟件元件庫;二、實驗設備、儀器、工具

3、:安裝有 Proteus和Keil 軟件的微機。三、實驗內(nèi)容:1. 設計 AT89C51(或 STC89C51)單片機最小系統(tǒng);2. 實現(xiàn)編碼 4×4鍵盤及8位LED 顯示驅(qū)動;四、實驗步驟:1. 在 Proteus 軟件中畫原理圖;2. Keil 軟件下編寫源程序并編譯形成可執(zhí)行文件.hex;3. 載源程序;4. 仿真。五、實驗結果:六、源程序代碼:#include<reg51.h>#define uchar unsigned char#define uint unsigned intvoid delayms( uint x) uchar i; while(x-) fo

4、r(i=0;i<120;i+); void main(void) while(1) P0=0xfd; delayms(100); 實驗 4 :單片機最小應用系統(tǒng)軟件編程一、實驗目的與要求:1. 掌握單片機指令及其編程方法;2. 掌握Keil C使用方法;二、實驗設備儀器工具:安裝有 Proteus 和 Keil 軟件的微機。三、實驗內(nèi)容:1. 編程實現(xiàn)4x鍵盤掃描編碼;2. 編程實現(xiàn)8位LED顯示子程序;四、實驗步驟:1. Keil軟件下編寫源程序并編譯形成可執(zhí)行文件.hex;2. 載源程序;3. 仿真。五、實驗結果:六、源程序代碼:#include<reg51.h>#inc

5、lude<intrins.h>#define uchar unsigned char#define uint unsigned intP0=0x7f; for(i=0;i<8;i+) delayms(100); P0=_cror_(P0,1); P0=0x7f; delayms(100);P0=0xfe; delayms(100);P0=0xfe; delayms(100);P0=0x00; delayms(100);P0=0xff;void delayms(uint x) uchar i;while(x-) for(i=0;i<120;i+);void main( v

6、oid)uint i; while(1) P0=0xfe;for(i=0;i<8;i+) delayms(100); P0=_crol_(P0,1); 實驗5 :單片機LED 數(shù)碼管顯示實驗一、 實驗目的:1. 熟悉 keil 仿真軟件;2. proteus 仿真軟件、軟件仿真板的使用;3. 了解并熟悉一位數(shù)碼管與多位 LED 數(shù)碼管的電路結構、與單片機的連接方法及其應用原理。4. 學習 proteus 構建 LED 數(shù)碼管顯示電路的方法,5. 掌握 C51 中單片機控制 LED 數(shù)碼管動態(tài)顯示的原理與編程方法。二、實驗設備、儀器、工具:安裝有 Proteus 和 Keil 軟件的微機。

7、三、實驗步驟:1、在 Proteus 軟件中畫原理圖;2、Keil 軟件下編寫源程序并編譯形成可執(zhí)行文件.hex;3、載源程序;4、仿真四、實驗結果:單數(shù)碼管:多數(shù)碼管:六、源程序代碼:多數(shù)碼管:單數(shù)碼管:#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuint table=0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F;void delayms(uint x) uchar i;while(x-) for(i=0

8、;i<120;i+); void main( void)uint i,wei=0x01;P0=0x00; while(1) for(i=0;i<8;i+) P2=0xFF;P0=tablei;P2=wei;wei=_crol_(wei,1);delayms(500); #include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x

9、7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x73,0x3E,0x31,0x6E,0x76,0x38,0xFF,0x00;void delayms(uint x) uchar i;while(x-) for(i=0;i<120;i+); void main( void)uchar i;P0=0x00; while(1) i=0; for(;i<=21;i+) P0=tablei; delayms(300); 實驗六:單片機鍵盤接口技術實驗一、 實驗目的:1. 掌握單片機與鍵盤接口技術2. 掌握用Proteus設計仿真基于單片機與鍵盤接口的設計方法;

10、3. 掌握獨立鍵盤、矩陣鍵盤動態(tài)掃描及按鍵的軟件消抖編程二、實驗設備、儀器、工具:安裝有 Proteus 和 Keil 軟件的微機。三、 實驗要求:1. 設計基于Proteus單片機接口與鍵盤輸入電路原理圖(4 個獨立鍵盤4X4 矩陣鍵盤);2. 根據(jù)電路圖對 4X4 矩陣鍵盤動態(tài)掃描及軟件消抖進行編程,并將按鍵代碼通過 LED 數(shù)碼管顯示。四、實驗結果:5、 源程序代碼:顯示一位:#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuint ta

11、ble=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,void main( void)uint i;P0=0x80;A9=1;A9=0;P0=0x3F;A8=1;A8=0; while(1) for(i=0;i<10;i+) P0=tablei;A8=1;A8=0;delayms(400); 0x7F,0x6F ;sbit A8=P20;sbit A9=P21;void delayms(uint x) uchar i;while(x-) for(i=0;i<120;i+);顯示兩位:#include<intrins.h>#define

12、uchar unsigned char#define uint unsigned intvoid dp(uchar wei,uchar duan);uint table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F ;uint wei_1=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;sbit A8=P20;sbit A9=P21; while(1) for(i=0;i<8;i+) dp(i,i); void dp(uchar wei,uchar duan)P0=tableduan;A8=1;A8=0

13、;delayms(200);P0=wei_1wei;A9=1;A9=0;delayms(200);P0=0x00;A8=1;A8=0;delayms(200);P0=0x00;A9=1;A9=0;delayms(200); void delayms(uint x) uchar i;while(x-) for(i=0;i<120;i+);void main( void)uint i;P0=0x80;A9=1;A9=0;P0=0x3F;A8=1;A8=0;實驗 7 :單片機定時器的使用與編程一、實驗目的:掌握定時器 T0、T1 的方式選擇和編程方法,了解中斷服務程設計方法,學會實時程序的調(diào)試

14、技巧。二、實驗原理:MCS51 單片機內(nèi)設置了兩個可編程的16位定時器 T0和 T1, 通過編程,可以設定為定時器和外部計數(shù)方式。T1 還可以作為其串口的波特率發(fā)生器。定時器 T0 由特殊功能寄存器 TL0 、TH0 構成,定時器 T1由TH1 和 TL1 構成,特殊功能寄存器 TMOD 控制定時器的工作方式,TCON 控制其運行。定時器的中斷由中斷允許寄存器IE,中斷優(yōu)先權寄存器 IP 中的相應位進行控制。定時器 T0 的中斷入口地址為 000BH,T1的中斷入口地址為 001BH。定時器的編程包括:1) 置工作方式。2) 置計數(shù)初值。3) 中斷設置。4) 啟動定時器。定時器/計數(shù)器由四種工

15、作方式, 所用的計數(shù)位數(shù)不同, 因此, 定時計數(shù)常數(shù)也就不同。在編寫中斷服務程序時,應該清楚中斷響應過程:CPU 執(zhí)行中斷服務程序之前,自動將程序計數(shù)器 PC 內(nèi)容(即斷點地址)壓入堆棧保護(但不保護狀態(tài)寄存器 PSW,更不保護累加器 A 和其它寄存器內(nèi)容) , 然后將對應的中斷矢量裝入程序計數(shù)器 PC 使程序轉向該中斷矢量地址單元中以執(zhí)行中斷服務程序。定時器 T0 和 T1 對應的中斷矢量地址分別為 000BH和 001BH。中斷服務程序從矢量地址開始執(zhí)行,一直到返回指令“RETI”為止。RETI指令的操作一方面告訴中斷系統(tǒng)該中斷服務程序已經(jīng)執(zhí)行完畢, 另一方面把原來壓入堆棧保護的斷點地址從

16、棧頂彈出,裝入到程序計數(shù)器 PC,使程序返回到被到中斷的程序斷點處,以便繼續(xù)執(zhí)行。因此,在編寫中斷服務程序時注意。1 在中斷矢量地址單元放一條無條件轉移指令, 使中斷服務程序可以靈活地安排在 64K字節(jié)程序存儲器的任何空間。2在中斷服務程序中應特別注意用軟件保護現(xiàn)場,以免中斷返回后,丟失原寄存器、累加器的信息。3若要使執(zhí)行的當前中斷程序禁止更高優(yōu)先級中斷,可以先用軟件關閉 CPU 中斷,或禁止某中斷源中斷,在返回前再開放中斷。三、實驗內(nèi)容:1. 編寫并調(diào)試一個程序,用單片機的 T0 工作方式 1 產(chǎn)生 1s 的定時時間,作為秒計數(shù)時間,當 1s 產(chǎn)生時,秒計數(shù)加 1;秒計數(shù)到 60 時,自動從

17、 0 開始。計算初值公式 定時模式 1 th0=(216 -定時時間)/256tl0=(216 -定時時間) mod 256;2. 編寫并調(diào)試一個程序,在第一項內(nèi)容的基礎上,完成時鐘顯示。顯示格式:hh-mm-ss(時-分-秒)。四、實驗結果:實驗 8 :單片機外部中斷實驗一、實驗目的1. 熟悉keil仿真軟件、proteu仿真軟件的使用和單片機外部中斷的使用。2. 了解并熟悉 51 單片機中中斷的概念,中斷處理系統(tǒng)的工作原理。3. 理解51單片機中斷管理系統(tǒng)處理五種中斷源,特別是對外部中斷的設置與控制方法。4. 熟悉中斷處理特別是外部中斷處理的過程,5. 掌握中斷處理子程序的編程和使用方法。

18、二、實驗環(huán)境:硬件:微機、單片機實驗板軟件:KEIL C51 單片機仿真調(diào)試軟件,proteus 系列仿真調(diào)試軟件;三、實驗內(nèi)容 :1. 利用外部中斷 INT0 控制數(shù)碼管顯示 0 到 9。2. 利用外部中斷 INT0 控制兩個數(shù)碼管顯示 00 到 99。四、實驗步驟:1. 打開 Proteus,繪制電路圖,2. 根據(jù)實驗內(nèi)容的要求,編寫程序、仿真、調(diào)試。五、實驗結果:6、 源程序代碼:void main( void)P0=0x00; while(1) P1=0xf0;if(P1!=0xf0)key_scan(); if(pre_keyno!=keyno)P0=tablekeyno;pre_k

19、eyno=keyno; delayms(20); #include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x73,0x3E,0x31,0x6E,0x76,0x38,0xFF,0x00;uchar pre_keyno=16,keyno=16;void delay

20、ms(uint x) uchar i; while(x-) for(i=0;i<120;i+); void key_scan()uchar tt;P1=0x0f;delayms(5);tt=P10x0f;switch(tt)case 1:keyno=0;break;case 2:keyno=1;break;case 4:keyno=2;break;case 8:keyno=3;break;P1=0xf0;delayms(5);tt=P1>>40x0f;switch(tt)case 1:keyno=keyno+0;break;case 2:keyno=keyno+4;break

21、;case 4:keyno=keyno+8;break;case 8:keyno=keyno+12;break; 實驗 9 :單片機串口通信實驗一、實驗目的與要求:1、掌握單片機串行口工作原理;2、單片機串行口與 PC 機的通信工作原理及編程方法。二、實驗設備、儀器、工具:安裝有 Proteus 和 Keil 軟件的微機、單片機開發(fā)板。三、實驗內(nèi)容 :1. 實驗板上有 RS-232 接口,將該接口與 PC 機的串口連接,可以實現(xiàn)單片機與 PC 機的串行通信,進行雙向數(shù)據(jù)傳輸。2. 本實驗要求當PC機向?qū)嶒灠灏l(fā)送的數(shù)字在實驗板上顯示,按實驗板鍵盤輸入的數(shù)字在PC機上顯示,并用串口助手工具軟件進行

22、調(diào)試。四、實驗結果:5、 源程序代碼:#include<reg51.h>#define uchar unsigned char#define uint unsigned intUint code DSY_CODE=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;uchar count=0;uchar DSY_BUFFER=0,0,0;sbit clear_key=P36;void show_count() DSY_BUFFER2=count/100; DSY_BUFFER1=count%100/10; DSY_BUFFER0=co

23、unt%10;if(DSY_BUFFER2=0) DSY_BUFFER2=0x3f; if(DSY_BUFFER1=0) DSY_BUFFER1=0x3f; P0=DSY_CODEDSY_BUFFER0;P1=DSY_CODEDSY_BUFFER1;P2=DSY_CODEDSY_BUFFER2; void main(void)P0=0x00;P1=0x00;P2=0x00;IE=0x81;IT0=1;while(1)if(clear_key=0) count=0;show_count(); void inter0() interrupt 0count+; 考 試實驗結果:源程序代碼:#incl

24、ude<reg51.h>#define uchar unsigned char#define uint unsigned intvoid display(uchar wei,uchar duan)Uchar code duan_1=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40;uchar code wei_1=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;sbit A8=P20;sbit A9=P21;bit m1;bit m2;sbit s1=P22;sbit s2=P23;sbit s3=P24;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論