青島科技大學(xué)單片機課件電專復(fù)習(xí)_第1頁
青島科技大學(xué)單片機課件電專復(fù)習(xí)_第2頁
青島科技大學(xué)單片機課件電專復(fù)習(xí)_第3頁
青島科技大學(xué)單片機課件電專復(fù)習(xí)_第4頁
青島科技大學(xué)單片機課件電專復(fù)習(xí)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理及應(yīng)用復(fù)習(xí)大綱青島科技大學(xué)自動化與電子工程學(xué)院第二章MCS-51內(nèi)部結(jié)構(gòu)1MCS-51的引腳功能2當前工作寄存器區(qū)的選擇

RS1RS0所選的4組寄存器

000區(qū)(內(nèi)部RAM地址00H~07H)

011區(qū)(內(nèi)部RAM地址08H~0FH)

102區(qū)(內(nèi)部RAM地址10H~17H)

113區(qū)(內(nèi)部RAM地址18H~1FH)3機器周期、指令周期與指令時序一、時鐘周期單片機的基本時間單位。若時鐘的晶體的振蕩頻率為fosc,則振蕩周期Tosc=1/fosc,時鐘周期T=2Tosc;例如:fosc=6MHz,Tosc=166.7ns。二、機器周期CPU完成一個基本操作所需的時間稱為機器周期。執(zhí)行一條指令分為幾個機器周期。每個機器周期完成一個基本操作。MCS-51單片機每12個振蕩周期為1個機器周期,第三章MCS-51單片機指令系統(tǒng)1.指令系統(tǒng)的尋址方式尋址方式就是在指令中說明操作數(shù)所在地址的方法。共7種尋址方式。

1.寄存器尋址方式

操作數(shù)在寄存器中

MOVA,Rn;(Rn)→A,n=0~7

表示把寄存器Rn的內(nèi)容傳送給累加器A2.直接尋址方式

操作數(shù)直接以單元地址的形式給出:

MOVA,40H

尋址范圍:

(1)內(nèi)部RAM的128個單元

(2)特殊功能寄存器。除了以單元地址的形式外,還可用寄存器符號的形式給出。例如:

MOVA,80H

與MOVA,P0是等價的。3.寄存器間接尋址方式

寄存器中存放的是操作數(shù)的地址,在寄存器前加前綴標志“@”

。訪問內(nèi)部RAM或外部RAM的低256個字節(jié)時,只能采用R0或R1作為間址寄存器。例如:

MOVA,@Ri

;i=0或1

其中Ri中的內(nèi)容為40H,把內(nèi)部RAM40H單元內(nèi)容送A。尋址范圍:(1)訪問內(nèi)部RAM低128個單元,其通用形式為@Ri(2)對外部內(nèi)部RAM的64K字節(jié)的間接尋址,例如: MOVXA,@DPTR(3)片外數(shù)據(jù)存儲器的低256字節(jié)例如:MOVXA,@Ri(4)堆棧區(qū)堆棧操作指令PUSH(壓棧)和POP(出棧)使用堆棧指針(SP)作間址寄存器4.立即尋址方式

操作數(shù)在指令中直接給出,需在操作數(shù)前面加前綴“#”。例如:

MOVA,#40H

5.基址寄存器加變址寄存器間址尋址方式

本尋址方式是以DPTR或PC作基址寄存器,以累加器A作為變址寄存器。6.位尋址方式

MCS-51有位處理功能,可以對數(shù)據(jù)位進行操作。例如:MOVC,40H

是把位40H的值送到進位位C。尋址范圍包括:(1)內(nèi)部RAM中的位尋址區(qū)。位有兩種表示方法,例如,40H;另一種是單元地址加上位,例如,(28H).0,指的是28H單元中的最低位。它們是等價的。(2)特殊功能寄存器中的可尋址位

可尋址位在指令中有如下4種的表示方法:a.直接使用位地址。例如PSW.5的位地址為0D5H。b.位名稱的表示方法。例如:PSW.5是F0標志位,可使用F0表示該位。c.單元地址加位數(shù)的表示方法。例如:(0D0H).5。d.特殊功能寄存器符號加位數(shù)的表示方法。例如:PSW.5。7.相對尋址方式

在相對尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“rel”表示,即把PC的當前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址:目的地址=轉(zhuǎn)移指令所在的地址+轉(zhuǎn)移指令的字節(jié)數(shù) +rel

偏移量rel是一帶符號的8位二進制數(shù)補碼數(shù)。范圍是:–128-+127

偽指令在MCS-51匯編語言源程序中應(yīng)有向匯編程序發(fā)出的指示信息,告訴它如何完成匯編工作,這是通過使用偽指令來實現(xiàn)的。也稱為匯編程序控制命令。只有在匯編前的源程序中才有偽指令。經(jīng)過匯編得到目標程序(機器代碼)后,偽指令已無存在的必要,所以“偽”體現(xiàn)在匯編時,偽指令沒有相應(yīng)的機器代碼產(chǎn)生。常用的偽指令:

1.ORG(ORiGin)匯編起始地址命令2.END(ENDofassembly)匯編終止命令3.DB(DefineByte)定義字節(jié)命令

4.DW(DefineWord)定義數(shù)據(jù)字命令

5.EQU(EQUate)賦值命令6.DS定義空間命令7.BIT位地址符號命令

第4章MCS-51匯編語言程序設(shè)計1.

變量X存放在VAR單元中,函數(shù)值Y存放在FUNC單元中,試按下式的要求給Y賦值,寫出匯編語言程序。ORG1000HVARDATA30HFUNCDATA31HMOVA,VAR;XAJZDONE;若A=0,則轉(zhuǎn)到DONEJNBACC.7POSI;若A>0,則轉(zhuǎn)到POSIMOVA,#0FFH;若A<0,則Y=-1SJMPDONEPOSI:MOVA,#01HDONE:MOVFUNC,ASJMP$END給出80C51單片機產(chǎn)生三角波的匯編程序,假設(shè)起始地址為2000H。

ORG2000HSTART:MOVR0,#0FEHUP:MOVX @R0,A;三角波上升邊INCAJNZUPDOWN:DECA;A=0時再減1又為FFHJNZDOWNSJMPUP第5章MCS-5 1中斷系統(tǒng)1中斷源入口地址

外部中斷0 0003H定時器/計數(shù)器T0 000BH 外部中斷1 0013H

定時器/計數(shù)器T1 001BH 串行口中斷 0023H2外部中斷的觸發(fā)方式

電平觸發(fā)和邊沿觸發(fā)假設(shè)允許外部中斷0中斷,并設(shè)定它為高級中斷,其它中斷源為低級中斷,采用跳沿觸發(fā)方式。在主程序中編寫如下程序段:

SETBEA;CPU開中斷SETBEX0;允許外中斷0產(chǎn)生中斷SETBPX0;外中斷0為高級中斷SETBIT0;外中斷0為跳沿觸發(fā)方式第6章MCS-51定時器/計數(shù)器1.單片機復(fù)位時,兩個寄存器的所有位都被清0。6.1.1工作方式控制寄存器TMOD8位分為兩組,高4位控制T1,低4位控制T0。(1)GATE——門控位

0:以TRX(X=0,1)來啟動定時器/計數(shù)器運行。

1:用外中斷引腳(INT0*或INT1*)上的高電平和TRX來啟動定時器/計數(shù)器運行。(2)M1、M0——工作方式選擇位

M1M0工作方式

00 方式0,13位定時器/計數(shù)器。01 方式1,16位定時器/計數(shù)器。10 方式2,8位常數(shù)自動重新裝載11 方式3,僅適用于T0,T0分成兩個8 位計數(shù)器,T1停止計數(shù)。

(3)C/T*——計數(shù)器模式和定時器模式選擇位 0:定時器模式。 1:計數(shù)器模式。

2.定時器/計數(shù)器初始化

MCS-51單片機采用12MHz晶振,定時2ms,用定時器方式0時的16進制初值應(yīng)為多少?

根據(jù)公式T=(TM-TC)*12/fosc(us)

(213-TC)×12/fosc=2msTC=8192-2000=6192=1830H第7章MCS-51串口通信1.1)SM0、SM1——串行口4種工作方式的選擇位

串行口的4種工作方式SM0SM1方式 功能說明

000同步移位寄存器方式(用于擴展I/O口)0118位異步收發(fā),波特率可變(由定時器控制)1029位異步收發(fā),波特率為fosc/64或fosc/32113

9位異步收發(fā),波特率可變(由定時器控制)2.波特率的定義波特率的定義。對于定時器的不同工作方式,波特率的范圍不一定時器T1產(chǎn)生波特率的計算(1)方式0波特率=時鐘頻率fosc×1/12,不受SMOD位的值的影響。若fosc=12MHz,波特率為fosc/12即1Mb/s。(2)方式2波特率=(2SMOD/64)×fosc若fosc=12MHz:SMOD=0波特率=187.5kb/s;SMOD=1波特率=375kb/s

3)方式1或方式3時,波特率為:

波特率=(2SMOD/64)×T1的溢出率實際設(shè)定波特率時,T1常設(shè)置為方式2定時(自動裝初值)這種方式不僅操作方便,也可避免因軟件重裝初值而帶來的定時誤差。綜合應(yīng)用題1.利用74LS273擴展輸出口接8路發(fā)光二極管,按循環(huán)點亮方式輸出。并行口地址是8060H,晶振為12MHz。如下圖所示:要求:1、利用定時器T1實現(xiàn)120ms定時,給出T1的定時常數(shù)。2、編程實現(xiàn)發(fā)光二極管每隔1.2秒鐘,右循環(huán)點亮1個燈。即初始L1亮,過1.2秒后L1滅,L2亮,1.2秒鐘后L2滅L3亮,...依次循環(huán)。

定時器T1的定時時間是60毫秒,定時器T1的初值應(yīng)該是216-60000,即15A0H.ORG0000H LJMPMAINORG000BH LJMPINTT1ORG0030HMAIN:MOVSP,#60HMOVA,#0FEHMOVDPTR,#8060HMOV@DPTR,AMOVR1,#20MOVTMOD,#10H;00010000BMOVTH1,#15H;120ms

溫馨提示

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

評論

0/150

提交評論