高職 職業學校 單片機備課筆記_第1頁
高職 職業學校 單片機備課筆記_第2頁
高職 職業學校 單片機備課筆記_第3頁
高職 職業學校 單片機備課筆記_第4頁
高職 職業學校 單片機備課筆記_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

[引入新課]

本課程在專業課程中的地位,課程研究內容,學習方法

[新課內容]

Chap0緒論

§0-1單片微型計算機的產生和發展歷史

問題一:何謂單片機?

1、單片機是一種計算機

單片機是微型計算機的一個分支,特別適用于控制領域。

問題二:計算機系統的組成?

CPU中央處理器

r主機{

內存儲器

‘硬件系統<

I「輸入設備

I外部設備《輸出設備

計算機<I外存儲器

系統

「系統軟件

I軟件系統-

、應用軟件

2、單片機是把中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、定時器\計數器及1\0

接口電路等主要計算機接口部件集成在一塊集成電路上的微型計算機。

一、微型計算機的概況

微型計算機具有體積小,功耗低重量輕,價格低,可靠性高,開發使用簡便等一系列優點,

自問世以來得到了非常廣泛的應用。

形成兩大分支:

1、PC機:PC機系統全力實現海量高速數據處理,兼顧控制功能。

2、單片機:單片機系統全力滿足測控對象的測控功能,兼顧數據處理能力。

問題二:微處理器、微型計算機、單片機的概念區分

二、單片機的發展概況

第一階段(19761978年):低性能單片機的探索階段。以Intel公司的MCS-48為代表,

采用了單片結構,即在一塊芯片內含有8位CPU、定時/計數器、并行I/O口、RAM和ROM

等。主要用于工業領域。自動呼叫應答器、紡紗機工藝參數顯示儀

第二階段(19781982年):高性能單片機階段,這一類單片機帶有串行I/O口,8位數據

線、16位地址線可以尋址的范圍達到64K字節、控制總線、較豐富的指令系統等。這類單

片機的應用范圍較廣,并在不斷的改進和發展。出租車計價器

第三階段(1982~1990年):16位單片機階段。16位單片機除CPU為16位外,片內RAM和

ROM容量進一步增大,實時處理能力更強,體現了微控制器的特征。例如Intel公司的

MCS-96主振頻率為12M,片內RAM為232字節,ROM為8K字節,中斷處理能力為8級,片

內帶有10位A/D轉換器和高速輸入/輸出部件等。

第四階段(1990年~):微控制器的全面發展階段,各公司的產品在盡量兼容的同時,向高

速、強運算能力、尋址范圍大以及小型廉價方面發展。

§0-2單片機的總體組成

有兩大部分組成:-------------------------

一、硬件重點'難點內容,詳講

基本組成:運算器、控制器、存儲器、輸入/輸出設備及接口。一馮?諾依曼結構

中心思想是存儲程序原則:指令和數據一起以二進制的形式存放在存儲器中。

微機組成結構框圖

微型計算機系統由硬件系統和軟件系統兩大部分組成。硬件系統是指構成微機系統的

實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設備、輸出接口電路

和輸出設備等組成。其中,運算器和控制器一般做在一個集成芯片上,統稱中央處理單元

(CentralProcessingUnit),簡稱CPU,是微機的核心部件。CPU配上存放程序和數據

的存儲器、輸入/輸出(Input/Output,簡稱I/O)接口電路以及外部設備即構成微機的硬

件系統。

1、微處理器:微處理器(CPU)是微型計算機的核心

⑴寄存器陣列:通用寄存器,專用寄存器;

⑵運算器:運算器是進行各種算術運算和邏輯運算的部件。

累加器,暫存寄存器,標志寄存器,算術邏輯單元;

⑶控制器:控制器是計算機的指揮控制部件,它控制計算機各部分自動、協調地工作。

程序計數器PC,指令寄存器,指令譯碼器,定時和控制邏輯電路。

2.總線:微機系統中各部件和模塊之間用于傳送信息的一組公用導線。

地址:內存由許多存儲單元組成,每個存儲單元(字節)有一個用于區分的編號,稱

為地址,一般用十六進制數表示。

總線分為:

⑴數據總線(DB):傳送數據,雙向

⑵地址總線(AB):傳送CPU發出的地址信息,單向

⑶控制總線(CB):傳送使微機協調工作的定時、控制信號,雙向

3.存儲器:存放程序和數據

⑴存儲器分類

RAM

特點:讀寫速度快,可隨機寫入或讀出,讀寫方便;電源斷電后,存儲信息丟失。

作用:存放各種數據。

ROM

特點:信息寫入后,能長期保存,不會因斷電而丟失。

作用:存放固定程序和數據。

⑵存儲器結構

計算機有兩種存儲結構:單片機為哈佛結構

哈佛結構:程序存儲器和數據存儲器分開。

普林斯頓結構:程序存儲器和數據存儲器合并。

①存儲體;

②地址譯碼器;

③控制電路:片選控制、讀/寫控制和帶三態門的輸入/輸出緩沖電路

⑶存儲器的讀寫操作

⑷堆棧:暫存放子程序斷口地址、中斷斷口地址和其他需要保存的數據。

4.輸入/輸出設備及其接口電路

I/O設備:簡稱外設,功能是為微機提供具體的輸入輸出手段。標準的I/O設備系指

鍵盤和顯示器。

I/O接口:由于各種外設的工作速度、驅動方式差別很大,無法與CPU直接匹配,而

需要一個接口電路來充當它們與CPU間的橋梁,起轉換、協調作用。

二、軟件

單片機程序設計語言可分為三類:

⑴機器語言

⑵匯編語言

(3)高級語言

MCS-51型單片機使用匯編語言。

§0-3單片機的主要品種及系列

一、4位單片機

4位單片機是由美國INTEL公司首先研制出來的,但其主要生產國為日本。

4位單片機的特點是體積小、價格便宜、功能全。

4位單片機廣泛應用于家用電器(無繩電話子、母機系統和家用微波爐控制系統的實際應

用電路)、計算器、電子玩具等。

二、8位單片機

8位單片機是現階段單片機中的主要機型,有低檔的8位單片機和高檔的8位單片機兩大

類。

低檔的8位單片機如MCS-48系列,高檔的8位單片機如MCS-51系列

三、16位單片機

16位單片機中最典型的是INTEL公司的MCS—96系列單片機,它包含有兩個子系列:8096

單片機和8098單片機。

MCS-96系列單片機由于封裝結構不同,可分為48引腳(雙列直插式封裝DIP)和68引

腳(格柵陣列式封裝PGA)兩種產品。

四、32位單片機

32位單片機是目前并行處理位數最高的單片機。

80960系列32位單片機其典型產品為80960KB32位單片機,它的硬件和軟件資源十分豐

富,超過以往各類單片機。

§0-4單片機的特點

⑴有優異的性能價格比。

⑵集成度高,體積小,可靠性好。

⑶控制能力強。

(4)低功耗,低電壓,便于生產便攜式產品。

⑸易擴展。

§0-5單片機的應用

[小結]學生自學

I、單片機的概念(問PC機和單片機都是微型機,兩者區別?)

2、單片機的系統硬件組成(主要有哪些功能部件)

3、單片機的主要品種及系列

4、單片機的特點

[課堂練習]

單片機的含義是什么?

[作業布置]

P50.3、0.5

[引入新課]

回顧上次課的內容:

1、單片機的概念(問PC機和單片機都是微型機,兩者區別?)

2、單片機的系統硬件組成(主要有哪些功能部件)

3、單片機的主要品種及系列

4、單片機的特點

[新課內容]

Chap1MCS-51系列單片機的硬件結構

§1-1MCS-51系列單片機的概況

MCS-51系列單片機產品有8051,8031,8751,80C51,80C31等型號。它們的結構基

本相同,其主要差別反映在存儲器的配置上有所不同。8031片內沒有程序存儲器,8052

片內數據存儲器由128個字節增至256個字節,片內存儲器增至8K,而8751是將8051

片內的ROM換成EPROM(擴展ROM),增高了4個字節的可編程程序存儲器。

§1-2MCS-51系列單片機的結構

->MCS-51系列單片機的基本組成及主要性能

1、8051單片機的基本組成

中央處理器CPU、片內程序存儲器ROM、片內數據存儲器RAM、并行接口、串行接口、

定時器/計數器,以及內部中斷控制系統等。

2、8051單片機的主要性能

(1)一片8位CPU。

(2)片內帶振蕩器電路,振蕩頻率f。,。的范圍:1.2?12MHz,可輸出時鐘。

(3)128字節的片內數據存儲器和4K字節的片內程序存儲器。

(4)4個8位并行I/O接口和1個全雙工串行I/O接口。

(5)2個16位定時器/計數器。

(6)5個中斷源,2個中斷優先級。

(7)程序存儲器的尋址范圍為64KB。

(8)片外數據存儲器的尋址范圍為64KBo

(9)單+5V供電,標準40腳雙列直插式封裝。

二、MCS—51系列單片機的內部結構框圖---------;---------------

1、中央處理器重點'難點內容,詳講

(1)運算器

算術運算單元ALU:8位算術運算單元ALU的硬件結構與典型微型計算機的相似。

它的作用是對傳送到CPU的數據進行算術/邏輯運算操作。

累加器A:累加器是運算時的暫存寄存器,用于提供操作數和存放運算結果。其它

操作,如邏輯運算、移位等操作,也都要用到累加器,所以它是應用最為頻繁的寄存器。

寄存器B:一般用于乘、除法指令,與累加器A配合使用。寄存器B中存放第二操

作數、乘積的高位字節或除法的余數部分。

暫存器TMP:作為中間結果暫存使用。

程序狀態字寄存器PSW:也叫程序狀態字,是一個8位寄存器,寄存當前指令執行

后的狀態,為下條或以后指令的執行提供狀態條件。

(2)控制器

堆棧指針SP:堆棧是一組特殊的存儲單元,通常是在存儲器中開辟的一個存儲區

域。遵循后進先出的原則。

為什么需要這樣來存放數據呢?存儲器本身不是可以按地址來存放數據嗎?對,

知道了地址的確就可以知道里面的內容,但如果我們需要存放的是一批數據,每一個

數據都需要知道地址那不是麻煩嗎?如果我們讓數據一個接一個地放置,那么我們只

要知道第一個數據所在地址單元就可以了(看圖1)如果第一個數據在27H,那么第二、

數據指針DPTR(DPH、DPL):數據指針,可以用它來訪問外部數據存儲器中的任一

單元,如果不用,也可以作為通用寄存器來用,由我們自己決定如何使用。

指令寄存器

時鐘發生器:是由振蕩器XTAU、XTAL2等組成內部振蕩電路構成時鐘電路產生時

鐘。用時鐘發生器按一定的時間順序發出一系列控制信號,完成一系列定時控制的微操

作,用來協調單片機內部各功能部件之間的數據傳送、數據運算等操作。

2、片內存儲器

片內程序存儲器ROM:ROM的操作完全由程序計數器PC控制,PC值指向程序指令

操作碼單元,則程序執行該指令操作;PC值指向常數、表格單元,則實現取數、查表

操作。因此,程序存儲器的操作為程序運行與查表操作兩類。

片內數據存儲器RAM:特點是片內外地址重疊。

3、并行I/O接口

8051芯片內有4個8位I/O并行接口,分別為P0、Pl、P2、P3

P0口:可以作為輸入輸出口,但在實際應用中通常作為地址/數據總線口,即低8

位地址與數據線分時使用P0口。

P1口:每一位都能作為可編程的輸入或輸出線。

P2口:可以作為輸入口或輸出口使用,外接I/O設備時,又作為擴展系統的地址

總線,輸出高8位地址,與P0口一起組成16位地址總線。

P3口:為雙功能口,作為第一功能使用時,其功能同P1口。當作第二功能使用時,

每一位功能定義如表L1所示。

4、中斷系統

中斷技術是計算機(單片機)所特有的一種資源共享技術。CPU可以根據工作任務

的輕重,暫時停止正在進行的某一項工作而去處理另一項更重要的工作,這種工作方式

稱為中斷方式,構成的系統稱為中斷系統。

5、定時器/計數器

8051單片機內部提供2個16位定時器/計數器:定時器/計數器0和定時器/計數

器1.它們既可用作定時方式,又可用作事件計數方式。當設定的時間或計數到達時,

產生內部中斷,請求主機進行處理。

6、串行I/O接口

提問:串行和并行的區別?

采用串行I/O主要是某些設備需要串行通信(如電傳打印機、磁帶機、磁盤機等)。

因為這些設備本質上是串行存儲或號串行處理數據的。

三、MCS-51系列單片機的外部引腳及片外總線結構

1、I/O口線(前面已介紹)

2、控制口線

①RST/V“(9腳)當振蕩器運行時,在此腳上出現兩個機器周期的高電平將使單片機

復位。

V”、掉電期間,此引腳可接上備用電源,以保證內部RAM的數據不丟失。

②ALE/PR0G(30腳):當訪問外部存貯器時,ALE(允許地址鎖存)的輸出用于鎖存

地址的低位字節。即使不訪問外部存儲器,ALE端仍以不變的頻率周期性地出現正脈沖信

號,此頻率為振蕩器頻率的1/6。

對于EPROM單片機(如8751),在EPROM編程期間,此引腳用于輸入編程脈沖(PROG)。

③PSEN(29腳):此腳的輸出是外部程序存儲器的讀選通信號。在從外部程序存儲器

取指令(或常數)期間,每個機器周期兩次PSEN有效。

④EA/VPP(31腳):當EA端保持高電平時,訪問內部程序存儲器,當EA保持低電平

時,則只訪問外部程序存儲器,不管是否有內部程序存儲器。對于常用的8031來說,無

內部程序存儲器,所以EA腳必須常接地,這樣才能只選擇外部程序存儲器。

對于EPROM型的單片機(如8751),在EPROM編程期間,此引腳也用于施加21V的編程電

源(Vp|>)o

3、電源及時鐘

4、片外三總線形式

[小結]

1、MCS-51系列單片機的內部結構框圖

2、MCS-51系列單片機的外部引腳及片外總線結構

[課堂練習]

8051單片機的基本組成

[作業布置]

P351.1

[引入新課]

復習MCS-51系列單片機的內部結構框圖及外部引腳、片外總線結構

[新課內容]

Chap1MCS-51系列單片機的硬件結構

§1-3MCS-51系列單片機的中央處理器

一、算術邏輯運算部件ALU

1、算術運算

2、邏輯運算

3、其他功能

二、累加器A和寄存器B

1、累加器A

2、寄存器B

三、程序狀態字寄存器PSW重點、難點內容,詳講

書中表L2中各位的含義分別表示為:

Cy(PSW.7):即PSW的D7位,高位進位/借位標志。進位/借位CY=1;否則C

Y=0o它除用于寄存運算結果最高位產生進位或借位標志外,還在布爾處理中作位累

加器用(所以又稱布爾累加器)。

AC(PSW.6):即PSW的D6位,輔助進位標志。當D3向D4有借位或進位時,A

C=l;否則AC=O.

F0及Fl(PSW.5及PSW.1):即PSW的D5、DI位,用戶標志位,需要利用軟件

方法置位或復位,用以控制程序的轉向。

RS1及RSO(PSW.4及PSW.3):選擇工作寄存器組位,用于選擇內部四個工作

寄存器組的一組。每個寄存器組有8個8位的工作寄存器,是內部RAM中的一部分。

各組編碼為:

RS1RSO寄存器組對應RAM地址

00組000H?07H

01組108H-0FH

10組210H?17H

11組318H?1FH

什么是工作寄存器呢?讓我們從現實生活中來找找答案。如果出-道數學題:

123+567,讓你回答結果是多少,你會馬上答出是690,再看下面一道題:123+567+562,

要讓你要上回答,就不這么容易了吧?我們會怎樣做呢?如果有張紙,就容易了,我們先

算出123+567=690,把690寫在紙上,然后再算690+562得到結果是1552。這其中1552

是我們想要的結果,而690并非我們所要的結果,但是為了得到最終結果,我們又不得不

先算出690,并記下來,這其實是一個中間結果,計算機中做運算和這個類似,為了要得

到最終結果,往往要做很多步的中間結果,這些中間結果要有個地方放才行,把它們放哪

呢?放在前面提到過的ROM中可以嗎?顯然不行,因為計算機要將結果寫進去,而ROM是

不可以寫的,所以在單片機中另有一個區域稱為RAM區(RAM是隨機存取存儲器的英文縮

寫),它可以將數據寫進去。

特別地,在MCS-51單片機中,將RAM中分出一塊區域,稱為工作寄存器區。

OV(PSW.2):溢出標志。在帶符號數加減運算中,OV=1表示加減運算超出了

累加器A所能表示的符號數有效范圍(―128?+127),即產生了溢出,因此運算

結果是錯誤的。0V=0表示運算正確,即無溢出產生。

-(PSW-1):保留位,無定義;

P(PSW-0):奇偶校驗標志位,由硬件置位或清0。根據執行邏輯指令后結果(累

加器A中)數的奇偶性,即“1”的個數為偶數時P=0,奇數時P=1

四、數據指針DPTR、堆棧指針SP和布爾處理器

五、時鐘發生器

XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端,時鐘可以由內部或外部產生。

內部時鐘電路:XTAL1和XTAL2引腳上外接定時元件,內部振蕩電路就產生自激振蕩。

定時元件通常是用石英晶體和電容組成的并聯諧振回路。晶振頻率可以在1.2?12MHz之

間選擇,通常選擇為6MHz,CkC2電容值取5?30pF,電容的大小可起頻率微調的作用。

外部時鐘電路:XTAL1接地,XTAL2接外部振蕩器,對外部振蕩器信號無特殊要求,

只需保證脈沖寬度,一般頻率為低于12MHz的方波信號、

§1-4MCS-51系列單片機的時序和工作方式

一、MCS—51系列單片機的時序

1、指令周期、機器周期、時鐘周期

振蕩周期:即時鐘周期,振蕩脈沖的周期。(節拍)

狀態周期:兩個振蕩周期為一個狀態周期,也稱為時鐘周期,用S表示。兩個振蕩周期作

為兩個節拍分別為節拍P1和節拍P2.在狀態周期的前半周期P1有效時,通常完成算術邏

輯操作;在后半周期P2有效時,一般進行內部寄存器之間的傳輸。

機器周期:一個機器周期包含6個狀態周期,用SI、S2、……、S6表示,共12個節拍,

依次可表示為S1P1、S1P2、S2PUS2P2、……、S6P1、S6P2.

指令周期:執行一條指令所占用的全部時間,它以機器周期為單位。

先提一個問題:我們學校里什么是最重要的。(鈴聲)校長可以出差,老師可以休息,

但學校一日無鈴聲必定大亂。整個學校就是在鈴聲的統一指揮下,步調一致,統一協調地

工作著。這個鈴是按一定的時間安排來響的,我們可以稱之為“時序��時間的順序

一個由人組成的單位尚且要有一定的時序,計算機當然更要有嚴格的時序。事實上,計算

機更象一個大鐘,什么時候分針動,什么時候秒針動,什么時候時針動,都有嚴格的規定,

一點也不能亂。計算機要完成的事更復雜,所以它的時序也更復雜。

我們已知,計算機工作時,是一條一條地從ROM中取指令,然后一步一步地執行,我

們規定:計算機訪問一次存儲器的時間,稱之為一個機器周期。這是一個時間基準,好象

我們人用“秒”作為我們的時間基準一樣,為什么不干脆用“秒”,多好,很習慣,學下

去我們就會知道用“秒”反而不習慣。

一個機器周期包括12個時鐘周期。下面讓我們算一下一個機器周期是多長時間吧。

設一個單片機工作于12M晶振,它的時鐘周期是1/12(微秒)。它的一個機器周期是12*

(1/12)也就是1微秒。(請計算一個工作于6M晶振的單片機,它的機器周期是多少)。

MCS-51單片機的所有指令中,有一些完成得比較快,只要一個機器周期就行了,有一

些完成得比較慢,得要2個機器周期,還有兩條指令要4個機器周期才行。這也不難再解,

不是嗎?我讓你掃地的執行要完成總得比要你完成擦黑板的指令時間要長。為了恒量指令

執行時間的長短,又引入一個新的概念:指令周期。所謂指令周期就是指執行一條指令的

時間。

2、指令時序

二、MCS—51系列單片機的工作方式

1、復位方式

單片機復位是使CPU和系統中的其他功能部件都處在一個確定的初始狀態,并從這個狀態

開始工作,如復位后PC-OOOOH,單片機從第一個單元取指令。無論是在單片機剛開始接

上電源時,還是斷電后或者發生故障后都需要復位。

MCS-51系列單片機通常采用上電自動復位、按鍵手動復位兩種方式。具體方法見書本P14

2、連續工作方式

3、單步工作方式

4、掉電保護方式

§1-5MCS—51單片機的存儲器

FOH

FFFFHFFH特

FFHEOHFFFFH

RAMDOH

B8H能

外功

存儲器

BOH寄

寄A8HRAM

(8052)

存AOH

器98H

(8032)

90H位I/O

80H8OH88H尋口地址

部80HJ址

1000H7FH數據

30H緩沖區

2FH位尋址區

OFFFHOFFFH20H

包部外部1FH

I~

(EA=1)W

(EA=0)寄存器區0000H|___________

0000H0000HL—OOH

外部數據存儲器

程序存儲器內部數據存儲器

(。)(H(c)

1.程序存儲器

對于8051來說,程序存儲器(ROM)的內部地址為OOOOirOFFFH,共4KB;外部地址

為lOOOH~FFFFH,共60KB。當程序計數器由內部OFFFH執行到外部1000H時,會自動

跳轉。對于8751來說,內部有4KB的EPROM,將它作為內部程序存儲器;8031內部無

程序存儲器,必須外接程序存儲器。

8031最多可外擴64KB程序存儲器,其中6個單元地址具有特殊用途,是保留給系

統使用的。0000H是系統的啟動地址,一般在該單元中存放一條絕對跳轉指令。0003H、

OOOBH.OOOBIk001BH和0023H對應5種中斷源的中斷服務入口地址。

2.內部數據存儲器

片內RAM為256字節,地址范圍為OOH~FFH,分為兩大部分:低128字節片0H~7FH)

為真正的RAM區;高128字節(80H~FFH)為特殊功能寄存器區SFR。

在低128字節RAM中,OOiriFH共32單元是4個通用工作寄存器區。每一個區有8

個通用寄存器R0~R7。

3.外部數據存儲器

外部數據存儲器一般由靜態RAM構成,其容量大小由用戶根據需要而定,最大可擴展

到64KBRAM,地址是OOOOH~OFFFFn。CPU通過MOVX指令訪問外部數據存儲器,用間

接尋址方式,R0、R1和DPTR都可作間接寄存器。注意,外部RAM和擴展的I/O接口是統

一編址的,所有的外擴I/O口都要占用64KB中的地址單元。

[小結]

1、MCS-51系列單片機的中央處理器

2、MCS-51系列單片機的時序和工作方式

3、MCS—51單片機的存儲器

[課堂練習]

1、PSW是各標志位的意義:CY、AC,OV,P

2、指令周期、機器周期、時鐘周期的意義是什么?

[作業布置]

P351.4

[引入新課]

MCS-51系列單片機的中央處理器、時序和工作方式、存儲器

[新課內容]

§1.6MCS-51單片機的定時器/計數器

一、定時器/計數器TO和T1的結構

1、16位加法計數器

2、方式控制寄存器TMOD

(1)MO、Ml為工作方式選擇位

(2)C/T為定時器和計數器功能選擇位

(3)GATE為門控制位

3、控制寄存器TCON

(1)TR0為定時器/計數器TO運行控制位

(2)TFO為定時器/計數器TO溢出標志位

(3)TR1為定時器/計數器T1運行控制位,其功能與TR0相同

(4)TF1為定時器/計數器T1溢出標志位,其功能與TF0相同

二、定時器/計數器TO和T1的工作方式

1、工作方式0

16位寄存器TH1+TL1只用了13位,TL1的高3位沒有用

2、工作方式1

3、工作方式2

4、工作方式3

§1.7MCS—51單片機的并行I/O接口

一、P0口

P0口既可以作為通用的I/O,進行數據輸入、輸出,又可以作為單片機系統的地址數

據線使用。在實際應用中,P0口都是作為系統的地址/數據線使用的。

二、P1口

P1口為準雙向口。使用時,用戶可以把P1口的某些口位作為輸出線使用,另外一些

口位作為輸入線使用。

三、P2口

四、P3口

[小結]

定時器/計數器TO和T1的結構,定時器/計數器TO和T1的工作方式,P0□,P1口,P2

口,P3口

[課堂練習]

定時器/計數器的工作方式0、工作方式1、工作方式2等各有什么特點?

[作業布置]

P351.5

[引入新課]

[新課內容]

§1-8MCS—51單片機的串行I/O接口

一、串行通信方式概述

1、異步通信方式

停止位

0D1D2D3D4D5D6D7P1

起始位數據位校驗位

“0”為起始位,表示字符開始,由低位向高位逐位傳送數據。

“1”為停止位

“異步”:每一幀內部各位均采用固定的時間間隔,但每一幀之間的時間間隔是隨機的,

而完全靠每一幀的起始位及停止位來識別字符傳送的是新字符還是字符已結束。

2、同步通信方式

同步字符數據塊校驗

開始結束

3,波特率

反映了串行通信的速度和對傳輸通道的要求,波特率越高,要求傳輸通道的頻帶就越寬。

公式:

每秒傳送的速率義每個字符的位數=波特率

例:每秒傳送的速率為150字符/秒,面每個字符的位數為10位

150字符/秒X10位/字符=1500波特(bps)

二、串行接口的組成

三、串行接口的工作方式

§1-9MCS—51單片機的中斷系統

中斷的作用:

1、分時操作

中斷可以解決快速CPU與慢速外設之間的矛盾,使CPU與外設同時工作。CPU在啟動

外設工作后繼續執行主程序,同時外設也在工作。每當外設完一件事就發出中斷申請,請

求CPU中斷它正在執行的程序,轉去執行中斷服務程序(一般情況是處理輸入/輸出數據),

中斷處理完成之后,CPU恢復執行主程序,外設也繼續工作。這樣,CPU可啟動多個外設

同時工作,大大地提高了CPU的效率。

2、實時處理

在實時控制中,現場的各種參數、信息均隨時間和現場的變化而變化。這些外界變量

可根據要求隨時向CPU發出中斷申請,請求CPU及時處理。如中斷條件滿足,CPU會馬上

響應,進行相應的處理,從而實現實時處理。

3、故障處理

針對難以預料的情況或故障,如掉電、存儲出錯、運算溢出等,可通過中斷系統由故

障源向CPU發出中斷請求,再由CPU轉到相應的故障處理程序進行處理。

中斷過程:

是當CPU發現有中斷請求時,如果這時處于中斷允許狀態,CPU就響應中斷請求,暫

時停止它當前正在執行的程序,把斷點現場保護好,然后轉向請求中斷的中斷服務程序,

直到這個中斷服務程序執行完畢之后,恢復現場,返回原程序的斷點處繼續執行原程序。

CPU在多個中斷源同時發出中斷請求時能找到優先級最高的中斷源,響應它的中斷請

求。在優先級高的中斷請求處理完了以后,再響應優先級低的中斷請求。

一、中斷源

外部中斷:INTO、INTI

內部中斷:TO、T1、串行口

1、外部中斷

INTO:外部中斷0請求,低電平有效。它由P3.2引腳輸入。在每個機器周期的S5P2采樣

P3.2引腳,并置位或清0IE。標志,請求中斷。

INT1:同上

INTO、INTI有兩種觸發方式:電平觸發方式和邊沿觸發方式。

電平觸發方式:低電平有效

邊沿觸發方式:當脈沖為后沿負跳變時有效

2、內部中斷

TO:當定時器/計數器。產生溢出,置位中斷請求標志TFO,請求中斷處理。

T1:同上

串行中斷:當完成一串幀的接收/發送時,置位內部串行中斷請求標志TI或RI,請求中斷

處理。

二、中斷控制

1、中斷允許控制寄存器IE

EA:中斷允許總控制位

EA=1,中斷總允許,CPU允許所有中斷請求

EA=O,中斷總禁止,CPU屏蔽一切中斷請求

ES:串行接口中斷允許位

ES=1,允許串行接口中斷

ES=O,禁止串行接口中斷

ETO:定時器/計數器0中斷允許控制位

ETO=1,允許定時器/計數器0申請中斷

ETO=O,禁止定時器/計數器0申請中斷

EXO:外部中斷0中斷允許控制位

EXO=1,允許外部中斷。申請中斷

EXO=O,禁止外部中斷。申請中斷

2、中斷優先控制寄存器IP

PS:串行口中斷優先級選擇位

PS=1,串行口中斷確定為高優先級

PS=O,串行口中斷確定為低優先級

PTO:定時器/計數器0中斷優先級選擇位

PTO=1,定時器/計數器0為高優先級

PTO=O,定時器/計數器0為低優先級

PXO:外部中斷0中斷優先選擇位

PX0-1,外部中斷0為高優先級

PXO=O,外部中斷0為低優先級

3、定時器/計數器控制寄存器TCON

IEO:外部中斷0請求標志位

ITO:外部中斷。觸發方式選擇位

ITO=1,跳變觸發方式,CPU在每個機器周期的S5P2采樣INTO(P3.3)的輸入電平,

如果在一個周期中采樣到高電平,在下個周期中采樣到低電平,則硬件使IE0置1,向CPU

請求中斷。

IT0-0,電平觸發方式,外部中斷是通過檢測INTO端的輸入電平來觸發的。用電平

觸發時,輸入到INTO的外部中斷源必須保持低電平有效,直到該中斷被響應。同時在中

斷返回前必須使電平變高,否則將會再次產生中斷。

4、串行口控制寄存器

TI:串行口發送中斷請求標志位

RI:串行口接收中斷請求標志位

三、中斷響應

1、中斷響應處理過程

中斷不被響應的情況:

(1)CPU正在為一個同級或高優先級的中斷源服務。

(2)現行的機器周期不是所執行指令的最后一個機器周期。

(3)當前正在執行的指令是返回指令(RETI)或訪問IE、IP的指令。

2、中斷的響應時間

最短響應時間:3個機器周期(中斷請求標準位1個、LCALL指令2個)

最長響應時間:8個機器周期(最短3個、返回指令(RETI)或訪問IE、IP的指令1個、

其后需要再執行一條指令(此指令最多4個機器周期))

[課堂練習]

1、8051單片機的內部硬件結構包括

7:_和以

及并行i/o口,串行口,中斷控制系統,時鐘電路,位處理器等部件,這些部件通過

_______________________相連接。

2、MCS-51的堆棧只可設置在_____________,堆棧寄存器sp是_______位寄存器。

3、MCS—51單片機的pO~p3口均是i/o口,其中的p0口和p2口除了可以

進行數據的輸入,輸出外,通常還用來構建系統的和,在

pO~p3口中,為真正的雙相口為準雙向

口;口具有第二引腳功能。

4、定時器/計數器的工作方式3是指得將拆成兩個獨立的8位計數器.

而另一個定時器/計數器此時通常只可作為使用?

5、MCS—51單片機外部中斷請求信號有電平方式和,在電平方式下,當采集到

INT0JNT1的有效信號為時,激活外部中斷。

6、MCS—51單片機的堆棧區應建立在。

[小結]

1、串行通信方式概述,串行接口的組成,串行接口的工作方式

2、中斷的作用,中斷過程

3、中斷源,中斷控制,中斷響應

[作業布置]

P351.10、1.11

[引入新課]

講解第一章的習題

[新課內容]

Chap2尋址方式和指令系統

指令:是指揮計算機執行某種操作的命令。

指令系統:一臺計算機所能識別的全部指令的集合。

一條指令可以用兩種語言形式表示:機器語言指令和匯編語言指令。

機器語言:用二進制代碼來描述指令功能的語言。

由于機器語言只是一種用二進制0、1組成的代碼,人們不易辨識、記憶和書寫,因

此使用不便、易錯,程序設計也較困難。

匯編語言:用指令的助記符、符號地址、標號等符號書寫程序的語言。

匯編語言面向機器,它與機器語言指令一一對應,其特點是易學習、好理解、記憶和

使用方便。

但由于計算機只能識別二進制代碼,故必須將匯編語言源程序通過匯編程序翻譯成機

器語言程序,稱為目標程序,計算機才能識別和執行。這個翻譯過程就稱為匯編。

§2-1尋址方式

操作碼和操作數是指令的核心部分,在這二者之間用若干空格分隔開。

操作碼在匯編語言中用助記符表示,它的作用是命令主機作何操作。

操作數分目的操作數和源操作數,二者之間用逗號“,”分隔開。

指令查找操作數的方法稱為尋址方式。

尋址方式有:寄存器尋址、立即尋址、直接尋址、寄存器間接尋址、基址寄存器加變址寄

存器間接尋址、相對尋址、位尋址。

一、寄存器尋址

寄存器尋址的操作數在規定的寄存器中。

規定的寄存器有:①工作寄存器R0?R7

②累加器A

③寄存器B

④數據指針DPTR

⑤位累加器Cy

這些被尋址寄存器中的內容就是操作數

(例】MOVA,RO;將R0中的數據傳送至A中

這是一條單字節指令

圖見書本P38

二、立即尋址

指令中的操作數是1個8位或16位二進制立即數。立即數用#data,#datal6表示。

【例】MOVA,#30H;將立即數30H傳送至A中

這是一條雙字節指令

MOVDPTR,#1808H;將立即數1808H傳送至DPTR

這是一條三字節指令

機器碼是“90H18H08H”

圖見書本P38

三、直接尋址

指令中直接給出操作數所在存儲單元的地址,這種尋址方式稱為直接尋址。

可用符號"direct”表示指令中的直接地址。

直接尋址方式中直接地址所在的地址空間有以下兩種:

1、內部數據存儲區(001I-7FII)

【例】MOVA,40H;將片內RAM40H單元中的內容送入累加器A

這是一條雙字節指令,機器碼是“E5H40H”

2、特殊功能寄存器區(80ll-FFH)

特殊功能寄存器SFR只能用直接尋址方式訪問。當直接尋址某個SFR時,直接地址可以使

用它的單元地址,也可以你不用它的寄存器符號。

【例】MOVA,P0;將特殊功能寄存器P0口中的數據傳送至A中

=MOVA,8011

MOVA,FOH=MOVA,B

【題】MOVA,Pl=MOVA,9011?對的

直接尋址方式不能用于內部RAM高128B,若要訪問內部RAM高128B只能用寄存器間接尋

址,而訪問特殊功能寄存器只能用直接尋址。

四、寄存器間接尋址

寄存器間接尋址:是操作數所在的存儲器的地址在某一個寄存器中。

寄存器間接尋址用間址符”作為前綴。

規定的寄存器有:①工作寄存器R0、R1

②數據指針DPTR

③堆棧指針SP

【例】MOVA,@R0;將以R0中內容為地址的存儲單元中的數據傳送至A中

MOVXA,@DPTR;將外RAMDPTR所指存儲單元中的數據傳送至A中

內部RAM高128B的訪問,【例】MOVRO,91H

MOVA,?RO

寄存器間接尋址的存儲器空間:內部RAM和外部RAM

訪問內部RAM:用R0或R1作地址指針來尋址整個空間,即8位地址。

訪問外部RAM:用RO、RI、DPTR作為地址指針。訪問外部RAM的指令僅用MOVX的符號形

式。

規定用MOV指令訪問片內RAM

用MOVX指令訪問片外RAM

其中,可用16位DPTR作寄存器間接尋址;

用R0或R1時,R0或R1提供低8位地址,P2端口提供高8位地址,由此共同

尋址64KB范圍。

五、基址寄存器加變址寄存器間接尋址

在基址寄存器加變址寄存器間接尋址中,操作數地址=基址(DPTR或PC)+變址(A),

用于讀ROM數據操作。

【例】MOVCA,@A+DPTR;將A的內容與DPTR內容相加,得到一個新地址,從該地址

ROM中讀取數據送入A中。其中DPTR是基址,A是變址。

若(A)=30H,(DPTR)=1200H,外部數據RAM中(1230H)=55H

則結果(A)=5511

這種尋址方式可以訪問外部RAM尋址64K空間。

六、相對尋址

相對尋址一般用于相對轉移指令,轉移目的地址=當前PC值+相對偏移量relo

【例】指令JZ05H:其功能為當前PC值(即本條指令的地址PC值+2)+05H偏移

量,作為新的PC值。

注意:rel是以補碼表示,取值范圍是一128?127(即00~FFH),正數表示從當前地址向

下轉移,負數表示從當前地址向上轉移。所以轉移的地址應為:

目的地址=當前PC值+rel

當前PC值=源地址+轉移指令字節數

七、位尋址

MCS-51單片機中,操作數不僅可以按字節為單位進行操作,也可以按位進行操作。當

我們把某一位作為操作數時,這個操作數的地址稱為位地址。

位尋址是對內RAM和特殊功能寄存器中的可尋址位進行操作的尋址方式。

位尋址區包括專門安排在內部RAM中的兩個區域:一是內部RAM的位尋址區,地址范

圍是20H“2FH,共16個RAM單元,位地址為00H~7FH;二是特殊功能寄存器SFR中有11

個寄存器可以位尋址。

【例】MOVC,07H;將位地址07H(字節地址20H中最高位)中的數據傳送至進位位Cy。

課堂練習

1、指出下列劃線操作數的尋址方式

MOVA,3AH:

MOVA,#3AH;

MOV_R1,A;

MOVA,?RO;

SJMP54H;

MOVCA,@A+PC

[小結]

本次主要學習了七種尋址方式,有:寄存器尋址、立即尋址、直接尋址、寄存器間接

尋址、基址寄存器加變址寄存器間接尋址、相對尋址、位尋址。

[作業布置]

P722.3

[引入新課]

講解上一節的課堂練習

[新課內容]

§2-2指令系統概述

一、指令基本格式

[標號]:操作碼[操作數];[注釋]

標號:標號是語句地址的標志符號,有了標號,程序中的其它語句才能訪問該語句。標號

的規定如下:

■標號由1?8個ASC字符組成,但頭一個字符必須是字母,其余字符可以是字母、

數字或其它特定符號。

■不能使用本匯編語言已經定義了的符號作標號,如指令助記符,偽指令記憶符以

及寄存器的符號名稱等。

■標號后面必須根冒號。

■同一標號在一個程序中只能定義一次,不能重復定義。

■一條語句可以有標號,也可以沒有標號。標號的有無取決于本程序的其它語句是

否需要訪問這條語句。

操作碼:操作碼用于指示機器執行何操作。不能空缺。

操作數:操作數用于給指令的操作提供數據或地址。在一條語句中,操作數可能是空白,

也可能只包括一項,還可能包括二項、三項。各操作數之間用逗號分隔。

①操作數可以是數據,也可以是數據的地址、數據地址的地址或操作數的其他信息。

②操作數可分為目的操作數和源操作數。

③操作數可用二進制數、十進制數或十六進制數表示。

④操作數的個數可以是0?3個。

④操作數與操作碼之間用空格分隔,操作數與操作數之間用逗號“,”分隔。

操作數的類別:

1、專用的匯編符號:是匯編程序專用的保留字,這些符號把專門的寄存器指定為指令中

的操作數。這些寄存器是A、R0?R7、DPTR、PC、C、AB。還有位置計數符號$。

如:MOVA,RO

2、間接地址:是用后跟一個寄存器名來表示。

寄存器間接尋址和基變址尋址均為間接地址。

在執行堆棧操作時,只有兩種操作碼PUSH、POP,也采用寄存器間接尋址,這時SP用

作間址寄存器,但并不用@符號。

3、立即數:是用“#”符號后面跟一個表示立即數操作數的表達式。

立即數在程序存儲器中。

4、數據地址:是一個數表達式。

對于數據地址的描述在前一節的直接尋址中已講過,這里特別指出的是,累加器A有

兩個符號,一個是專用的匯編符號A,一個是數據地址符號ACC。A表示寄存器,ACC表示

寄存器的地址。他們語義相同,語法不同。

如:ADDA,#27有效

ADDACC,#27無效

5、位地址:表示一個可作位尋址的二進制位。

位地址操作數的三種表示方法:

(1)直接寫出8051中預先定義的位地址。

如:MOVC,0011

ANLC,EOH

(2)由含有該位的存儲單元地址(如DOH)或存儲單元的符號地址(如PSW)、位

選擇符及位識別符“0?7”組成。

如:CPLPSW.7或CPLODOH.7

溫馨提示

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

評論

0/150

提交評論