版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二章第二章 主機(jī)電路設(shè)計(jì)主機(jī)電路設(shè)計(jì)第二章第二章 主機(jī)電路設(shè)計(jì)主機(jī)電路設(shè)計(jì)在完成儀表的結(jié)構(gòu)設(shè)計(jì),選定處理器及外圍芯片在完成儀表的結(jié)構(gòu)設(shè)計(jì),選定處理器及外圍芯片之后,就要設(shè)計(jì)儀表的硬件電路。之后,就要設(shè)計(jì)儀表的硬件電路。處理器:處理器:MCS-51系列單片機(jī)系列單片機(jī) 嵌入式系統(tǒng)芯片嵌入式系統(tǒng)芯片本章的主要研究內(nèi)容:本章的主要研究內(nèi)容:2.1 MCS-51單片機(jī)回顧單片機(jī)回顧2.2 主機(jī)電路主機(jī)電路2.1.1 MCS-51芯片的引腳分配和功能芯片的引腳分配和功能2.1.2 存儲器存儲器2.1.3 I/O端口端口2.1.4 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器2.1.5 串行口串行口2.1.6 中斷系
2、統(tǒng)中斷系統(tǒng)2.2.1 外接存儲器外接存儲器2.2.2 外接外接I/O(8155)2.1 MCS-51單片機(jī)單片機(jī)MCS-51系列系列芯片芯片有有8031、8051、8751。MCS-52系列系列芯片是芯片是MCS-51系列系列芯片的改進(jìn)型芯片的改進(jìn)型。對。對應(yīng)于上述應(yīng)于上述MCS-51的有的有8032、8052和和8752。其區(qū)別為:。其區(qū)別為: 3個(gè)定時(shí)個(gè)定時(shí)/計(jì)數(shù)器、計(jì)數(shù)器、 內(nèi)部內(nèi)部RAM容量增至容量增至256個(gè)字節(jié);個(gè)字節(jié);內(nèi)部有內(nèi)部有ROM或或EPROM容量增至容量增至8kB。 XTAL1 P0 XTAL2 RESET P1 51 系列系列 EA P2 ALE PSEN P3 Vcc
3、 Vss VCC 、VSS:5V電源的正端和接地電源的正端和接地端。端。XTAL1、XTAL2:內(nèi)部振蕩電路:內(nèi)部振蕩電路的輸入、輸出端。的輸入、輸出端。RESET:復(fù)位輸入端。:復(fù)位輸入端。2.1.1 MCS-51芯片的引腳分配和功能芯片的引腳分配和功能 XTAL1 P0 XTAL2 RESET P1 51 系列系列 EA P2 ALE PSEN P3 Vcc Vss EA:內(nèi)部、外部程序存儲器的選擇端。:內(nèi)部、外部程序存儲器的選擇端。為為高電平高電平時(shí),訪問內(nèi)部程序存儲器,時(shí),訪問內(nèi)部程序存儲器,當(dāng)程序計(jì)數(shù)器的值超過當(dāng)程序計(jì)數(shù)器的值超過0FFF時(shí),轉(zhuǎn)入時(shí),轉(zhuǎn)入外部程序存儲器;為外部程序存儲
4、器;為低電平低電平時(shí),訪問時(shí),訪問外部存儲器。外部存儲器。ALE:地址鎖存允許信號,在訪問外:地址鎖存允許信號,在訪問外部存儲器時(shí),用來鎖存由部存儲器時(shí),用來鎖存由P0口送出的口送出的低低8位信號;還可以以位信號;還可以以1/6的固定速率的固定速率輸出脈沖信號,作為對外輸出的時(shí)鐘輸出脈沖信號,作為對外輸出的時(shí)鐘或定時(shí)?;蚨〞r(shí)。P0、P1、P2、P3:8位位I/O端口。端口。PSEN:外部程序存儲器的讀選通信:外部程序存儲器的讀選通信號,在訪問外部程序存儲器時(shí)會自動(dòng)號,在訪問外部程序存儲器時(shí)會自動(dòng)產(chǎn)生該信號,在訪問內(nèi)部產(chǎn)生該信號,在訪問內(nèi)部ROM或外部或外部RAM時(shí)不會產(chǎn)生該信號。時(shí)不會產(chǎn)生該信
5、號。 XTAL1 P0 XTAL2 RESET P1 51 系列系列 EA P2 ALE PSEN P3 Vcc Vss 程序存儲器程序存儲器、數(shù)據(jù)、數(shù)據(jù)存儲器存儲器、特殊功能寄存器的、特殊功能寄存器的尋址范圍和操作方式尋址范圍和操作方式。2.1.2 存儲器存儲器 0000H 0FFFH 外 部 程 序 存 儲 器 1000H FFFFH 內(nèi)部 EA=1 外部 EA=0 0FFFH 0000H 程序存儲器 程序存儲器程序存儲器訪問外部訪問外部ROM時(shí),時(shí),PSEN產(chǎn)生選產(chǎn)生選通信號。通信號。數(shù)據(jù)存儲器有數(shù)據(jù)存儲器有內(nèi)部、外部內(nèi)部、外部之分之分 RAM 特殊功能寄存器 工作寄存器 1FH 00H
6、 內(nèi)部數(shù)據(jù)存儲器 位尋址區(qū) 20H 2FH 數(shù)據(jù)緩沖區(qū) 30H 7FH FFH 80H 工作寄存器工作寄存器又分為四組,由程序狀態(tài)又分為四組,由程序狀態(tài)字寄存器字寄存器(PSW)中第中第3、4位位(RS0、RS1)來決定。來決定。 1 0 1 1 0 1 0 0 RS0 RS1 工作寄存器組 0 組(0007H) 1 組(080FH) 2 組(1017H) 3 組(181FH) 程序狀態(tài)字寄存器程序狀態(tài)字寄存器PSWC:進(jìn)位標(biāo)志。:進(jìn)位標(biāo)志。在加(或減)運(yùn)算時(shí),最高位有進(jìn)位在加(或減)運(yùn)算時(shí),最高位有進(jìn)位(或借位),則(或借位),則C=1,否則否則C=0。在進(jìn)行位操作時(shí),在進(jìn)行位操作時(shí),C作為
7、位操作累加器。作為位操作累加器。AC:半進(jìn)位標(biāo)志。半進(jìn)位標(biāo)志。在加(或減)運(yùn)算時(shí),低半字節(jié)在加(或減)運(yùn)算時(shí),低半字節(jié)向高半字節(jié)有進(jìn)位(或借位),則向高半字節(jié)有進(jìn)位(或借位),則AC=1,否則否則AC=0。F0:用戶標(biāo)志。用戶標(biāo)志。由用戶置位、復(fù)位,作為軟件標(biāo)志。由用戶置位、復(fù)位,作為軟件標(biāo)志。RS1、RS0:工作寄存器指針,用來選擇當(dāng)前工作的工作寄存器指針,用來選擇當(dāng)前工作的寄存器組。單片機(jī)復(fù)位時(shí),寄存器組。單片機(jī)復(fù)位時(shí),RS1=RS0=0。C RS1 F0 AC D7 D6 D5 D4 D3 D2 D1 D0 RS0 OV F1 P OV:溢出標(biāo)志。:溢出標(biāo)志。反映運(yùn)算結(jié)果是否溢出,溢出時(shí)
8、,反映運(yùn)算結(jié)果是否溢出,溢出時(shí),OV=1,否則否則OV=0。溢出溢出和和進(jìn)位進(jìn)位是兩種不同性質(zhì)的是兩種不同性質(zhì)的概念。概念。F1:用戶標(biāo)志位。用戶標(biāo)志位。由用戶置位、復(fù)位,作為軟件標(biāo)由用戶置位、復(fù)位,作為軟件標(biāo)志。志。P:奇偶標(biāo)志。奇偶標(biāo)志。反映累加器反映累加器A中內(nèi)容的奇偶性中內(nèi)容的奇偶性。奇數(shù)奇數(shù)個(gè)個(gè)1,P置置1,否則為,否則為0。C RS1 F0 AC D7 D6 D5 D4 D3 D2 D1 D0 RS0 OV F1 P 位尋址區(qū)位尋址區(qū) RAM 特殊功能寄存器 工作寄存器 1FH 00H 內(nèi)部數(shù)據(jù)存儲器 位尋址區(qū) 20H 2FH 數(shù)據(jù)緩沖區(qū) 30H 7FH FFH 80H 7F 7E
9、 7D 7C 7B 7A 7978777675747372717037363534333231302F 2E 2D 2C 2B 2A 292827262524232221201F 1E 1D 1C 1B 1A 191817161514131211100F 0E 0D 0C 0B 0A 09080706050403020100 工作寄存器工作寄存器00H1FH20H2FH位尋址區(qū)位尋址區(qū) 特殊功能寄存器特殊功能寄存器 RAM 特殊功能寄存器 工作寄存器 1FH 00H 內(nèi)部數(shù)據(jù)存儲器 位尋址區(qū) 20H 2FH 數(shù)據(jù)緩沖區(qū) 30H 7FH FFH 80H 單片機(jī)內(nèi)的各種控制寄存單片機(jī)內(nèi)的各種控制寄
10、存器、狀態(tài)寄存器、器、狀態(tài)寄存器、I/O端口端口鎖存器、定時(shí)器等都是以鎖存器、定時(shí)器等都是以特殊功能寄存器的形式出特殊功能寄存器的形式出現(xiàn)的,它們是離散分布的?,F(xiàn)的,它們是離散分布的。見見P22表表2-2。 外部外部RAM I/O 0000H FFFFH 將外部將外部RAM和和I/O接在接在P0、P2口,利用口,利用P3口的口的變異控制功能即可進(jìn)行變異控制功能即可進(jìn)行讀寫操作。讀寫操作。外部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器I/O端口(端口(P0P3)為并行輸入輸出口,并具有總線)為并行輸入輸出口,并具有總線復(fù)用和功能復(fù)用的功能:復(fù)用和功能復(fù)用的功能:P0口(口(P0.0P0.7):雙向):雙向I/O口
11、,地址口,地址/數(shù)據(jù)總線口數(shù)據(jù)總線口。在訪問外部存儲器時(shí),可分時(shí)用作低。在訪問外部存儲器時(shí),可分時(shí)用作低8位地址和位地址和8位數(shù)據(jù)線。低位數(shù)據(jù)線。低8位地址由位地址由ALE信號的負(fù)跳變使它鎖存信號的負(fù)跳變使它鎖存到外部地址鎖存器中。到外部地址鎖存器中。2.1.3 I/O端口端口21DQCL/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X34VccP1口(口(P1.0P1.7):雙向):雙向I/O口。每一位口線都可獨(dú)口。每一位口線都可獨(dú)立用作輸入線或輸出線。當(dāng)某一位由輸出方式改為立用作輸入線或輸出線。當(dāng)某一位由輸出方式改為輸輸 入方式時(shí)
12、,相應(yīng)位的鎖存器必須寫入入方式時(shí),相應(yīng)位的鎖存器必須寫入“1”。D QCLQ內(nèi)部總線內(nèi)部總線寫鎖存器寫鎖存器讀引腳讀引腳讀鎖存器讀鎖存器內(nèi)部提升內(nèi)部提升VccP1.x引腳引腳TP2口(口(P2.0P2.7):雙向):雙向I/O口。與口。與P1口相同,可以口相同,可以作為輸入口或輸出口。在訪問外部存儲器時(shí),輸出高作為輸入口或輸出口。在訪問外部存儲器時(shí),輸出高8位地址。位地址。21DQCL/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線地址高地址高8位位控制控制引腳引腳 P2.X3內(nèi)部上拉電阻內(nèi)部上拉電阻VccP3口(口(P3.0P3.7):雙向):雙向I/O口。每個(gè)端子都有自己口
13、。每個(gè)端子都有自己的第二功能(如下所示)的第二功能(如下所示) 。第一種功能時(shí),第二種功。第一種功能時(shí),第二種功能的控制線為高電平。第二種功能時(shí),相應(yīng)口線的鎖能的控制線為高電平。第二種功能時(shí),相應(yīng)口線的鎖存器必須是存器必須是“1”狀態(tài)。狀態(tài)。P3.0 RXD (串行輸入串行輸入) P3.4 T0P3.1 TXD (串行輸出串行輸出) P3.5 T1P3.2 INT0 P3.6 WR(外部寫脈沖輸出線外部寫脈沖輸出線)P3.3 INT1 P3.7 RD(外部讀脈沖輸出線外部讀脈沖輸出線)21DQCL/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部內(nèi)部總線總線第二功能輸出第二功能輸出引腳引腳
14、P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc第二功能輸入第二功能輸入4T單片機(jī)外擴(kuò)時(shí),單片機(jī)外擴(kuò)時(shí), P0兼作數(shù)據(jù)總線和低兼作數(shù)據(jù)總線和低8位地址總線位地址總線,P2輸出高輸出高8位位地址信號。地址信號。P3可用作串行口和控制總線可用作串行口和控制總線。使用低使用低8位地址信號鎖存器,在位地址信號鎖存器,在ALE負(fù)跳時(shí)鎖入。負(fù)跳時(shí)鎖入。由由PSEN控制外部程序存儲器,控制外部程序存儲器,WR、RD控制外部控制外部RAM/IO。單片機(jī)與外部存儲器和I/O的連接803180518751P2口ALEP0口PSENWRRD地址總線數(shù)據(jù)總線控制總線EPROMOE地址鎖存器RAM/IO口WR RDA0-A15
15、D0-D751系列有系列有2個(gè)個(gè)16位的定時(shí)位的定時(shí)/計(jì)數(shù)器。計(jì)數(shù)器。2.1.4 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器定時(shí)器定時(shí)器T0由特殊功能寄存器由特殊功能寄存器TL0和和TH0構(gòu)成,定時(shí)構(gòu)成,定時(shí)器器T1由特殊功能寄存器由特殊功能寄存器TL1和和TH1構(gòu)成。特殊功能構(gòu)成。特殊功能寄存器寄存器TMOD和和TCON分別控制其分別控制其工作方式和運(yùn)行工作方式和運(yùn)行狀態(tài)狀態(tài)。并按要求計(jì)算時(shí)間常數(shù),。并按要求計(jì)算時(shí)間常數(shù), 送入送入TH和和TL中。中。定時(shí)定時(shí)/ /計(jì)數(shù)器的構(gòu)成計(jì)數(shù)器的構(gòu)成TMOD的格式的格式T1 方式字段 T0 方式字段 GATE M0 M1 C/T GATE C/T M1 M0 D7
16、 D6 D5 D4 D3 D2 D1 D0 M1、M0 工作方式確定位,如下工作方式確定位,如下:M1M0 工作方式工作方式00方式方式0,13位定時(shí)器位定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器01方式方式1,16位定時(shí)器位定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器10方式方式2,常數(shù)自動(dòng)裝入的,常數(shù)自動(dòng)裝入的8位位11方式方式3,分為兩個(gè),分為兩個(gè)8位位(僅用于僅用于T0)TMOD的格式的格式T1 方式字段 T0 方式字段 GATE M0 M1 C/T GATE C/T M1 M0 D7 D6 D5 D4 D3 D2 D1 D0 C/T定時(shí)器、計(jì)數(shù)器的方式選擇位,定時(shí)器、計(jì)數(shù)器的方式選擇位, 0-定時(shí)器方式,定時(shí)器方式,1-計(jì)數(shù)器方
17、式。計(jì)數(shù)器方式。GATE 門控位。門控位。 GATE=0,定時(shí)器、計(jì)數(shù)器的運(yùn)行定時(shí)器、計(jì)數(shù)器的運(yùn)行不受外部輸入引腳的控制。不受外部輸入引腳的控制。GATE=1,定時(shí)器、計(jì)定時(shí)器、計(jì)數(shù)器的運(yùn)行受外部輸入引腳電平的控制。數(shù)器的運(yùn)行受外部輸入引腳電平的控制。INT1、INT0分別控制分別控制T1、T0的運(yùn)行。的運(yùn)行。TCON的格式的格式 TF1 TR0 TF0 TR1 D7 D6 D5 D4 D3 D2 D1 D0 TR0為定時(shí)器為定時(shí)器T0的運(yùn)行控制位,的運(yùn)行控制位,可通過軟件實(shí)現(xiàn)置可通過軟件實(shí)現(xiàn)置位和復(fù)位。位和復(fù)位。當(dāng)當(dāng)GATE為為0時(shí),時(shí),TR0=1,允許,允許T0計(jì)數(shù),計(jì)數(shù),TR0=0,禁,
18、禁止止T0計(jì)數(shù);計(jì)數(shù);當(dāng)當(dāng)GATE為為1時(shí),僅當(dāng)時(shí),僅當(dāng)TR0=1且且INT0=1,允許,允許T0計(jì)數(shù),計(jì)數(shù),TR0=0或或INT0=0,禁止禁止T0計(jì)數(shù);計(jì)數(shù);TF0是是T0的溢出標(biāo)志位。的溢出標(biāo)志位。當(dāng)當(dāng)T0溢出時(shí),由硬件將溢出時(shí),由硬件將TF0置置1,并申請中斷。進(jìn)入中斷服務(wù)程序時(shí),硬件再將,并申請中斷。進(jìn)入中斷服務(wù)程序時(shí),硬件再將TF0自動(dòng)清自動(dòng)清0 (也可由軟件清(也可由軟件清0)。)。定時(shí)定時(shí)/ /計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式C/T=1 C/T=0 振蕩器 1/12 中斷 TL0 5 位或 8 位 TH0 8 位 TF0 控制 T0 腳 P3.4 GATE INT0 TR0 方
19、式方式0(13位)和方式位)和方式1(16位)位)定時(shí)器定時(shí)器T0方式方式0和方式和方式1邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)T1 方式字段 T0 方式字段 GATE M0 M1 C/T GATE C/T M1 M0 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR0 TF0 TR1 D7 D6 D5 D4 D3 D2 D1 D0 方式方式2(8位自動(dòng)恢復(fù)初值)位自動(dòng)恢復(fù)初值)C/T=1 C/T=0 振蕩器 1/12 中斷 TL0 8 位 TH0 8 位 TF0 控制 T0 腳 P3.4 GATE INT0 TR0 重新裝入 定時(shí)器定時(shí)器T0方式方式2邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)方式方式3(將(將T0分成分成2個(gè)
20、個(gè)8位定時(shí)器位定時(shí)器/計(jì)數(shù)器)計(jì)數(shù)器)控制 C/T=1 C/T=0 振蕩器 1/12 TL0 8 位 TH0 8 位 TF0 中斷 控制 T0 腳 P3.4 GATE INT0 TR0 TF1 中斷 TR1 1/12fosc 定時(shí)器定時(shí)器T0方式方式3邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)定時(shí)器應(yīng)用舉例:定時(shí)器應(yīng)用舉例:要求要求T0產(chǎn)生產(chǎn)生1ms定時(shí),并使定時(shí),并使P1.0輸輸出周期為出周期為2ms的方波。的方波。T0工作方式工作方式1,fosc=12MHz。 解:計(jì)算解:計(jì)算T0初始值:初始值:(216x) T = 10-3,T=12/fosc= 10-6 程序:程序:MOV TMOD,#01H MOV TL0,
21、#18H MOV TH0,#0FCH SETB TR0 JBC TF0,CONT SJMP LOOP MOV TL0,#18H MOV TH0,#0FCH CPL P1.0 SJMP LOOP LOOP:CONT:T1 方式字段 T0 方式字段 GATE M0 M1 C/T GATE C/T M1 M0 D7 D6 D5 D4 D3 D2 D1 D0 所以:所以:x=64536 或或 x=0FC18H,TMOD=01H TF1 TR0 TF0 TR1 D7 D6 D5 D4 D3 D2 D1 D0 LOOP:CONT:計(jì)數(shù)器應(yīng)用舉例:計(jì)數(shù)器應(yīng)用舉例:用用T1的方式的方式2計(jì)數(shù),要求每計(jì)滿計(jì)數(shù),
22、要求每計(jì)滿100次,將次,將P1.1取反。取反。 解:計(jì)算解:計(jì)算T1初值:初值:x=28100=156(9CH)所以:所以:TH1=TL1=9CH,TMOD=60H程序:程序:MOV TMOD,#60H MOV TL1,#9CH MOV TH1,#9CH SETB TR1 JBC TF1,CONT SJMP LOOP CPL P1.1 SJMP LOOP T1 方式字段 T0 方式字段 GATE M0 M1 C/T GATE C/T M1 M0 D7 D6 D5 D4 D3 D2 D1 D0 51 系列單片機(jī)內(nèi)部的串行接口有兩個(gè)緩沖器:系列單片機(jī)內(nèi)部的串行接口有兩個(gè)緩沖器: 發(fā)送緩沖器發(fā)送緩
23、沖器SBUF 接收緩沖器接收緩沖器SBUF兩個(gè)緩沖器共用一個(gè)地址兩個(gè)緩沖器共用一個(gè)地址串行口串行口SIO 也也有有03四種工作方式,應(yīng)對四種工作方式,應(yīng)對特殊功能寄特殊功能寄存器存器SCON 和和 PCON設(shè)置初值,以確定設(shè)置初值,以確定工作方式和波工作方式和波特率系數(shù),特率系數(shù),并按要求計(jì)算并按要求計(jì)算波特率波特率。定時(shí)器。定時(shí)器T1為波特率為波特率發(fā)生器。發(fā)生器。2.1.5 串行口串行口串行口寄存器串行口寄存器控制寄存器控制寄存器SCON,其格式如下:其格式如下: SM0 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI SM0、SM1:串
24、行口的方式選擇位。串行口的方式選擇位。SM0SM1 工作方式工作方式00移位寄存器方式(用于移位寄存器方式(用于I/O擴(kuò)展)擴(kuò)展)018位位UART,波特率可變,波特率可變109位位UART,波特率有,波特率有fosc/64, fosc/32119位位UART,波特率可變,波特率可變 SM0 REN SM2 SM1 D7 D6 D5 D4D3 D2 D1 D0 TB8 RB8 TI RI SM2為方式為方式2、方式、方式3 時(shí)的多機(jī)通信控制位。時(shí)的多機(jī)通信控制位。方式方式2、方式、方式3 時(shí),若置時(shí),若置SM2=1,則允許多機(jī)通信。,則允許多機(jī)通信。當(dāng)當(dāng)SM2=1時(shí),若接收到的第時(shí),若接收到的
25、第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為)為1,說,說明是地址幀,數(shù)據(jù)裝入明是地址幀,數(shù)據(jù)裝入SBUF并激活并激活RI;若接收到的;若接收到的第第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為)為0,說明是數(shù)據(jù)幀,不激活,說明是數(shù)據(jù)幀,不激活RI并將接收數(shù)據(jù)丟棄并將接收數(shù)據(jù)丟棄。當(dāng)當(dāng)SM2=0,則不論接收到的第,則不論接收到的第9位數(shù)據(jù)是位數(shù)據(jù)是1或或0,都將前,都將前8位數(shù)據(jù)裝入位數(shù)據(jù)裝入SBUF并激活并激活RI。方式方式1時(shí),時(shí), SM2=1或或0,僅在接收到有效的停止位時(shí),僅在接收到有效的停止位時(shí),RB8存放接收的停止位并激活存放接收的停止位并激活RI。方式方式0時(shí),時(shí), SM2=0。 SM0 REN SM2 SM
26、1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI REN:允許串行接收位。由軟件置位或清零。允許串行接收位。由軟件置位或清零。REN=1允許接收,允許接收,REN=0禁止接收。禁止接收。TB8:發(fā)送數(shù)據(jù)位。該位是方式發(fā)送數(shù)據(jù)位。該位是方式2、3中要發(fā)送的第中要發(fā)送的第9位數(shù)據(jù)。位數(shù)據(jù)。在多機(jī)通信中用來表示是地址幀還是數(shù)據(jù)在多機(jī)通信中用來表示是地址幀還是數(shù)據(jù)幀,幀,1為地址幀,為地址幀,0為數(shù)據(jù)幀。為數(shù)據(jù)幀。RB8:接收數(shù)據(jù)位。是方式接收數(shù)據(jù)位。是方式2、3中接收到的第中接收到的第9位數(shù)位數(shù)據(jù),據(jù),在多機(jī)通信中為地址、數(shù)據(jù)標(biāo)識位。在多機(jī)通信中為地址、數(shù)據(jù)標(biāo)識位。方式
27、方式0中,中,未用。方式未用。方式1中,中,RB8存放接收的停止位。存放接收的停止位。 SM0 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI RI:接收中斷標(biāo)志。方式接收中斷標(biāo)志。方式0時(shí),接收完第時(shí),接收完第8 位數(shù)據(jù)或位數(shù)據(jù)或在其他方式時(shí),接收到停止位的中間點(diǎn)由硬件自動(dòng)在其他方式時(shí),接收到停止位的中間點(diǎn)由硬件自動(dòng)置位,表示一幀串行數(shù)據(jù)接收結(jié)束。置位,表示一幀串行數(shù)據(jù)接收結(jié)束。 RI可供軟件查可供軟件查詢,也可申請中斷。詢,也可申請中斷。 CPU響應(yīng)中斷時(shí)并不清除響應(yīng)中斷時(shí)并不清除RI,必須在中斷服務(wù)程序中由軟件對必須在中斷服務(wù)程序中由軟
28、件對RI清零。清零。TI:發(fā)送中斷標(biāo)志。方式發(fā)送中斷標(biāo)志。方式0時(shí),發(fā)送完第時(shí),發(fā)送完第8 位數(shù)據(jù)或位數(shù)據(jù)或在其他方式時(shí),在發(fā)送停止位之初由硬件自動(dòng)置位,在其他方式時(shí),在發(fā)送停止位之初由硬件自動(dòng)置位,表示一幀串行數(shù)據(jù)發(fā)送結(jié)束。表示一幀串行數(shù)據(jù)發(fā)送結(jié)束。TI可供軟件查詢,也可供軟件查詢,也可申請中斷,可申請中斷,CPU響應(yīng)中斷時(shí)并不清除響應(yīng)中斷時(shí)并不清除TI,必須在,必須在中斷服務(wù)程序中由軟件對中斷服務(wù)程序中由軟件對TI清零。清零。 SM0 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI 電源控制寄存器電源控制寄存器PCON Smod D7 D
29、6 D5 D4 D3 D2 D1 D0 其中的其中的SMOD位為串行接口波特率系數(shù)控制,位為串行接口波特率系數(shù)控制,SMOD=1時(shí)波特率加倍。時(shí)波特率加倍。串行口的工作方式串行口的工作方式串行接口的串行接口的4種工作方式中,串行通信只使用方式種工作方式中,串行通信只使用方式1、2、3。方式。方式0主要用于擴(kuò)展輸入輸出口。主要用于擴(kuò)展輸入輸出口。方式方式0:串行口以方式:串行口以方式0 工作時(shí),為同步移位寄存工作時(shí),為同步移位寄存器方式(低位在前)。數(shù)據(jù)由器方式(低位在前)。數(shù)據(jù)由RXD端輸入端輸入(REN=1接收)或輸出,同步移位脈沖由接收)或輸出,同步移位脈沖由TXD端端輸出,輸出,波特率就
30、是振蕩頻率的波特率就是振蕩頻率的12分頻。分頻。在發(fā)送或在發(fā)送或接收完接收完8位數(shù)據(jù)后置中斷標(biāo)志位位數(shù)據(jù)后置中斷標(biāo)志位TI或或RI。 SM0 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI 發(fā)送:發(fā)送:在在TI=0時(shí),由一條寫發(fā)送緩沖器時(shí),由一條寫發(fā)送緩沖器SBUF的指令的指令啟動(dòng),然后在啟動(dòng),然后在RXD線上發(fā)出線上發(fā)出8位數(shù)據(jù),同時(shí)在位數(shù)據(jù),同時(shí)在TXD線上發(fā)出同步移位脈沖。數(shù)據(jù)發(fā)送完后由硬件置位線上發(fā)出同步移位脈沖。數(shù)據(jù)發(fā)送完后由硬件置位TI。若中斷開放,若中斷開放,可發(fā)出串行口中斷申請。也可發(fā)出串行口中斷申請。也可通可通過查詢過查詢T
31、I來確定是否發(fā)送完一組數(shù)據(jù)。當(dāng)來確定是否發(fā)送完一組數(shù)據(jù)。當(dāng)TI=1,用用軟件將軟件將TI清零,然后發(fā)送下一幀數(shù)據(jù)。清零,然后發(fā)送下一幀數(shù)據(jù)。接收:接收:在在RI=0時(shí),使時(shí),使REN=1來啟動(dòng)接收過程。接收來啟動(dòng)接收過程。接收數(shù)據(jù)由數(shù)據(jù)由RXD,TXD發(fā)送同步移位脈沖。收到發(fā)送同步移位脈沖。收到8位數(shù)位數(shù)據(jù)以后,由硬件置據(jù)以后,由硬件置RI=1,在中斷允許時(shí)可發(fā)出串行在中斷允許時(shí)可發(fā)出串行口中斷申請??谥袛嗌暾?。也也可通過查詢可通過查詢RI來確定是否接收完一來確定是否接收完一組數(shù)據(jù)。組數(shù)據(jù)。 RI=1表示接收數(shù)據(jù)已裝入緩沖器。表示接收數(shù)據(jù)已裝入緩沖器。RI由軟由軟件清件清“0”,準(zhǔn)備接收下一幀
32、數(shù)據(jù)。,準(zhǔn)備接收下一幀數(shù)據(jù)。在該方式中,在該方式中,SCON中的中的SM2、RB8、TB8都不起作都不起作用,置用,置0。方式方式1:為:為8位異步通信接口,一幀數(shù)據(jù)有位異步通信接口,一幀數(shù)據(jù)有10位位 ,1位位起始位,起始位,8位數(shù)據(jù)位,位數(shù)據(jù)位,1位停止位。位停止位。一般設(shè)一般設(shè)T1為工作方式為工作方式2, 波特率波特率則為:則為:mod23212 (256(1)SoscfTH波特率發(fā)送時(shí):發(fā)送時(shí):數(shù)據(jù)由數(shù)據(jù)由TXD端輸出。當(dāng)數(shù)據(jù)寫入發(fā)送緩沖端輸出。當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器器SBUF后,啟動(dòng)串行口發(fā)送器發(fā)送,待一幀數(shù)據(jù)發(fā)后,啟動(dòng)串行口發(fā)送器發(fā)送,待一幀數(shù)據(jù)發(fā)送完畢送完畢TI置置1。接收時(shí):接收
33、時(shí):數(shù)據(jù)由數(shù)據(jù)由RXD端輸入。在端輸入。在REN置置1后,接收后,接收器開始以所選波特率器開始以所選波特率16倍的速率采樣倍的速率采樣RXD端的電平,端的電平,檢測到起始位有效時(shí),開始接收數(shù)據(jù)一幀的其余信檢測到起始位有效時(shí),開始接收數(shù)據(jù)一幀的其余信息。息。當(dāng)當(dāng)RI=0,并且接收到的停止位為,并且接收到的停止位為1時(shí),時(shí),停止位進(jìn)停止位進(jìn)入入RB8,接收到的數(shù)據(jù)進(jìn)入接收緩沖器,且置,接收到的數(shù)據(jù)進(jìn)入接收緩沖器,且置RI=1,若兩個(gè)條件不滿足,信息將丟失。若兩個(gè)條件不滿足,信息將丟失。方式方式2、方式、方式3:為:為9位異步通信接口,一幀數(shù)據(jù)位異步通信接口,一幀數(shù)據(jù)有有11位位 ,1位起始位,位起
34、始位,8位數(shù)據(jù)位,位數(shù)據(jù)位,1位可程控為位可程控為1或或0 的第的第9位數(shù)據(jù)位和位數(shù)據(jù)位和1位停止位。位停止位。方式方式2, 波特率固定,波特率固定,為:為:方式方式3, 波特率可變,波特率可變,為:為:mod23212 (256(1)SoscfTH波特率mod264Soscf波特率發(fā)送:發(fā)送:TI=0時(shí),數(shù)據(jù)由時(shí),數(shù)據(jù)由TXD端輸出,必須在啟動(dòng)發(fā)端輸出,必須在啟動(dòng)發(fā)送前將附加的第送前將附加的第9 位數(shù)據(jù)裝入位數(shù)據(jù)裝入SCON中的中的TB8,這一,這一位到底起什么作用由用戶決定。位到底起什么作用由用戶決定。準(zhǔn)備好準(zhǔn)備好TB8以后,就可以啟動(dòng)發(fā)送,用一條以以后,就可以啟動(dòng)發(fā)送,用一條以SBUF為
35、目的地址的指令啟動(dòng)發(fā)送。串行口能自動(dòng)把為目的地址的指令啟動(dòng)發(fā)送。串行口能自動(dòng)把TB8取出,并裝入到第取出,并裝入到第9 位數(shù)據(jù),再逐一發(fā)送出去位數(shù)據(jù),再逐一發(fā)送出去。發(fā)發(fā)送完后送完后TI=1。接收:接收:接收與方式接收與方式1基本相似,基本相似,不同之處不同之處就是要接就是要接收收9位有效數(shù)據(jù)。在方式位有效數(shù)據(jù)。在方式1 時(shí)是把停止位當(dāng)作第時(shí)是把停止位當(dāng)作第9位位來處理的,在方式來處理的,在方式2(或方式(或方式3)中存在著真正的第)中存在著真正的第9 位數(shù)據(jù)。在接收完第位數(shù)據(jù)。在接收完第9 位數(shù)據(jù)后,必須同時(shí)滿足位數(shù)據(jù)后,必須同時(shí)滿足兩個(gè)兩個(gè)條件:條件:RI=0,并且,并且SM2=0或接收到
36、的第或接收到的第9位數(shù)位數(shù)據(jù)為據(jù)為1。若這兩個(gè)條件成立,接收到的第若這兩個(gè)條件成立,接收到的第9 為數(shù)據(jù)為數(shù)據(jù)進(jìn)入進(jìn)入RB8,前,前8位數(shù)進(jìn)入位數(shù)進(jìn)入SBUF以便以便CPU讀取,并且讀取,并且使使RI=1。若條件不滿足,則此次接收的數(shù)據(jù)丟棄,若條件不滿足,則此次接收的數(shù)據(jù)丟棄,RI不置位。不置位。 SM0 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI CONT:WAIT:LOOP:串行口應(yīng)用舉例串行口應(yīng)用舉例1:要求從要求從SIO輸出輸出40H4FH的數(shù)據(jù)。的數(shù)據(jù)。SIO工作于方式工作于方式2,TB8作奇偶校驗(yàn)位。作奇偶校驗(yàn)位。程序程序:
37、TRT : MOV SCON,#80H MOV PCON,#80H MOV R0,#40H MOV R7,#10H MOV A,R0 MOV C,P MOV TB8,C MOV SBUF,A JBC TI,CONT SJMP WAIT INC R0 DJNZ R7,LOOP RET 方式設(shè)置方式設(shè)置波特率設(shè)置波特率設(shè)置奇偶校驗(yàn)位奇偶校驗(yàn)位 SM0 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI Smod D7 D6 D5 D4 D3 D2 D1 D0 C RS1 F0 AC D7 D6 D5 D4 D3 D2 D1 D0 RS0 OV F1
38、P 串行口應(yīng)用舉例串行口應(yīng)用舉例2:要求從要求從SIO輸入數(shù)據(jù),并將數(shù)據(jù)輸入數(shù)據(jù),并將數(shù)據(jù)放入放入40H4FH。SIO工作于方式工作于方式2。MOV SCON,#90H MOV PCON,#80H MOV R0,#40H MOV R7,#10H JBC RI,CONT SJMP WAIT MOV A,SBUF JNB PSW.0,CONT1 JNB RB8,ERR SJMP RIGHT JB RB8,ERRMOV R0,A INC R0 DJNZ R7,WAIT CLR PSW.5 RET SETB PSW.5 RET WAIT:CONT:CONT1:ERR:RIGHT:方式設(shè)置方式設(shè)置SM0
39、 REN SM2 SM1 D7 D6 D5 D4 D3 D2 D1 D0 TB8 RB8 TI RI P=RB8?C RS1 F0 AC D7 D6 D5 D4 D3 D2 D1 D0 RS0 OV F1 P Smod D7 D6 D5 D4 D3 D2 D1 D0 2.1.6 中斷系統(tǒng)中斷系統(tǒng)當(dāng)當(dāng)CPU正在處理某事件時(shí)外界發(fā)生了更為緊急的請正在處理某事件時(shí)外界發(fā)生了更為緊急的請求,要求求,要求CPU暫停當(dāng)前的工作,去處理這個(gè)緊急事暫停當(dāng)前的工作,去處理這個(gè)緊急事件。處理完畢后,再回到原來被中斷的地方,繼續(xù)件。處理完畢后,再回到原來被中斷的地方,繼續(xù)原來的工作,這樣的過程稱為中斷。實(shí)現(xiàn)這一功能
40、原來的工作,這樣的過程稱為中斷。實(shí)現(xiàn)這一功能的部件稱為的部件稱為中斷系統(tǒng)中斷系統(tǒng),請求,請求CPU中斷的請求源稱為中斷的請求源稱為中斷源。中斷源。中斷系統(tǒng)是為處理機(jī)對外界異步事件具有處理能力中斷系統(tǒng)是為處理機(jī)對外界異步事件具有處理能力而設(shè)置的。而設(shè)置的。中斷系統(tǒng)的概念中斷系統(tǒng)的概念單片機(jī)與外部事件信息的交換方式:單片機(jī)與外部事件信息的交換方式:查詢方式查詢方式和和中中斷方式斷方式。中斷方式。中斷方式CPU效率高。效率高。 對單片機(jī)的多個(gè)中斷源進(jìn)行管理。中斷系統(tǒng)的任務(wù)對單片機(jī)的多個(gè)中斷源進(jìn)行管理。中斷系統(tǒng)的任務(wù)包括以下幾個(gè)方面:包括以下幾個(gè)方面:中斷系統(tǒng)的任務(wù)中斷系統(tǒng)的任務(wù)開中斷或關(guān)中斷:開中斷
41、或關(guān)中斷: 這是這是CPU能否能否接收中斷申請的關(guān)鍵。只有在開中斷接收中斷申請的關(guān)鍵。只有在開中斷的情況下,才有可能接收中斷源的申請。中斷的開的情況下,才有可能接收中斷源的申請。中斷的開放或關(guān)閉通過指令實(shí)現(xiàn)。放或關(guān)閉通過指令實(shí)現(xiàn)。中斷的排隊(duì):中斷的排隊(duì):對于多中斷源系統(tǒng),在開中斷的條件下,如果有若對于多中斷源系統(tǒng),在開中斷的條件下,如果有若干個(gè)中斷申請同時(shí)發(fā)生,就需要決定先對哪一個(gè)中干個(gè)中斷申請同時(shí)發(fā)生,就需要決定先對哪一個(gè)中斷申請進(jìn)行響應(yīng)。也就是說要對中斷源作一個(gè)優(yōu)先斷申請進(jìn)行響應(yīng)。也就是說要對中斷源作一個(gè)優(yōu)先級的排隊(duì)。級的排隊(duì)。中斷的響應(yīng)中斷的響應(yīng):單片機(jī)在響應(yīng)中斷源的申請時(shí),單片機(jī)在響應(yīng)
42、中斷源的申請時(shí),(1)應(yīng)使應(yīng)使CPU從主程從主程序轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序,序轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序,(2)同時(shí)要把斷點(diǎn)地址同時(shí)要把斷點(diǎn)地址送入堆棧進(jìn)行保護(hù),以便在執(zhí)行完中斷服務(wù)子程序送入堆棧進(jìn)行保護(hù),以便在執(zhí)行完中斷服務(wù)子程序后能返回到原來的斷點(diǎn),繼續(xù)執(zhí)行主程序后能返回到原來的斷點(diǎn),繼續(xù)執(zhí)行主程序。(3)中斷中斷系統(tǒng)還要能確定各個(gè)被響應(yīng)中斷源的中斷服務(wù)子程系統(tǒng)還要能確定各個(gè)被響應(yīng)中斷源的中斷服務(wù)子程序的入口。序的入口。中斷響應(yīng)原則中斷響應(yīng)原則:根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請求源(每一個(gè)中斷源有一個(gè)優(yōu)先級別)。的中斷請求源(每一個(gè)
43、中斷源有一個(gè)優(yōu)先級別)。中斷源有高、低兩個(gè)優(yōu)先級,可實(shí)現(xiàn)兩級中斷源有高、低兩個(gè)優(yōu)先級,可實(shí)現(xiàn)兩級中斷嵌套中斷嵌套。當(dāng)當(dāng)CPU正在處理一個(gè)中斷源請求時(shí),發(fā)生了正在處理一個(gè)中斷源請求時(shí),發(fā)生了另一個(gè)優(yōu)先級比它高的中斷源請求。另一個(gè)優(yōu)先級比它高的中斷源請求。CPU暫暫停對原來中斷源的處理程序,轉(zhuǎn)而去處理優(yōu)先停對原來中斷源的處理程序,轉(zhuǎn)而去處理優(yōu)先級更高的中斷源請求,處理完以后,級更高的中斷源請求,處理完以后,再回到原再回到原來的低級中斷處理程序。這就是中斷嵌套。來的低級中斷處理程序。這就是中斷嵌套。中斷的嵌套中斷的嵌套51系列單片機(jī)有系列單片機(jī)有5個(gè)中斷源,分為個(gè)中斷源,分為內(nèi)部中斷內(nèi)部中斷和和外部
44、中外部中斷斷。兩個(gè)外部中斷源從兩個(gè)外部中斷源從INT0(P3.2)和和INT1(P3.3)端子輸入。端子輸入。外部中斷請求信號有兩種方式:外部中斷請求信號有兩種方式:電平輸入方式電平輸入方式和和負(fù)負(fù)邊沿輸入方式(下降沿)邊沿輸入方式(下降沿)。電平輸入方式電平輸入方式:在在INT0和和INT1端子上檢測到低電位端子上檢測到低電位即為有效的中斷申請。即為有效的中斷申請。負(fù)邊沿輸入方式負(fù)邊沿輸入方式:要檢測到負(fù)脈沖跳變才為有效申要檢測到負(fù)脈沖跳變才為有效申請。請。從面向用戶的角度來看,從面向用戶的角度來看,51系列單片機(jī)的中斷系統(tǒng)系列單片機(jī)的中斷系統(tǒng)就是若干個(gè)特殊功能寄存器:定時(shí)器運(yùn)行控制寄存就是
45、若干個(gè)特殊功能寄存器:定時(shí)器運(yùn)行控制寄存器器TCON;中斷允許寄存器;中斷允許寄存器IE;中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP;串行口控制寄存器串行口控制寄存器SCON。其中,其中,TCON和和SCON只有一部分位用于中斷控制。只有一部分位用于中斷控制。通過對特殊功能寄存器各位的置位或復(fù)位來實(shí)現(xiàn)中通過對特殊功能寄存器各位的置位或復(fù)位來實(shí)現(xiàn)中斷控制功能的。斷控制功能的。中斷的撤除:中斷的撤除:在響應(yīng)中斷申請以后,返回主程序之在響應(yīng)中斷申請以后,返回主程序之前,中斷申請應(yīng)該撤除,否則就等于中斷申請仍然前,中斷申請應(yīng)該撤除,否則就等于中斷申請仍然存在,這會影響對其他中斷申請的響應(yīng)。存在,這會影響對其
46、他中斷申請的響應(yīng)。51系列單系列單片機(jī)只能對一部分中斷申請?jiān)陧憫?yīng)之后自動(dòng)撤除。片機(jī)只能對一部分中斷申請?jiān)陧憫?yīng)之后自動(dòng)撤除。TCON中與中斷有關(guān)的各控制位:中與中斷有關(guān)的各控制位:IE1 IE0 IT0 IT1 D7 D6 D5 D4 D3 D2 D1 D0 與中斷有關(guān)的寄存器與中斷有關(guān)的寄存器IT0:選擇外部中斷:選擇外部中斷INT0的中斷觸發(fā)方式。的中斷觸發(fā)方式。IT0=0電電平輸入方式;平輸入方式;IT0=1負(fù)邊沿輸入方式。負(fù)邊沿輸入方式。IT0的狀態(tài)由的狀態(tài)由指令置位或復(fù)位。指令置位或復(fù)位。IE0:外部中斷:外部中斷INT0的中斷申請標(biāo)志。當(dāng)檢測到的中斷申請標(biāo)志。當(dāng)檢測到INT0上存在有
47、效中斷申請時(shí),由硬件使上存在有效中斷申請時(shí),由硬件使IE0置位。置位。當(dāng)當(dāng)CPU 轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件清轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件清0。IT1:選擇外部中斷:選擇外部中斷INT1的中斷觸發(fā)方式。的中斷觸發(fā)方式。IE1:外部中斷:外部中斷INT1的中斷申請標(biāo)志。的中斷申請標(biāo)志。51系列單片機(jī)系列單片機(jī)中斷的開放和關(guān)閉中斷的開放和關(guān)閉是由中斷允許寄存是由中斷允許寄存器器IE來實(shí)現(xiàn)兩級控制的。就是有一個(gè)總控位來實(shí)現(xiàn)兩級控制的。就是有一個(gè)總控位EA, EA=0關(guān)閉所有中斷。關(guān)閉所有中斷。EA=1,對各中斷源的申請是對各中斷源的申請是否開放,還要看各中斷源的中斷允許控制位。否開放,還要看各中斷源的
48、中斷允許控制位。 ET1 ET0 EX0 EX1 D7 D6 D5 D4 D3 D2 D1 D0 ES EA 中斷允許寄存器中斷允許寄存器IEEA:CPU中斷允許的總控制位。中斷允許的總控制位。ES:串行口中斷允許位。串行口中斷允許位。ES=1串行口開中斷,串行口開中斷,ES=0關(guān)中斷。關(guān)中斷。 ET1 ET0 EX0 EX1 D7 D6 D5 D4 D3 D2 D1 D0 ES EA ET1:T1的溢出中斷允許位。的溢出中斷允許位。ET1=1允許允許T1溢出中溢出中斷,斷,ET1=0不允許不允許T1溢出中斷。溢出中斷。EX1:外部中斷外部中斷1(INT1)的中斷允許位。)的中斷允許位。EX1
49、=1允允許外部中斷許外部中斷1的中斷申請,的中斷申請,EX1=0不允許中斷。不允許中斷。ET0:T0的溢出中斷允許位。的溢出中斷允許位。EX0 :外部中斷外部中斷0(INT0)的中斷允許位。)的中斷允許位。IE寄存器的單元地址為寄存器的單元地址為A8H,各位都可以位尋址,各位都可以位尋址,位地址為(位地址為(A8HAFH)。既可字節(jié)尋址也可位尋址。)。既可字節(jié)尋址也可位尋址。中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP PT1 PT0 PX0 PX1 D7 D6 D5 D4 D3 D2 D1 D0 PS PS:串行口中斷優(yōu)先級控制位。串行口中斷優(yōu)先級控制位。PT1:T1中斷優(yōu)先級控制位。中斷優(yōu)先級控制
50、位。PX1:外部中斷外部中斷INT1中斷優(yōu)先級控制位。中斷優(yōu)先級控制位。PT0:T0中斷優(yōu)先級控制位。中斷優(yōu)先級控制位。PX0:外部中斷外部中斷INT0中斷優(yōu)先級控制位。中斷優(yōu)先級控制位。相應(yīng)位為相應(yīng)位為1則為高,為則為高,為0則為低。則為低。IP的字節(jié)地址為的字節(jié)地址為B8H,可位尋址,位地址為,可位尋址,位地址為B8HBCH。當(dāng)兩個(gè)同優(yōu)先級級別的中斷申請同時(shí)來到時(shí),按固當(dāng)兩個(gè)同優(yōu)先級級別的中斷申請同時(shí)來到時(shí),按固有的次序來處理中斷響應(yīng)。有的次序來處理中斷響應(yīng)。 中 斷 源 優(yōu) 先 級 INT0 INT1 T0 T1 SIO 最高 最低 51 中斷源的優(yōu)先級順序 51系列單片機(jī)在接收到發(fā)來的
51、中斷申請以系列單片機(jī)在接收到發(fā)來的中斷申請以后,先把這些中斷申請鎖定在相應(yīng)的中斷后,先把這些中斷申請鎖定在相應(yīng)的中斷標(biāo)志位中,然后在下一個(gè)機(jī)器周期按內(nèi)部標(biāo)志位中,然后在下一個(gè)機(jī)器周期按內(nèi)部優(yōu)先順序和中斷優(yōu)先級分別來查詢這些標(biāo)優(yōu)先順序和中斷優(yōu)先級分別來查詢這些標(biāo)志,并在一個(gè)機(jī)器周期之內(nèi)完成檢測和優(yōu)志,并在一個(gè)機(jī)器周期之內(nèi)完成檢測和優(yōu)先級排隊(duì)。先級排隊(duì)。中斷響應(yīng)過程中斷響應(yīng)過程響應(yīng)中斷的條件響應(yīng)中斷的條件必須沒有同級或更高級的中斷正在得到響應(yīng)。必須沒有同級或更高級的中斷正在得到響應(yīng)。如果有則必須等如果有則必須等CPU為它們服務(wù)完之后才能響為它們服務(wù)完之后才能響應(yīng)新的中斷申請。應(yīng)新的中斷申請。必須要
52、等當(dāng)前正在執(zhí)行的指令執(zhí)行完畢之后,必須要等當(dāng)前正在執(zhí)行的指令執(zhí)行完畢之后,CPU才能響應(yīng)新的中斷申請。才能響應(yīng)新的中斷申請。若正在執(zhí)行的指令是若正在執(zhí)行的指令是RETI或是任何訪問或是任何訪問IE或或IP寄存寄存器的指令,則必須要在執(zhí)行完另外一條指令之后才器的指令,則必須要在執(zhí)行完另外一條指令之后才可以響應(yīng)新的中斷申請。可以響應(yīng)新的中斷申請。若條件滿足,若條件滿足,CPU就在下一個(gè)機(jī)器周期響應(yīng)中斷,就在下一個(gè)機(jī)器周期響應(yīng)中斷,完成兩件工作:完成兩件工作:把中斷點(diǎn)的地址送入堆棧保護(hù);把中斷點(diǎn)的地址送入堆棧保護(hù);根據(jù)中斷的不同來源把程序的執(zhí)行轉(zhuǎn)到相應(yīng)的中斷根據(jù)中斷的不同來源把程序的執(zhí)行轉(zhuǎn)到相應(yīng)的中
53、斷服務(wù)子程序的入口。服務(wù)子程序的入口。51系列單片機(jī)系列單片機(jī)中斷源中斷源入口地址入口地址INT00003HT0000BHINT10013HT1001BHSIO0023HCPU響應(yīng)中斷之后,中斷請求被鎖存在了響應(yīng)中斷之后,中斷請求被鎖存在了TCON和和SCON的相應(yīng)的標(biāo)志位。當(dāng)某個(gè)中斷請求得到響應(yīng)之的相應(yīng)的標(biāo)志位。當(dāng)某個(gè)中斷請求得到響應(yīng)之后,相應(yīng)的中斷標(biāo)志位應(yīng)該予以清除,否則后,相應(yīng)的中斷標(biāo)志位應(yīng)該予以清除,否則CPU又又會繼續(xù)查詢這些標(biāo)志位而認(rèn)為又有新的中斷申請來會繼續(xù)查詢這些標(biāo)志位而認(rèn)為又有新的中斷申請來到,實(shí)際上這些中斷申請并不存在。因此,存在中到,實(shí)際上這些中斷申請并不存在。因此,存在
54、中斷請求的撤除問題。在斷請求的撤除問題。在51系列中的系列中的5個(gè)中斷源中,個(gè)中斷源中,定定時(shí)器中斷和外部中斷是可以自動(dòng)撤除的。時(shí)器中斷和外部中斷是可以自動(dòng)撤除的。對于串行口的中斷標(biāo)志對于串行口的中斷標(biāo)志TI和和RI,中斷系統(tǒng)不中斷系統(tǒng)不予以自動(dòng)撤除。予以自動(dòng)撤除。在響應(yīng)串行口中斷之后要先測在響應(yīng)串行口中斷之后要先測試這兩個(gè)標(biāo)志位,以決定是接收還是發(fā)送,所試這兩個(gè)標(biāo)志位,以決定是接收還是發(fā)送,所以不能立即撤銷。但在使用完后應(yīng)使其復(fù)零,以不能立即撤銷。但在使用完后應(yīng)使其復(fù)零,以結(jié)束這次中斷申請。復(fù)位操作可在中斷服務(wù)以結(jié)束這次中斷申請。復(fù)位操作可在中斷服務(wù)子程序中用指令實(shí)現(xiàn)。子程序中用指令實(shí)現(xiàn)。中
55、斷系統(tǒng)的初始化中斷系統(tǒng)的初始化51系列單片機(jī)在響應(yīng)中斷之前,必須對中斷系統(tǒng)進(jìn)系列單片機(jī)在響應(yīng)中斷之前,必須對中斷系統(tǒng)進(jìn)行初始化。行初始化。中斷系統(tǒng)的初始化需要完成以下操作:中斷系統(tǒng)的初始化需要完成以下操作:開中斷;開中斷;確定各中斷源的優(yōu)先級;確定各中斷源的優(yōu)先級;若為外部中斷,應(yīng)規(guī)定觸發(fā)方式(電平或負(fù)邊沿)。若為外部中斷,應(yīng)規(guī)定觸發(fā)方式(電平或負(fù)邊沿)。LOOP:ICONT:STT:定時(shí)器中斷應(yīng)用舉例:定時(shí)器中斷應(yīng)用舉例:要求要求T0產(chǎn)生產(chǎn)生1ms定時(shí),使定時(shí),使P1.0輸出周期為輸出周期為2ms方波方波。 T0工作方式工作方式1,fosc=12MHz。 計(jì)算計(jì)算T0的初始值:的初始值:x=
56、64536 或或 x=0FC18H程序:程序:ORG 0000H SJMP STT ORG 000BH SJMP ICONT ORG 0030H MOV TMOD,#01H MOV TL0,#18H MOV TH0,#0FCH MOV IE,#82H SETB TR0 SJMP LOOP MOV TL0,#18H MOV TH0,#0FCH CPL P1.0 RETI END ET1 ET0 EX0 EX1 D7 D6 D5 D4 D3 D2 D1 D0 ES EA 2.2 主機(jī)電路主機(jī)電路2.2.1 外接存儲器外接存儲器程序存儲器程序存儲器數(shù)據(jù)存儲器數(shù)據(jù)存儲器擴(kuò)展存儲器的必要性:擴(kuò)展存儲器的
57、必要性:滿足需要較大存儲容量的智能儀表的要求滿足需要較大存儲容量的智能儀表的要求 外接存儲器的類別外接存儲器的類別RAM 6116、6264、62128、62256等等EPROM 2732、2764、27256、27512等等EEPROM 2816、2864等等單片機(jī)與外部存儲器和I/O的連接803180518751P2口ALEP0口PSENWRRD地址總線數(shù)據(jù)總線控制總線EPROMOE地址鎖存器RAM/IO口WR RDA0-A15D0-D7當(dāng)當(dāng)PSEN有效時(shí),有效時(shí),CPU通過通過P0口讀取外擴(kuò)口讀取外擴(kuò)ROM中中的指令字節(jié)。的指令字節(jié)。對外部對外部RAM的讀寫由的讀寫由RD和和WR控制。控
58、制。第一類指令第一類指令第二類指令第二類指令讀:讀:MOV DPTR,#addr16 MOVX A,DPTR寫:寫:MOV A,#data MOVX DPTR,A讀:讀: MOV P2,#addr.H8 MOV Ri,#addr.L8 MOVX A,Ri寫:寫: MOV A,#data MOVX Ri,ACPU與外部與外部RAM之間的數(shù)據(jù)交換之間的數(shù)據(jù)交換它們之間的數(shù)據(jù)交換是通過累加器它們之間的數(shù)據(jù)交換是通過累加器A來實(shí)現(xiàn)的,具體來實(shí)現(xiàn)的,具體的可通過以下指令完成。的可通過以下指令完成。2.2.2 外接外接I/O(8155)三態(tài)緩沖器三態(tài)緩沖器74LS373、8212、8282可編程可編程接口
59、芯片接口芯片8155、8255可編程門陣列可編程門陣列GAL、PAL接口芯片接口芯片81558155具有具有256字節(jié)的字節(jié)的RAM、兩個(gè)兩個(gè)8位位并行口、一個(gè)并行口、一個(gè)6位并行口和一個(gè)位并行口和一個(gè)14位位的減法計(jì)數(shù)器。的減法計(jì)數(shù)器。 TIMERIN RESET AD(07) TIMEROUT IO/M PA(07) CE 8155 RD PB(07) WR ALE PC(05) Vcc GND 8155芯片引腳芯片引腳接口信號線接口信號線AD(07)為地址數(shù)據(jù)線。用于為地址數(shù)據(jù)線。用于CPU和和8155之間的信息交換(地址、數(shù)據(jù)之間的信息交換(地址、數(shù)據(jù)、命令、狀態(tài)信息)。、命令、狀態(tài)信
60、息)。RD:讀選通信號線。:讀選通信號線。WR:寫選通信號線。:寫選通信號線。CE:選片信號線。:選片信號線。8155芯片引腳芯片引腳 TIMERIN RESET AD(07) TIMEROUT IO/M PA(07) CE 8155 RD PB(07) WR ALE PC(05) Vcc GND IO/M:RAM/IO的選擇線。的選擇線。CE=0、IO/M=0時(shí),時(shí),CPU對對RAM進(jìn)行讀進(jìn)行讀寫,寫,RAM編址編址00H0FFH;CE=0、IO/M=1時(shí),時(shí),CPU對對I/O口進(jìn)行讀寫口進(jìn)行讀寫,I/O編址見下頁。編址見下頁。A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)生課件插花圖片
- 贛南醫(yī)學(xué)院《即興彈唱》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)《化學(xué)工程與工藝導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南科技學(xué)院《工程制圖與計(jì)算機(jī)繪圖Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 甘孜職業(yè)學(xué)院《數(shù)字媒體導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 《組織行為學(xué)工具》課件
- 七年級道德與法治上冊第一單元成長的節(jié)拍第一課中學(xué)時(shí)代第二框少年有夢教案新人教版
- 三年級科學(xué)上冊2認(rèn)識自己教案冀教版
- 《玩轉(zhuǎn)大學(xué)動(dòng)態(tài)模板》課件
- 營林安全教育培訓(xùn)課件
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之15:“6策劃-6.4創(chuàng)新組合”(雷澤佳編制-2025B0)
- 2025混凝土外加劑買賣合同
- 標(biāo)準(zhǔn)廠房施工方案
- 2024年電影院項(xiàng)目可行性研究報(bào)告
- DBJT45T 037-2022 高速公路出行信息服務(wù)管理指南
- 港口碼頭租賃協(xié)議三篇
- 浙江省紹興市柯橋區(qū)2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量調(diào)測數(shù)學(xué)試題(解析版)
- 項(xiàng)目部實(shí)名制管理實(shí)施措施
- 顳下頜關(guān)節(jié)疾病試題
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試質(zhì)量檢測化學(xué)試題 附答案
- 非甾體抗炎藥圍術(shù)期鎮(zhèn)痛專家共識(2024 版)解讀
評論
0/150
提交評論