一、單片機介紹
-
定義
-
概念
- 在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機(SingleChip Microcomputer)
-
特點
- 體積小、價格低
- 速度快、抗干擾好、可靠性高
- 控制功能強:實時響應速度 + I/O直接操作
- 使用方便、易擴展:硬件設計簡單 + 開發工具資料豐富
- 性價比高:電路板小 + 接插件少
- 易產品化:研制周期短
- 受集成度限制,片內存儲器容量較小:一般片內ROM在8KB以下,片內RAM在256B字節內
-
單片機應用=硬件設計 + 軟件程序設計
二、結構與原理
外部引腳圖

注意上圖中所有引腳的位置,需要熟記,並且其第二功能也應熟記。
- I/O端口引腳,如P0,P1,P2,P3,4組8位並行I/O端口(32個)
- 電源和時鍾引腳,如Vcc,GND,XTAL1,XTAL2(4個)
- 編程控制引腳,如RST(復位引腳)/VPD(備用電源輸入),PSEN,ALE/PROG,EA/Vpp(4個)
- Vcc(第40腳)為電源正端
- GND或Vss(第20腳)為接地端
- Vcc典型值值為+5V,最低3.3V
- XTAL1 ( 第 19 腳 ) 、 XTAL2 (第18腳)為外接時鍾引腳.XTAL1為片內振盪電路輸入端,XTAL2為內振盪電路輸出端
- PSEN(第29腳)為外部ROM程序存儲器的讀選通信號端(不常用到)
- ALE/PROG(30腳)為地址鎖存信號輸出端/EPROM編程脈沖輸入端(少用到)
- P0處出現的是數據,則該口置0.若出現的是地址,則置為1
- EA/Vpp(第31腳)為內部/外 部ROM存儲器選擇端。高電平先讀內部存儲器,若有外部rom則自動讀外部;低電平讀外部ROM。一般都接高電平
- 8051時鍾有兩種方式:第一種是片內時鍾振盪方式;第二種是外部時鍾方式
++++++++++++++++++++++++++++++++++
- P0(0.0-0.7):雙向8位三態I/O端口,每個端口或引腳可獨立控制,其為高阻態時不能正常輸出高/低電平(外接上拉電阻)。P0端口的第二功能訪問外部RAM/ROM,分時發送低8位地址或讀寫數據
- P1(1.0-1.7): 准雙向8位通用I/0口,每個引腳可獨立控制(內帶上拉電阻).准雙向IO口。第二功能,編程/校驗8751時,接收低八位地址信號
- P2(2.0-2.7):准雙向8位I/0口,每個引腳可獨立控制(有內置上拉電阻)。其第二功能:訪問外部RAM/ROM,分時發送高8位地址或讀寫數據;編程/校驗8751時,接收高四位地址/控制信號
- P3(3.0-3.7):准雙向8位多用途I/0口,每個引腳可獨立控制(內帶上拉電阻)。第一功能同P1作普通I/O口。

CPU時序

- 啟動單片機后,指令經過取指令->分析->執行->取指令 這樣的順序執行。一個指令周期即從取指令到執行的所需時間

最簡系統
-
最簡系統:使用最少的外圍元器件讓單片機能夠工作的電路
-
最簡單片機系統是所有單片機系統的基礎,即任何單片機系統都離不開這個最簡系統
總線
- 鎖存器與總線之間的關系

讀鎖存器、內部總線、寫鎖存器、讀管腳
- 總線(BUS):計算機各部件之間傳送信息的公共通道
- 有內部總線和外部總線之分,內部總線是CPU內部之間的連線,外部總線則是CPU與其他部件之間的連線
- 外部總線:數據總線DB、地址總線AB、控制總線CB

內部單元
- 中央處理單元CPU(8位)
- 用於數據處理、位操作(位測試、置位、復位)
- 只讀存儲器ROM(4KB)
- 用於永久性存儲應用程序,掩膜ROM、EPROM、EEPROM、Flash Memory(閃存)
- 隨機存取存取器RAM(256B)
- 用於程序運行中存儲工作變量和數據
- 並行輸入/輸出口 I / O(32線)
- 用作系統總線、擴展外存、I / O接口芯片
- 串行輸入/輸出口 UART (二線)
- 串行通信、擴展I / O接口芯片
- 定時/計數器 T(16位增量可編程)
- 它與CPU之間各自獨立工作,當它計數滿時向CPU中斷
- 時鍾電路 fosc
- 分為內部振盪器、外接振盪電路
- 中斷系統
- 五源中斷、兩級優先,可編程進行控制
三、存儲器與組織
存儲空間
-
51單片機存儲空間划分:
- 片內ROM程序存儲器4KB (地址為:0000—0FFFH)
- 片外ROM程序存儲器60KB(地址為:1000—0FFFFH)
- 片內RAM數據存儲器256B(地址為:00—0FFH)。它分為前128字節和后128字節。前128可位尋址,后128位為特殊功能寄存器
- 片外RAM數據存儲器,容量最大可擴展到64KB
-
RAM
- 片內RAM數據存儲器前128B可分成三個部分:工作寄存器區、位尋址區、堆棧或數據緩沖區
-
- 重要它前128字節的組成
PSW程序狀態字

上電默認的工作寄存器組別是第0組,通過修改PSW中的PS0和PS1改變工作寄存器組別
- 堆棧指針SP
、
特殊功能寄存器SFR
Special Function Register
- 每個特殊功能寄存器長度都是1個字節(8位)
-
四、單片機定時器/計數器
TMOD(Timer模式控制寄存器)


注意右側的說明中的內容
重要例題

TCON

工作模式0的初值的計算
- 模式0下Timer寄存器只有13位


- 例題


工作模式1的計算
- 工作模式1下的Timer是一個16位的定時器或計時器



工作模式2的計算
一個具有自動重新載入功能的8位定時器或計數器。


定時器/計數器的初始化
- 步驟:
- 設置TMOD,確定T0與T1工作模式
- 計算並裝入初值(THx+TLx)
- 根據需要設置中斷(IE、IP)
- 啟動計數器(對TCON編程)
上面的步驟沒有順序要求
五、中斷系統
中斷的概念
-
中斷發生:CPU在運行處理某一事件A時,發生了另一事件B,請求CPU迅速轉去處理
-
中斷響應和中斷服務:CPU暫時中斷當前的工作,轉去處理事件B
-
中斷返回:待CPU將事件B處理完畢后,再回到原來事件A被中
斷的代碼處繼續執行處理事件A
-
以上的整個過程稱為中斷
中斷的優點
- 分時操作:CPU可以分時為多個I/O設備服務,提高了計算機的利用率
- 實時響應:CPU能夠及時處理應用系統的隨機事件(順序編程難以處理),系統的實時性大大增強(以硬件為代價)
- 可靠性高
中斷向量表

定時器控制寄存器(TCON 88H)

串行口控制寄存器(SCON 98H)

中斷響應及處理
注意它的一個概念

中斷允許寄存器(IE A8H)


中斷優先級的原則
- CPU同時接收到幾個中斷時,首先響應優先級別最高的中斷請求
- 正在進行的中斷過程不能被新的同級或低優先級的中斷請求所中斷
- 正在進行的低優先級中斷服務,能被高優先級中斷請求所中斷
中斷控制


中斷優先級控制寄存器IP
- 寄存器IP 位於特殊功能寄存器區的地址B8H上,是專門用於設置單片機中斷優先級的寄存器


中斷響應條件
- 有中斷源發出中斷請求
- 中斷總控允許位EA=1,即CPU開中斷
- 申請中斷的中斷源的中斷允許位為1,即沒有被屏蔽
- 以上三條同時滿足,CPU才可能響應中斷
利用Timer中斷作信號發生器

注意下面的例子
六、串行通信
串行通信的特點
- 傳輸線少,長距離傳送時成本低,且可以利用電話網等現成的設備,但數據的傳送控制比並行通信復雜
奇偶校驗

並行通信的特點
- 控制簡單、傳輸速度快;由於傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難
異步通信的特點
- 異步通信是指通信的發送與接收設備使用各自的時鍾控制數據的發送和接收過程
- 特點:不要求收發雙方時鍾的嚴格一致,實現容易,設備開銷較小,但每個字符要附加2~3位用於起止位,各幀之間還有間隔,因此傳輸效率不高
波特率
- 串行口1秒傳輸1024個字節,則數據傳輸率為1024Bps,即1KBps。單位Bps代表“字節/秒”(Bytesper second) • 更小的單位的是bps,即“位/秒”(bits per second)
- 廣泛使用的描述數據傳輸率的物理量是波特率,對應的單位為波特

串行口控制寄存器SCON

背會上面兩張表!!!
SM2多機通信控制位




上面的流程圖!!!以及前面的也了解一下
波特率的計算





上面例題類型一定注意!!!

雙機通信應用

七、C51語言編程
概述

如何確定編程語言

特殊數據類型


位變量禁忌

位變量與整形變量的對應關系
注意它們的對應關系
sbit、bit和位域區別

指針
通用指針和具體指針


填空時的指針類型

左右兩邊應該可以熟悉變換!!!!!

中斷函數遵循的原則

串行通信程序舉例

- 查詢方式發送程序

- 查詢方式接收程序

- 中斷方式發送主程序

- 中斷方式發送中斷服務程序

- 中斷方式接收主程序

- 中斷方式接收中斷服務程序

八、匯編指令
匯編的六種尋址方式
- 立即尋址
- 直接尋址
- 寄存器尋址
- 間接尋址
- 變址尋址
- 寄存器特征尋址
注意給出指令做出是否正確的判斷

數據傳送類指令

算數運算指令




邏輯運算指令
與操作
異或操作
+++++++++++++++++++++++++++++++



布爾指令

控制轉移類指令





上題為閱讀題
