版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第 4 章單片機(jī)應(yīng)用功能介紹4.1 單片機(jī)中斷系統(tǒng)介紹4.1.1 中斷系統(tǒng)結(jié)構(gòu)在 CPU 和外設(shè)交換信息時(shí),存在著快速 CPU 和慢速外設(shè)間的矛盾,機(jī)器內(nèi)部有時(shí)也可能出現(xiàn)突發(fā)事件,為此,計(jì)算機(jī)中通常采用中斷技術(shù)。中斷 CPU 和外設(shè)并行工作,當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好( 或有某種突發(fā)事件發(fā)生)時(shí)向 CPU提出請(qǐng)求,CPU 暫停正在執(zhí)行的程序轉(zhuǎn)而為該外設(shè)服務(wù)(或處 理緊急事件),處理完畢再回到原斷點(diǎn)繼續(xù)執(zhí)行原程序。中斷源 引起中斷的原因,中斷申請(qǐng)的來(lái)源,中斷源可以是 I/O 設(shè)備、故障、時(shí)鐘、調(diào)試中人為設(shè)置。中斷優(yōu)先級(jí) 當(dāng)有多個(gè)中斷源同時(shí) 向 CPU 申請(qǐng)中斷時(shí),CPU 優(yōu)先響應(yīng)最需緊急處理的中斷請(qǐng)求,
2、處理完畢再響應(yīng)優(yōu)先級(jí)別較低的 ,這種預(yù)先安排的響應(yīng)次序。中斷的嵌套 在中斷系統(tǒng)中,高優(yōu)先級(jí)的 中斷請(qǐng)求能中斷正在進(jìn)行的較低級(jí)的中斷源處理,8XX51 有 5個(gè)中斷源,3個(gè)在片內(nèi),2個(gè)在片外,它們?cè)诔绦虼尜A器中有固定的中斷入口地址, 當(dāng) CPU 響應(yīng)中斷時(shí),硬件自動(dòng)形成這些地址,由此進(jìn)入中斷服務(wù)程序;5 個(gè)中斷源有兩級(jí)中斷優(yōu)先級(jí),可形式中斷嵌套。1.中斷源8XX51 有 5個(gè)中斷源,其符號(hào)、名稱、產(chǎn)生條件及中斷服務(wù)程序的入口地址如表 4-1。表 4-1中斷服務(wù)程串行通信完成一幀數(shù)據(jù)發(fā)送或接收引起中斷2. 中斷控制的有關(guān)寄存器(1)中斷的允許和禁止中斷控制寄存器 IEIE 寄存器的各位對(duì)應(yīng)相應(yīng)的中
3、斷源,如果允許該中斷源中斷則該位置 1,禁止中斷則該1 位置 0 。EA表 4-2T0允/禁INT0允/禁允/禁 允/禁允/禁允/禁EA:中斷總控開(kāi)關(guān),是 CPU 是否響應(yīng)中斷的前提。EA=1,CPU 開(kāi)中斷;EA=0, CPU 關(guān)中斷。ES: 串行口中斷允許位,ES=1,允許串行口發(fā)送/接收中斷;ES=0,禁止串行口中斷。ET1:定時(shí)器 T1中斷允許位,ET1=1,允許 T1 計(jì)數(shù)溢出中斷;ET1=0,禁止 T1 中斷。ET0: 定時(shí)器 T0 中斷允許位,ET0=1,允許 T1計(jì)數(shù)溢出中斷;ET0=0,禁止 T0中斷。EX1: 外部中斷 INT1 允許位,EX1=1,允許 INT1 中斷;E
4、X1= 0,禁止 INT1中斷。EX0: 外部中斷 INT0 允許位,EX0=1,允許 INT0 中斷;EX0= 0,禁止 INT0 中斷。(2)中斷請(qǐng)求標(biāo)志及外部中斷方式選擇寄存器 TCON表 4-3IE1INT1請(qǐng)求INT0 INT0方式下沿/低電平有/無(wú)下沿/ 低電平說(shuō)明: IT0 和 IT1 為外中斷 INT0 和 INT1中斷觸發(fā)方式選擇,若選下降沿觸發(fā)則相應(yīng)位置1;若選低電平觸發(fā) ,IT相應(yīng)位置 0。 某中斷源有中斷請(qǐng)求,該中斷標(biāo)志置 1,無(wú)中斷請(qǐng)求,該中斷標(biāo)志置 0TR0 和 TR1 為定時(shí)器 T0 和 T1 工作啟動(dòng)和停止控制。(3)中斷優(yōu)先級(jí)管理寄存器 IP五個(gè)中斷源的優(yōu)先級(jí)
5、別由 IP 寄存器管理,相應(yīng)位置 1,則該中斷源優(yōu)先級(jí)別高,置 02 的優(yōu)先級(jí)別低。- -高/低高/低高/低高/低高/低當(dāng) 某幾個(gè)中斷源在 IP 寄存器相應(yīng)位同為 1 或同為零時(shí),由內(nèi)部查詢確定優(yōu)先級(jí),查詢的順序是:INT0 T0 INT1 T1 串行口 。3.中斷系統(tǒng)結(jié)構(gòu)如圖 4-1所示圖 4-14. 中斷響應(yīng)過(guò)程(1)中斷處理過(guò)程中斷處理過(guò)程分為四個(gè)階段:中斷請(qǐng)求,中斷響應(yīng),中斷處理、中斷返回。 MCS51系列單 片機(jī)的中斷過(guò)程流程如圖所示。中斷請(qǐng)求、中斷響應(yīng)過(guò)程由硬件完成。中斷服務(wù)程序應(yīng)根據(jù)需要進(jìn)行編寫(xiě)。程序中要注意保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。中斷返回是通過(guò)執(zhí)行一條 RETI 中斷返回指令,使堆
6、棧中被壓入的斷 點(diǎn)地址送 PC,從而返回主程序的斷點(diǎn)繼續(xù)執(zhí)行主程序。另外 RETI 還有恢復(fù)優(yōu)先級(jí)狀態(tài)觸發(fā)器 的作用,因此不能以 RET 指令代替“RETI”指令。若某個(gè)中斷源通過(guò)編程設(shè)置,處于被打開(kāi)的狀態(tài),并滿足中斷響應(yīng)的條件,然而下面三種情況單片機(jī)不響應(yīng)此中斷:當(dāng)前正在執(zhí)行的那條指令沒(méi)執(zhí)行完;當(dāng)前響應(yīng)了同級(jí)或高級(jí)中斷;正在操作 IE、IP中斷控制寄存器或執(zhí)行 RETI指令。3 在正常的情況下,從中斷請(qǐng)求信號(hào)有效開(kāi)始,到中斷得到響應(yīng),通常需要 3 個(gè)機(jī)器周期到 8個(gè)機(jī)器周期。(2)中斷請(qǐng)求的撤除CPU 響應(yīng)中斷后,應(yīng)撤除該中斷請(qǐng)求標(biāo)志,否則會(huì)再次中斷。對(duì)定時(shí)計(jì)數(shù)器 T0、T1的溢出中斷,CP
7、U 響應(yīng)中斷后,硬件自動(dòng)清除中斷請(qǐng)求標(biāo)志 TF0和 TF1。對(duì)邊沿觸發(fā)的外部中斷 INT1和 INT0,CPU響應(yīng)中斷后硬件自動(dòng)清除中斷請(qǐng)求標(biāo)志 IE0和 IE1。對(duì)于串行口中斷,CPU 響應(yīng)中斷后,沒(méi)有用硬件清除中斷請(qǐng)求標(biāo)志 TI、RI,即這些中斷標(biāo)志 不會(huì)自動(dòng)清除,必須用軟件清除,這是在編串行通信中斷服務(wù)中應(yīng)該注意的。對(duì)電平觸發(fā)的外部中斷,CPU 在響應(yīng)中斷時(shí)也不會(huì)自動(dòng)清除中斷標(biāo)志,因此,在 CPU響應(yīng)中斷后應(yīng)立即撤除 INT1或 INT0的低電平信號(hào)。4.1.2 中斷系統(tǒng)的應(yīng)用1.中斷技術(shù)是實(shí)時(shí)控制中的常用技術(shù),51系列單片機(jī)有三個(gè)內(nèi)部中斷,二個(gè)外部中斷。所謂外部中斷就是在外部引腳上有產(chǎn)
8、生中斷所需要的信號(hào)。每個(gè)中斷源有固定的中斷服務(wù)程序的入口地址(稱矢量地址或向量地址)。當(dāng) CPU 響應(yīng)中斷以后單片機(jī)內(nèi)部硬件保證它能自動(dòng)的跳轉(zhuǎn)到該地址。因此,此地址是應(yīng)該熟記的,在匯編程序中,中斷服務(wù)程序應(yīng)存放在正確的向量地址內(nèi),(或存放一條轉(zhuǎn)移指令)。2.單片機(jī)的中斷是靠?jī)?nèi)部的寄存器管理的,這就是中斷允許寄存器 IE,中斷優(yōu)先權(quán)寄存器 IP ,必須在 CPU 開(kāi)中斷即開(kāi)全局中斷開(kāi)關(guān) EA,開(kāi)各中斷源的中斷開(kāi)關(guān),CPU 才能響應(yīng)該中斷源的中斷請(qǐng)求,其中缺一不可。3.從程序表面看來(lái),主程序和中斷服務(wù)程序好象是沒(méi)有關(guān)連的,只有掌握中斷響應(yīng)的過(guò)程,才能理解中斷的發(fā)生和返回,看得懂中斷程序,并能編寫(xiě)高
9、質(zhì)量中斷程序。4.本章重點(diǎn)應(yīng)掌握中斷的基本概念,中斷程序的具體應(yīng)用將在 3.11.7 中再繼續(xù)討論。4.2 定時(shí)/計(jì)數(shù)器功能4.2.1 8051 定時(shí)/計(jì)數(shù)器結(jié)構(gòu)和工作原理51系列單片機(jī)片內(nèi)有二個(gè)十六位定時(shí)/計(jì)數(shù)器:定時(shí)器 0(T0)和定時(shí)器 1(T1)。兩個(gè)定時(shí)器都有定時(shí)或事件計(jì)數(shù)的功能,可用于定時(shí)控制、延時(shí)、對(duì)外部事件計(jì)數(shù)和檢測(cè)等場(chǎng)合定時(shí)/計(jì)數(shù)器實(shí)際上是 16 位加 1計(jì)數(shù)器。T0 由 2個(gè) 8 位持殊功能寄存器 TH0和 TL0構(gòu)成,T1 由 2個(gè) 8 位持殊功能寄存 TH1和 TL1構(gòu)成。每個(gè)定時(shí)器都可由軟件設(shè)置為定時(shí)工作方式或計(jì)數(shù)工作方式。T0 和 T1受特殊功能寄存器 TMOD和
10、TCON 控制。1. 定時(shí)器工作方式4 設(shè)置為定時(shí)工作方式時(shí),定時(shí)器計(jì)數(shù)的脈沖是由 51 單片機(jī)片內(nèi)振蕩器經(jīng) 12 分頻后產(chǎn)生的。(定時(shí)器又分四種工作方式,3.10.3 討論)每經(jīng)過(guò)一個(gè)機(jī)器周期定時(shí)器(T0 或 T1)的數(shù)值加 1直至計(jì)數(shù)滿產(chǎn)生溢出。如:當(dāng) 8051 采用 12MHz晶體時(shí),每個(gè)機(jī)器周期為 1 s,計(jì) 5 個(gè)機(jī)器周期即為 5 s,即定時(shí) 5 s 。2. 計(jì)數(shù)器工作方式設(shè)置為計(jì)數(shù)工作方式時(shí),通過(guò)引腳 T0(P34)和 T1(P35)對(duì)外部脈沖信號(hào)計(jì)數(shù)。當(dāng)輸入脈沖信號(hào)產(chǎn)生由 1 至 0 的下降沿時(shí),定時(shí)器的值加 1, 在每個(gè)機(jī)器周期 CPU采樣 T0和 T1的輸入電平。若前一個(gè)機(jī)器
11、周期采樣值為高,下一個(gè)機(jī)器周期采樣值為低,則計(jì)數(shù)器加 1。由于檢測(cè)一個(gè) 1 至 0 的跳變需要二個(gè)機(jī)器周期,故最高計(jì)數(shù)頻率為振蕩頻率的二十四分之一。雖然對(duì)輸入信號(hào)的占空比無(wú)特殊要求,但為了確保某個(gè)電平在變化之前至少被采樣一次,要求電平保持時(shí)間至少是一個(gè)完整的機(jī)器周期。4.2.2 定時(shí)計(jì)數(shù)器的控制寄存器定時(shí)器共有兩個(gè)控制寄存器:定時(shí)器控制 TCON(88H)定時(shí)器工作模式寄存器 TMOD(89H)1. 工作模式寄存器 TMOD(89H)TMOD 用于控制 T0和 T1的操作模式。其各位的定義如下:定時(shí)器T1定時(shí)器T0D0(89H) GATE C/TM1M0 GATE C/TM1M0 GATE:門(mén)
12、控信號(hào)GATE=0,TRx=1 時(shí)即可啟動(dòng)定時(shí)器工作 ;GATE=1,INTx=1 才可啟動(dòng)定時(shí)器工作。 C/T:定時(shí)器/計(jì)數(shù)器選擇位C/T=1,為計(jì)數(shù)器方式;C/T=0,為定時(shí)器方式。工作模式選擇位 M1 M0M1M0=00M1M0=01M1M0=10M1M0=11工作方式 0(13位方式)。工作方式 1(16位方式)。工作方式 2(8位自動(dòng)再裝入方式)。工作方式 3(T0為 2個(gè) 8位方式)。5 2. 控制寄存器 TCON(88H)TR1請(qǐng)求有/無(wú) 工作啟/ 請(qǐng)求有/無(wú) 工作啟/停 請(qǐng)求有/無(wú) 方式下沿/ 請(qǐng)求有/無(wú) 方式下沿/停低電平 低電平TCON 寄存器中定時(shí)器控制 僅用了其中高四位
13、,其意義如下:TF1:T1溢出中斷請(qǐng)求標(biāo)志。TF1=1,T1有溢出中斷請(qǐng)求。TF1=0,T1無(wú)溢出中斷請(qǐng)求。TR1:T1運(yùn)行控制位。TR1=1,啟動(dòng) T1 工作。TR1=0,停止 T1 工作。TF0:T0溢出中斷請(qǐng)求標(biāo)志。TF0=1,T0有溢出中斷請(qǐng)求。TF0=0,T0無(wú)溢出中斷請(qǐng)求。TR0:T0運(yùn)行控制位。TR0=1,啟動(dòng) T0 工作。TR0=0,停止 T0 工作。4.2.3定時(shí)器的四種工作方式對(duì) TMOD 寄存器的 M1、M0 位的設(shè)置,可選擇四種工作方式,即方式 0、方式 1、方式 2和方式 3。下面用 THX、TLX(X=1或 0)表示 TH1 TL1 TH0 TL0。1.方式 0定時(shí)
14、器(T0 或 T1)工作于 13位定時(shí)、計(jì)數(shù)方式。用于計(jì)數(shù)方式時(shí)最大計(jì)數(shù)值為 213 8192 個(gè)脈沖。用于定時(shí)工作時(shí),定時(shí)時(shí)間為:t(213 一 T0 初值) 時(shí)鐘周期12在這種模式下,16 寄存器(THX 和 TLX)只用 13位,其中 THX 占高 8 位。其中 TLX占低 5 位, TLX 的高 3位末用。當(dāng) TLX 的低 5位溢出時(shí)向 THX進(jìn)位,而 THX溢出時(shí)硬件置位 TF0,并申請(qǐng)中斷。定時(shí)、計(jì)數(shù)溢出否可查詢 TF0 是否置位,如果開(kāi)中斷則產(chǎn)生溢出中斷。2 .方式 1當(dāng) TMOD 中 M1M0=01時(shí),定時(shí)計(jì)數(shù)器工作在方式 1。該模式是一個(gè) 16位定時(shí)計(jì)數(shù)方式。寄存器 TH0
15、和 TL0 是以全 16 位參與操作,計(jì)數(shù)方式時(shí)最大計(jì)數(shù) 21665536(個(gè)外部脈沖) 。用于定時(shí)工作方式時(shí),定時(shí)時(shí)間為:t(216 一 T0初值) 時(shí)鐘周期12 16 寄存器(THX 和 TLX) 中 THX 提供高 8 位、TLX提供低 8 位計(jì)數(shù)初值6 3. 方式 2當(dāng) TMOD 中 M1M0=10時(shí),定時(shí)器工作在方式 2。方式 2是 8位的可自動(dòng)重裝載的定時(shí)計(jì)數(shù)方式。16 位的計(jì)數(shù)器被拆成兩個(gè) 8 位,其中 TL0用作 8位計(jì)數(shù)器, TH0用以保持計(jì)數(shù)初值。當(dāng) TL0 計(jì)數(shù)溢出,置位 TF0,TH0中的初值自動(dòng)裝入 TL0,繼續(xù)計(jì)數(shù),循環(huán)重復(fù)計(jì)數(shù)。用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)值為:2
16、8256(個(gè)外部脈沖)。用于定時(shí)工作方式時(shí),其定時(shí)時(shí)間為;t(28TH0初值)振蕩周期12這種工作方式可省去用戶重裝常數(shù)的程序,并可產(chǎn)生精確的定時(shí)時(shí)間,特別適用作串行口波待率發(fā)生器。4.方式 3當(dāng) TMOD 中 M1M0=11時(shí),定時(shí)器工作在方式 3。若將 T0 設(shè)置為模式 3,TL0 和 TH0被分成為兩個(gè)互相獨(dú)立的 8位計(jì)數(shù)器 TH0和 TL0 。 TL0 可工作為定時(shí)方式或計(jì)數(shù)方式。占用原 T0的各控制位、引腳和中斷源。即 CT、GATE、TR0、TF0 和 T0 (P3.4)引腳、INT0 (P3.2)引腳。TH0 只可用作定時(shí)功能,占用定時(shí)器 T1 的控制位 TR1 和 T1 的中斷
17、標(biāo)志位 TF1,其啟動(dòng)和關(guān)閉僅受 TRl 的控制。定時(shí)器 T1 無(wú)模式 3, 可工作于方式 0、1、2,但不能使用中斷方式。 只有將 T1 用做串行口的波特率發(fā)生器時(shí),T0 才工作在方式 3,以便增加一個(gè)定時(shí)器。小結(jié)定時(shí)計(jì)數(shù)器應(yīng)用非常廣泛,如定時(shí)采樣、時(shí)間測(cè)量、產(chǎn)生音響、作脈沖源、制作日歷時(shí)鐘、測(cè)量波形的頻率和占空比、檢測(cè)電機(jī)轉(zhuǎn)速等。因此應(yīng)很好掌握。定時(shí)和計(jì)數(shù)實(shí)質(zhì)都是對(duì)脈沖的計(jì)數(shù),只是被計(jì)脈沖的來(lái)源不同,定時(shí)方式的被計(jì)脈沖來(lái)源于時(shí)鐘,計(jì)數(shù)方式的被計(jì)脈沖來(lái)源于外部,定時(shí)方式的計(jì)數(shù)初值和被計(jì)脈沖周期有關(guān),計(jì)數(shù)方式的和被計(jì)脈沖的個(gè)數(shù)有關(guān)。無(wú)論定時(shí)還是計(jì)數(shù),當(dāng)計(jì)滿規(guī)定的脈沖個(gè)數(shù)產(chǎn)生溢出(計(jì)數(shù)初值寄存器
18、回零),置位 TFx ,可以通過(guò)程序查詢,如果允許中斷,會(huì)產(chǎn)生中斷。7 4.3 串行口及串口通信4.3.1 概述單片機(jī)應(yīng)用與數(shù)據(jù)采集或遠(yuǎn)距離控制等,往往作為前端機(jī)安裝在作業(yè)現(xiàn)場(chǎng),遠(yuǎn)離主機(jī),現(xiàn)場(chǎng)數(shù)據(jù)采用串行通信方式發(fā)往主機(jī)進(jìn)行處理,以降低通信成本,提高通信可靠性。數(shù)據(jù)通信方式有兩種:并行通信與串行通信,見(jiàn)圖 4-2。并行通信:所傳送數(shù)據(jù)的各位同時(shí)發(fā)送或接收,數(shù)據(jù)有多少位就需要多少根數(shù)據(jù)線。特點(diǎn):速度快,成本高,適合近距離傳輸,如計(jì)算機(jī)并口打印機(jī)、8255 擴(kuò)展等。串行通信:所傳送數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收。只需一根數(shù)據(jù),一根地線,共 2 根(如雙向通信發(fā)送和接收各需 1 根數(shù)據(jù)線,共
19、3 根。)特點(diǎn):成本低,硬件方便,適合遠(yuǎn)距離通信,傳輸速度低。圖 4-24.3.2 通信的分類和基本任務(wù)1.同步通信圖 4-3在同步通信中,發(fā)送方在數(shù)據(jù)或字符開(kāi)始處就用同步字符(常約定 12 個(gè)字節(jié))指示一幀的開(kāi)始 ,由時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端和接收端同步,接收方一旦檢測(cè)到與規(guī)定的同步字符符合,下面就連續(xù)按順序傳送若干個(gè)數(shù)據(jù) ,最后發(fā)校驗(yàn)字節(jié)。見(jiàn)圖 4-3。2.異步通信通信的雙方應(yīng)該有一個(gè)約定,什么時(shí)候開(kāi)始發(fā)送,什么時(shí)候發(fā)送完畢;接收方收到的信息是否正確等,這就是通信協(xié)議。8 異步串行通信一幀數(shù)據(jù)格式:一個(gè)起始位 “0”,表示字符的開(kāi)始,然后是 18 位數(shù)據(jù)即該字符的代碼,規(guī)定低位在前,高位在后,接下
20、來(lái)是奇偶校驗(yàn)位(可省略),最后以停止位“1”表示字符的結(jié)束。見(jiàn)圖 3-9。第n個(gè)字符(一幀)n+1P0 D0 D1 D2 D3 D4 D5 D6 D71 0 D01P起校 停驗(yàn)始位止數(shù)據(jù)位(18位)位 位圖 4-43.單工、半雙工、全雙工通信方式按通信方向分類:?jiǎn)喂?、半雙工、全雙工通信方式(1)單工方式: 一端是發(fā)送端,另外一端是接收端:(2)半雙工方式: 每端口有一個(gè)發(fā)送器和一個(gè)接收器,通過(guò)開(kāi)關(guān)連接在線路上,數(shù)據(jù)可以雙向傳送,但不能同時(shí)發(fā)送和接收. 要通過(guò)換向器轉(zhuǎn)換方向。(3)全雙工方式: 通信雙方用兩個(gè)獨(dú)立的收發(fā)器單獨(dú)連接,可以同時(shí)發(fā)送和接收數(shù)據(jù),因而提高了速度。在串行傳輸中,通信的雙方都
21、按通信協(xié)議進(jìn)行,所謂通信協(xié)議就是通信雙方必須共同遵守的 一種約定,約定包括數(shù)據(jù)的格式、同步的方式、傳送的步驟、檢糾錯(cuò)方式及控制字符的定義等。4.串行接口的基本任務(wù)就是:(1)實(shí)現(xiàn)數(shù)據(jù)格式化。因?yàn)?CPU 發(fā)出的數(shù)據(jù)是并行數(shù)據(jù),接口電路應(yīng)實(shí)現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化任務(wù), 如自動(dòng)生成起止方式的幀數(shù)據(jù)格式(異步方式)或在待傳送的數(shù)據(jù)塊前加上同步字符等。(2)進(jìn)行串、并轉(zhuǎn)換在發(fā)送端,接口將 CPU 送來(lái)的并行信號(hào)轉(zhuǎn)換成串行數(shù)據(jù)進(jìn)行傳送;而在接收端,接口要將接 收到串行數(shù)據(jù)變成并行數(shù)據(jù)送往 CPU,由 CPU 進(jìn)行處理。(3)控制數(shù)據(jù)的傳輸速率。接口應(yīng)具備對(duì)數(shù)據(jù)傳輸率波特率的控制選擇能力,即具有
22、波特率發(fā)生器。5.進(jìn)行傳送錯(cuò)誤檢測(cè)。在發(fā)送時(shí),對(duì)傳送的數(shù)據(jù)自動(dòng)生成校驗(yàn)位或校驗(yàn)碼,在接收端能檢查校驗(yàn)位或校驗(yàn) 碼,以確定傳送中是否有誤碼。51 系列單片機(jī)內(nèi)有一個(gè)全雙工的異步通信接口,通過(guò)對(duì)串行接口寫(xiě)控制字可以選擇其數(shù)據(jù)格 式,同時(shí)內(nèi)部有波特率發(fā)生器,提供可選的波特率,可完成雙機(jī)通信或多機(jī)通信。9 4.3.3 波特率單位時(shí)間內(nèi)傳送的信息量。在計(jì)算機(jī)中,以每秒傳送的二進(jìn)制位數(shù)為單位。例如:100 字符/秒,1個(gè)字符 11位,波特率為:10011=1100(波特)平均每位傳送占用時(shí)間Td = 1/1100=0.909ms4.3.4 串行通信總線標(biāo)準(zhǔn)及接口1.通信線的連接通信速率和通信距離這兩個(gè)方面
23、是相互制約的,降低通信速率,可以提高通信距離.不同的通信距離,串行通信電路有不同的連接方法,見(jiàn)圖 4-5。RXDTXDGNDRXDTXDGND(a)較遠(yuǎn)距離傳送電路微機(jī)其他設(shè)備微機(jī)RXDTXDRXDTXDRXDTXDGNDRXDTXDGNDGNDGND(b)遠(yuǎn)距離傳送電路電話分機(jī)微機(jī)10 圖 4-5(c)2.串行通信接口總線標(biāo)準(zhǔn)及應(yīng)用測(cè)控系統(tǒng)中,計(jì)算機(jī)通信主要采用異步串行通信方式,常用的異步總線標(biāo)準(zhǔn)有三種:RS-232(RS-232A RS-232B RS-232C)RS-449 (RS42220mA 電流環(huán)RS423RS485)這里重點(diǎn)介紹 RS-232 C(1)采用負(fù)邏輯:“1” 5V 1
24、5V“0” +5V + 15V(2)不帶負(fù)載時(shí)輸出電平:25V +25V(3)輸出短路電流:(4)最大負(fù)載電容: 0.5A2500pF當(dāng)計(jì)算機(jī)采用 RS232 標(biāo)準(zhǔn)時(shí)必須通過(guò)電平,MAX232 是 EIA和 TTL電平轉(zhuǎn)換芯片。內(nèi)部具有電壓提升電路,并有兩路接收器和發(fā)送器。其連線和引腳及應(yīng)用方法將在第 6 章介紹。4.3.5 單片機(jī)串行口的結(jié)構(gòu)與工作原理51單片機(jī)有一個(gè)可編程的全雙工異步串行通信接口,它可作UART 用,也可作同步移位寄存器,其幀格式可有 8位、10 位或 l l 位,并能設(shè)置各種波特率,給使用者帶來(lái)很大的靈活性。1.串行口的內(nèi)部結(jié)構(gòu)5 l 單片機(jī)通過(guò)引腳 RXD(P3.0)串
25、行數(shù)據(jù)接收端)和引腳 TXD(P3.l)串行數(shù)據(jù)發(fā)送端)與外界進(jìn)行通信。有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器 SBUF,它們占用同一地址 99H,可同時(shí)發(fā)送、接收數(shù)據(jù)。 發(fā)送緩沖器只能寫(xiě)入,不能讀出,CPU寫(xiě) SBUF,一方面修改發(fā)送寄存器,同時(shí)啟動(dòng)數(shù)據(jù)串行發(fā)送; 接收緩沖器只能讀出、不能寫(xiě)入。讀 SBUF,就是讀接收寄存器。串行控制寄存器SCON,用以存 放串行口的控制和狀態(tài)信息。8XX51 串行口正是通過(guò)對(duì)上述專用寄存器的設(shè)置、檢測(cè)與讀取 來(lái)管理串行通信的。特殊功能寄存器 PCON 的最高位 SMOD為串行口波特率的倍增控制位。波特率發(fā)生器可以有兩種選擇:(1)定時(shí)器 T1 作波特率發(fā)生器,
26、改變計(jì)數(shù)初值就可以改變串行通信的速率,稱為可變波特率。(2)以內(nèi)部時(shí)鐘的分頻器作波特率發(fā)生器,因內(nèi)部時(shí)鐘頻率一定,稱為固定波特率2.串行通信的傳送過(guò)程見(jiàn)圖 3-11 甲方發(fā)送時(shí),CPU 執(zhí)行指令 MOV SBUF , A 啟動(dòng)了發(fā)送過(guò)程,數(shù)據(jù)并行送入SBUF ,在發(fā)送時(shí)鐘 shift 的控制下由低位到高位一位一位發(fā)送,乙方在接收時(shí)鐘 shift 的控制下由低位到高位順序進(jìn)入移位寄存器 SBUF ,甲方一幀數(shù)據(jù)發(fā)送完畢,置位發(fā)送中斷標(biāo)11 志 TI,該位可作為查詢標(biāo)志(或引起中斷),CPU 可再發(fā)送下一幀數(shù)據(jù) 。乙方一幀數(shù)據(jù)到齊即接收緩沖器滿,置位接收中斷標(biāo)志 RI,該位可作為查詢標(biāo)志(或引起接
27、收中斷),通過(guò) MOV A ,SBUF CPU 將這幀數(shù)據(jù)并行讀入。由上述可知:甲、乙方的移位時(shí)鐘頻率應(yīng)相同,即應(yīng)具有相同的波特率,否則會(huì)造成數(shù)據(jù)丟失。發(fā)送方是先發(fā)數(shù)據(jù)再查標(biāo)志,接收方是先查標(biāo)志再收數(shù)據(jù)。乙方 (接收)甲方(發(fā)送)MOV SBUF , AMOV A, SBUFSBUFSBUFshiftshift圖4-6SM0.SM1:串行口工作方式控制位。0 0-方式 0,0 1-方式 11 1-方式 31 0-方式 2,REN:串行接收允許位。0-禁止接收, 1-允許接收TB8: 在方式 2,3 中,TB8 是發(fā)送機(jī)要發(fā)送的第 9 位數(shù)據(jù)。RB8:在方式 2, 3 中, RB8 是接受機(jī)收到
28、的第 9位數(shù)據(jù), 該數(shù)據(jù)來(lái)自發(fā)送機(jī)的 TB8。TI: 發(fā)送中斷標(biāo)志位。發(fā)送前必須用軟件清零,發(fā)送過(guò)程中 TI 保持零電平,發(fā)送完一幀數(shù)據(jù)后,由硬件置 “1”,如果再發(fā)送,必須用軟件再清零。RI: 接收中斷標(biāo)志位。接收前,必須用軟件清零,接收過(guò)程中 RI保持零電平,接收完一幀數(shù)據(jù)后由片內(nèi)硬件自動(dòng)置“1”。如果再接收必須用軟件清零。SM2:多機(jī)通信控制位,僅用于方式 2和方式 3。當(dāng)選擇方式 2或方式 3時(shí),發(fā)送機(jī)設(shè)置SM2=1, 以發(fā)送第九位 TB8為 1 作為地址幀尋找從機(jī),以 TB8為 0作為數(shù)據(jù)幀進(jìn)行通信,從機(jī)初始化時(shí)設(shè)置 SM2=1,若接收到的第九位數(shù)據(jù) RB8=0,不置位 RI,即不引
29、起接收中斷,亦既不接收數(shù)據(jù)幀,繼續(xù)監(jiān)聽(tīng),如接收到的 RB8=1,置位 RI,引起接收中斷, 中斷程序中判斷所接收的地址幀和本機(jī)的地址。是否符合,若不符合,維持 SM2=1,繼續(xù)監(jiān)聽(tīng),若符合,則 清 SM2,接收對(duì)放發(fā)來(lái)的后續(xù)信息.綜上所述,SM2 的作用為:在方式 2,3 中,發(fā)送機(jī) SM2=1(程序設(shè)置).接收機(jī) SM2=1,若 RB8=1,激活 RI,引起接收中斷.12 RB8=0,不激活 RI,不引起中斷.SM2=0,無(wú)論 RB8=1 還是 RB8=0均激活 RI引起接收中斷。在方式 1 中, 當(dāng)接收時(shí) SM2=1, 則只有收到有效停止位才激活 RI,在方式 0 中, SM2應(yīng)置為 0。
30、3.電源控制寄存器 PCON 的格式如下表所示,串行通信只用其中的最高位 SMODD7D5XD4XD3XD2XD1XD0XPCON87HSMOD XSMOD : 波特率加倍位。在計(jì)算串行方式 1、 2、 3 的波特率時(shí),SMOD 0不加倍;SMOD 1 加倍PCON 的字節(jié)地址為 87H,無(wú)位地址, 只能字節(jié)尋址.,初始化時(shí) SMOD=0.4.3.6 串行口的工作方式根據(jù)串行通信數(shù)據(jù)格式和波特率的不同, 51 系列單片機(jī)的串行通信有四種工作方式 ,通過(guò)編程進(jìn)行選擇,各工作方式的特點(diǎn)如下:1.方式 0方式 0的數(shù)據(jù)格式為 8位,低位在前,高位在后,RXD為串行數(shù)據(jù)的發(fā)送端或接收端, TXD輸出頻
31、率為 fosc/12 的時(shí)鐘脈沖。波特率固定為 fosc/12 (fosc為單片機(jī)晶振頻率)移位寄位器方式多用于接口的擴(kuò)展 ,當(dāng)用單片機(jī)構(gòu)成系統(tǒng)時(shí) ,往往感到并行口不夠用 ,此時(shí)可通過(guò)外接串入并出移位寄存器擴(kuò)展輸出接口;通過(guò)外接并入串出移位寄存器擴(kuò)展輸入接口,方式 0 也可應(yīng)用于短距離的單片機(jī)之間的通信。2.方式 1為 10位異步通信方式, 每幀數(shù)據(jù)由 1個(gè)起始位 “0”.八個(gè)數(shù)據(jù)位和 1個(gè)停止位“1”共 10 位構(gòu)成.其中起始位和停止位在發(fā)送時(shí)是自動(dòng)插入的.以 TXD 為串行數(shù)據(jù)的發(fā)送端,T1 提供位時(shí)鐘, RXD數(shù)據(jù)的接收端,由 T1 提供移位時(shí)鐘,是波特率可變方式。波特率=(2SMOD/
32、32)(TI 的溢出率)=(2SMOD/32)(fosc/12(256-x) )根據(jù)給定的波特率,可以計(jì)算 T1 的計(jì)數(shù)初值 X。3. 方式 211 位異步發(fā)送/接收方式,即每幀數(shù)據(jù)由有一個(gè)起始位“0”,9 個(gè)數(shù)據(jù)位和 1 個(gè)停止位“1”組成.發(fā)送時(shí)九個(gè)數(shù)據(jù)位,由 SCON 寄存器的 TB8 位 提供,接收到的第九位數(shù)據(jù)存放在SCON 寄存器的 RB8 位.第九位數(shù)據(jù)可作為檢驗(yàn)位,也可用于多機(jī)通信中識(shí)別傳送的是地址還是數(shù)據(jù)的特征位。波特率固定為(2SMOD/64)fosc.4. 方式 3數(shù)據(jù)格式同方式 3,所不同的是波特率可變,計(jì)算方式同方式 1。13 4.3.7 串行口的應(yīng)用編程1.串行口的
33、波特率有兩種方式: 固定波特率 可變波特率注意:使用可變波特率時(shí),先確定 TI 的計(jì)數(shù)初值,并對(duì) TI 進(jìn)行初始化。串行通信的編程方式: 查詢方式:查 C 是否為“1”。 中斷方式:如果預(yù)先開(kāi)了中斷,當(dāng) TI、RI 為“1”,會(huì)自動(dòng)產(chǎn)生中斷。注意:兩種方式中當(dāng)發(fā)送或接受數(shù)據(jù)后都要注意清 TI 或 RI 。2.查詢方式(1)查詢方式發(fā)送流程圖 4-7 (a)Y(a)(2)查詢方式接收流程圖 3-12(b)14 圖 4-7 (b)3.中斷方式中斷方式的初始化編程同查詢方式,不同的是要開(kāi)中斷,即置位 EA 和 ES,編寫(xiě)中斷服務(wù)程序。(1)中斷方式發(fā)送流程(a)(2)中斷方式接收流程15 圖 4-8
34、 (b)例 例如串行通信方式 0,擴(kuò)展 I/O 接口,接八個(gè)數(shù)碼管,使內(nèi)部數(shù)據(jù)存儲(chǔ)器 58H-5FH單元的內(nèi)容為 0XH。分析 由于 TXD,RXD運(yùn)行在工作方式 0 時(shí),可方便的連接串入并移出位寄存器 74LS164,TXD 發(fā)送移位脈沖,RXD 發(fā)送數(shù)據(jù),P3.3 用于顯示器的輸入控制,通過(guò) 74LS164 接八個(gè)數(shù)碼管,電路如下圖所示。圖 4-9程序如下:16 ORGSETBMOVMOVMOVMOVMOVMOVCMOVJNB0050HP3.3; 允許移位寄存器工作; 選串行通信方式 0; 顯示八個(gè)字符SCON, #0R7, #08HR0, #5FHDPTR, #TBAA, R0A,A+D
35、PTRSBUF, ATI, $; 先送最后一個(gè)顯示字符; DPTR 指向字形表首址; 取待顯示數(shù)碼DLO:; 查字形表; 送出顯示; 一幀輸出完?CLRTI; 已完,清中斷標(biāo)志; 修改顯示數(shù)據(jù)地址DECR0DJZNCLRR7, DLOP3.3; 8 位送完,關(guān)發(fā)送脈沖SJMPDB$TBA:0C0H,0F9H,0A4H,B0H,99H,92H82H,0F8H,80H,90H,83H,83H,0C6H0A1H,86H,84H,0FFH,0BFHDBDBDECR0; 修改顯示數(shù)據(jù)地址DJZNCLRSJMPDBR7, DLOP3.3$; 8 位送完,關(guān)發(fā)送脈沖TBA:0C0H,0F9H,0A4H,B0
36、H,99H,92HDB82H,0F8H,80H,90H,83H,83H,0C6H0A1H,86H,84H,0FFH,0BFHDB4.4 存儲(chǔ)器擴(kuò)展MCS51 系列單片機(jī)的特點(diǎn)就是體積小,功能全,系統(tǒng)結(jié)構(gòu)緊湊,硬件設(shè)計(jì)靈活。對(duì)于簡(jiǎn)單 的應(yīng)用,最小系統(tǒng)即能滿足要求。所謂最小系統(tǒng)是指在最少的外部電路條件下,形成一個(gè)可獨(dú)立工作的單片機(jī)應(yīng)用系統(tǒng)。一片 89C51,或者一片 8031 外接一片 EPROM 就構(gòu)成了一個(gè)單片機(jī)最小系統(tǒng)。在很多復(fù)雜的應(yīng)用情況下,單片機(jī)內(nèi)的 RAM ,ROM 和 I/O 接口數(shù)量有限,不夠使用,這種情況下就需要進(jìn)行擴(kuò)展。因此單片機(jī)的系統(tǒng)擴(kuò) 展主要是指外接數(shù)據(jù)存貯器、程序存貯器或
37、 I/O 接口等,以滿足應(yīng)用系統(tǒng)的需要。4.4.1 單片機(jī)系統(tǒng)總線和系統(tǒng)擴(kuò)展方法單片機(jī)是通過(guò)地址總線,數(shù)據(jù)總線和控制總線與外部交換信息的。MCS-51 單片機(jī)的總線接口信號(hào)見(jiàn)圖 4-1017 圖 4-10由圖 3-15 可見(jiàn):1)由于 Po 分時(shí)傳送地址/數(shù)據(jù)信息,在接口電路中,通常配置地址鎖存器,有 ALE信號(hào)鎖存低 8 位地址 AoA7,以分離地址和數(shù)據(jù)信息。2)P2 口傳送高 8 位地址 A8A15。3 ) PSEN 為程序存儲(chǔ)器的控制信號(hào),是在取指令碼時(shí)或執(zhí)行 MOVC 指令時(shí)變?yōu)橛行?。RD、WR 為 數(shù)據(jù)存儲(chǔ)器和 I/O 口的讀、寫(xiě)控制信號(hào)。是執(zhí)行 MOVX 指令時(shí)變?yōu)橛行?。系統(tǒng)的擴(kuò)
38、展歸結(jié)為三總線的連接,連接的方法很簡(jiǎn)單,連線時(shí)應(yīng)遵守下列原則:(1).連接的雙方 數(shù)據(jù)線連數(shù)據(jù)線,地址線連地址線,控制線連控制線。要特別注意的是:程序存儲(chǔ)器接 PSEN; 數(shù)據(jù)存儲(chǔ)器接 RD 和 WR(2).控制線相同的地址線不能相同,地址線相同的控制線不能相同。(3).片選信號(hào)有效的芯片才選中工作,當(dāng)一類芯片僅一片時(shí)片選端可接地,當(dāng)同類芯片多片時(shí)片選端可通過(guò)線譯碼、部分譯碼、全譯碼接地址線(通常是高位地址線) ,在單片機(jī)中多采用線選法。4.4.2 程序存儲(chǔ)器的擴(kuò)展(1)EPROM 的擴(kuò)展程序存儲(chǔ)器擴(kuò)展電路的安排應(yīng)滿足單片機(jī)從外存取指令的時(shí)序要求。從時(shí)序圖中分析ALE、PSEN、Po 和 P2
39、 怎樣配合使程序存儲(chǔ)器完成取指操作,從而得出擴(kuò)展程序存儲(chǔ)器的方法。單片機(jī)一直處于不斷的取指令碼執(zhí)行取指令碼執(zhí)行的工作過(guò)程中,在取指令碼時(shí)和執(zhí)行 MOVC 指令時(shí) PSEN 會(huì)變?yōu)橛行?,和其它信?hào)配合完成從程序存儲(chǔ)器讀取數(shù)據(jù)。18 圖 4-11根據(jù)以上取指時(shí)序的要求,8XX51 單片機(jī)擴(kuò)展程序存儲(chǔ)器 2732 的電路圖見(jiàn)圖 4-12圖 4-12圖中,74LS373 為 8D 鎖存器,其主要特點(diǎn)在于:控制端為高電平時(shí),輸出 QoQ7 復(fù)現(xiàn)輸入 DoD7 的狀態(tài);G 為下跳沿時(shí) DoD7 的狀態(tài)被鎖存在 QoQ7 上。當(dāng)把 ALE 與 G 相連后,ALE 的下跳沿正好把 Po 端口上此時(shí)出現(xiàn)的 PC
40、 寄存器指示的低 8 位指令地址 AoA7鎖存在 74LS373 的 QoQ7 上,PC 的高 4 位地址 A8A11則直接由 P2.0P2.3 提供。由于只擴(kuò)展了一片 2732EPROM,因此 2732 的片選端接地。PSEN 與 2732 的輸出允許型號(hào) OE 相連,PSEN 的上升沿使 OE 有效,打開(kāi) 2732 中由A0A11 指定的地址單元,該單元中的指令碼從 2732 的 O0O7 輸出,被正好處于讀入狀態(tài)的 Po 端口輸入到單片機(jī)內(nèi), 經(jīng)譯碼執(zhí)行。這就是從外存指定地址單元中取出 1 字節(jié)指令并加以執(zhí)行的整個(gè)過(guò)程。19 單片機(jī)擴(kuò)展 2761,2764,27128 等 EPROM 的
41、方法與圖 9-3 相同,差別僅在于不同的芯片的存儲(chǔ)容量的大小不同,因而使用高 8 位地址的 P2 端口線的根數(shù)不同。擴(kuò)展 2716 (2KB)需使用 A8A10 三條高位地址線擴(kuò)展 2764(8KB)需要 A8A12 五條高位地址線。擴(kuò)展 27128(16KB)時(shí) 需要 A8A13 六條高位地址線。這是因?yàn)榇鎯?chǔ)器其容量= N( 地址線的根數(shù) )2注意:2764 和 27128 的 PGM 引腳應(yīng)接 Vcc。(2) EEPROM 的擴(kuò)展電可擦除只讀存儲(chǔ)器 EEPROM 的性能。電可擦除只讀存儲(chǔ)器 EEPROM 即可像 EPROM那樣長(zhǎng)期非易失地保存信息,又可像 RAM 那樣隨時(shí)用電改寫(xiě),近年來(lái)出
42、現(xiàn)了快擦下 FLASHEEPROM,它門(mén)被廣泛用作單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。目前,常用的 EEPROM 如表 3-7,它們有如下共同特點(diǎn):*單+5V 供電,電可擦除可改寫(xiě)。*使用次數(shù)為 1 萬(wàn)次,信息保存時(shí)間為 10 年。*讀出時(shí)間為 ns 級(jí),寫(xiě)入時(shí)間為 ms 級(jí)。*芯片因角信號(hào)與相應(yīng)的 RAM 和 EPROM 芯片兼容,見(jiàn)表 4-4。表 4-4EEPROM 的使用非常簡(jiǎn)單方便。不用紫外線擦除,在單一的+5V 電壓下寫(xiě)入的新數(shù)據(jù)即覆蓋了舊數(shù)據(jù)。下面以 2864 為例說(shuō)明 EEPROM 和單片機(jī)的連接方法。2864 為 8KB EEPROM維持電流為 60mA,典型讀出時(shí)間為 20035
43、0ns,字節(jié)編程寫(xiě)入時(shí)間為 1020s,芯片內(nèi)有電壓提升電路,編程時(shí)不必增高壓,單一+5V 供電。引腳和6264,2764 兼容,引腳配置見(jiàn)右圖。8XX51 擴(kuò)展 2864 硬件電路(與 6264 引腳兼容)如圖3-20 所示。圖中 2864 即可作為數(shù)據(jù)存儲(chǔ)器,有又可作為程序存儲(chǔ)器。由于只擴(kuò)展了一片,片選端接地。20 4.4.3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展MCS-51 單片機(jī)內(nèi)只有 128 字節(jié)的數(shù)據(jù) RAM,當(dāng)應(yīng)用中需要更多的 RAM 時(shí),只能在片外擴(kuò)展。可擴(kuò)展的最大容量為 64KB。圖 4-13 是單片機(jī)對(duì)片外 RAM 進(jìn)行讀操作的時(shí)序。當(dāng)執(zhí)行指令 MOVX A,Ri或 MOVXA,DPTR 時(shí)進(jìn)
44、入外部數(shù)據(jù) RAM 是的讀周期。1. 外部數(shù)據(jù) RAM 的讀周期時(shí)序圖 4-13在 ALE的上升沿,把外部程序存儲(chǔ)器的指令讀入后就開(kāi)始了對(duì)片外 RAM 的讀過(guò)程。ALE 高電平期間,在 P0 處于高阻三態(tài)后,根據(jù)指令間址提供的地址,P2 口輸出外部 RAM的高 8 位地址 A15A8 ,P0 端口輸出低 8 位地址 A7A0 ;在 ALE下跳沿,P0 輸出的低 8位地址被鎖存在鎖存器中,隨后 P0 又進(jìn)入高阻三態(tài),RD 信號(hào)有效后,被選中的 RAM 的數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上,P0 處于輸入狀態(tài),CPU 從 P0 讀入外部 RAM 的數(shù)據(jù) 。2. 外部數(shù)據(jù) RAM 的寫(xiě)周期當(dāng)執(zhí)行 MOVX Ri,
45、A 或 MOVX DPTR,A 指令時(shí)進(jìn)入外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)周期,其寫(xiě)周期時(shí)序如下:21 圖 4-14寫(xiě)外部 RAM 的操作時(shí)序與讀外部 RAM 的時(shí)序差別在于:其一,WR 有效代替 RD 有效,以表明這是寫(xiě)數(shù)據(jù) RAM 的操作;其二,在 P0 輸出低 8 位地址 A0A7 后,P0 立即處于輸出狀態(tài),提供要寫(xiě)入外部 RAM 的數(shù)據(jù)供外部 RAM 取走。由以上時(shí)序分析可見(jiàn),訪問(wèn)外部數(shù)據(jù) RAM 的操作與從外部程序存儲(chǔ)器取指令的過(guò)程基本相同,只是前者有讀有寫(xiě),而后者只有讀而無(wú)寫(xiě);前者用 RD 或 WR 選通,而后者用PSEN 選通;前者一個(gè)機(jī)器周期中 ALE 兩次有效,后者則只有一次有效。因此,
46、不難得出51 單片機(jī)和外部 RAM 的連接方法。8XX51 單片機(jī)擴(kuò)展 8KB靜態(tài) RAM 6264 的電路見(jiàn)下圖。圖 4-158xx51 擴(kuò)展 6264 外部數(shù)據(jù) RAM由圖可見(jiàn),ALE把 P0 端口輸出的低 8 位地址 A0A7鎖存在 74LS373,P2 口的 P2.0P2.4直接輸出高 5 位地址 A8A12,由于單片機(jī)的 RD 和 WR 分別與 6264 的輸出允許 OE 和寫(xiě)信號(hào) WE 相連,執(zhí)行讀操作指令時(shí),RD 使 OE 有效,6262 RAM 中指定地址單元的數(shù)據(jù)經(jīng)D0D7 由 P0 口讀入;執(zhí)行寫(xiě)指令時(shí),WR 使 WE 有效,由 P0 口提供的要寫(xiě)入 RAM 的數(shù)據(jù)經(jīng) Do
47、D7 寫(xiě)入 6264 的指定地址單元中。單片機(jī) 8XX51讀寫(xiě)外部數(shù)據(jù) RAM的操作使用 MOVX指令,用 Ri 間址或用 DPTR間址。例如,將外部數(shù)據(jù) RAM1050H 地址單元中的內(nèi)容讀入 A 累加器,可有如下兩種程序。第一種 MOV P2,#10H ;端口提供高 8 位地址MOV R1,#50H ;Ri 提供低 8 位地址22 MOVX A,R1第二種 MOV DPTR,#1050HMOVX A,DPTR ;DPTR 提供 16 位地址要把 A 累加器中內(nèi)容寫(xiě)入外部數(shù)據(jù) RAM1050H 地址單元,其程序可為:MOVMOVP2,#10HR1,#50HMOVX R1,A或MOVDPTR,
48、#1050HDPTR,AMOVX圖 4-16程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器混合使用MCS-51 系列單片機(jī)中的數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器在邏輯上是嚴(yán)格分開(kāi)的,在實(shí)際設(shè)計(jì)和開(kāi)發(fā)單片機(jī)系統(tǒng)時(shí),程序若放在 RAM,可方便調(diào)試和修改,為此需將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器混合使用。在硬件上將 RD信號(hào)和 PSEN相“與”后連到 RAM 的讀選通端 OE 即可以實(shí)現(xiàn),見(jiàn)圖 4-16。當(dāng)執(zhí)行 MOVX 指令時(shí)產(chǎn)生 RD 讀選通信號(hào)使 OE 有效,當(dāng)執(zhí)行該 RAM 中的程序時(shí),由 PSEN信號(hào)也使 OE 有效,選通 RAM,讀出其中的機(jī)器碼。WR 信號(hào)依然連接 RAM 的 WE 端。4.5 STC12C5A60S2 單片機(jī)簡(jiǎn)介
49、本節(jié)簡(jiǎn)單介紹與 LED 字幕控制系統(tǒng)有關(guān)的芯片,有關(guān) STC 單片機(jī)的內(nèi)容讀者可以查閱宏晶科技公司官方網(wǎng)站相關(guān)章節(jié)。4.5.1 了解 STC 單片機(jī)STC 系列單片機(jī)是傳統(tǒng) 8051 單片機(jī)劃時(shí)代升級(jí)換代產(chǎn)品,管腳完全兼容,可直接取代傳統(tǒng) 89C51/89S51 系列單片機(jī)。特點(diǎn):23 1 個(gè)時(shí)鐘/機(jī)器周期 8051無(wú)法解密低功耗,低價(jià)位高速,高可靠強(qiáng)抗靜電,強(qiáng)抗干擾指令代碼完全兼容傳統(tǒng) 8051 單片機(jī)電源電壓適應(yīng)范圍寬功能更多更強(qiáng)4.5.2 STC12C5A60S2 系列簡(jiǎn)介STC12C5A 60S2/A D/ PW M 系 列 單 片 機(jī) 是 宏 晶 科 技 生 產(chǎn) 的 單 時(shí) 鐘 /
50、機(jī) 器 周 期 ( 1T)的 單 片 機(jī) , 是 高 速 /低 功 耗 / 超 抗 干 擾 的 新 一 代 8051 單 片 機(jī) , 指 令 代 碼 完 全 兼 容 傳 統(tǒng)8051, 但 速 度 快 8- 12 倍 。內(nèi) 部 集 成 MA X 810 專 用 復(fù) 位 電 路 ,2 路 PW M, 8 路 高 速 10 位A/D 轉(zhuǎn) 換 ( 250K/ S, 即 25 萬(wàn) 次 / 秒 )1. 增 型 8051CP U, 1T , 單 時(shí) 鐘 / 機(jī) 器 周 期 , 指 令 代 碼 完 全 兼 容 傳 統(tǒng) 80512. 工 作 電 壓 :ST C12C5A 60S 2 系 列 工 作 電 壓 :
51、5.5V - 3.5V ( 5V 單 片 機(jī) )ST C12LE5A 60S2 系 列 工 作 電 壓 : 3. 6V - 2. 2V ( 3V 單 片 機(jī) )3.工 作 頻 率 范 圍 : 0 35MH z, 相 當(dāng) 于 普 通 8051 的 0 420MH z4. 用 戶 應(yīng) 用 程 序 空 間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字 節(jié) .5. 片 上 集 成 1280 字 節(jié) RAM6. 通 用 I/ O 口( 36/40/44 個(gè) ),復(fù) 位 后 為 :準(zhǔn) 雙 向 口 /弱 上 拉( 普 通 8051 傳 統(tǒng) I/ O口
52、) 可 設(shè) 置 成 四 種 模 式 : 準(zhǔn) 雙 向 口 /弱 上 拉 , 推 挽 / 上 拉 , 僅 為 輸 入 /高 阻 , 開(kāi) 漏 推 挽/上 拉 , 僅 為 輸 入 /高 阻 , 開(kāi) 漏 推 挽 / 上 拉 , 僅 為 輸 入 /高 阻 , 開(kāi) 漏 每 個(gè) I/O 口 驅(qū) 動(dòng) 能 力均 可 達(dá) 到 20mA , 但 整 個(gè) 芯 片 最 大 不 要 超 過(guò) 120mA7.I SP ( 在 系 統(tǒng) 可 編 程 ) /IA P( 在 應(yīng) 用 可 編 程 ) , 無(wú) 需 專 用 編 程 器 , 無(wú) 需 專 用 仿真 器 可 通 過(guò) 串 口 ( P3. 0/P3.1 ) 直 接 下 載 用 戶 程
53、 序 , 數(shù) 即 可 完 成 一 片8. 有 EEP ROM 功 能 (ST C12C5A 62S 2/A D/PW M 無(wú) 內(nèi) 部 EEP RO M)9. 看 門(mén) 狗10.內(nèi)部集成 MAX810 專用復(fù)位電路(外部晶體 12M 以下時(shí),復(fù)位腳可直接 1K 電阻到地)11. 外 部 掉 電 檢 測(cè) 電 路 :在 P4.6 口 有 一 個(gè) 低 壓 門(mén) 檻 比 較 器 .5V 單 片 機(jī) 為 1. 33V , 誤 差 為 5%, 3. 3V 單 片 機(jī) 為 1. 31V , 誤 差 為 3%12. 時(shí) 鐘 源 : 外 部 高 精 度 晶 體 /時(shí) 鐘 , 內(nèi) 部 R/C 振 蕩 器 (溫 漂 為
54、5% 到 10% 以 內(nèi) )用 戶 在 下 載 用 戶 程 序 時(shí) , 可 選 擇 是 使 用 內(nèi) 部 R/C 振 蕩 器 還 是 外 部 晶 體 /時(shí) 鐘常 溫 下 內(nèi) 部 R/ C 振 蕩 器 頻 率 為 :5. 0V 單 片 機(jī) 為 : 11MH z 17M Hz3 . 3 V 單 片 機(jī) 為 : 8MH z 12M Hz精 度 要 求 不 高 時(shí) , 可 選 擇 使 用 內(nèi) 部 時(shí) 鐘 , 但 因 為 有 制 造 誤 差 和 溫 漂 , 以 實(shí) 際 測(cè) 試 為準(zhǔn)13. 共 4 個(gè) 16 位 定 時(shí) 器 , 兩 個(gè) 與 傳 統(tǒng) 8051 兼 容 的 定 時(shí) 器 /計(jì) 數(shù) 器 , 16 位
55、 定 時(shí) 器T0 和 T 1, 沒(méi) 有 定 時(shí) 器 2, 但 有 獨(dú) 立 波 特 率 發(fā) 生 器 做 串 行 通 訊 的 波 特 率 發(fā) 生 器 ,再 上2 路 PCA 模 塊 可 再 實(shí) 現(xiàn) 2 個(gè) 16 位 定 時(shí) 器24 14.2 個(gè) 時(shí) 鐘 輸 出 口 , 可 由 T 0 的 溢 出 在 P3. 4/T0 輸 出 時(shí) 鐘 , 可 由 T1 的 溢 出 在P3. 5/T1 輸 出 時(shí) 鐘15. 外 部 中 斷 I/ O 口 7 路 ,傳 統(tǒng) 的 下 降 沿 中 斷 或 低 電 平 觸 發(fā) 中 斷 ,并 新 增 支 持 上升 沿 中 斷 的 PCA 模 塊 ,Po wer Down 模 式
56、 可 由 外 部 中 斷 喚 醒 , INT 0/P3. 2,I NT1/P 3. 3,T0/P3. 4, T 1/P3. 5, RxD/P3.0, CCP0/P 1. 3(也可通過(guò)寄存器設(shè)置到 P4.2), CCP1/P1.4 (也可通過(guò)寄存器設(shè)置到 P4.3)1 6 . PW M( 2 路 ) /P CA ( 可 編 程 計(jì) 數(shù) 器 陣 列 ,2 路 )-也 可 用 來(lái) 當(dāng) 2 路 D/A 使 用-也 可 用 來(lái) 再 實(shí) 現(xiàn) 2 個(gè) 定 時(shí) 器-也 可 用 來(lái) 再 實(shí) 現(xiàn) 2 個(gè) 外 部 中 斷 (上 升 沿 中 斷 /下 降 沿 中 斷 均 可 分 別 或 同 時(shí) 支 持 )1 7 .
57、A/D 轉(zhuǎn) 換 ,10 位 精 度 A D C, 共 8 路 , 轉(zhuǎn) 換 速 度 可 達(dá) 250K/ S( 每 鐘 25)18. 通 用 全 雙 工 異 步 串 行 口 (UA RT ),由 于 ST C12 系 列 是 高 速 的 8051 ,可 再 用 定時(shí) 器 或 PCA 軟 件 , 可 再 用 定 時(shí) 器 或 PCA 軟 件 可再用定時(shí)器或 PCA 軟件實(shí) 現(xiàn) 多 串 口1 9 . ST C12C5A 60S2 系 列 有 雙 串 口 ,后 綴 有 S2 標(biāo) 志 的 才 有 雙 串 口 ,RxD 2/P 1. 2( 可通 過(guò) 寄 存 器 設(shè) 置 到 P 4.2) , T xD 2/P1
58、.3( 可 通 過(guò) 寄 存 器 設(shè) 置 到 P4.3)20. 工 作 溫 度 范 圍 : -40 +85 (工 業(yè) 級(jí) )/0 75 (商 業(yè) 級(jí) )21. 封 裝 : LQ FP- 48, LQF P- 44, P DIP -40, P LCC-44, Q FN- 40I/O 口 不 夠 時(shí) , 可 用 2 到 3 根 普 通 I/O 口 線 外 接 74HC164/ 165/595 ( 均 可 級(jí) 聯(lián) ) 來(lái) 擴(kuò)展 I/O 口 ,還 可 用 A/D 做 按 鍵 掃 描 來(lái) 節(jié) 省 I/O 口 , 或 用 雙 CP U,三 線 通 信 , 還 多 了 串口 。4.5.3 STC12 系列單片
59、機(jī)取代傳統(tǒng) 8051 注意事項(xiàng)STC12 系列單片機(jī)的定時(shí)器 0/定時(shí)器 1 與傳統(tǒng) 8051 完全兼容,上電復(fù)位后,定時(shí)器部分缺省還是除 12 再計(jì)數(shù)的,而串口由定時(shí)器 1 控制速度,所以定時(shí)器/串口完全兼容。增加了獨(dú)立波特率發(fā)生器,省去了傳統(tǒng) 8052 的定時(shí)器 2,如是用 T2 做波特率的話,請(qǐng)改用獨(dú)立波特率發(fā)生器做波特率發(fā)生器。傳統(tǒng) 8051 的 111 條指令執(zhí)行速度全面提速,最快的指令快 24 倍,最慢的指令快 3 倍??寇浖訒r(shí)實(shí)現(xiàn)精確延時(shí)的程序需要調(diào)整。其他需注意的細(xì)節(jié):ALE:傳統(tǒng) 8051 單片機(jī)的 ALE腳對(duì)系統(tǒng)時(shí)鐘進(jìn)行 6 分頻輸出,可對(duì)外提供時(shí)鐘,STC12C5Axx
60、系列的可編程時(shí)鐘輸出腳對(duì)外輸出時(shí)鐘(CLKOUTO/CLKOUT1/CLKOUT2)或 XTAL2腳串一個(gè) 200 歐姆電阻對(duì)外輸出時(shí)鐘。傳統(tǒng) 8051 單片機(jī)時(shí)鐘頻率較高時(shí),ALE腳是一個(gè)干擾源,所以 STC89 系列單片機(jī)增加了 AUXR 特殊功能寄存器,其中的 Bit0/ALEOFF 位允許禁止 ALE 對(duì)系統(tǒng)時(shí)鐘分頻輸出。而 STC12C5Axx 系列單片機(jī)直接禁止 ALE腳對(duì)系統(tǒng)時(shí)鐘進(jìn)行 6 分頻輸出,徹底清除此干擾源,也有利于系統(tǒng)的抗干擾設(shè)計(jì)。請(qǐng)自行比較如下的寄存器。STC89 系列的 AUXR寄存器:38EH Auxiliary -Register0-ALEOFF xxxx ,x
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年紅提葡萄采摘園與周邊景點(diǎn)聯(lián)動(dòng)營(yíng)銷合同2篇
- 三層獨(dú)立商鋪?zhàn)赓U合同2024版模板版
- 2025年度車輛過(guò)戶手續(xù)代辦服務(wù)合同范本4篇
- 二零二四年咖啡館室內(nèi)軟裝設(shè)計(jì)合同3篇
- 2025年度海外院校獎(jiǎng)學(xué)金申請(qǐng)代理合同4篇
- 二零二五年度會(huì)展中心物業(yè)管理服務(wù)合同下載4篇
- 二零二五版環(huán)保產(chǎn)業(yè)居間費(fèi)合同范本3篇
- 基于2025年度的科研合作合同知識(shí)產(chǎn)權(quán)歸屬問(wèn)題3篇
- 2025年度廚師勞務(wù)輸出與職業(yè)規(guī)劃服務(wù)合同4篇
- 桶裝水市場(chǎng)危機(jī)應(yīng)對(duì)策略合同(二零二五年)3篇
- 鋼筋桁架樓承板施工方案
- DL-T5434-2021電力建設(shè)工程監(jiān)理規(guī)范
- 2024年上海核工程研究設(shè)計(jì)院股份有限公司招聘筆試沖刺題(帶答案解析)
- 眼的解剖結(jié)構(gòu)與生理功能課件
- 2024年銀行考試-興業(yè)銀行筆試參考題庫(kù)含答案
- 泵站運(yùn)行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 浙教版七年級(jí)下冊(cè)科學(xué)全冊(cè)課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計(jì)算公式測(cè)量方法
評(píng)論
0/150
提交評(píng)論