RS-232C標(biāo)準(zhǔn)(即EIA-RS-232C標(biāo)準(zhǔn))是由美國(guó)電子工業(yè)協(xié)會(huì)(Electronic Industry Association,EIA)制定的數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間進(jìn)行串行數(shù)據(jù)交換的通信接口技術(shù)標(biāo)準(zhǔn),其中:縮寫(xiě)RS(Recommended Standard)代表“推薦標(biāo)準(zhǔn)”,數(shù)字232為“標(biāo)志號(hào)”,字母C表示最新一次修改。
與串口工作有關(guān)的特殊功能寄存器包括:串口控制寄存器SCON(圖4-18中的TI和RI均是該寄存器中的位)、串口緩沖區(qū)寄存器SBUF和電源控制寄存器PCON(圖4-18中的SMOD是該寄存器中的位)。
MCS-51單片機(jī)內(nèi)部有一個(gè)全雙工的異步串行通信接口,其結(jié)構(gòu)如圖4-18所示。串口工作時(shí),單片機(jī)P3口的P3.0引腳和P3.1引腳處于第二功能,分別是串口的數(shù)據(jù)接收端RXD和發(fā)送端TXD。
在并行通信中,數(shù)據(jù)的所有二進(jìn)制位在多條并行的傳輸線上同時(shí)傳送,如圖4-14a所示。在串行通信中,數(shù)據(jù)的所有二進(jìn)制位在一條傳輸線上一位一位地按順序逐個(gè)傳送,如圖4-14b所示。
定時(shí)/計(jì)數(shù)器實(shí)質(zhì)上是一個(gè)加1計(jì)數(shù)器。它隨著計(jì)數(shù)器的輸入脈沖進(jìn)行自加1,也就是每來(lái)一個(gè)脈沖,計(jì)數(shù)器就自動(dòng)加1,,當(dāng)加到計(jì)數(shù)器為全1時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使相應(yīng)的中斷標(biāo)志位置1,向CPU發(fā)出中斷請(qǐng)求(定時(shí)/計(jì)數(shù)器中斷允許時(shí))。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。
【例1】利用定時(shí)功能產(chǎn)生方波信號(hào)。假設(shè):?jiǎn)纹瑱C(jī)晶振頻率為fosc=6MHz。要求:利用定時(shí)/計(jì)數(shù)器T0的工作方式1控制定時(shí),在單片機(jī)P1.1引腳產(chǎn)生頻率f=50Hz的方波。
單片機(jī)可以通過(guò)“定時(shí)/計(jì)數(shù)模式選擇位C/T”令定時(shí)/計(jì)數(shù)器工作于定時(shí)或計(jì)數(shù)模式下,也可通過(guò)“工作方式選擇位M1M0”設(shè)定其工作方式。C/T和M1M0等與定時(shí)/計(jì)數(shù)器有關(guān)的位在寄存器TCON或TMOD中,見(jiàn)表4-8和表4-9。
在家電產(chǎn)品和工業(yè)應(yīng)用系統(tǒng)中,定時(shí)和計(jì)數(shù)是兩種常用的功能,如:微波爐加熱計(jì)時(shí)和流水線上產(chǎn)品數(shù)目統(tǒng)計(jì)等。MCS-51單片機(jī)內(nèi)部集成的兩個(gè)可編程定時(shí)/計(jì)數(shù)器T0和T1使用靈活、方便,在儀器儀表等工業(yè)產(chǎn)品中應(yīng)用廣泛。
MCS-51單片機(jī)有兩個(gè)外部中斷源INT0和INT1,它們分別在P3.2和P3.3引腳出現(xiàn)低電平或下降沿信號(hào)時(shí)向單片機(jī)發(fā)出中斷請(qǐng)求。外部中斷可用于檢測(cè)單片機(jī)外部發(fā)生的事件,如鍵盤(pán)敲擊和特定脈沖發(fā)生的次數(shù)等。
④處理機(jī)執(zhí)行完一條指令后或者這條指令已無(wú)法執(zhí)行完,則立即中止現(xiàn)行程序。接著,中斷部件根據(jù)中斷級(jí)去指定相應(yīng)的主存單元,并把被中斷的指令地址和處理機(jī)當(dāng)前的主要狀態(tài)信息存放在此單元中。
當(dāng)多個(gè)同級(jí)別中斷同時(shí)發(fā)出中斷請(qǐng)求時(shí),單片機(jī)中斷系統(tǒng)將按照自然優(yōu)先級(jí)別進(jìn)行中斷排序,并首先響應(yīng)其中自然優(yōu)先級(jí)別最高的中斷。
MCS-51單片機(jī)中斷系統(tǒng)的結(jié)構(gòu)如圖4-1所示。MCS-51單片機(jī)有5個(gè)中斷源,分別是2個(gè)外部中斷源、2個(gè)定時(shí)/計(jì)數(shù)器中斷源和1個(gè)串行接口中斷源。與中斷系統(tǒng)有關(guān)的寄存器有TCON、SCON、IE和IP,它們都可以按位尋址,其中的每一位都可以通過(guò)指令來(lái)設(shè)置。
單片機(jī)系統(tǒng)用戶可以通過(guò)中斷系統(tǒng)的軟件和硬件實(shí)現(xiàn)對(duì)某一中斷請(qǐng)求的開(kāi)放(或允許)和屏蔽。開(kāi)放是指中斷請(qǐng)求發(fā)生時(shí)中斷系統(tǒng)響應(yīng)該請(qǐng)求,并完成相應(yīng)的中斷服務(wù)處理工作;相反地,屏蔽是指中斷系統(tǒng)既不接收中斷請(qǐng)求,也不進(jìn)行中斷處理。
控制轉(zhuǎn)移指令能夠改變單片機(jī)程序寄存器(PC)的值,即改變單片機(jī)從ROM中讀取指令的順序,從而改變程序執(zhí)行順序。控制轉(zhuǎn)移指令包括以下幾類(lèi):無(wú)條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令和子程序調(diào)用及返回指令等。
在單片機(jī)與外部設(shè)備(簡(jiǎn)稱(chēng)外設(shè))的數(shù)據(jù)傳送過(guò)程中,單片機(jī)處于核心地位,所謂的數(shù)據(jù)輸入和輸出都是相對(duì)單片機(jī)而言。數(shù)據(jù)由外設(shè)傳送至單片機(jī),為“輸入”,反之為“輸出”。通常,單片機(jī)與外設(shè)的數(shù)據(jù)傳送速度差別較大,因此,選擇恰當(dāng)?shù)臄?shù)據(jù)傳送時(shí)間和傳送時(shí)間間隔,是保證數(shù)據(jù)正確傳送的關(guān)鍵。在單片機(jī)系統(tǒng)中,有三種解決該問(wèn)題的方法,即程序控制傳送、中斷式傳送和DMA傳送。