MCS-51單片機(jī)常見問題14問
一、MCS-51單片機(jī)內(nèi)部包含哪些主要功能部件?它們的作用是什么?
MCS-51單片機(jī)在一塊芯片中集成了 CPU 、RAM、ROM、定時/計數(shù)器、多功能 I/O 口 和中斷控制等基本功能部件。 單片機(jī)的核心部分是 CPU ,CPU 是單片機(jī)的大腦和心臟。 程序存儲器用于存放編好的程序或表格常數(shù)。數(shù)據(jù)存儲器用于存放中間運算結(jié)果、數(shù)據(jù) 暫存和緩沖、標(biāo)志位等。 定時/計數(shù)器實質(zhì)上是加法計數(shù)器,當(dāng)它對具有固定時間間隔的內(nèi)部機(jī)器周期進(jìn)行計數(shù)時 ,它是定時器;當(dāng)它對外部事件進(jìn)行計數(shù)時,它是計數(shù)器。 I/O 接口的主要功能包括:緩沖與鎖存數(shù)據(jù)、地址譯碼、信息格式轉(zhuǎn)換、傳遞狀態(tài)(外 設(shè)狀態(tài))和發(fā)布命令等。 中斷控制可以解決 CPU 與外設(shè)之間速度匹配的問題,使單片機(jī)可以及時處理系統(tǒng)中許 多隨機(jī)的參數(shù)和信息,同時,它也提高了其處理故障與應(yīng)變能力的能力。
二、MCS-51單片機(jī)的 EA、ALE和PSEN 端的功能是什么?
答:ALE——ALE 為地址鎖存允許信號,在訪問外部存儲器時,ALE 用來鎖存 P0送出的低 8 位地址信號。 PSEN ——外部程序存儲器的讀選通信號。當(dāng)訪問外部 ROM 時, PSEN 產(chǎn)生負(fù)脈沖作 為外部 ROM的選通信號;在訪問外部 RAM或片內(nèi) ROM時,不會產(chǎn)生有效的PSEN 信 號。 PSEN 可驅(qū)動 8 個LSTTL 門輸入端。 EA ——訪問外部程序存儲器控制信號。對 8051 和8751 ,它們的片內(nèi)有 4KB 的程序存 儲器。當(dāng) EA 為高電平時,CPU 訪問程序存儲器有兩種情況:一是訪問的地址空間在 0 ~4K 范圍內(nèi),CPU 訪問片內(nèi)程序存儲器;二是訪問的地址超出 4K 時,CPU 將自動執(zhí) 行外部程序存儲器的程序。對于 8031 ,EA 必須接地,只能訪問外部 ROM。
三、MCS-51單片機(jī)的 P3口具有哪些功能?
答:P3口是雙功能口,除了作為準(zhǔn)雙向通用 I/O 口使用外,每一根口線還具有第二種功能 ,P3口的各位如不設(shè)定為第二功能則自動處于第一功能。P3的第二功能涉及到串行口 、外部中斷、定時器,與特殊功能寄存器有關(guān)。
四、89C51單片機(jī)有幾個中斷源?它們的中斷標(biāo)志位分別是什么?這些中斷標(biāo)志位是如何產(chǎn)生的?又是如何清“0”的?
答:5個,外部中斷0:IE0,開放中斷后,當(dāng)INTO引腳有下降沿或者低電平時產(chǎn)生,響應(yīng)中斷后自然清0 定時器0:TF0外部中斷1:IE1開放中斷后,當(dāng)INT1引腳有下降沿厚著低電平時產(chǎn)生,響應(yīng)中斷后自然清0 定時器1:TF1開放中斷后,當(dāng)定時或計數(shù)時間到產(chǎn)生,響應(yīng)中斷后自然清0.另外如果不開放中斷,采用軟件判斷是,需要軟件清0. 串口:RI/TI,通信開始后當(dāng)接收完或者發(fā)送完一幀后產(chǎn)生,響應(yīng)中斷后需要軟件清0.
五、如果采用晶振的頻率為 3MHz ,定時/計數(shù)器工作方式 0、1、2 下,其最大的定時時間為多少?
答:內(nèi)部定時脈沖周期=機(jī)器周期=12/3Mhz=4us
工作方式 0:Tmax
=8192*4us=32.768ms
工作方式 1:Tmax
=65536*4us=262.144ms
工作方式 2:Tmax
=256*4us=1.024ms
六、定時/計數(shù)器用作定時器時,其計數(shù)脈沖由誰提供?定時時間與哪些因素有關(guān)?
答:其計數(shù)脈沖由單片機(jī)振蕩脈沖 12 分頻輸出的機(jī)器周期脈沖提供,定時時間與工作方式、晶振頻率和預(yù)置數(shù)等因素有關(guān)。
七、定時/計數(shù)器的工作方式 2 有什么特點?適用于哪些應(yīng)用場合?
答:工作方式2 具有初值自動重新加載和循環(huán)工作的特點,適用于產(chǎn)生固定脈寬的脈沖信號,和作為串行口波特率發(fā)生器使用。
八、一個定時器的定時時間有限,如何實現(xiàn)兩個定時器的串行定時,來實現(xiàn)較長時間的定時?
答:方法一:讓一個定時器先定時,溢出后,再啟動另一個定時器定時;
方法二:在第一個中斷處理子程序中加入計數(shù)器,計數(shù)器滿后,就去啟動另一個定時器定時,把要處理的事件放第二個中斷處理子程序中。
九、簡述串行口接收和發(fā)送數(shù)據(jù)的過程。
答:MCS-51單片機(jī)內(nèi)部有一個全雙工的異步串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個在物理上獨立的接收發(fā)送器,既可以接收數(shù)據(jù),也可以發(fā)送數(shù)據(jù),串行口發(fā)送的過程是:先從累加器 A 中讀入 8 位數(shù)據(jù)到 SBUF,隨后在串行口有硬件自動加入起始位和停止位,構(gòu)成一個完整的幀格式,然后在移位脈沖的控制下,由 TXD端串行輸出,一個字符幀發(fā)送完后,使 TXD輸出線維持在 1 狀態(tài)下,并將 SCON 寄存器的 TI置1,通知 CPU 可以發(fā)送下一個字符幀。串行口接收的過程是:SCON 的REN 位應(yīng)處于允許接收狀態(tài)(REN=1),在此前提下,串行口采樣 RXD端,當(dāng)采樣到從 1 向0 的狀態(tài)跳變時,就認(rèn)定是接收到起始位,隨后在移位脈沖的控制下,把通過位采樣脈沖接收到的數(shù)據(jù)位移入接收寄存器中,直到停止位到來之后把停止位送入 RB8 中,并置位中斷標(biāo)志位 RI ,通知 CPU 從SBUF 取走接收到的一個字符。
十、為什么定時/計數(shù)器 T1用做串行口波特率發(fā)生器時,應(yīng)采用方式 2?若已知時鐘頻率、通信波特率,如何計算其初值?
答:因為方式 2 是有自動重裝載計數(shù)值的功能,從而可以產(chǎn)生精確的波特率。串行工作方式0 和方式 2 波特率是固定的,所以不用設(shè)初值;串行工作方式 1 和方式 3 時:波特率:BR = (2SMOD×Td)/32溢出一次的時間:1/ Td = (256-TH1)*12/ fosc溢出率:Td = fosc/[12×(256-TH1)]初值:TH1 = 256- fosc/(12* Td)
十一、單片機(jī)應(yīng)用系統(tǒng)中為什么要進(jìn)行系統(tǒng)擴(kuò)展?
答:8031 、8032 等單片機(jī)不提供用戶程序存儲器,必須進(jìn)行程序存儲器的擴(kuò)展,以存放控制程序、數(shù)據(jù)表格等;8751 等單片機(jī)雖然向用戶提供 EPROM 程序存儲器,但程序存儲器空間容量不大,程序存儲空間不足時,還必須擴(kuò)展外部程序存儲器。MCS-51系列單片機(jī)內(nèi)部通常有 128B至256B的片內(nèi)數(shù)據(jù)存儲器,用于一般的控制及運算是足夠的,但若用于數(shù)據(jù)存儲,其容量是不足的,在這種情況下,必須擴(kuò)展數(shù)據(jù)存儲器。MCS-51系列單片機(jī)對外提供 32 條I/O 口線,但其 P0口作為地址/數(shù)據(jù)復(fù)用口,P2口用于提供高 8 位地址,而其 P3口具有第二功能,若擴(kuò)展了程序存儲器或數(shù)據(jù)存儲器,單片機(jī)的 I/O 口往往也不夠用,有時必須進(jìn)行 I/O 口的擴(kuò)展。應(yīng)用系統(tǒng)中有時還涉及到數(shù)據(jù)的輸入、輸出、人機(jī)交互信息等接口問題,必須進(jìn)行有關(guān)接口電路擴(kuò)展。
十二、A/D 及D/A 轉(zhuǎn)換的含義是什么?
答:A/D 轉(zhuǎn)換是指將模擬信號轉(zhuǎn)換為數(shù)字信號,主要用于微機(jī)控制系統(tǒng)的模擬信號數(shù)據(jù)采集。D/A 轉(zhuǎn)換是指將數(shù)字信號轉(zhuǎn)換為模擬信號,主要用于恢復(fù)模擬信號或進(jìn)行模擬控制。
十三、DAC0832器件有哪些主要技術(shù)指標(biāo)?其含義是什么?
答:DAC0832是將數(shù)字信號轉(zhuǎn)換為模擬信號的器件。它的主要技術(shù)指標(biāo)及含義如下:分辨率:8 位,可以將 8 位數(shù)字量轉(zhuǎn)換為模擬量;建立時間:1μS ,即從數(shù)字量寫入 8 位DAC寄存器到產(chǎn)生與輸入數(shù)字量對應(yīng)的模擬量輸出的時間;輸入信號:與 TTL 電平兼容的二進(jìn)制信號;輸出信號:與輸入二進(jìn)制信號對應(yīng)的電流信號;電源:單一+5V 電源;
十四、ADC0809器件有哪些主要技術(shù)指標(biāo)?其含義是什么?
答:ADC0809是將模擬信號轉(zhuǎn)換為數(shù)字信號的 AD器件,它的主要技術(shù)指標(biāo)及含義如下:分辨率:8 位,可以將輸入模擬量轉(zhuǎn)換為與之對應(yīng)的 8 位數(shù)字量;信號輸入范圍:0-5V;轉(zhuǎn)換時間:即完成一次 A/D 轉(zhuǎn)換所需時間,與外加時鐘信號頻率有關(guān),外部時鐘信號為500KHz 時轉(zhuǎn)換時間為 128μS ;輸出信號:與輸入模擬信號對應(yīng)的 8 位二進(jìn)制數(shù)字量,信號電平與 TTL 電平兼容;電源:單一+5V 電源;