單片機(jī)技術(shù)基礎(chǔ) 實(shí) 驗(yàn) 報(bào) 告_第1頁(yè)
單片機(jī)技術(shù)基礎(chǔ) 實(shí) 驗(yàn) 報(bào) 告_第2頁(yè)
單片機(jī)技術(shù)基礎(chǔ) 實(shí) 驗(yàn) 報(bào) 告_第3頁(yè)
單片機(jī)技術(shù)基礎(chǔ) 實(shí) 驗(yàn) 報(bào) 告_第4頁(yè)
單片機(jī)技術(shù)基礎(chǔ) 實(shí) 驗(yàn) 報(bào) 告_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)技術(shù)基礎(chǔ)實(shí)驗(yàn)報(bào)告學(xué)學(xué)院:自動(dòng)化學(xué)院專業(yè):電氣工程及其自動(dòng)化班級(jí):學(xué)號(hào):姓名:任課教師:實(shí)驗(yàn)1:Proteus軟件快速入門(mén)一、實(shí)驗(yàn)?zāi)康呐c要求:1、認(rèn)識(shí)Proteus軟件;2、掌握用Proteus軟件建立文件;3、掌握如何使用Proteus軟件元件庫(kù);二、實(shí)驗(yàn)設(shè)備、儀器、工具:安裝有Proteus和Keil軟件的微機(jī)。三、實(shí)驗(yàn)步驟:在Proteus軟件中畫(huà)原理圖四、實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)2:KeiluVision軟件快速入門(mén)一、實(shí)驗(yàn)?zāi)康呐c要求:1、認(rèn)識(shí)KeiluVision軟件;2、掌握用KeiluVision軟件建立工程;3、掌握用KeiluVision軟件進(jìn)行仿真調(diào)試;二、實(shí)驗(yàn)設(shè)備、儀器、工具:安裝有proteus和keil軟件的電腦。三、實(shí)驗(yàn)步驟:1、在proteus軟件中畫(huà)原理圖;2、keil軟件下編寫(xiě)源程序并編譯形成可執(zhí)行文件.hex;3、載源程序;4、仿真。四、實(shí)驗(yàn)結(jié)果:六、源程序代碼:ORG0000HAJMPMAIN1ORG0003HMAIN1:MOVA,#0FEHMAIN:MOVP0,ARLAAJMPMAINEND實(shí)驗(yàn)3:?jiǎn)纹瑱C(jī)最小應(yīng)用系統(tǒng)一、實(shí)驗(yàn)?zāi)康呐c要求:1.掌握單片機(jī)最小系統(tǒng)的設(shè)計(jì)方法;2.掌握如何使用Proteus軟件元件庫(kù);二、實(shí)驗(yàn)設(shè)備、儀器、工具:安裝有Proteus和Keil軟件的微機(jī)。三、實(shí)驗(yàn)內(nèi)容:1.設(shè)計(jì)AT89C51(或STC89C51)單片機(jī)最小系統(tǒng);2.實(shí)現(xiàn)編碼4×4鍵盤(pán)及8位LED顯示驅(qū)動(dòng);四、實(shí)驗(yàn)步驟:1.在Proteus軟件中畫(huà)原理圖;2.Keil軟件下編寫(xiě)源程序并編譯形成可執(zhí)行文件.hex;3.載源程序;4.仿真。五、實(shí)驗(yàn)結(jié)果:六、源程序代碼: #include<reg51.h>#defineucharunsignedchar#defineuintunsignedintvoiddelayms(uintx){ uchari; while(x--) { for(i=0;i<120;i++); }} voidmain(void){ while(1) { P0=0xfd; delayms(100); }}實(shí)驗(yàn)4:?jiǎn)纹瑱C(jī)最小應(yīng)用系統(tǒng)軟件編程一、實(shí)驗(yàn)?zāi)康呐c要求:1.掌握單片機(jī)指令及其編程方法;2.掌握KeilC使用方法;二、實(shí)驗(yàn)設(shè)備儀器工具:安裝有Proteus和Keil軟件的微機(jī)。三、實(shí)驗(yàn)內(nèi)容:1.編程實(shí)現(xiàn)4x鍵盤(pán)掃描編碼;2.編程實(shí)現(xiàn)8位LED顯示子程序;四、實(shí)驗(yàn)步驟:1.Keil軟件下編寫(xiě)源程序并編譯形成可執(zhí)行文件.hex;2.載源程序;3.仿真。五、實(shí)驗(yàn)結(jié)果:六、源程序代碼:#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint P0=0x7f;for(i=0;i<8;i++) { P0=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;}}{ uchari; while(x--) { for(i=0;i<120;i++); }}voidmain(void){ uinti; while(1) { P0=0xfe; for(i=0;i<8;i++) { delayms(100); P0=_crol_(P0,1); }實(shí)驗(yàn)5:?jiǎn)纹瑱C(jī)LED數(shù)碼管顯示實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?1.熟悉keil仿真軟件;2.proteus仿真軟件、軟件仿真板的使用;3.了解并熟悉一位數(shù)碼管與多位LED數(shù)碼管的電路結(jié)構(gòu)、與單片機(jī)的連接方法及其應(yīng)用原理。4.學(xué)習(xí)proteus構(gòu)建LED數(shù)碼管顯示電路的方法,5.掌握C51中單片機(jī)控制LED數(shù)碼管動(dòng)態(tài)顯示的原理與編程方法。二、實(shí)驗(yàn)設(shè)備、儀器、工具:安裝有Proteus和Keil軟件的微機(jī)。三、實(shí)驗(yàn)步驟:1、在Proteus軟件中畫(huà)原理圖;2、Keil軟件下編寫(xiě)源程序并編譯形成可執(zhí)行文件.hex;3、載源程序;4、仿真四、實(shí)驗(yàn)結(jié)果:?jiǎn)螖?shù)碼管:多數(shù)碼管:六、源程序代碼:多數(shù)碼管:?jiǎn)螖?shù)碼管:多數(shù)碼管:#include<reg51.h>#include<#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuinttable[]={0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F};voiddelayms(uintx){uchari; while(x--) { for(i=0;i<120;i++); }}voidmain(void){ uinti,wei=0x01; P0=0x00;while(1) { for(i=0;i<8;i++) { P2=0xFF; P0=~table[i]; P2=wei; wei=_crol_(wei,1); delayms(500);}}}#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x73,0x3E,0x31,0x6E,0x76,0x38,0xFF,0x00};voiddelayms(uintx){uchari; while(x--) { for(i=0;i<120;i++); }}voidmain(void){ uchari; P0=0x00; while(1) { i=0; for(;i<=21;i++) { P0=table[i]; delayms(300); } }}實(shí)驗(yàn)六:?jiǎn)纹瑱C(jī)鍵盤(pán)接口技術(shù)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?.掌握單片機(jī)與鍵盤(pán)接口技術(shù)2.掌握用Proteus設(shè)計(jì)仿真基于單片機(jī)與鍵盤(pán)接口的設(shè)計(jì)方法;3.掌握獨(dú)立鍵盤(pán)、矩陣鍵盤(pán)動(dòng)態(tài)掃描及按鍵的軟件消抖編程二、實(shí)驗(yàn)設(shè)備、儀器、工具:安裝有Proteus和Keil軟件的微機(jī)。三、實(shí)驗(yàn)要求:1.設(shè)計(jì)基于Proteus單片機(jī)接口與鍵盤(pán)輸入電路原理圖(4個(gè)獨(dú)立鍵盤(pán)4X4矩陣鍵盤(pán));2.根據(jù)電路圖對(duì)4X4矩陣鍵盤(pán)動(dòng)態(tài)掃描及軟件消抖進(jìn)行編程,并將按鍵代碼通過(guò)LED數(shù)碼管顯示。四、實(shí)驗(yàn)結(jié)果:源程序代碼:顯示一位:#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuinttable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,}voidmain(void){}voidmain(void){ uinti; P0=0x80; A9=1; A9=0; P0=0x3F; A8=1; A8=0;while(1) { for(i=0;i<10;i++) { P0=table[i]; A8=1; A8=0; delayms(400); } }}sbitA8=P2^0;sbitA9=P2^1;voiddelayms(uintx){uchari; while(x--) { for(i=0;i<120;i++); }顯示兩位:#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintvoiddp(ucharwei,ucharduan);uinttable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};uintwei_1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};sbitA8=P2^0;sbitA9=P2^1;while(1) { for(while(1) { for(i=0;i<8;i++) { dp(i,i); } }}voiddp(ucharwei,ucharduan){ P0=table[duan]; A8=1; A8=0; delayms(200); P0=wei_1[wei]; A9=1; A9=0; delayms(200); P0=0x00; A8=1; A8=0; delayms(200); P0=0x00; A9=1; A9=0; delayms(200);}{uchari; while(x--) { for(i=0;i<120;i++); }}voidmain(void){ uinti; P0=0x80; A9=1; A9=0; P0=0x3F; A8=1; A8=0;實(shí)驗(yàn)7:?jiǎn)纹瑱C(jī)定時(shí)器的使用與編程一、實(shí)驗(yàn)?zāi)康模赫莆斩〞r(shí)器T0、T1的方式選擇和編程方法,了解中斷服務(wù)程設(shè)計(jì)方法,學(xué)會(huì)實(shí)時(shí)程序的調(diào)試技巧。二、實(shí)驗(yàn)原理:MCS-51單片機(jī)內(nèi)設(shè)置了兩個(gè)可編程的16位定時(shí)器T0和T1,通過(guò)編程,可以設(shè)定為定時(shí)器和外部計(jì)數(shù)方式。T1還可以作為其串口的波特率發(fā)生器。定時(shí)器T0由特殊功能寄存器TL0、TH0構(gòu)成,定時(shí)器T1由TH1和TL1構(gòu)成,特殊功能寄存器TMOD控制定時(shí)器的工作方式,TCON控制其運(yùn)行。定時(shí)器的中斷由中斷允許寄存器IE,中斷優(yōu)先權(quán)寄存器IP中的相應(yīng)位進(jìn)行控制。定時(shí)器T0的中斷入口地址為000BH,T1的中斷入口地址為001BH。定時(shí)器的編程包括:1)置工作方式。2)置計(jì)數(shù)初值。3)中斷設(shè)置。4)啟動(dòng)定時(shí)器。定時(shí)器/計(jì)數(shù)器由四種工作方式,所用的計(jì)數(shù)位數(shù)不同,因此,定時(shí)計(jì)數(shù)常數(shù)也就不同。在編寫(xiě)中斷服務(wù)程序時(shí),應(yīng)該清楚中斷響應(yīng)過(guò)程:CPU執(zhí)行中斷服務(wù)程序之前,自動(dòng)將程序計(jì)數(shù)器PC內(nèi)容(即斷點(diǎn)地址)壓入堆棧保護(hù)(但不保護(hù)狀態(tài)寄存器PSW,更不保護(hù)累加器A和其它寄存器內(nèi)容),然后將對(duì)應(yīng)的中斷矢量裝入程序計(jì)數(shù)器PC使程序轉(zhuǎn)向該中斷矢量地址單元中以執(zhí)行中斷服務(wù)程序。定時(shí)器T0和T1對(duì)應(yīng)的中斷矢量地址分別為000BH和001BH。中斷服務(wù)程序從矢量地址開(kāi)始執(zhí)行,一直到返回指令“RETI”為止。RETI指令的操作一方面告訴中斷系統(tǒng)該中斷服務(wù)程序已經(jīng)執(zhí)行完畢,另一方面把原來(lái)壓入堆棧保護(hù)的斷點(diǎn)地址從棧頂彈出,裝入到程序計(jì)數(shù)器PC,使程序返回到被到中斷的程序斷點(diǎn)處,以便繼續(xù)執(zhí)行。因此,在編寫(xiě)中斷服務(wù)程序時(shí)注意。1.在中斷矢量地址單元放一條無(wú)條件轉(zhuǎn)移指令,使中斷服務(wù)程序可以靈活地安排在64K字節(jié)程序存儲(chǔ)器的任何空間。2.在中斷服務(wù)程序中應(yīng)特別注意用軟件保護(hù)現(xiàn)場(chǎng),以免中斷返回后,丟失原寄存器、累加器的信息。3.若要使執(zhí)行的當(dāng)前中斷程序禁止更高優(yōu)先級(jí)中斷,可以先用軟件關(guān)閉CPU中斷,或禁止某中斷源中斷,在返回前再開(kāi)放中斷。三、實(shí)驗(yàn)內(nèi)容:1.編寫(xiě)并調(diào)試一個(gè)程序,用單片機(jī)的T0工作方式1產(chǎn)生1s的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)1s產(chǎn)生時(shí),秒計(jì)數(shù)加1;秒計(jì)數(shù)到60時(shí),自動(dòng)從0開(kāi)始。計(jì)算初值公式定時(shí)模式1th0=(216-定時(shí)時(shí)間)/256tl0=(216-定時(shí)時(shí)間)mod256;2.編寫(xiě)并調(diào)試一個(gè)程序,在第一項(xiàng)內(nèi)容的基礎(chǔ)上,完成時(shí)鐘顯示。顯示格式:hh-mm-ss(時(shí)-分-秒)。四、實(shí)驗(yàn)結(jié)果:實(shí)驗(yàn)8:?jiǎn)纹瑱C(jī)外部中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?.熟悉keil仿真軟件、proteu仿真軟件的使用和單片機(jī)外部中斷的使用。2.了解并熟悉51單片機(jī)中中斷的概念,中斷處理系統(tǒng)的工作原理。3.理解51單片機(jī)中斷管理系統(tǒng)處理五種中斷源,特別是對(duì)外部中斷的設(shè)置與控制方法。4.熟悉中斷處理特別是外部中斷處理的過(guò)程,5.掌握中斷處理子程序的編程和使用方法。二、實(shí)驗(yàn)環(huán)境:硬件:微機(jī)、單片機(jī)實(shí)驗(yàn)板軟件:KEILC51單片機(jī)仿真調(diào)試軟件,proteus系列仿真調(diào)試軟件;三、實(shí)驗(yàn)內(nèi)容:1.利用外部中斷INT0控制數(shù)碼管顯示0到9。2.利用外部中斷INT0控制兩個(gè)數(shù)碼管顯示00到99。四、實(shí)驗(yàn)步驟:1.打開(kāi)Proteus,繪制電路圖,2.根據(jù)實(shí)驗(yàn)內(nèi)容的要求,編寫(xiě)程序、仿真、調(diào)試。五、實(shí)驗(yàn)結(jié)果:源程序代碼:voidmain(void)voidmain(void){P0=0x00; while(1) { P1=0xf0; if(P1!=0xf0) key_scan(); if(pre_keyno!=keyno) { P0=table[keyno]; pre_keyno=keyno; } delayms(20);}}#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x73,0x3E,0x31,0x6E,0x76,0x38,0xFF,0x00};ucharpre_keyno=16,keyno=16;voiddelayms(uintx){ uchari; while(x--) { for(i=0;i<120;i++); }}voidkey_scan(){ uchartt; P1=0x0f; delayms(5); tt=P1^0x0f; switch(tt) { case1:keyno=0;break; case2:keyno=1;break; case4:keyno=2;break; case8:keyno=3;break; } P1=0xf0; delayms(5); tt=P1>>4^0x0f; switch(tt) { case1:keyno=keyno+0;break; case2:keyno=keyno+4;break; case4:keyno=keyno+8;break; case8:keyno=keyno+12;break; }}實(shí)驗(yàn)9:?jiǎn)纹瑱C(jī)串口通信實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求:1、掌握單片機(jī)串行口工作原理;2、單片機(jī)串行口與PC機(jī)的通信工作原理及編程方法。二、實(shí)驗(yàn)設(shè)備、儀器、工具:安裝有Proteus和Keil軟件的微機(jī)、單片機(jī)開(kāi)發(fā)板。三、實(shí)驗(yàn)內(nèi)容:1.實(shí)驗(yàn)板上有RS-232接口,將該接口與PC機(jī)的串口連接,可以實(shí)現(xiàn)單片機(jī)與PC機(jī)的串行通信,進(jìn)行雙向數(shù)據(jù)傳輸。2.本實(shí)驗(yàn)要求當(dāng)PC機(jī)向?qū)嶒?yàn)板發(fā)送的數(shù)字在實(shí)驗(yàn)板上顯示,按實(shí)驗(yàn)板鍵盤(pán)輸入的數(shù)字在PC機(jī)上顯示,并用串口助手工具軟件進(jìn)行調(diào)試。四、實(shí)驗(yàn)結(jié)果:源程序代碼:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintUintcodeDSY_CODE[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};ucharcount=0;ucharDSY_BUFFER[]={0,0,0};sbitclear_key=P3^6;voidshow_count(){ DSY_BUFFER[2]=count/100;DSY_BUFFER[1]=count%100/10; DSY_BUFFER[0]=count%10; if(DSY_BUFFER[2]==0) { DSY_BUFFER[2]=0x3f; if(DSY_BUFFER[1]==0) DSY_BUFFER[1]=0x3f;} P0=DSY_CODE[DSY_BUFFER[0]]; P1=DSY_CODE[DSY_BUFFER[1]]; P2=DSY_CODE[DSY_BUFFER[2]]; }voidmain(void){ P0=0x00; P1=0x00; P2=0x00; IE=0x81; IT0=1; while(1) { if(clear_key==0)count=0; show_count();}}voidinter0()interrupt0{ count++;}考試實(shí)驗(yàn)結(jié)果:源程序代碼:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintvoiddisplay(ucharwei,ucharduan)Ucharcodeduan_1[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40};ucharcodewei_1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};A9=1;A9=0;A9=1;A9=0;D_led=duan_1[ge];A8=1;A8=0;delay_ms(300); W_led=0xff;A9=1;A9=0;W_led=0;A8=1;A8=0;} voidEX_INT0()interrupt 0{ if(s1==0)A1++; if(s2==0)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論