單片機復習


一、單片機介紹

  • 定義

  • 概念

    • 在一片集成電路芯片上集成微處理器存儲器I/O接口電路,從而構成了單芯片微型計算機,即單片機(SingleChip Microcomputer)
  • 特點

    • 體積小、價格低
    • 速度快、抗干擾好、可靠性高
    • 控制功能強:實時響應速度 + I/O直接操作
    • 使用方便、易擴展:硬件設計簡單 + 開發工具資料豐富
    • 性價比高:電路板小 + 接插件少
    • 易產品化:研制周期短
    • 受集成度限制,片內存儲器容量較小:一般片內ROM在8KB以下,片內RAM在256B字節內
  • 單片機應用=硬件設計 + 軟件程序設計

二、結構與原理

外部引腳圖

image-20210909082039396

注意上圖中所有引腳的位置,需要熟記,並且其第二功能也應熟記。

  • 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口。
image-20211022160035481

CPU時序

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

最簡系統

  • 最簡系統:使用最少的外圍元器件讓單片機能夠工作的電路

  • 最簡單片機系統是所有單片機系統的基礎,即任何單片機系統都離不開這個最簡系統

總線

  • 鎖存器與總線之間的關系
image-20211022160308564

讀鎖存器、內部總線、寫鎖存器、讀管腳

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

內部單元

  1. 中央處理單元CPU(8位)
    • 用於數據處理、位操作(位測試、置位、復位)
  2. 只讀存儲器ROM(4KB)
    • 用於永久性存儲應用程序,掩膜ROM、EPROM、EEPROM、Flash Memory(閃存)
  3. 隨機存取存取器RAM(256B)
    • 用於程序運行中存儲工作變量和數據
  4. 並行輸入/輸出口 I / O(32線)
    • 用作系統總線、擴展外存、I / O接口芯片
  5. 串行輸入/輸出口 UART (二線)
    • 串行通信、擴展I / O接口芯片
  6. 定時/計數器 T(16位增量可編程)
    • 它與CPU之間各自獨立工作,當它計數滿時向CPU中斷
  7. 時鍾電路 fosc
    • 分為內部振盪器、外接振盪電路
  8. 中斷系統
    • 五源中斷、兩級優先,可編程進行控制

三、存儲器與組織

存儲空間

  • 51單片機存儲空間划分:

    1. 片內ROM程序存儲器4KB (地址為:0000—0FFFH)
    2. 片外ROM程序存儲器60KB(地址為:1000—0FFFFH)
    3. 片內RAM數據存儲器256B(地址為:00—0FFH)。它分為前128字節和后128字節。前128可位尋址,后128位為特殊功能寄存器
    4. 片外RAM數據存儲器,容量最大可擴展到64KB
  • RAM

    1. 片內RAM數據存儲器前128B可分成三個部分:工作寄存器區、位尋址區、堆棧或數據緩沖區
    2. image-20211024152901169
    3. 重要它前128字節的組成
    image-20211024153034107

PSW程序狀態字

image-20211024153411868

上電默認的工作寄存器組別是第0組,通過修改PSW中的PS0和PS1改變工作寄存器組別

  • 堆棧指針SP

image-20211024154934951

特殊功能寄存器SFR

Special Function Register

  • 每個特殊功能寄存器長度都是1個字節(8位)
  • image-20211024155304841

四、單片機定時器/計數器

TMOD(Timer模式控制寄存器)

image-20211024155946191 image-20211024160132974

注意右側的說明中的內容

重要例題

image-20211024160352324

TCON

image-20211024160631673

工作模式0的初值的計算

  • 模式0下Timer寄存器只有13位
image-20211028122625643 image-20211028123003884
  • 例題
image-20211028123506631 image-20211028123538453

工作模式1的計算

  • 工作模式1下的Timer是一個16位的定時器或計時器
image-20211028123840331 image-20211028123921114 image-20211028123951224

工作模式2的計算

一個具有自動重新載入功能的8位定時器或計數器。

image-20211028124252798 image-20211028124312154

定時器/計數器的初始化

  • 步驟:
  1. 設置TMOD,確定T0與T1工作模式
  2. 計算並裝入初值(THx+TLx)
  3. 根據需要設置中斷(IE、IP)
  4. 啟動計數器(對TCON編程)

上面的步驟沒有順序要求

五、中斷系統

中斷的概念

  • 中斷發生:CPU在運行處理某一事件A時,發生了另一事件B,請求CPU迅速轉去處理

  • 中斷響應和中斷服務:CPU暫時中斷當前的工作,轉去處理事件B

  • 中斷返回:待CPU將事件B處理完畢后,再回到原來事件A被中

    斷的代碼處繼續執行處理事件A

  • 以上的整個過程稱為中斷

中斷的優點

  1. 分時操作:CPU可以分時為多個I/O設備服務,提高了計算機的利用率
  2. 實時響應:CPU能夠及時處理應用系統的隨機事件(順序編程難以處理),系統的實時性大大增強(以硬件為代價)
  3. 可靠性高

中斷向量表

image-20211028190743015

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

image-20211028190857809

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

image-20211028190955346

中斷響應及處理

注意它的一個概念

image-20211028191121329

中斷允許寄存器(IE A8H)

image-20211028191235779 image-20211028191405462

中斷優先級的原則

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

中斷控制

image-20211028191711433 image-20211028191738665

中斷優先級控制寄存器IP

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

中斷響應條件

  • 有中斷源發出中斷請求
  • 中斷總控允許位EA=1,即CPU開中斷
  • 申請中斷的中斷源的中斷允許位為1,即沒有被屏蔽
  • 以上三條同時滿足,CPU才可能響應中斷

利用Timer中斷作信號發生器

image-20211028192324503

注意下面的例子

image-20211028192346757

六、串行通信

串行通信的特點

  • 傳輸線少,長距離傳送時成本低,且可以利用電話網等現成的設備,但數據的傳送控制比並行通信復雜

奇偶校驗

image-20211028212410160

並行通信的特點

  • 控制簡單、傳輸速度快;由於傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難

異步通信的特點

  • 異步通信是指通信的發送與接收設備使用各自的時鍾控制數據的發送和接收過程
  • 特點:不要求收發雙方時鍾的嚴格一致,實現容易,設備開銷較小,但每個字符要附加2~3位用於起止位,各幀之間還有間隔,因此傳輸效率不高

波特率

  • 串行口1秒傳輸1024個字節,則數據傳輸率為1024Bps,即1KBps。單位Bps代表“字節/秒”(Bytesper second) • 更小的單位的是bps,即“位/秒”(bits per second)
  • 廣泛使用的描述數據傳輸率的物理量是波特率,對應的單位為波特
image-20211028212807959

串行口控制寄存器SCON

image-20211028212937531

背會上面兩張表!!!

SM2多機通信控制位

image-20211029144343698 image-20211029144404069 image-20211029144422776 image-20211029144447941

上面的流程圖!!!以及前面的也了解一下

波特率的計算

image-20211029144847792 image-20211029144928923 image-20211029144951410 image-20211029145050741 image-20211029145107279

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

image-20211029145236839

雙機通信應用

image-20211029145402775

image-20211029145520896

image-20211029145544385

七、C51語言編程

概述

image-20211029145817930

如何確定編程語言

image-20211029145856277

特殊數據類型

image-20211029145950957 image-20211029150032808

位變量禁忌

image-20211029150130726

位變量與整形變量的對應關系

image-20211029150308490

注意它們的對應關系

sbit、bit和位域區別

image-20211029150405724

指針

通用指針和具體指針

image-20211029150508944 image-20211029150526221

填空時的指針類型

image-20211029150636297

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

image-20211029150806776

中斷函數遵循的原則

image-20211029150936023

串行通信程序舉例

image-20211029151017603
  • 查詢方式發送程序
image-20211029151057345
  • 查詢方式接收程序
image-20211029151113258
  • 中斷方式發送主程序
image-20211029151157375
  • 中斷方式發送中斷服務程序
image-20211029151229313
  • 中斷方式接收主程序
image-20211029151256110
  • 中斷方式接收中斷服務程序
image-20211029151333781

八、匯編指令

匯編的六種尋址方式

  • 立即尋址
  • 直接尋址
  • 寄存器尋址
  • 間接尋址
  • 變址尋址
  • 寄存器特征尋址

注意給出指令做出是否正確的判斷

image-20211029152010850

數據傳送類指令

image-20211029152100152

算數運算指令

image-20211029152152338 image-20211029152224327 image-20211029152250113 image-20211029152315254

邏輯運算指令

與操作

image-20211029152525976

異或操作

image-20211029152608601

+++++++++++++++++++++++++++++++

image-20211029152719137 image-20211029152840879 image-20211029152903285

布爾指令

image-20211029152943746

控制轉移類指令

image-20211029153039964 image-20211029153100426 image-20211029153123949 image-20211029153203007 image-20211029153242099

上題為閱讀題

image-20211029153334615

匯編、目標程序的對應轉換

image-20211029153424987


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM