版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)接口技術(shù)及應(yīng)用,2020/8/25,2,第一章 概述,學(xué)習(xí)目標(biāo): 1掌握數(shù)制及其轉(zhuǎn)換方法。 2了解數(shù)據(jù)表示方法及其編碼。 3了解單片機(jī)基礎(chǔ)知識。,2020/8/25,3,一、什么是單片機(jī)? 單片機(jī)就是單片微型計(jì)算機(jī), 是將計(jì)算機(jī)的中央處理器(CPU)、存儲器(ROM,RAM)、輸入/輸出(I/O)接口等集成在一小塊硅片上的微型機(jī)。,1.1單片機(jī)的發(fā)展及特點(diǎn),2020/8/25,4,單片機(jī)組成框圖,RAM,I/O接口 電路,CPU,時 鐘,定時器/ 計(jì)數(shù)器,ROM,2020/8/25,5,二、單片機(jī)發(fā)展史,單片機(jī)屬于微型機(jī),微型計(jì)算機(jī)的發(fā)展形成兩大分支: 1、獨(dú)立使用式微機(jī)( PC機(jī)):P
2、C機(jī)系統(tǒng)全力實(shí)現(xiàn)海量高速數(shù)據(jù)處理,兼顧控制功能。 2、嵌入式微機(jī)單片機(jī):單片機(jī)系統(tǒng)全力滿足測控對象的測控功能,兼顧數(shù)據(jù)處理能力。 單片機(jī)作為工業(yè)控制和數(shù)據(jù)處理的計(jì)算機(jī),它的結(jié)構(gòu)與指令功能都是按照工業(yè)控制要求設(shè)計(jì)的,也被稱為“微控制器”、 “微處理器”(Micro-controller, Micro-processor)。 主要有:4位、8位、16位、32位等,2020/8/25,6,單片機(jī)發(fā)展概況,1976-1978 初級8位單片機(jī) Intel MCS-48 系列 1978-1983 高檔8位單片機(jī) Intel MCS-51系列: -51子系列:8031/8051/8751 -52子系列:80
3、32/8052/8752 低功耗型80C31高性能型80C252廉價(jià)型89C2051/1051,1983- 90年代初 16位單片機(jī) Intel MCS-96 系列8098/8096、80C198/80C196 90年代初-至今 16位單片機(jī)高檔32位單片機(jī),2020/8/25,7,三、單片機(jī)的特點(diǎn)及應(yīng)用,突出特點(diǎn)存儲器結(jié)構(gòu) 計(jì)算機(jī)有兩種存儲結(jié)構(gòu): 哈佛結(jié)構(gòu):程序存儲器和數(shù)據(jù)存儲器分開。 普林斯頓結(jié)構(gòu):程序存儲器和數(shù)據(jù)存儲器合并。 單片機(jī)采用哈佛結(jié)構(gòu)體系,2020/8/25,8,采用哈佛體系結(jié)構(gòu) 采用面向控制的指令系統(tǒng) 引腳功能服用 片內(nèi)RAM作寄存器 類型齊全 功能通用 具有三高優(yōu)勢(集成度
4、高、可靠性高、性價(jià)比高)。,三、單片機(jī)的特點(diǎn)及應(yīng)用,2020/8/25,9,三、單片機(jī)的特點(diǎn)及應(yīng)用,單片機(jī)主要應(yīng)用于工業(yè)檢測與控制、計(jì)算機(jī)外設(shè)、智能儀器儀表、通訊設(shè)備、家用電器等。 特別適合于嵌入式微型機(jī)應(yīng)用系統(tǒng)。 單片機(jī)開發(fā)系統(tǒng)有單片單板機(jī)和仿真器。實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)的硬、軟件開發(fā)。,2020/8/25,10,1946-1958 第一代電子管計(jì)算機(jī)。磁鼓存儲器,機(jī)器語言、匯編語言編程。,1958-1964 第二代晶體管計(jì)算機(jī)。磁芯作主存儲器, 磁盤作外存儲器,開始使用高級語言編程。,1964-1971 第三代集成電路計(jì)算機(jī)。使用半導(dǎo)體存儲器,出現(xiàn)多終端計(jì)算機(jī)和計(jì)算機(jī)網(wǎng)絡(luò)。,1971- 第四代
5、大規(guī)模集成電路計(jì)算機(jī)。出現(xiàn)微型計(jì)算機(jī)、單片微型計(jì)算機(jī),外部設(shè)備多樣化。,1981- 第五代人工智能計(jì)算機(jī)。模擬人的智能和交流方式。,一、 發(fā)展概況,1.2計(jì)算機(jī)基礎(chǔ)知識,2020/8/25,11,二、計(jì)算機(jī)發(fā)展趨勢,微型化 便攜式、低功耗 巨型化 尖端科技領(lǐng)域的信息處理,需要超大容量、高速度 智能化 模擬人類大腦思維和交流方式,多種處理能力 系列化、標(biāo)準(zhǔn)化 便于各種計(jì)算機(jī)硬、軟件兼容和升級 網(wǎng)絡(luò)化 網(wǎng)絡(luò)計(jì)算機(jī)和信息高速公路 多機(jī)系統(tǒng) 大型設(shè)備、生產(chǎn)流水線集中管理(獨(dú)立控制、故障分散、資源共享),2020/8/25,12,三、微型計(jì)算機(jī)系統(tǒng)組成,2020/8/25,13,運(yùn)算器:實(shí)現(xiàn)算術(shù)運(yùn)算或邏
6、輯運(yùn)算 包括:算術(shù)邏輯單元ALU、累加器A、暫存寄存器TR、 標(biāo)志寄存器F或 PSW、通用寄存器GR,四、微型計(jì)算機(jī)組成,中央處理器 CPU 運(yùn)算器和控制器集成在一個芯片上,控制器:中樞部件,控制計(jì)算機(jī)中的各個部件工作 包括:指令寄存器 IR、指令譯碼器ID、程序計(jì)數(shù)器PC、定時與控制電路,2020/8/25,14,存儲器:記憶,由存儲單元組成。 包括:ROM、 RAM,總線BUS :在微型計(jì)算機(jī)各個芯片之間或芯片內(nèi)部之間傳輸信息的一組公共通信線。 包括:數(shù)據(jù)總線DB:雙向,寬度決定了微機(jī)的位數(shù)。 地址總線AB:單向,決定CPU的尋址范圍。 控制總線CB:單向,I/O接口:數(shù)據(jù)輸入輸出。 包括
7、:輸入接口、 輸出接口,2020/8/25,15,五、計(jì)算機(jī)主要技術(shù)指標(biāo),字長:CPU能并行處理二進(jìn)制的數(shù)據(jù)位數(shù) 8位機(jī)、16位機(jī)、32位機(jī)和64位機(jī)。,內(nèi)存容量:存儲單元能容納的二進(jìn)制數(shù)的位數(shù) 容量單位:1K=210=1024,1M=220=1KK 8K、64K、16M、64M。,運(yùn)算速度:CPU處理速度 時鐘頻率、主頻、每秒運(yùn)算次數(shù) 6MHz、12MHz、24MHz、100MHz、300MHz。,內(nèi)存存取時間:內(nèi)存讀寫速度 50nS 、70nS 、200nS 。,2020/8/25,16,一、進(jìn)位計(jì)數(shù)制 使用有限個基本數(shù)碼來表示數(shù)據(jù),按進(jìn)位的方法進(jìn)行計(jì)數(shù)稱為進(jìn)位計(jì)數(shù)制。 包含兩大要素:基數(shù)
8、和位權(quán) 基數(shù):用來表示數(shù)據(jù)基本數(shù)碼的個數(shù)J,此數(shù)后必須進(jìn)位。 位權(quán):數(shù)碼在表示數(shù)據(jù)時所處的數(shù)位所具有的固定值J i。 簡稱“權(quán)”。,1.3數(shù)制及其轉(zhuǎn)換,2020/8/25,17,1、 十進(jìn)制D 符號集:09 規(guī)則:逢十進(jìn)一。 例 1234.5=1103 +2102 +3101 +4100 +510-1 加權(quán)展開式以10為基數(shù),各位系數(shù)為09。 103 102 101 100 10-1 位權(quán) 一般表達(dá)式: ND= dn-110n-1+dn-210n-2 +d0100 +d-110-1+,2、二進(jìn)制B 符號集:0、1 規(guī)則:逢二進(jìn)一。,3、十六進(jìn)制H 符號集:09、AF 規(guī)則:逢十六進(jìn)一。,202
9、0/8/25,18,1、十進(jìn)制用于計(jì)算機(jī)輸入輸出,人機(jī)交互。 二進(jìn)制為機(jī)器中的數(shù)據(jù)形式。 十六進(jìn)制用于表示二進(jìn)制數(shù)。 2、不同進(jìn)位制數(shù)以下標(biāo)或后綴區(qū)別,十進(jìn)制數(shù)可不帶下標(biāo)。 如:101、101D、101B、101H、101H,二、進(jìn)位計(jì)數(shù)制的說明,2020/8/25,19,1、十進(jìn)制數(shù)轉(zhuǎn)換成二、十六進(jìn)制數(shù),整數(shù)轉(zhuǎn)換法 “除基取余”:十進(jìn)制整數(shù)不斷除以轉(zhuǎn)換進(jìn)制基數(shù),直至商為0。每除一次取一個余數(shù),從低位排向高位。,三、不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換,2020/8/25,20,十進(jìn)制數(shù)轉(zhuǎn)換成二、十六進(jìn)制數(shù),小數(shù)轉(zhuǎn)換法 “乘基取整”:用轉(zhuǎn)換進(jìn)制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達(dá)到轉(zhuǎn)換精度要求的位數(shù)。每乘
10、一次取一次整數(shù),從最高位排到最低位。舉例:,2. 0.625轉(zhuǎn)換成十六進(jìn)制數(shù) 0.625 16 = 10.0 0.625 = 0.AH 3. 208.625 轉(zhuǎn)換成十六進(jìn)制數(shù)208.625 = D0.AH,2020/8/25,21,先展開,然后按照十進(jìn)制運(yùn)算法則求和。舉例: 1011.1010B=123+121+120+12-1 +12-3=11.625 DFC.8H=13162+15161+12160+816-1 = 3580.5,2、其他進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),2020/8/25,22,最高位為符號位,0表示 “+”,1表示“”。 數(shù)值位與真值數(shù)值位相同。 原碼表示簡單直觀,但0的表示不唯一
11、,加減運(yùn)算復(fù)雜。 2、反碼 正數(shù)的反碼與原碼相同 負(fù)數(shù)的反碼符號不變,數(shù)值按位取反,有符號數(shù)通常使用三種表示方法:,1、原碼,機(jī)器中,數(shù)的符號用“0”、“1” 表示。 最高位作符號位“0”表示“+”,“1”表示“-”。,1.4帶符號數(shù)的表示方法,2020/8/25,23,3、補(bǔ)碼,正數(shù)的補(bǔ)碼表示與原碼相同。 負(fù)數(shù)補(bǔ)碼的符號位為1,數(shù)值位等于反碼加1。,補(bǔ)碼表示的優(yōu)點(diǎn): 0的表示唯一,加減運(yùn)算方便。 Y-X=Y+-X補(bǔ) 計(jì)算機(jī)中的數(shù)均采用補(bǔ)碼表示!,2020/8/25,24,例:求十進(jìn)制數(shù)876的BCD碼 876BCD = 1000 0111 0110,1、 BCD碼二進(jìn)制代碼表示的十進(jìn)制數(shù)。,
12、8421 BCD碼,1.5編碼,2020/8/25,25,2、美國標(biāo)準(zhǔn)信息交換碼ASCII碼,用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間傳遞信息。,2020/8/25,26,位:Bit 數(shù)據(jù)最小單位 字節(jié):Byte 8位二進(jìn)制數(shù)定義為一字節(jié) 字長:組成計(jì)算機(jī)一個字的位數(shù) 8位機(jī)其一個存儲單元表示0255范圍的數(shù) 8位機(jī)、16位機(jī)、32位機(jī)和64位機(jī)。,1.6數(shù)據(jù)單位及存儲形式,2020/8/25,27,第二章 單片機(jī)的硬件結(jié)構(gòu),2.1單片機(jī)整體結(jié)構(gòu),2.2外部引腳功能,2.4定時/計(jì)數(shù)器,2.3存儲器組織,2020/8/25,28,2.1單片機(jī)整體結(jié)構(gòu),第二章 單片機(jī)的硬件結(jié)構(gòu),2020/8/25,
13、29,2.1 MCS-51單片機(jī)整體結(jié)構(gòu),硬件配置基本配置: 1. 8位CPU 2. 片內(nèi)ROM/EPROM、RAM 3. 片內(nèi)并行 I/O接口 4. 片內(nèi)16位定時器/計(jì)數(shù)器 5. 片內(nèi)中斷處理系統(tǒng) 6. 片內(nèi)全雙工串行I/O口,不同型號MCS-51單片機(jī)CPU處理能力和指令系統(tǒng)完全兼容,只是存儲器和I/O接口的配置有所不同。,2020/8/25,30,MCS-51單片機(jī)內(nèi)部結(jié)構(gòu),2020/8/25,31,一、中央處理器CPU 主要指運(yùn)算器、控制器 決定單片機(jī)的主要性能指標(biāo):字長、運(yùn)行速度、數(shù)據(jù)處理能力,中斷和實(shí)時控制能力。,2020/8/25,32,1、運(yùn)算器 進(jìn)行算術(shù)和邏輯運(yùn)算 ,8位
14、主要包括算術(shù)邏輯單元ALU、累加器ACC、暫存器、程序狀態(tài)字PSW、B寄存器 主要任務(wù): 算術(shù)運(yùn)算 邏輯運(yùn)算 位操作 數(shù)據(jù)處理 利用程序狀態(tài)寄存器PSW表述當(dāng)前運(yùn)行狀態(tài),2020/8/25,33,1)算術(shù)邏輯單元ALU 即加法器,是核心部件,進(jìn)行算術(shù)邏輯運(yùn)算,其中乘(MUL)、除(DIV)運(yùn)算是執(zhí)行時間最長的指令。 2)累加器ACC 累加器ACC是最常用的專用寄存器。進(jìn)入ALU作算術(shù)操作和邏輯操作的操作數(shù)很多來自ACC,操作的結(jié)果也常送回ACC。 3)B寄存器 是ACC的輔助寄存器,在乘除時,ACC不夠用便使用B寄存器。,2020/8/25,34,2、控制器 控制器是CPU的大腦中樞,它以定時
15、控制邏輯為中心,按照人們預(yù)先給定的計(jì)算步驟,即預(yù)先編寫好的已經(jīng)輸入到計(jì)算機(jī)存儲器中的程序發(fā)出一系列控制信號,控制計(jì)算機(jī)各個部件的工作,如運(yùn)算、存儲等。 包括指令寄存器IR、指令譯碼器ID、數(shù)據(jù)指針DPTR、程序計(jì)數(shù)器(指針)PC、堆棧指針SP、以及控制電路(時序電路、中斷控制部件、微操作控制部件)。,2020/8/25,35,1)程序計(jì)數(shù)器PC(程序指針) 16位的地址指針,專門用來控制指令執(zhí)行順序的寄存器,其中的內(nèi)容總是下一條要執(zhí)行的指令的地址。可以對64K字節(jié)的程序存儲器直接尋址。 復(fù)位時,PC=0000H,使程序從0單元開始執(zhí)行。通常單片機(jī)每取一個字節(jié)機(jī)器碼,PC就自動加1,從而保證了指
16、令的順序執(zhí)行。 轉(zhuǎn)移指令可強(qiáng)行改變PC的內(nèi)容。,2020/8/25,36,2)時序 指按照指令功能發(fā)出一系列在時間上有一定次序的信號,控制和啟動一部分邏輯電路完成某種操作。 CPU需要一個時鐘,在XTAL1和XTAL2上接石英晶體和微調(diào)電容構(gòu)成振蕩器。頻率為412MHz,2020/8/25,37,3)指令寄存器IR ID是8位寄存器,用于存放從ROM中取出的指令碼。而且每條指令的第一個字節(jié)一定是操作碼,其后的指令碼可以是操作數(shù)或操作碼。 指令譯碼器ID ID可以對指令碼進(jìn)行譯碼,即判斷出存放的是操作命令(操作碼)還是操作數(shù)(操作數(shù)可以是操作地址或立即操作數(shù)),以進(jìn)行下面的工作。這些工作是自動完
17、成的。,2020/8/25,38,4)微操作控制部件 邏輯門電路,將ID信號和時序向片內(nèi)各部件送高低電平。 中斷控制部件 自動完成“中斷申請”、“中斷相應(yīng)”、“恢復(fù)斷點(diǎn)”等工作。,2020/8/25,39,二、內(nèi)部RAM 單片機(jī)內(nèi)部數(shù)據(jù)RAM共256字節(jié)。分為低128B和高128B地址空間。 低128B地址空間的RAM常稱為片內(nèi)RAM; 高128B地址空間的RAM 稱為特殊功能寄存器SFR。 但SFR18個寄存器只占用了21B供用戶使用。 其他的107B系統(tǒng)保留。,2020/8/25,40,2020/8/25,41,1)片內(nèi)RAM(007FH) 工作寄存器區(qū):(32B) 字節(jié)地址:00H1FH
18、 位尋址區(qū):(16B) 字節(jié)地址:20H2FH 位地址為:00H7FH 數(shù)據(jù)緩沖區(qū):(80B) 字節(jié)地址:00H7FH 一般使用30H7FH,2020/8/25,42,三、片內(nèi)ROM ROM用于存放程序、原始數(shù)據(jù)及表格。 8051:片內(nèi)4K掩膜ROM 8031:片內(nèi)ROM 8751:片內(nèi)4K EPROM,2020/8/25,43,四、定時器/計(jì)數(shù)器 MCS-51系列單片機(jī)典型產(chǎn)品8051等單片機(jī)內(nèi)部有2個可編程的16位定時器/計(jì)數(shù)器T0、T1 最大計(jì)數(shù)脈沖個數(shù):165536,2020/8/25,44,五、并行I/O口 MCS51系列單片機(jī)有4個8位并行I/O口:P1、P2、P3共占了32根I/
19、O引腳 單片機(jī)擴(kuò)展時,這些I/O引腳又作為擴(kuò)展總線用。 P0口作為地址/數(shù)據(jù)總線,分時輸出低8位地址和傳送8位數(shù)據(jù); P2口作為高8位地址總線; P3口也具有第二功能。這是由接口的特殊結(jié)構(gòu)所決定的。,2020/8/25,45,六、串行口 完成單片機(jī)和其他計(jì)算機(jī)或通訊設(shè)備之間的串行數(shù)據(jù)通訊。 MCS51系列P3口的RXD(P3.0)和TXD(P3.1)構(gòu)成,2020/8/25,46,中斷系統(tǒng)是計(jì)算機(jī)的重要指標(biāo)之一。,某人看書 執(zhí)行主程序 日常事務(wù) 電話鈴響 中斷信號如INT=0 中斷請求 暫??磿?暫停執(zhí)行主程序 中斷響應(yīng) 書中作記號 當(dāng)前PC入棧 保護(hù)斷點(diǎn) 電話談話 執(zhí)行中斷程序 中斷服務(wù) 繼
20、續(xù)看書 返回主程序 中斷返回,七、中斷系統(tǒng),日常生活中的中斷與計(jì)算機(jī)中斷的比較:,2020/8/25,47,2020/8/25,48,八、布爾處理器 MCS51單片機(jī)內(nèi)含有一個布爾處理器,是單片機(jī)CPU中運(yùn)算器的一個重要組成部分。 它實(shí)際上是一個完整的1位微處理器,這個1位機(jī)有自己的CPU、位寄存器、I/O口和指令集。可提供17條位操作指令,硬件有自己的“累加器”(進(jìn)位位C)和自己的位尋址RAM和I/O空間,所以是一個獨(dú)立的位處理機(jī)。 MCS51單片機(jī)把8位機(jī)和1位機(jī)復(fù)合在一起,發(fā)揮各自的長處,這是它的一大優(yōu)點(diǎn)。,2020/8/25,49,2.2外部引腳功能,第二章 單片機(jī)的硬件結(jié)構(gòu),2020
21、/8/25,50,MCS51系列單片機(jī)采用40個引腳的雙列直插式塑料封裝的芯片。 共可分為四個部分: 1、電源2個 2、外接晶體振蕩器2個 3、控制信號引腳4個 4、I/O引腳32個,2020/8/25,51,一、主電源引腳 VDD:接5V電源 VSS:接地端 一般VDD 和VSS之間應(yīng)接高頻和低頻濾波電容。,2020/8/25,52,二、外接晶體振蕩器引腳 XTAL1:芯片內(nèi)部振蕩電路(單級反相放大器)輸入端 XTAL2:芯片內(nèi)部振蕩電路(單級反相放大器)輸出端 振蕩頻率為晶振頻率(1.212MHz),另外需兩個30pF左右的電容以微調(diào)頻率,2020/8/25,53,1、接石英晶體和微調(diào)電容
22、 2、接外部時鐘,MCS51單片機(jī)的振蕩器有內(nèi)部和外部兩種方式。,2020/8/25,54,時序:時間的先后順序,控制器按照指令功能發(fā)出一系列在時間上有一定次序的信號,控制和啟動一部分邏輯電路,完成某種操作。 機(jī)器周期12個時鐘周期(振蕩周期) 有6個狀態(tài)(S1S6),一個狀態(tài)為2個振蕩周期,分為P1和P2節(jié)拍,一般算術(shù)和邏輯指令發(fā)生在P1期間,寄存器之間的傳輸發(fā)生在P2期間。 設(shè)單片機(jī)工作在12M晶振,則時鐘周期為1/12微秒,一個機(jī)器周期121/121微秒 一些指令完成較快用一個機(jī)器周期;一些較慢,用2個機(jī)器周期;有兩個指令(MUL、DIV)用4個機(jī)器周期。 指令周期:執(zhí)行一條指令的時間。
23、(單周期指令,雙周期指令等),2020/8/25,55,三、控制信號 1、RST/VPD:復(fù)位/掉電時內(nèi)部RAM的備用電源輸入端 復(fù)位端RST : 啟動時,需要復(fù)位,使CPU各部件處于確定的初始狀態(tài)。 正常工作狀態(tài)(振蕩器穩(wěn)定),該引腳上出現(xiàn)持續(xù)24個振蕩周期(即兩個機(jī)器周期)以上的高電平,單片機(jī)就可完成系統(tǒng)復(fù)位操作 。,2020/8/25,56,MCS-51復(fù)位后內(nèi)部寄存器狀態(tài),2020/8/25,57,備用電源輸入端VPD: 當(dāng)無VCC時使用,使內(nèi)部RAM供電以實(shí)現(xiàn)掉電保護(hù)。,2020/8/25,58,2、ALE/PROG:地址鎖存允許/編程脈沖輸入。 ALE:地址鎖存允許信號 片外存儲器
24、作數(shù)據(jù)存取時,ALE為低8位地址鎖存允許輸出信號,在其下降沿將從P0口輸出的低8位地址鎖存到地址鎖存器。 以1/6振蕩頻率(即1/2機(jī)器周期)周期性輸出 PROG:在對8751片內(nèi)EPROM編程時,編程脈沖由此輸入。,2020/8/25,59,3、EA/VDD:訪外允許/編程電壓輸入 、8031中EA必須接地。 8051/8751中 EA1,單片機(jī)使用片內(nèi)ROM/EPROM(由PC值決定); EA0,單片機(jī)片內(nèi)程序存儲器失效,而 使用片外程序存儲器。 、VDD 對8751片內(nèi)EPROM編程時,此腳接編程電壓。(+21V+25V),2020/8/25,60,4、 PSEN:外部程序存儲器讀選通信
25、號 它與ALE配合,使P0口完成地址線和數(shù)據(jù)線的功能。 當(dāng)訪問片內(nèi)ROM、RAM時無效。,2020/8/25,61,5、四個8位并行I/O口,MCS-51單片機(jī)有4個8位并行I/O口,共占了32根I/O引腳,單片機(jī)擴(kuò)展時,這些I/O引腳又作為擴(kuò)展總線用。其中P0口作為地址/數(shù)據(jù)總線,分時輸出低8位地址和傳送8位數(shù)據(jù);P2口作為高8位地址總線;P3口也具有第二功能。這是由接口的特殊結(jié)構(gòu)所決定的。每一個口都包含一個鎖存器,一個輸出驅(qū)動器和兩個(P3口為3個)輸入緩沖器。各口的結(jié)構(gòu)也有些差異,下面分別介紹。,2020/8/25,62,一、并行I/O口的功能結(jié)構(gòu),(一)P1口,1、接口結(jié)構(gòu),圖2.15
26、,接口結(jié)構(gòu)中鎖存器起輸出鎖存作用,8位鎖存器組成特殊功能寄存器P1。,2020/8/25,63,一、并行I/O口的功能結(jié)構(gòu),(一)P1口,2、接口功能,P1口只有一種功能通用輸入輸出接口。,2020/8/25,64,一、并行I/O口的功能結(jié)構(gòu),(二)P2口,P2口一位結(jié)構(gòu)如下圖所示,與P1相比,多了一個多路開關(guān)MUX,因此P2具有雙重功能:通用I/O口和高8位地址總線口。,1、接口結(jié)構(gòu),2020/8/25,65,(二)P2口,(1)地址總線 單片機(jī)擴(kuò)展時,“控制”信號使 MUX 打向右邊,內(nèi)部的地址線經(jīng)反相器與輸出驅(qū)動器相連,于是內(nèi)部“地址”信號可以由P2口引腳輸出,此地址信號為高8位地址。,
27、2、接口功能,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,66,(二)P2口,(2)通用I/O接口 作為通用I/O口時,“控制”信號使 MUX 打向左邊,這時P2口電路結(jié)構(gòu)與P1口相同,其功能和用法亦與P1口相同,負(fù)載能力也相同。,2、接口功能,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,67,(三)P3口,P3口一位的結(jié)構(gòu)如下圖所示,與P1口相比多了一個與非門和一個輸入緩沖器,所以它除了可作為一般I/O口外,還具有第二功能。,1、接口結(jié)構(gòu),一、并行I/O口的功能結(jié)構(gòu),2020/8/25,68,(三)P3口,(1)通用I/O接口 作為通用I/O接口時,“第二功能輸出”線為“1”,接口的
28、電路結(jié)構(gòu)與P1口相同,所以功能和用法均與P1相同。,2、接口功能,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,69,(三)P3口,(2)第二功能 當(dāng)P3口作為第二功能使用時,各位定義如下,2、接口功能,P3.0 RXD(串行輸入通道) P3.1 TXD(串行輸出通道) P3.2 INT0(外中斷0輸入端) P3.3 INT1(外中斷1輸入端),一、并行I/O口的功能結(jié)構(gòu),2020/8/25,70,(三)P3口,2、接口功能,P3.4 T0(定時器0外部輸入) P3.5 T1(定時器1外部輸入) P3.6 WR(外部數(shù)據(jù)存貯器寫選通) P3.7 RD(外部數(shù)據(jù)存貯器讀選通),可見有些信號為輸
29、出,有些信號為輸入,為使第二功能信號能順暢的輸入或輸出,該口鎖存器的狀態(tài)必須為“1”。,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,71,(四)P0口,1、接口結(jié)構(gòu),P0口的一位的結(jié)構(gòu)如下圖所示。其中輸出驅(qū)動電路由一對FET(場效應(yīng)管)組成,其工作狀態(tài)由輸出控制電路控制。P0口可作為通用I/O接口,也可作為地址/數(shù)據(jù)總線口。,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,72,(四)P0口,2、接口功能,(1)地址/數(shù)據(jù)總線 這時“控制”信號為1,多路開關(guān)MUX向上,地址/數(shù)據(jù)信號反相后經(jīng)多路開關(guān)送到下一個場效應(yīng)管的柵極。 如果地址/數(shù)據(jù)信號為1,則下一個場效應(yīng)管截止上一個場效應(yīng)管導(dǎo)通,
30、引腳為高電平;若地址/數(shù)據(jù)信號為0,則下一個場效應(yīng)管導(dǎo)通上一個場效應(yīng)管截止,引腳為低電平,即地址/數(shù)據(jù)信號可順利的到達(dá)引腳。,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,73,(四)P0口,2、接口功能,(2)通用I/O接口 此時“控制”信號為“0”,多路開關(guān)MUX向下,輸出驅(qū)動器處于開漏狀態(tài),故需外接上拉電阻,這種情況下,電路結(jié)構(gòu)與P1相同,所以也是一個準(zhǔn)雙向口,當(dāng)要作為輸入時,必須先向口鎖存器寫“1”。,一、并行I/O口的功能結(jié)構(gòu),2020/8/25,74,2020/8/25,75,2020/8/25,76,2.3存儲器組織,第二章 單片機(jī)的硬件結(jié)構(gòu),2020/8/25,77,一、存儲
31、器空間分類,根據(jù)作用分類: 程序存儲器ROM 數(shù)據(jù)存儲器RAM 根據(jù)位置分類: 片內(nèi)存儲器 片外存儲器,構(gòu)成了4個結(jié)構(gòu)獨(dú)立的存儲器空間,2020/8/25,78,1、片內(nèi)程序存儲器(片內(nèi)ROM) 2、片內(nèi)數(shù)據(jù)存儲器(片內(nèi)RAM) 3、片外ROM擴(kuò)展 4、片外RAM擴(kuò)展,8051、8751有4KB的片內(nèi)ROM(0000H0FFFH),共有256B 007FH:128B片內(nèi)RAM 80HFFH:18個特殊功能寄存器(占21B),最多64K片外ROM,地址為0000HFFFFH或者1000HFFFFH,地址:0000HFFFFH,注:8051、8751芯片根據(jù)EA狀態(tài),2020/8/25,79,20
32、20/8/25,80,MCS-51(8051)存儲結(jié)構(gòu)如圖所示,2020/8/25,81,片內(nèi)外統(tǒng)一編址的64KB的程序存儲器地址空間 片內(nèi)片外的程序存貯器在同一邏輯空間中,地址從0000HFFFFH,共有64K字節(jié)范圍 片內(nèi)256B數(shù)據(jù)存儲地址空間 片內(nèi)數(shù)據(jù)存貯器為00HFFH 片外64KB的數(shù)據(jù)存儲器地址空間 片外為0000HFFFFH,從用戶使用的角度,即從邏輯上劃分3個存儲器地址空間:,2020/8/25,82,0000H,FFFFH,0000H,FFFFH,ROM,內(nèi)RAM,外RAM,00H,FFH,寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū),SFR,20H,30H,80H,E0H,A,2020
33、/8/25,83,二、區(qū)分四個獨(dú)立空間的方法,1、使用MOV、MOVX、MOVC三個不同的指令分別 區(qū)分片內(nèi)RAM、片外RAM和ROM 2、片外ROM使用控制信號PSEN 片外RAM使用控制信號RD、WR 3、EA引腳接地,從片外ROM開始 0000H0FFFH 位于片外ROM EA引腳接高電平,從片內(nèi)ROM開始 0000H 0FFFH位于片內(nèi)ROM 4、ROM和片外RAM一定要用16位地址 片內(nèi)RAM 和SFR,只能使用8位地址,2020/8/25,84,三、程序存儲器ROM,最多為64K,用于存放程序和表格 使用PC作為程序地址指針 編址方式:片內(nèi)、片外ROM統(tǒng)一編址(0000HFFFFH
34、) 片內(nèi)(如有,4K)為低地址(0000H0FFFH),片外為高地址 加電復(fù)位后,PC0000H,當(dāng)PC超出片內(nèi),則會自動轉(zhuǎn)向片外ROM EA引腳控制PC值(8031和8051不同) MOVC用來讀取ROM中存放的表格常數(shù) 分為兩個部分: 1、系統(tǒng)使用區(qū):其中0000H0002H為系統(tǒng)復(fù)位入口,其中必有一條存放PC的跳轉(zhuǎn)指令(轉(zhuǎn)至主程序);0003H002AH為各個中斷源處理程序使用 2、用戶使用區(qū):其余地址空間,2020/8/25,85,四、片內(nèi)RAM,單片機(jī)的數(shù)據(jù)存儲器分為片內(nèi)RAM和片外RAM,兩者單獨(dú)編址(片內(nèi)為00FFH,片外為0000FFFFH)。一般需要外部擴(kuò)展時才使用最多64K
35、的片外RAM。 通常將單片機(jī)256B的內(nèi)部數(shù)據(jù)存儲器RAM分為兩個部分,一個是片內(nèi)RAM(占128B) ,一個是特殊功能寄存器SFR(占另外128B的21B)。 片內(nèi)RAM的128B地址為007FH,可分為四個大區(qū): 工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)、堆棧區(qū),2020/8/25,86,2020/8/25,87,片內(nèi)RAM 工作寄存器區(qū): 字節(jié)地址:00H1FH 位尋址區(qū): 字節(jié)地址:20H2FH 位地址為:00H7FH 數(shù)據(jù)緩沖區(qū)/堆棧區(qū): 字節(jié)地址:00H7FH 一般使用30H7FH,2020/8/25,88,RAM空間分配示意圖,2020/8/25,89,2020/8/25,90,1、工
36、作寄存器區(qū),001FH單元,共32B,常用來存放操作數(shù)和中間結(jié)果,可以使用指令系統(tǒng)中有工作寄存器的專用指令,多為單字節(jié)指令,執(zhí)行速度快,方便。 分為4個寄存器區(qū): 0區(qū):0007H 1區(qū):080FH 2區(qū):10H17H 3區(qū):181FH 每個區(qū)有8個單元,都用R0R7編號。 在任何時刻CPU只能使用其中一個區(qū)(當(dāng)前寄存器組),即將這個區(qū)的8個單元作為工作寄存器,其他區(qū)仍是一般的RAM。具體使用哪個區(qū),由程序狀態(tài)寄存器PSW中的RS1、RS0兩位的狀態(tài)來決定。,2020/8/25,91,2、位尋址區(qū),20H2FH,共16個單元,128位。 為布爾處理區(qū) 各有自己的位地址,統(tǒng)一編址為00H7FH(
37、1個地址代表1位) 既可以字節(jié)尋址,也可以位尋址。 有17條位操作指令, 常進(jìn)行置位(SETB)、清零(CLR)、取反(CPL),2020/8/25,92,3、數(shù)據(jù)緩沖區(qū),30H7FH 用戶RAM區(qū),用于存放運(yùn)算數(shù)據(jù)和結(jié)果。,2020/8/25,93,4、堆棧區(qū),用戶可以指定內(nèi)部RAM的最高若干字節(jié)作為堆棧區(qū)(至7FH),指針為SP 例:MOV SP,#5FH 則從607FH單元為堆棧區(qū),2020/8/25,94,堆棧,堆棧是在片內(nèi)RAM中臨時開辟的暫存區(qū); 作用:保護(hù)現(xiàn)場、保護(hù)斷點(diǎn) 針對:子程序調(diào)用、中斷操作 在響應(yīng)中斷或子程序調(diào)用時,發(fā)生入棧操作,入棧的是16位的PC值,PSW值并不自動入
38、棧。 特點(diǎn):先進(jìn)后出,后進(jìn)先出 指令:入棧PUSH,出棧POP 堆棧區(qū)每個單元不能按字節(jié)任意訪問,PUSH和POP都是對堆棧的棧頂單元進(jìn)行的。為了指示棧頂?shù)牡刂罚仨毷褂枚褩V羔楽P。 SP始終指向堆棧最后壓入或即將彈出的數(shù)據(jù)單元,即指向棧頂。 SP實(shí)際為一個8位寄存器,它的內(nèi)容是棧頂存儲單元的地址。,2020/8/25,95,進(jìn)棧PUSH:先SP+1再寫入數(shù)據(jù) 例:PUSH ACC 初始SP=2FH SP+1即現(xiàn)在SP30H,然后將ACC的內(nèi)容寫入30H單元 出棧POP:先讀數(shù)據(jù)再SP1 進(jìn)棧、出棧有兩種方式: 1、自動方式:執(zhí)行子程序、中斷響應(yīng)時。 2、指令方式:PUSH、POP,關(guān)于進(jìn)棧
39、和出棧,2020/8/25,96,關(guān)于堆棧區(qū)的劃定,為保護(hù)足夠的寄存器內(nèi)容,需要堆棧有一定的深度,即有足夠的容量。 原則上堆棧區(qū)可以是片內(nèi)RAM任意區(qū)域,只要SP賦予不同的初值,則SP7FH都是堆棧區(qū)。但具體應(yīng)用時棧區(qū)設(shè)置應(yīng)和RAM的分配統(tǒng)一考慮,工作寄存器和位尋址區(qū)域分配好后再指定堆棧區(qū)域。 系統(tǒng)復(fù)位后,SP07H,則實(shí)際堆棧從08H開始。 通常SP設(shè)在30H以后,即在用戶RAM(30H7FH)之間開辟。 例 MOV SP ,3FH 即40H7FH為堆棧區(qū),2020/8/25,97,5、特殊功能寄存器SFR,反映單片機(jī)的狀態(tài),存儲對定時器、中斷、串行口、I/O口等的控制設(shè)定,使這些控制具有可
40、編程性。 共18個,其中3個16位的寄存器,故占用21B,分布于80HFFH,可讀可寫,可視為專用RAM。 均可以進(jìn)行字節(jié)尋址,其中有11個可以位尋址(字節(jié)地址能被8整除),2020/8/25,98,特殊功能寄存器位地址,2020/8/25,99,1、ACC 地址為0E0H,8位累加器,在指令中用A表示,可以位尋址 2、B寄存器 地址為0F0H,8位,可位尋址,主要用于乘除法,也可以作為一個通用的8位數(shù)據(jù)緩沖單元。 3、SP 地址為81H,8位堆棧指針,只能字節(jié)尋址,復(fù)位值為07H。 4、數(shù)據(jù)指針DPTR 16位寄存器,包括兩個8位寄存器DPL和DPH,地址分別為82H和83H。只能字節(jié)尋址。
41、也可以作為兩個8位寄存器來處理。 用于訪問外部RAM時作為地址指針,也可訪問ROM中的表格常數(shù)。 5、I/O端口P0P3 為引腳P0P3引腳的鎖存器??晌粚ぶ?。,2020/8/25,100,6、其他: 串行口數(shù)據(jù)緩沖器SBUF; 串行口控制寄存器SCON; 定時/計(jì)數(shù)器T0、T1; 定時/計(jì)數(shù)器方式控制TMOD; 中斷允許寄存器IE; 定時器控制TCON; 電源方式控制PCON。 7、程序狀態(tài)寄存器PSW(下面具體研究),2020/8/25,101,注:,SFR中的寄存器都有復(fù)位值,用到的寄存器在復(fù)位后應(yīng)考慮到是否重新賦值; SFR可視為專用RAM,有11個可以位尋址(可以由布爾處理器控制),
42、共21單元,其余107單元用戶不能使用; 8052另有3個SFR,占據(jù)5個單元。,2020/8/25,102,五、程序狀態(tài)寄存器PSW,地址0D0H,PSW是一個8位寄存器,可位尋址,它包含了許多程序狀態(tài)信息。 其各位的含義如圖所示: 其中PSW.1位系統(tǒng)保留,用戶不能使用。 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0,2020/8/25,103,進(jìn)位標(biāo)志Cy: 算術(shù)邏輯指令時,最高位D7有進(jìn)(借)位,則Cy=1,否則Cy=0; 在布爾處理器中,它起著“位累加器”的作用。17條布爾處理指令多數(shù)是針對CY來完成的。程序中寫成C。,2020/8/
43、25,104,輔助進(jìn)位標(biāo)志AC: 加(減)法運(yùn)算時,如果低半字節(jié)的最高位D3有進(jìn)(借)位,則AC=1,否則AC=0;AC在作BCD碼運(yùn)算而進(jìn)行二十進(jìn)制調(diào)整時有用。,2020/8/25,105,用戶標(biāo)志FO: 是用戶定義的一個狀態(tài)標(biāo)志??赏ㄟ^軟件對它置位、清零;在編程時,也常測試其狀態(tài)進(jìn)行程序分支。,2020/8/25,106,工作寄存器區(qū)選擇位RS1、RS0: 可借軟件置位或清零,以選定4個工作寄存器區(qū)中的一個區(qū)投入工作。,2020/8/25,107,溢出標(biāo)志OV: 作有符號數(shù)加法、減法時由硬件置位或清除,以指示運(yùn)算結(jié)果是否溢出。,2020/8/25,108,奇偶標(biāo)志P: 每執(zhí)行一條指令,單片
44、機(jī)都能根據(jù)A中1的個數(shù)的奇偶自動令P置位或清零:奇為1,偶為0。此標(biāo)志對串行通信的數(shù)據(jù)傳輸非常有用,通過奇偶校驗(yàn)可檢驗(yàn)數(shù)據(jù)傳輸?shù)恼_與否。,第二章 單片機(jī)的硬件結(jié)構(gòu),2.4定時/計(jì)數(shù)器,2020/8/25,110,在測控技術(shù)中,往往需要定時檢測某個參數(shù),或按一定的時間間隔來進(jìn)行某種控制。還有一些控制是按對某種事件的計(jì)數(shù)結(jié)果進(jìn)行的。因此幾乎所有單片機(jī)內(nèi)部都設(shè)置了定時/計(jì)數(shù)器,以簡化微機(jī)測控系統(tǒng)的設(shè)計(jì)。 MCS-51系列單片機(jī)典型產(chǎn)品8051等有兩個16位定時器/計(jì)數(shù)器T0,T1;8052等單片機(jī)有三個16位定時器/計(jì)數(shù)器T0、T1和T2。它們都可以用作定時器或外部事件計(jì)數(shù)器。,2020/8/25
45、,111,一、工作原理,定時器/計(jì)數(shù)器實(shí)際上是加1計(jì)數(shù)器 當(dāng)它對外部事件進(jìn)行計(jì)數(shù)時,由于頻率不固定,此時稱之為計(jì)數(shù)器; 當(dāng)它對內(nèi)部固定頻率的機(jī)器周期進(jìn)行計(jì)數(shù)時稱之為定時器。,2020/8/25,112,計(jì)數(shù)原理 每輸入一個脈沖,計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器各位都為1時,再輸入一個脈沖,計(jì)數(shù)器各位全變?yōu)?,溢出,中斷標(biāo)志置1(SFR中TCON的TF0、TF1),從而向CPU申請中斷。由預(yù)置計(jì)數(shù)值就可以算出從加1計(jì)數(shù)器啟動到計(jì)滿溢出所需的時間,即定時時間。 8位256;13位8192;16位65536,2020/8/25,113,對外部脈沖計(jì)數(shù)時,當(dāng)脈沖有一個高電平到低電平“1”“0”跳變時,計(jì)數(shù)器加
46、1,且在每個機(jī)器周期的S5P2采樣外部輸入,若前一個機(jī)器周期采樣值為1,后一個機(jī)器周期采樣值為0,則計(jì)數(shù)器加1。 由于識別一個從1到0的負(fù)跳變信號需要兩個機(jī)器周期(24個振蕩周期),所以最高的計(jì)數(shù)頻率為系統(tǒng)時鐘頻率的1/24;兩個輸入脈沖的最小間隔應(yīng)不小于兩個機(jī)器周期。又因?yàn)橐粋€機(jī)器周期對信號采樣一次,因此輸入信號的電平寬度至少應(yīng)持續(xù)一個機(jī)器周期。,2020/8/25,114,定時原理 輸入脈沖不是外部脈沖源,而是一個晶體振蕩器的脈沖源。,2020/8/25,115,對于16位計(jì)數(shù)器,最大定時時間是216個脈沖的時間。 則定時時間T=(216X)*T T:輸入脈沖周期,T=12/f s(f為晶
47、振頻率1.212MHz)如為12MHz,則T1s X:計(jì)數(shù)器初值(有程序輸入) 對于12MHz晶體,T1s,最大定時T=65.536ms;對于6MHz晶體,T2s,最大定時T=131ms 常使用:X=216T/T,2020/8/25,116,例: 系統(tǒng)時鐘頻率為12MHz,要產(chǎn)生1ms定時,求初值X T=12/12=1s 若為16位計(jì)數(shù)器 X=X=2161000/1=64536=0FC18H 若為13位計(jì)數(shù)器 X=X=2131000/1=81921000=7192=1C18H 不能采用8位計(jì)數(shù)器,2020/8/25,117,二、與定時/計(jì)數(shù)器有關(guān)的SFR,它是由6個專用寄存器構(gòu)成的:其中TH0
48、、TL0構(gòu)成16位計(jì)數(shù)器T0,TH1、TL1構(gòu)成16位計(jì)數(shù)器T1,而TMOD、TCON為兩個定時器共用,用來選擇工作方式和控制啟停。,2020/8/25,118,1、計(jì)數(shù)器T0、T1,各有2個8位計(jì)數(shù)器,構(gòu)成2個16位計(jì)數(shù)器 T0 :TH0、TL0 T1 :TH1、TL1 不可以位尋址,只能按字節(jié)分兩條指令讀寫16位碼,而不能用一條指令讀寫雙字節(jié)。 例:X初值為645360FC18H MOV TH0,#0FCH MOV TH1,#18H,2020/8/25,119,T0與T1有兩種功能:(由C/T決定) 計(jì)數(shù):T0對P3.4/T0管腳送入的脈沖計(jì)數(shù);T1對P3.5/T1管腳送入的脈沖計(jì)數(shù)。 C
49、/T=1 定時:每個機(jī)器周期使之加1,初值的大小決定定時時間的長短C/T=0 復(fù)位值均是00H T0有4種工作方式:方式0、方式1、方式2、方式3 T1有3種工作方式:方式0、方式1、方式2 前3種工作方式完全相同 其功能及工作方式由TMOD和TCON來決定,2020/8/25,120,2、方式寄存器TMOD,8位SFR,地址為89H 不可位尋址 低4位用于控制T0,高4位用于控制T1,含義相同。,2020/8/25,121,M1、M0:工作方式選擇位 C/T:定時或計(jì)數(shù)功能選擇位 =1:外部計(jì)數(shù)工作方式,對P3.4、P3.5脈沖計(jì)數(shù) =0:定時方式,每一個機(jī)器周期加1,2020/8/25,1
50、22,GTAE:門控位 =1:借用P3.2、P3.3參與啟動和停止T0、T1 只有該引腳與TCON中TCON.4(TR0)、 TCON.6(TR1)都為高電平,才啟動T0、T1 =0:T0、T1的運(yùn)行與否只取決于TCON中 TCON.4(TR0)、TCON.6(TR1),2020/8/25,123,3、定時/計(jì)數(shù)器控制寄存器TCON,8位寄存器,可位尋址 低4位用于外部中斷INT0、INT1控制 高4位用于T0、T1控制,2020/8/25,124,TR0(TCON.4):T0的運(yùn)行控制位 當(dāng)GATE=0時,TR0=0則T0停止運(yùn)行;TR0=1時T0允許運(yùn)行 TF0(TCON.5):T0溢出兼
51、中斷申請標(biāo)志 T0溢出時,TF0=1并提出中斷申請,CPU響應(yīng)中斷申請后,TF0自動清零 TR1、TF1同TR0、TF0,2020/8/25,125,三、定時/計(jì)數(shù)器工作方式,定時器T0有四種工作方式: 方式0、方式1、方式2和方式3。 定時器T1有三種工作方式: 方式0、方式1、方式2。 兩者前3種工作方式相同 以T0為例講解,2020/8/25,126,方式0: 13位定時/計(jì)數(shù)器 TMOD的M1、M0都寫入0 TH08位和TL0低5位組成13位加1計(jì)數(shù)器, TL0的低5位向TH0進(jìn)位 溢出值:213=8192=1FFFH 溢出后:TF0=1,中斷申請 控制T0的啟動和停止: GATE=0
52、時,定時器的啟停僅由TRX控制 GATE=1時,定時器的啟停還受到INTX引腳電平的控制。,2020/8/25,127,例: f=12MHz,要產(chǎn)生1ms定時,求計(jì)數(shù)初值。 T=12/f=1s X=213-1000/1=7192=1C18H 取13位,低5位送TL0:18H; 高8位送TH0:0EOH MOV TH0,#0E0H MOV TL0,#18H,2020/8/25,128,注: 此種方式與MCS48系列兼容,如果不是為了兼容的目的,一般不用方式0. 方式0的全部功能,方式1都可以代替。 如果要重復(fù)定時或計(jì)數(shù),則須重新設(shè)置時間常數(shù)初值,2020/8/25,129,方式1:16 位定時/
53、計(jì)數(shù)器 TH0的8位和TL0的8位組成16位加1計(jì)數(shù)器 最大計(jì)數(shù)脈沖個數(shù):165536(216) 最長定時時間(晶振12MHz T=1s):1s 65536T= 65.54ms 溢出值:216655360FFFFH 方式1和方式0唯一不同的就是位數(shù),其他控制方式和用法均相同。,2020/8/25,130,例: f=12MHz,要產(chǎn)生1ms定時,求計(jì)數(shù)初值。 T=12/f=1s X=216-1000/1=64536=0FC18H 低8位送TL0:18H; 高8位送TH0:0FCH MOV TH0,#0FCH MOV TL0,#18H,2020/8/25,131,方式2:可自動重裝初值的8位定時/
54、計(jì)數(shù)器 與方式0和方式1不同處: 只使用TL0做8位計(jì)數(shù)器,最大計(jì)數(shù)值255; 最大定時時間(晶振12MHz時): 256s TH0為初值寄存器。當(dāng)TL0計(jì)滿溢出時,置位TF0,并將TH0的內(nèi)容(即時間常數(shù)初值)重新裝入TL0中。 TH0中自身初值不變。 用于需要重復(fù)定時和計(jì)數(shù)的場合。,2020/8/25,132,方式3:只適用于T0 M0=M1=1,TL0、TH0各自是一個8位計(jì)數(shù)器。 TL0:定時或計(jì)數(shù),使用T0的控制位TF0、TR0 TH0:只能定時,借用T1的控制位TF1、TR1 如果企圖將T1置為方式3(M1=M0=1),則將使T1停止計(jì)數(shù),與清“0”TR1的效果相同。 但此時T1仍
55、可工作于方式0、1或2定時或計(jì)數(shù),但TR1、TF1被TH0占用,一般T1作為串口的波特率發(fā)生器,或不需要中斷的場合。,2020/8/25,133,例:由P1.0輸出方波信號,周期為2ms,設(shè)fosc=12MHz。,解:每隔1ms改變一次P1.0的輸出狀態(tài),即形成方波,用T0非門控方式1定時。 計(jì)算時間常數(shù):X = 216 - t/T = 216 (1/1000)/10-6 = 65536-1000 = 64536 = 0FC18H,ORG0000H AJMPMAIN ORG000BH ;T0中斷硬件入口地址 AJMPPT0INT ;跳到中斷服務(wù)程序 ORG0030H MAIN:MOVTMOD,
56、#01H ;中斷方式 MOVTL0,#18H ;計(jì)數(shù)初值 MOVTH0,#0FCH SETBEA ;開放總中斷 SETBET0 ;開放T0中斷 SETBTR0 ;啟動定時器 HERE:SJMPHERE ;等待中斷,相當(dāng)于執(zhí)行其它任務(wù) PT0INT:MOVTL0,#18H ;中斷服務(wù)程序;置初值 MOVTH0,#0FCH CPLP1.0 ;取反,產(chǎn)生方波 RETI ;中斷返回,2020/8/25,134,第三章 指令系統(tǒng),3.1 指令格式與分類,3.2尋址方式,3.3指令系統(tǒng),3.4 程序設(shè)計(jì),2020/8/25,135,第三章 指令系統(tǒng),3.1指令格式與分類,2020/8/25,136,指令是
57、指計(jì)算機(jī)能夠識別和執(zhí)行的操作命令 指令系統(tǒng)是一臺計(jì)算機(jī)所具有的全部指令的集合 指令系統(tǒng)很大程度上決定了計(jì)算機(jī)處理問題的能力和使用的快捷 每一種CPU都有其獨(dú)立的指令系統(tǒng) MCS-51系列單片機(jī)指令系統(tǒng)共有111條指令 MCS-51指令系統(tǒng)的功能十分強(qiáng)大,它把體現(xiàn)單片機(jī)的各種功能的寄存器組織在統(tǒng)一的地址空間中,MCS-51指令系統(tǒng)在其存儲空間、時間的利用率及工作效率方面都是較高的。,2020/8/25,137,單字節(jié) 49條 單周期 46條 雙字節(jié) 45條 雙周期 45條 三字節(jié) 17條 四周期 2條,2020/8/25,138,一、助記符:(指令助記符),由助記符組成的指令系統(tǒng)成為匯編語言 助
58、記符與二進(jìn)制碼(機(jī)器碼)有對照表 共42個助記符,組成111條指令,形成33種功能,數(shù)據(jù)傳送類指令 29條 算術(shù)運(yùn)算類指令 24條 邏輯運(yùn)算類指令 24條 控制轉(zhuǎn)移類指令 17條 位操作類指令 17條,2020/8/25,139,二、指令格式,操作碼 操作數(shù) 操作碼表示該指令的操作功能,即指令做什么操作(又被稱作操作符、功能助記符) 操作數(shù)是指指令操作所需要的數(shù)或數(shù)存放的地址,即對什么數(shù)進(jìn)行操作,2020/8/25,140,標(biāo)號:操作碼 操作數(shù)1,操作數(shù)2,操作數(shù)3;注釋 LOOP: MOV A, R0 ;將R0的內(nèi)容送A 注:白色的內(nèi)容不是必須的 標(biāo)號:該指令的符號地址,有字母數(shù)字串組成 注釋:中英文均可,2020/8/25,141,數(shù)據(jù)操作類指令:(數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯運(yùn)算) 操作碼 目的 , 源 例 MOV A , 10H 控制轉(zhuǎn)移類: 操作碼 操作數(shù)1 ,操作數(shù)2 ,轉(zhuǎn)移目的地址,2020/8/25,142,常用符號說明,Rn :當(dāng)前被選中的工作寄存器, R0R7,共8個 Ri :當(dāng)前選定的工作寄存器中能作為間接 尋址的兩個寄存器R0或R1,i0,1 #data : 8位二進(jìn)制立即數(shù) #data16 : 16位二進(jìn)制立即數(shù) direct :8位片內(nèi)RAM的地址(或SFR), 為字節(jié)地址 rel :
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職教育測量與評價(jià)(評價(jià)方法應(yīng)用)試題及答案
- 斑塊穩(wěn)定性增強(qiáng)的干細(xì)胞治療策略
- 教體局消防培訓(xùn)課件模板
- 養(yǎng)老院老人生活照顧人員考核獎懲制度
- 養(yǎng)老院老人健康飲食營養(yǎng)師激勵制度
- 養(yǎng)老院入住老人醫(yī)療保健制度
- 2026年開放大學(xué)校長信息化試題含答案
- 2026年邊防巡邏防控技能考核題庫含答案
- 2026年認(rèn)證認(rèn)可條例中認(rèn)證人員行為規(guī)范練習(xí)題及答案
- 2026年公務(wù)員誠信體系建設(shè)試題含答案
- 2026年美團(tuán)商業(yè)分析師崗位筆試解析與面試問答技巧
- 某高校十五五教育大數(shù)據(jù)治理中心與智慧校園支撐平臺建設(shè)方案
- 2026年山西警官職業(yè)學(xué)院單招綜合素質(zhì)考試備考試題帶答案解析
- 汽修廠文件檔案歸檔制度
- 高校科研項(xiàng)目立項(xiàng)及管理規(guī)范
- 2026年工業(yè)數(shù)字化能碳管理項(xiàng)目可行性研究報(bào)告
- 《事故隱患排查治理資金使用專項(xiàng)制度》
- 肯德基加盟協(xié)議書
- 企業(yè)ERP系統(tǒng)維護(hù)操作手冊
- 2025年高中語文必修上冊《登泰山記》文言文對比閱讀訓(xùn)練(含答案)
- 2025中國機(jī)械工業(yè)集團(tuán)有限公司(國機(jī)集團(tuán))社會招聘19人筆試參考題庫附答案
評論
0/150
提交評論