成都理工大學(xué) 《單片微機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第1頁
成都理工大學(xué) 《單片微機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第2頁
成都理工大學(xué) 《單片微機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第3頁
成都理工大學(xué) 《單片微機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第4頁
成都理工大學(xué) 《單片微機(jī)原理及應(yīng)用》實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成都理工2010級(jí)本科單片微機(jī)原理及應(yīng)用實(shí)驗(yàn)報(bào)告成 都 理 工 大 學(xué)核技術(shù)與自動(dòng)化工程學(xué)院實(shí)驗(yàn)報(bào)告課程名稱: 單片微機(jī)原理及應(yīng)用實(shí)驗(yàn) 姓 名: 何云鵬 學(xué) 號(hào): 201006020104 專 業(yè): 核工程與核技術(shù) 學(xué) 期: 20122013(2)任課教師: 劉易 目錄實(shí)驗(yàn)一 數(shù)據(jù)傳送及拆字2一、實(shí)驗(yàn)要求2二、實(shí)驗(yàn)原理2三、程序設(shè)計(jì)3四、現(xiàn)象及結(jié)果6實(shí)驗(yàn)二 i/o控制7一、實(shí)驗(yàn)要求7二、實(shí)驗(yàn)原理8三、程序設(shè)計(jì)10四、現(xiàn)象及結(jié)果13實(shí)驗(yàn)三 串口通訊14一、實(shí)驗(yàn)要求14二、實(shí)驗(yàn)原理15三、程序設(shè)計(jì)16四、現(xiàn)象及結(jié)果17實(shí)驗(yàn)四 電機(jī)驅(qū)動(dòng)19一、實(shí)驗(yàn)要求19二、實(shí)驗(yàn)原理19三、程序設(shè)計(jì)19四、現(xiàn)象與結(jié)

2、果23五、問題討論23實(shí)驗(yàn)一 數(shù)據(jù)傳送及拆字實(shí)驗(yàn)人員: 何云鵬 指導(dǎo)老師: 劉易 實(shí)驗(yàn)地點(diǎn): 6c701 實(shí)驗(yàn)時(shí)間:2013.03.04實(shí)驗(yàn)內(nèi)容:片內(nèi)外數(shù)據(jù)傳送,以及拆字。一、實(shí)驗(yàn)要求(1)數(shù)據(jù)傳輸1、掌握匯編語設(shè)計(jì)和調(diào)試方法,熟悉鍵盤操作。2、熟悉使用keil軟件。3、將片外rom空間數(shù)據(jù)傳送到片內(nèi)ram 。4、再將片外ram空間數(shù)據(jù)傳送到片內(nèi)ram。(2)拆字程序?qū)⑵鈘am空間2000h單元的數(shù)據(jù)拆開,并分別存放在片外2001h和2002h單元。二、實(shí)驗(yàn)原理(1)數(shù)據(jù)傳輸片外rom空間數(shù)據(jù)傳送到片內(nèi)ram1、先對(duì)外部rom空間2000h到200fh單元置數(shù),即對(duì)這個(gè)空間采用“db”偽指令

3、置數(shù)。2、然后將rom空間數(shù)據(jù)逐一傳送到內(nèi)部ram空間的40h到4fh單元。片外ram空間數(shù)據(jù)傳送到片內(nèi)ram3、先對(duì)外部ram空間2000h到200fh單元置數(shù),即對(duì)這個(gè)空間采用“movx”指令置數(shù)。4、然后將ram空間數(shù)據(jù)逐一傳送到內(nèi)部ram空間的40h到4fh單元。(2)拆字程序1、先對(duì)外部ram空間2000h置數(shù),即對(duì)這個(gè)空間采用“movx”指令置數(shù);2、然后將2000h單元數(shù)據(jù)高低4位分別放入片外ram空間的2001h和2002h單元。注意:2000h高低4為需要置不同數(shù)三、程序設(shè)計(jì)(1)數(shù)據(jù)傳輸片外rom數(shù)據(jù)傳送到片內(nèi)ramorg 0000hjmp mainorg 0100hmai

4、n:mov r0,#00h ; 賦r0指向00mov r1,#40hmov dptr,#2000h ;賦dptr指向2000loop:movc a,a+dptrmov r1,ainc dptrinc r0inc r1mov a,#00hcjne r0,#10h,loop;比較r0是否等于10,不等就跳向loopsjmp $org 2000hdb 12h,23h,34h,45h,56h,67h,78h,89h,9ahdb 0abh,0bch,0cdh,0deh,0efh,0f1h,0e1hend ;自片外rom 2000h起置數(shù)片外ram數(shù)據(jù)傳送到片內(nèi)ramorg 0000hjmp mainor

5、g 0100hmain:mov r0,#00h; 賦r0指向00mov dptr,#2000h; 賦dptr指向2000loop: movx dptr,ainc dptr; dptr增一inc r0inc acjne r0,#10h,loop; 比較r0是否等于10,不等就跳向loopmov r0,#00h; 賦r0指向00mov r1,#40hmov dptr,#2000h; 賦dptr指向2000lop: movx a,dptrinc dptrinc r0mov r1,ainc r1cjne r0,#10h,lopsjmp $;停指針,短跳,這兒跳到這兒end(2)拆字程序org 0000

6、hajmp mainorg 0100hmain:mov dptr,#2000hmov a,#64hmovx dptr,aanl a,#0f0hswap ainc dptrmovx dptr,amov dptr,#2000hmovx a,dptranl a,#0fhmov dptr,#2002hmovx dptr,asjmp $end四、現(xiàn)象及結(jié)果(1)數(shù)據(jù)傳輸片內(nèi)ram 0h至4fh依次置數(shù):12h,23h,34h,45h,56h,67h,78h,89h,9ah0abh,0bch,0cdh,0deh,0efh,0f1h,0e1h圖 1.1 片外rom數(shù)據(jù)傳送到片內(nèi)ram實(shí)驗(yàn)結(jié)果片內(nèi)ram 0h

7、至4fh依次置數(shù):01h,02h,03h,04h,05h,06h,07h,08h,09h,0ah,0bh,0ch,0dh,0eh,0fh圖1.2 片外ram數(shù)據(jù)傳送到片內(nèi)ram實(shí)驗(yàn)結(jié)果(2)拆字程序片外ram 2000h單元置數(shù)0064h,其高四位60h存于2001h單元,低四位04h存于2002h單元。圖1.3 拆字實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)二 i/o控制實(shí)驗(yàn)人員:何云鵬 指導(dǎo)老師: 劉易 實(shí)驗(yàn)地點(diǎn): 6c701 實(shí)驗(yàn)時(shí)間:2013.03.18實(shí)驗(yàn)內(nèi)容:外部中斷的使用,以及timer定時(shí)器的使用一、實(shí)驗(yàn)要求(1)外部中斷的使用1、使用外部中斷0(int0)或者使用外部中斷1(int1);2、控制p1口流水

8、燈。(2)timer定時(shí)器的使用1、采用timer定時(shí)器定時(shí)1秒鐘;2、控制p1口流水燈二、實(shí)驗(yàn)原理(1)外部中斷的使用mcs-51單片機(jī)有五個(gè)中斷源,分別是int0(入口地址0003h)、int1(入口地址0013h)、tf0(入口地址000bh)、tf1(入口地址001bh)、串口中斷(入口地址0023h),這5個(gè)中斷源由tcon和scon兩個(gè)特殊功能寄存器進(jìn)行控制ie0和ie1:外部中斷的中斷請(qǐng)求標(biāo)志it0和it1:外部中斷觸發(fā)方式控制,為1時(shí)屬邊沿觸發(fā),為0時(shí)屬電平觸發(fā)ti:串行口的發(fā)送中斷標(biāo)志ri:串行口接受中斷標(biāo)志mcs-51單片機(jī)對(duì)中斷的開放和屏蔽是由ie控制實(shí)現(xiàn)的ea:中斷總控

9、制位,=1,cpu開放中斷;=0,cpu禁止所有中斷es:串行口中斷控制位,=1:允許串行口中斷,=0:屏蔽串行口中斷et0和et1:定時(shí)器中斷控制位,=1:允許t0、t1中斷,=0:禁止t0、t1中斷ex0和ex1:外部中斷控制位,=1:允許外部中斷,=0:不允許外部中斷 cpu在每個(gè)機(jī)器周期的s5p2期間,會(huì)自動(dòng)查詢各個(gè)中斷申請(qǐng)標(biāo)志位,若查到某標(biāo)志位被置位,將啟動(dòng)中斷機(jī)制。在cpu已經(jīng)開放了外部中斷允許的前提下:在int0/int1引腳輸入一個(gè)負(fù)脈沖或低電平, tcon寄存器中的ie0/ie1標(biāo)志位自動(dòng)變“1”,檢測到ie0/ie1變“1”后,將產(chǎn)生指令:lcall 0003h(/0013

10、h)執(zhí)行中斷服務(wù)程序,并將ie0/ie1標(biāo)志位自動(dòng)清“0”,以備下次申請(qǐng)。(2)timer定時(shí)器的使用1、定時(shí)/計(jì)數(shù)器1只能工作于工作方式2,但不能使用中斷方式,此時(shí)定時(shí)/計(jì)數(shù)器1通常作為串行口的波特率發(fā)生器使用2、初始化包括確定工作方式,即對(duì)tmod寄存器進(jìn)行賦值計(jì)算計(jì)數(shù)初值,并寫入寄存器th0、tl0或th1、tl1中根據(jù)要求,置位et0或et1置位ea開總中斷置位tr0或tr1啟動(dòng)定時(shí)器工作3、定時(shí)器t0由特殊功能寄存器tl0(低八位)和th0(高八位)構(gòu)成,定時(shí)器t1由特殊功能寄存器tl1(低八位)和th1(高八位)構(gòu)成.特殊功能寄存器tmod控制定時(shí)/計(jì)數(shù)器的工作方式。tcon 則用

11、于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和停止計(jì)數(shù),同時(shí)管理t0和t1的溢出標(biāo)志位.4、定時(shí)/計(jì)數(shù)器的方式控制寄存器tmod:字節(jié)地址為89h,定時(shí)器控制寄存器tcon。字節(jié)地址為88h5、工作方式2具有自動(dòng)重裝載功能,在這種工作方式中,16位寄存器分作兩部分,以tl為計(jì)數(shù)器,th為預(yù)置寄存器,初始化時(shí)把計(jì)數(shù)初值分別加載至tl0和th0中,當(dāng)計(jì)數(shù)溢出時(shí),不再像方式0和1那樣需要人工干預(yù),由軟件重新賦值,而是由預(yù)置寄存器th以硬件方法自動(dòng)給計(jì)數(shù)器tl重新裝載程序運(yùn)行時(shí)(等在亮和滅的過程中),由于程序運(yùn)行比較快,我們按鍵時(shí),鍵不平穩(wěn),一直在抖動(dòng),故可能導(dǎo)致每按一次鍵,有多個(gè)燈亮或者滅。同時(shí),如果燈亮的時(shí)間過短,我

12、們?nèi)搜鄹杏X不到,故程序中必須調(diào)用延時(shí)程序,即采用timer定時(shí)器三、程序設(shè)計(jì)(1)外部中斷的使用#include#includevoid main()/unsigned int i=0;unsigned char temp=0xfe;p2=0x00;tmod=0x01; /*t0工作在定時(shí)器方式1*/ th0=(15536/256); /*預(yù)置計(jì)數(shù)初值*/ tl0=(15536%256); ea=1; /*cpu開中斷*/ et0=1; /*t0開中斷*/ tr0=1; /*啟動(dòng)t0*/ do if(p2=0x14)p2=0x00; p1=temp; temp=_crol_(temp,1);w

13、hile(1);void timer0(void)interrupt 1 using 0 p2+=1;th0=(15536/256); tl0=(15536%256); (2)timer定時(shí)器的使用#include int temp=0x01;unsigned char scount;void timer0_isr(void) interrupt 1 using 0tr0=0;th0=0x4c;tl0=0x19;tf0=0;scount-;if(!scount)p1=temp;temp0)tr0=1;/else /tr0=0;main(void)tmod=0x01;th0=0x4c;tl0=0

14、x19;/50msscount=20;/50ms*20=1sea=1;et0=1;tr0=1;while(1)if(!scount)/t=1sth0=0x4c;tl0=0x19;/reloadscount=20;/re-1str0=1;四、現(xiàn)象及結(jié)果(1)外部中斷的使用注:下圖為程序運(yùn)行過程中的一個(gè)狀態(tài),由仿真軟件模擬得到。led燈從上至下依次點(diǎn)亮后熄滅,然后重復(fù)。圖2.1 外部中斷實(shí)驗(yàn)結(jié)果(2)timer定時(shí)器的使用led燈從上至下依次熄滅后點(diǎn)亮,然后重復(fù)。圖2.2 timer定時(shí)器實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)三 串口通訊實(shí)驗(yàn)人員: 何云鵬 指導(dǎo)老師: 劉易 實(shí)驗(yàn)地點(diǎn): 6c701 實(shí)驗(yàn)時(shí)間:2013.03

15、.25 實(shí)驗(yàn)內(nèi)容:單片機(jī)與pc機(jī)通訊方法一、實(shí)驗(yàn)要求1、深刻理解芯片作用,學(xué)會(huì)使用單片機(jī)的串行口,了解單片機(jī)之間的串行通訊。2、pc機(jī)發(fā)送任意個(gè)字符,由單片機(jī)接收后馬上上傳(單片機(jī)發(fā)送)至pc機(jī)。二、實(shí)驗(yàn)原理1、單片機(jī)可以通過內(nèi)部串行口寄存器實(shí)現(xiàn)與pc機(jī)間的數(shù)據(jù)傳輸(包括接受和發(fā)送)。數(shù)據(jù)的接受控制為是ren,其為1時(shí)才允許 接收數(shù)據(jù),使用串行口通信時(shí)需要對(duì)其進(jìn)行初始化,設(shè)置產(chǎn)生波特率的ti定時(shí)器,例如,t1的工作方式為2,波特率為2400bps,晶振頻率為11.0592mhz,通過查串行口常用波特率得tmod為20h,th1為0f4h,tl1為0f4h。并對(duì)tr1置1。scon為50h,對(duì)e

16、a,es,置1,以便于串行口中斷。2、sbuf為串行口的收發(fā)緩沖器,為一個(gè)專用寄存器,其中包含了接受寄存器和發(fā)送寄存器,可以實(shí)現(xiàn)全雙工通信,這兩個(gè)寄存器具有同一個(gè)地址(99h)。mcs-51單片機(jī)的串行數(shù)據(jù)傳輸很簡單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù),而從接受緩沖期讀出數(shù)據(jù)即可接受數(shù)據(jù)。3、串行口通信控制寄存器:scon控制寄存器是一個(gè)可位尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址98h。其結(jié)構(gòu)中 sm0 sm1串行口工作方式選擇位 sm2:多機(jī)通信控制位ren:允許接收位,=1:允許接收 =0:禁止接收tb8:發(fā)送數(shù)據(jù)位 =0為數(shù)據(jù),=1為地址rb8:發(fā)送數(shù)據(jù)位。在方式2和3中,

17、rb8存放接收到的第九位數(shù)據(jù),用以識(shí)別接收到的數(shù)據(jù)特征。ti:發(fā)送中斷標(biāo)志位,=1表示幀發(fā)送結(jié)束 ti由軟件清零ri:接收中斷標(biāo)志位。在接收到停止位時(shí),該位由硬件置位。=1表示幀接收完成4、pcon主要是為chmos型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址87h。在chmos型單片機(jī)中,除smod位外,其它位均為虛設(shè)的,smod是串行口波特率倍增位。當(dāng)smod=1,串行口波特率加倍。系統(tǒng)復(fù)位默認(rèn)為smod=0。5、串行口的工作方式由scon中的sm0和sm1來定義的,其中sm0 sm1=01,即工作方式1最常用。工作方式1為波特率可變的8位異步通信接口方式,發(fā)送或接收一幀信息共10位,包

18、括一個(gè)起始位0,8個(gè)數(shù)據(jù)位和1個(gè)停止位。a、數(shù)據(jù)發(fā)送:當(dāng)cpu執(zhí)行一條指令將數(shù)據(jù)寫入發(fā)送緩沖sbuf時(shí)就啟動(dòng)發(fā)送,串行數(shù)據(jù)從txd引腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬件置位ti;b、數(shù)據(jù)接收:在ren=1時(shí),允許接收。只有當(dāng)ri=0且停止位為1或者sm2=0時(shí),停止位才進(jìn)入rb8,8位數(shù)據(jù)才能進(jìn)入接收寄存器,并由硬件置位中斷標(biāo)志ri,否則信息丟失。所以在方式1下接收時(shí),應(yīng)先用軟件清零ri和sm2標(biāo)志。三、程序設(shè)計(jì)org 0000hajmp main org 0023h ajmp intorg 0030hmain:mov tmod,#20h /* 定時(shí)/計(jì)數(shù)器1只能工作于工作方式2,但不能使用中斷

19、方式,此時(shí)定時(shí)/計(jì)數(shù)器1通常作為串行口的波特率發(fā)生器使用*/ mov th1,#0f4h mov tl1,#0f4h mov scon,#50h setb ea /*中斷總控制位*/ setb es /*串行口中斷控制位*/ setb tr1 ajmp $out: retiint: clr ri mov a,sbufmov sbuf,a jnb ti, $ clr ti ajmp out end四、現(xiàn)象及結(jié)果在串行口窗口里輸入一串字符,按回車,此串字符被原樣發(fā)送到顯示串口里。將程序通過monitor傳輸?shù)絛pflash中,打開dpflash串口調(diào)試器,把波特率改為2400bps,在處理字符串對(duì)

20、話框中輸入“asdb”,點(diǎn)擊發(fā)送,則在接受窗口中出現(xiàn)所發(fā)送的字符串,如圖:圖3.1 串口通訊實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)四 電機(jī)驅(qū)動(dòng)實(shí)驗(yàn)人員:何云鵬 指導(dǎo)老師: 劉易 實(shí)驗(yàn)地點(diǎn): 6c701 實(shí)驗(yàn)時(shí)間:2013.04.01一、實(shí)驗(yàn)要求1、了解步進(jìn)電機(jī)工作原理。2、c語言或者匯編程序,要求用開關(guān)k1,k2控制四項(xiàng)步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)。二、實(shí)驗(yàn)原理步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。可以通過控制脈沖個(gè)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到

21、調(diào)速的目的。三、程序設(shè)計(jì)mov 20h,#00h ;20h單元置初值,電機(jī)正轉(zhuǎn)位置指針mov 21h,#00h ;21h單元置初值,電機(jī)反轉(zhuǎn)位置指針mov p1,#0c0h ;p1口置初值,防止電機(jī)上電短路mov tmod,#60h ;t1計(jì)數(shù)器置初值,開中斷mov tl1,#0ffhmov th1,#0ffhsetb et1setb easetb tr1sjmp $;*計(jì)數(shù)器1中斷程序*it1p: jb p3.7,fan ;電機(jī)正、反轉(zhuǎn)指針;*電機(jī)正轉(zhuǎn)*jb 00h,loop0jb 01h,loop1jb 02h,loop2jb 03h,loop3jb 04h,loop4jb 05h,loo

22、p5jb 06h,loop6jb 07h,loop7loop0: mov p1,#0d0hmov 20h,#02hmov 21h,#40hajmp quitloop1: mov p1,#090hmov 20h,#04hmov 21h,#20hajmp quitloop2: mov p1,#0b0hmov 20h,#08hmov 21h,#10hajmp quitloop3: mov p1,#030hmov 20h,#10hmov 21h,#08hajmp quitloop4: mov p1,#070hmov 20h,#20hmov 21h,#04hajmp quitloop5: mov p1,

23、#060hmov 20h,#40hmov 21h,#02hajmp quitloop6: mov p1,#0e0hmov 20h,#80hmov 21h,#01hajmp quitloop7: mov p1,#0c0hmov ; 20h,#01hmov 21h,#80hajmp quit;*電機(jī)反轉(zhuǎn)*fan: jb 08h,looq0jb 09h,looq1jb 0ah,looq2jb 0bh,looq3jb 0ch,looq4jb 0dh,looq5jb 0eh,looq6jb 0fh,looq7looq0: mov p1,#0a0hmov 21h,#02hmov 20h,#40hajmp quitlooq1: mov p1,#0e0hmov 21h,#04hmov 20h,#20hajmp quitlooq2: mov p1,#0c0hmov 2

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論