STC15單片機(jī)基礎(chǔ)解析_第1頁
STC15單片機(jī)基礎(chǔ)解析_第2頁
STC15單片機(jī)基礎(chǔ)解析_第3頁
STC15單片機(jī)基礎(chǔ)解析_第4頁
STC15單片機(jī)基礎(chǔ)解析_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《增加型8051單片機(jī)原理與系統(tǒng)開發(fā)》

C51電子教案-01

單片機(jī)根底一、課程的性質(zhì)和目的

機(jī)電類專業(yè)學(xué)生必修、專業(yè)根底課;強(qiáng)調(diào)應(yīng)用實踐,理論結(jié)合實際,理解根本概念,能利用單片機(jī)解決實際問題;把握單片機(jī)的構(gòu)造、C51語言程序設(shè)計、調(diào)試方法;能調(diào)試程序,把握常見故障的檢測方法、故障排解方法,具備初步的程序設(shè)計力氣二、課時安排及教學(xué)內(nèi)容序號課題(或項目)教學(xué)時數(shù)講授實踐復(fù)習(xí)測驗1項目準(zhǔn)備1222流水燈的設(shè)計與制作6223時鐘的設(shè)計與制作14224設(shè)計制作紅外報警器12225設(shè)計制作串行通訊小系統(tǒng)62小計50106機(jī)動2合計課時68學(xué)

分4三、考核方式和成績評價標(biāo)準(zhǔn)考核內(nèi)容比例考核方法備注作業(yè)15%正確性、工整性和按時完成(預(yù)計作業(yè)次數(shù)10次)5分制,加權(quán)平均課堂提問10%加分體制,主動發(fā)言加1分,正確加4分,課代表記錄實驗報告(成績)20%正確性、完成速度、創(chuàng)新性,報告工整性(4次實驗報告)5分制,加權(quán)平均出勤率5%扣分法,每次1分(校、院集體活動和有假條除外),課代表記錄超過三次,不能參加考試考試(期終)50%參加全校統(tǒng)考,成績低于60分(卷面總分100分),需補(bǔ)考統(tǒng)一試卷、按課改調(diào)整課程特點①學(xué)問點既分散又連貫,構(gòu)造和指令系統(tǒng)是根底;②與電子線路尤其是數(shù)字電子線路關(guān)系親切;學(xué)習(xí)方法①預(yù)習(xí)、復(fù)習(xí);②多動手〔硬件、軟件試驗〕;③多看參考書(包括利用網(wǎng)上資料);④其它〔上課、作業(yè)、答疑〕。答疑和相關(guān)資料,興趣小組第1章單片機(jī)系統(tǒng)根底學(xué)問1.1概述1.1.1單片機(jī)的根本概念1.微處理器的概念MPU是微處理器的縮寫〔Microprocessor〕,簡稱為MP。MPU是集成在同一塊芯片上的具有運算和把握功能規(guī)律的中心處理器。微處理器不僅是構(gòu)成微型計算機(jī)、單片微型計算機(jī)系統(tǒng)、嵌入式系統(tǒng)的核心部件,而且也是構(gòu)成多微處理器系統(tǒng)和現(xiàn)代并行構(gòu)造計算機(jī)的根底。1.1.1單片機(jī)的根本概念2.微型計算機(jī)的概念微型計算機(jī)〔microcomputer〕是指由微處理器加上承受大規(guī)模集成電路制成的程序存儲器和數(shù)據(jù)存儲器,以及與輸入/輸出設(shè)備相連接的I/O接口電路,微型計算機(jī)簡稱MC。1.1.1單片機(jī)的根本概念3.單片機(jī)的根本概念單片機(jī)SCMC(SingleChipMicroComputer)—屬于微型機(jī)的一種—具有一般微機(jī)的根本組成和功能其它名稱:微把握器MCU〔MicroControllerUnit〕嵌入式微把握器〔embeddedmicrocontroller〕單片機(jī)是單片微型計算機(jī)的簡稱,也就是把微處理器〔CPU〕、確定容量的程序存儲器〔ROM〕和數(shù)據(jù)存儲器〔RAM〕、輸入/輸出接口〔I/O〕、時鐘及其它一些計算機(jī)外圍電路,通過總線連接在一起并集成在一個芯片上,構(gòu)成的微型計算機(jī)系統(tǒng)。1.1.1單片機(jī)的根本概念4.嵌入式系統(tǒng)的根本概念

嵌入式系統(tǒng)泛指嵌入于宿主設(shè)備的系統(tǒng)中,嵌入的目的主要是用智能化提升宿主設(shè)備的功能。嵌入式系統(tǒng)是以應(yīng)用技術(shù)產(chǎn)品為核心,以計算機(jī)技術(shù)為根底,以通信技術(shù)為載體,以消費類產(chǎn)品為對象,引入各類傳感器參與,進(jìn)入Internet網(wǎng)絡(luò)技術(shù)的連接,而適應(yīng)應(yīng)用環(huán)境的產(chǎn)品。特點:〔1〕嵌入式微處理器對實時多任務(wù)有很強(qiáng)的支持力氣;〔2〕嵌入式微處理器具有功能很強(qiáng)的存儲區(qū)疼惜功能?!?〕嵌入式微處理器功耗很低,1.1.1單片機(jī)的根本概念5.SOC的根本概念SOC是片上系統(tǒng)的簡稱。所謂SOC是一種高度集成化、固件化的系統(tǒng)集成技術(shù)。使用SOC技術(shù)設(shè)計系統(tǒng)的核心思想,就是要把整個應(yīng)用電子系統(tǒng)全部集成在一個芯片中。在使用SOC技術(shù)設(shè)計應(yīng)用系統(tǒng)時,除了那些無法集成的外部電路或機(jī)械局部以外,其他全部的系統(tǒng)電路全部集成在一起。1.1.2單片機(jī)的進(jìn)展概況1.單片機(jī)的進(jìn)展階段〔1〕單片機(jī)的初級階段〔2〕單片機(jī)的中級〔成熟〕階段〔3〕單片機(jī)的高級〔進(jìn)展〕階段1.1.3單片機(jī)的特點和應(yīng)用

1.單片機(jī)的特點〔1〕體積小、使用靈敏、本錢低、易于產(chǎn)業(yè)化?!?〕牢靠性好,適應(yīng)溫度范圍寬?!?〕易擴(kuò)展,很簡潔構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)、把握功能強(qiáng)?!?〕系統(tǒng)內(nèi)無監(jiān)控或系統(tǒng)治理程序。2.單片機(jī)的應(yīng)用

〔1〕測控系統(tǒng)〔2〕智能儀器儀表〔3〕通訊產(chǎn)品〔4〕民用產(chǎn)品〔5〕軍用產(chǎn)品〔6〕計算機(jī)外部設(shè)備1.2.1MCS-51單片機(jī)的功能構(gòu)造及特點

圖1-1MCS-51(增加型)單片機(jī)功能構(gòu)造圖時鐘信號源外部事件信號BUS時鐘電路8KBFlashROM256BRAM128BSFR16位×3個定時/計數(shù)器64KB總線擴(kuò)展控制器可編程并行口可編程全雙工串行口CPU中斷控制器外中斷8位×4個并行口串行通信總線控制BUS1.2.1MCS-51單片機(jī)的功能構(gòu)造及特點 MCS-51單片機(jī)內(nèi)部主要包括9個局部:一個8位的微處理器CPU8KB的片內(nèi)程序存儲器FlashROM256B的片內(nèi)數(shù)據(jù)存儲器RAM、128B特殊功能存放器〔SFR〕3個16位的定時器/計數(shù)器有一個治理6個中斷源的中斷把握器4個8位并行I/O端一個全雙工的串行接口〔UART〕片內(nèi)振蕩電路和時鐘發(fā)生器可擴(kuò)展64KB程序、64KB數(shù)據(jù)存儲器的三總線把握電路1.2.2MCS-51單片機(jī)的內(nèi)部原理構(gòu)造 MCS-51單片機(jī)的內(nèi)部原理構(gòu)造如圖1-2所示。 與圖1-1比較,主要的區(qū)分是畫出了CPU的內(nèi)部構(gòu)造,圖中的中間局部除了“定時器、串行口”大方框之外都屬于CPU部件。 下面先介紹CPU局部,對于其它部件,將在本章和后面的章節(jié)講解。

圖1-2MCS-51(增加型)單片機(jī)原理構(gòu)造圖XTAL2XTAL1P3.0~P3.7P1.0~P1.7RAM地址端口0驅(qū)動器端口2驅(qū)動器8KBFlashROM端口0鎖存器端口2鎖存器端口1驅(qū)動器端口3驅(qū)動器端口1鎖存器端口3鎖存器暫存器1SPPSWB存放器暫存器2ACC256BRAM128BSFR緩沖器PC加1PC程序地址存放器DPTR定時器、串行口中斷部件及特殊功能存放器地址總線∕數(shù)據(jù)總線P2.0~P2.7VccGND指令存放器指令譯碼器指令把握器P0.0~P0.7PSENALEEARSTALU1.2.3MCS-51單片機(jī)的CPU MCS-51單片機(jī)內(nèi)部有一個功能強(qiáng)大的8位CPU,它包含兩個根本局部,運算器和把握器。 一、運算器 運算器包括:算術(shù)和規(guī)律運算部件ALU〔ArithmeticLogicUnit〕 以及累加器ACC、存放器B、暫存器1、暫存器2、程序狀態(tài)字存放器PSW、布爾處理器等。1.2.3MCS-51單片機(jī)的CPU 1、算術(shù)規(guī)律運算部件ALU ALU可以對4位〔半字節(jié)〕、8位〔一字節(jié)〕和16位〔雙字節(jié)〕數(shù)據(jù)進(jìn)展操作。 這些操作可以是: 算術(shù)運算:加、減、乘、除、加1、減1、BCD碼數(shù)的十進(jìn)制調(diào)整及比較等; 規(guī)律運算:與、或、異或、求補(bǔ)及循環(huán)移位等。1.2.3MCS-51單片機(jī)的CPU 2、累加器ACC ACC在CPU構(gòu)造中占有特殊的位置,所以ACC在指令中使用的特殊多。 ACC既做源操作數(shù)又做目的操作數(shù),如在加、減、乘、除算術(shù)運算指令中,在與、或、異或、循環(huán)移位規(guī)律運算指令等。 ACC也作為通用存放器使用,并且可以按位操作,所以ACC是一個用處最多、最勞碌的存放器。 在指令中用助記符A來表示。1.2.3MCS-51單片機(jī)的CPU 4、程序狀態(tài)字PSW 功能:用于設(shè)定CPU的狀態(tài)和指示指令執(zhí)行后的狀態(tài)。 PSW相當(dāng)于其它微處理器中的標(biāo)志存放器。格式如下:PSW(D0H)D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P圖1-3程序狀態(tài)字PSW格式1.2.3MCS-51單片機(jī)的CPU CY〔PSW.7〕:進(jìn)位、借位標(biāo)志 在做位操作〔布爾操作〕時CY作 為位累加器。在指令中用C代替CY AC〔PSW.6〕:半進(jìn)位、半借位標(biāo)志,也稱為幫助進(jìn)位標(biāo)志 F0、F1〔PSW.5、PSW.1〕:用戶標(biāo)志位,留給用戶使用D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P1.2.3MCS-51單片機(jī)的CPU OV〔PSW.2〕:溢出標(biāo)志位 有以下幾種狀況: ①加減運算: OV=1表示結(jié)果超出了8位有符號數(shù)的有效范圍〔-128~+127〕,對無符號數(shù)OV沒有意義。 ②無符號數(shù)乘法運算: OV=1說明結(jié)果超出了8位數(shù) ③無符號數(shù)除法運算: OV=1說明除數(shù)為01.2.3MCS-51單片機(jī)的CPU P〔PSW.0〕:累加器A的奇偶標(biāo)志位 P表示累加器A中1的個數(shù)的奇偶性 P=1,A中有奇數(shù)個1 P=0,A中有偶數(shù)個12.1.3MCS-51單片機(jī)的CPU RS1、RS0〔PSW.4和PSW.3〕:工作存放器組選擇把握位。 工作存放器:R0、R1、……、R7表2-1RS1、RS0的組合關(guān)系RS1RS0工作寄存器組片內(nèi)RAM地址00第0組00H~07H01第1組08H~0FH10第2組10H~17H11第3組18H~1FH1.2.3MCS-51單片機(jī)的CPU 5、布爾處理器 布爾處理器以PSW中的進(jìn)位標(biāo)志位CY作為位累加器〔用C表示〕。 功能:特地用于處理位操作。 MCS-51單片機(jī)有豐富的位處理指令:如置位、位清0、位取反、推斷位值〔為1或為0〕轉(zhuǎn)移,以及通過C〔指令中用C代替CY〕做位數(shù)據(jù)傳送、位規(guī)律與、位規(guī)律或等位操作。1.2.3MCS-51單片機(jī)的CPU 二、把握器 把握器包括程序計數(shù)器PC、指令存放器IR、指令譯碼器ID,以準(zhǔn)時鐘把握規(guī)律、堆棧指針SP、地址指針DPTR等。 1、程序計數(shù)器PC PC是一個具有自加1功能的16位的計數(shù)器 PC的內(nèi)容是將要執(zhí)行的下一條指令的地址 轉(zhuǎn)變PC的內(nèi)容就轉(zhuǎn)變了程序執(zhí)行的挨次2.1.3MCS-51單片機(jī)的CPU 2、指令存放器IR和指令譯碼器ID IR:存放從FlashROM中讀取的指令 ID:進(jìn)展譯碼,產(chǎn)生確定序列的把握信號,完成指令所規(guī)定的操作。 3、堆棧 〔1〕堆棧的概念 堆棧是在RAM中特地開拓的一個特殊用途的存儲區(qū)。 〔2〕堆棧的訪問原則:“先進(jìn)后出”、“后進(jìn)先出”。即先進(jìn)入堆棧的數(shù)據(jù)后移出堆棧,即后進(jìn)入堆棧的數(shù)據(jù)先移出堆棧。2.1.3MCS-51單片機(jī)的CPU 〔3〕堆棧的構(gòu)造 堆棧的一端的地址是固定的,稱為棧底;另一端的地址是動態(tài)變化的,稱為棧頂。 〔4〕堆棧的操作方式 堆棧有兩種操作方式:數(shù)據(jù)進(jìn)棧和數(shù)據(jù)出棧。 進(jìn)棧和出棧都是在棧頂進(jìn)展,這就必定是依據(jù)“先進(jìn)后出”、“后進(jìn)先出”的方式存取數(shù)據(jù)。2.1.3MCS-51單片機(jī)的CPU 〔5〕堆棧的應(yīng)用 主要是用降落時存放數(shù)據(jù),有兩種狀況使用堆棧: 一是CPU自動使用堆棧,當(dāng)調(diào)用子程序或響應(yīng)中斷,處理中斷效勞程序時,CPU自動將返回地址存放到堆棧中; 通過堆棧傳遞參數(shù)。 二是程序員使用堆棧,用堆棧臨時存放數(shù)據(jù)。1.2.3MCS-51單片機(jī)的CPU 4、堆棧指針SP 堆棧指針SP〔StackPointer〕中為棧頂?shù)牡刂罚碨P指向棧頂。 SP是訪問堆棧的間址存放器 SP具有自動加1、自動減1功能。當(dāng)數(shù)據(jù)進(jìn)棧時,SP先自動加1,然后CPU將數(shù)據(jù)存入; 當(dāng)數(shù)據(jù)出棧時,CPU先將數(shù)據(jù)送出,然后SP自動減1。1.2.3MCS-51單片機(jī)的CPU 以以下圖是數(shù)據(jù)進(jìn)棧的狀況數(shù)據(jù)從棧頂進(jìn)入

開始狀態(tài)58進(jìn)棧后的狀態(tài)A6,7B進(jìn)棧后的狀態(tài)E7E7E7E6E6E6SPE5SPE5SPE5E1E4E2E4E4E4E3E3E3E2E258E236E136E136E121E021E021E058A67B1.2.3MCS-51單片機(jī)的CPU

由于進(jìn)棧時SP的值增加,即堆棧向地址大的方向生長,并且棧頂是有效數(shù)據(jù),這種堆棧是滿遞增型堆棧。

7B出棧后的狀態(tài)A6、58、36出棧后的狀態(tài)E7E7E6E6SPE5SPE5E37BE4E07BE4A6E3A6E358E258E236E136E121E021E07BA658361.2.3MCS-51單片機(jī)的CPU 5、數(shù)據(jù)指針DPTR DPTR是唯一的16位存放器。 DPTR既可以作為一個16位存放器使用,也可以作為兩個獨立的8位存放器使用。其高字節(jié)存放器用DPH表示,低字節(jié)存放器用DPL表示。 DPTR的用途:(1)主要用于存放16位地址,以便對64KB的片外RAM和64KB的程序存儲空間作間接訪問。(2)其次用于存放數(shù)據(jù),作為一般存放器使用。

圖1-2MCS-51(增加型)單片機(jī)原理構(gòu)造圖XTAL2XTAL1P3.0~P3.7P1.0~P1.7RAM地址端口0驅(qū)動器端口2驅(qū)動器8KBFlashROM端口0鎖存器端口2鎖存器端口1驅(qū)動器端口3驅(qū)動器端口1鎖存器端口3鎖存器暫存器1SPPSWB存放器暫存器2ACC256BRAM128BSFR緩沖器PC加1PC程序地址存放器DPTR定時器、串行口中斷部件及特殊功能存放器地址總線∕數(shù)據(jù)總線P2.0~P2.7VccGND指令存放器指令譯碼器指令把握器P0.0~P0.7PSENALEEARSTALU1.2.3STC15W4K單片機(jī)的內(nèi)部構(gòu)造1.2.3STC15W4K單片機(jī)的引腳圖供電1.3MCS-51單片機(jī)的存儲器構(gòu)造主要內(nèi)容1.3.1程序存儲器構(gòu)造1.3.2片內(nèi)數(shù)據(jù)存儲器構(gòu)造1.3.3片外數(shù)據(jù)存儲器構(gòu)造〔略〕

MCS-51單片機(jī)存儲器概述 1、單片機(jī)的哈佛構(gòu)造存儲器 MCS-51單片機(jī)為哈佛構(gòu)造:程序存儲器ROM和數(shù)據(jù)存儲器RAM分開編址 PC機(jī)為偌依曼:ROM和RAM統(tǒng)一編址 程序存儲器:固化程序、常數(shù)和數(shù)據(jù)表 數(shù)據(jù)存儲器:存放程序運行中產(chǎn)生的各種數(shù)據(jù)、用作堆棧等

2、單片機(jī)的存儲器空間及分類 MCS-51單片機(jī)有4個存儲空間: 片內(nèi)程序存儲器、片內(nèi)數(shù)據(jù)存儲器,片外程序存儲器、片外數(shù)據(jù)存儲器。 4個存儲空間可以分成三類: 片內(nèi)數(shù)據(jù)存儲空間〔256B的RAM和128B的特殊功能存放器〕、片外數(shù)據(jù)存儲空間〔64KB〕、片內(nèi)和片外統(tǒng)一編址的程序存儲空間〔64KB〕 不同類型的存儲空間,有各自的尋址方式和訪問指令。1.3.1程序存儲器構(gòu)造 一、程序存儲器構(gòu)造 51根本型片內(nèi)有4KB的FlashROM,地址為0000H~0FFFH,片外最多可以擴(kuò)展60KB,地址為1000H~FFFFH。 增加型片內(nèi)有8KB的FlashROM,地址為0000H~1FFFH,片外最多可以擴(kuò)展56KB,地址為2023H~FFFFH,片內(nèi)外是統(tǒng)一編址的。 程序存儲器空間的配置如圖1-7所示1.3.1程序存儲器構(gòu)造圖1-7MCS-51單片機(jī)程序存儲空間的配置片外ROM片內(nèi)ROMEA=1片外ROMEA=00000H0FFFH1000HFFFFH〔a〕片內(nèi)有4KB的ROM〔b〕片內(nèi)有8KB的ROM片外ROM片內(nèi)ROMEA=1片外ROMEA=00000H1FFFH2023HFFFFH程序存儲器構(gòu)造 單片機(jī)在執(zhí)行指令時,對于低地址局部,究竟是從片內(nèi)程序存儲器取指令,還是從片外程序存儲器取指令? 準(zhǔn)備于程序存儲器選擇引腳EA的電平: EA接低電平,讀片外程序存儲器 EA接高電平,CPU從片內(nèi)程序存儲器取指令。 當(dāng)取指令的地址大于片內(nèi)存儲器的最大地址時,CPU自動轉(zhuǎn)到片外程序存儲器取指令。程序存儲器構(gòu)造

二、程序存儲器的專用區(qū)域 用作復(fù)位和中斷入口表2-3ROM中專用存儲區(qū)域存儲單元應(yīng)用0000H~0002H復(fù)位后引導(dǎo)程序地址0003H~000AH外中斷0000BH~0012H定時器0中斷0013H~001AH外中斷1001BH~0022H定時器1中斷0023H~002AH串行口中斷002BH~0032H定時器2中斷(增強(qiáng)型機(jī))2.3.1程序存儲器構(gòu)造 中斷向量:即中斷入口地址。如下表 留意區(qū)分:中斷入口地址、中斷效勞程序入口地址、中斷效勞程序。表2-4中斷向量表中斷源中斷入口地址外中斷00003H定時器0中斷000BH外中斷10013H定時器1中斷001BH串行口中斷0023H定時器2中斷(增強(qiáng)型機(jī))002BH2.3.1程序存儲器構(gòu)造 C語言編程所考慮的問題 假設(shè)用C語言編寫程序,不需要考慮以上這些問題,即不用考慮引導(dǎo)程序問題,中斷入口與跳轉(zhuǎn)問題,這些問題均由編譯系統(tǒng)安排好。 main()函數(shù)起到引導(dǎo)程序的作用。 對于中斷處理,只要依據(jù)格式編寫中斷處理函數(shù)即可〔見第4章〕。2.3.2片內(nèi)數(shù)據(jù)存儲器構(gòu)造 片內(nèi)數(shù)據(jù)存儲器依據(jù)尋址方式,可以分為三個局部:低128字節(jié)數(shù)據(jù)區(qū),高128字節(jié)數(shù)據(jù)區(qū),特殊功能存放器區(qū)。如以以下圖所示。低128BRAM

data區(qū)特殊功能存放器80HFFH00H7FH〔a〕89C51片內(nèi)RAM低128BRAM

data區(qū)高128BRAMidata區(qū)特殊功能存放器00H7FH80HFFH80HFFH〔b〕增加型單片機(jī)片內(nèi)RAM2.3.2片內(nèi)數(shù)據(jù)存儲器構(gòu)造 一、低128字節(jié)RAM 地址范圍:00H~7FH,128字節(jié) 應(yīng)用特點:有多種用途、且使用最頻繁 功能作用:分為三個區(qū)域,即工作存放器區(qū)、位查找區(qū)、通用數(shù)據(jù)區(qū)。 尋址方式:直接、間接、位尋址 低128字節(jié)RAM的配置如圖1-9所示。

7F30堆棧和數(shù)據(jù)緩存通用數(shù)據(jù)區(qū)2F20位地址為00H~7FH(128位)位尋址區(qū)1F18R0、R1…R7(第3組)工1710R0、R1…R7(第2組)作寄0F08R0、R1…R7(第1組)存器0700R0、R1…R7(第0組)區(qū)圖1-9低128字節(jié)RAM區(qū)片內(nèi)數(shù)據(jù)存儲器構(gòu)造 1、工作存放器區(qū) 范圍:地址從00H到1FH,共32字節(jié)。 分4個組:第0組、第1組、第2組、第3組 工作存放器名:R0、R1……R7。 不同的組對應(yīng)的8個存放器的地址不同,如表2-1所示。 工作存放器組的選擇:準(zhǔn)備于程序狀態(tài)字PSW的RS1和RS0位。見表2-1。 C語言下選存放器組:在定義函數(shù)時,通過使用關(guān)鍵字“using”來選擇(如usingm)。片內(nèi)數(shù)據(jù)存儲器構(gòu)造 2、位尋址區(qū) 范圍:字節(jié)地址從20H到2FH,16字節(jié)。 位地址:00H到7FH,128位。 用途:既可以做位操作,也可以字節(jié)操作。 C語言編程:用關(guān)鍵字“bit”定義的位變量在該區(qū)域;用關(guān)鍵字“bdata”將一般變量定義在該區(qū)域,并且定義的變量還可以進(jìn)展位尋址。片內(nèi)數(shù)據(jù)存儲器構(gòu)造

3、通用數(shù)據(jù)區(qū)

范圍:地址從30H到7FH,共80字節(jié)。

用途:用于堆棧、存放數(shù)據(jù)、存放程序運行時的中間結(jié)果等。

4、尋址方式

直接、間接、位尋址方式訪問

直接、間接范圍:字節(jié)地址從00H到7FH

位尋址范圍:字節(jié)地址從20H到2FH,16字節(jié);位地址00H到7FH、128位1.3.1片內(nèi)數(shù)據(jù)存儲器構(gòu)造

二、高128字節(jié)RAM

地址范圍:80H~FFH,128字節(jié)

用途:與低128字節(jié)中的30H到7FH完全一樣,用于堆棧、存放程序運行時的數(shù)據(jù)和中間結(jié)果等。

尋址方式:間接訪問。

C語言編程:使用關(guān)鍵字“idata”定義變量

1.3.1片內(nèi)數(shù)據(jù)存儲器構(gòu)造 三、特殊功能存放器〔SFR〕 也稱為專用存放器,是單片機(jī)中最重要的局部。 地址范圍:80H~FFH,128字節(jié) 功能作用: 把握單片機(jī)各個部件的運行 反映各部件的運行狀態(tài) 存放數(shù)據(jù)或地址 尋址方式:直接訪問1.3.1片內(nèi)數(shù)據(jù)存儲器構(gòu)造 1、具體特殊功能存放器 SFR的數(shù)量:根本型只有21個,增加型有27個;分別有11個、12個可以按位操作。 〔1〕與CPU相關(guān)的〔7個〕 PWS*:程序狀態(tài)存放器 A*:累加器 B*:幫助運算存放器 SP:堆棧指針 PCON:電源把握存放器 DPL、DPH:數(shù)據(jù)指針的低字節(jié)、高字節(jié)1.3.1片內(nèi)數(shù)據(jù)存儲器構(gòu)造 〔2〕與定時器相關(guān)的〔12個〕 TMOD:模式存放器 TCON*:把握存放器 TL0、TH0:T0低8位、高8位計數(shù)器 TL1、TH1:T1低8位、高8位計數(shù)器 T2MOD:T2模式存放器 T2CON*:T2把握存放器 TL2、TH2:T2低8位、高8位計數(shù)器 RCAP2L、RCAP2H:T2捕獲存放器1.3.1片內(nèi)數(shù)據(jù)存儲器構(gòu)造 〔3〕與中斷相關(guān)的〔2個〕 IE*:中斷允許〔把握〕存放器 IP*:中斷優(yōu)先級存放器 〔4〕與串行口相關(guān)的〔2個〕 SCON*:串行口把握存放器 SBUF:串行口數(shù)據(jù)緩沖存放器,2個 〔5〕與I/O口相關(guān)的〔4個〕 P0*、P1*、P2*、P3* 4個并行口映射存放器1.3.2片內(nèi)數(shù)據(jù)存儲器構(gòu)造 2、一些最重要的存放器 在表2-5中有格式的特殊功能存放器最重要,它們是〔9個〕: PSW*、IE*、IP*、TCON*、TMOD PCON、SCON*、T2CON*、T2MOD 應(yīng)用單片機(jī),主要就是把握這9個有格式的特殊功能存放器,對根本型僅有7個。表格2?2特殊功能存放器表符號單元地址名稱位地址符號地址*ACCE0H累加器ACC.7~ACC.0E7H~E0H*BF0H乘法寄存器B.7~B.0F7H~F0H*PSWD0H程序狀態(tài)字PSW.7~PSW.0D7H~D0H

SP81H堆棧指針

DPL82H數(shù)據(jù)存儲器指針(低8位)

DPH83H數(shù)據(jù)存儲器指針(高8位)

*IEA8H中斷允許控制器IE.7~I(xiàn)E.0AFH~A8H*IPB8H中斷優(yōu)先控制器IP.7~I(xiàn)P.0BFH~B8H*P080H通道0P0.7~P0.087H~80H*P190H通道1P1.7~P1.097H~90H*P2A0H通道2P2.7~P2.0A7H~A0H*P3B0H通道3P3.7~P3.0B7H~B0H

PCON87H電源控制及波特率選擇

*SCON98H串行口控制SCON.7~SCON.09FH~98H

SBUF99H串行數(shù)據(jù)緩沖器

*TCON88H定時控制TCON.7~TCON.08FH~88H

TMOD89H定時器方式選擇

TL08AH定時器0低8位

TL18BH定時器1低8位

TH08CH定時器0高8位

TH18DH定時器1高8位

*:可位尋址的特殊功能存放器內(nèi)部數(shù)據(jù)存儲器高128單元表2?3MCS-51專用存放器一覽表1.3.1片內(nèi)數(shù)據(jù)存儲器構(gòu)造 3、特殊功能存放器在C語言中的表示 這些特殊功能存放器及各位位名在匯編語言中能夠識別,但在C語言中并不識別。 為了在C語言中使用,必需先做定義,它們多數(shù)在“reg51.h”、“reg52.h”等頭文件做了定義。 但有一些未做定義,如4個并行口P0~P3各位,累加器A,存放器B等,在使用時需要用戶定義。1.3.3片外數(shù)據(jù)存儲器構(gòu)造 地址范圍:0000H~FFFFH 容量:共64KB 訪問指令:“MOVX”〔片內(nèi)用MOV〕 使用“MOVX”指令對片外RAM進(jìn)展讀/寫操作時,會自動產(chǎn)生讀/寫把握信號RD和WR,作用于片外RAM實現(xiàn)讀/寫操作。1.3.3片外數(shù)據(jù)存儲器構(gòu)造 片外RAM的用途: 〔1〕沒有特殊的用途,不像片內(nèi)RAM,不劃分區(qū)域。 〔2〕片外RAM做通用RAM使用,主要存放大量采集的或接收的數(shù)據(jù)、運算的中間數(shù)據(jù)、最終結(jié)果、用作堆棧等。 C語言編程:使用關(guān)鍵字“xdata”或“pdata”將變量、數(shù)組、堆棧定義到片外RAM區(qū)。作為外部存儲訪問STC15W4K單片機(jī)—構(gòu)造1.4單片機(jī)并行I/O口8051單片機(jī)有4個I/O端口,每個端口都是8位準(zhǔn)雙向口,共占32根引腳。每個端口都包括一個鎖存器(即專用存放器P0~P3)、一個輸出驅(qū)動器和輸入緩沖器。通常把4個端口籠統(tǒng)地表示為P0~P3。1.4.1P0口的構(gòu)造及特點P0口的某位P0.n(n=0~7)構(gòu)造圖,它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路及把握電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數(shù)據(jù)線用。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳1、P0口作為一般I/O口①輸出時CPU發(fā)出把握電平“0”封鎖“與”門,將輸出上拉場效應(yīng)管T1截止,同時使多路開關(guān)MUX把鎖存器與輸出DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳驅(qū)動場效應(yīng)管T2柵極接通。故內(nèi)部總線與P0口同相。由于輸出驅(qū)動級是漏極開路電路,假設(shè)驅(qū)動NMOS或其它拉流負(fù)載時,需要外接上拉電阻。P0的輸出級可驅(qū)動8個LSTTL負(fù)載。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳②輸入時----分讀引腳或讀鎖存器讀引腳:由傳送指令(MOV)實現(xiàn);下面一個緩沖器用于讀端口引腳數(shù)據(jù),當(dāng)執(zhí)行一條由端口輸入的指令時,讀脈沖把該三態(tài)緩沖器翻開,這樣端口引腳上的數(shù)據(jù)經(jīng)過緩沖器讀入到內(nèi)部總線。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳讀鎖存器:有些指令如:ANLP0,A稱為“讀-改-寫”

指令,需要讀鎖存器。

上面一個緩沖器用于讀端口鎖存器數(shù)據(jù)。**緣由:假設(shè)此時該端口的負(fù)載恰是一個晶體管基極,且原端口輸出值為1,那么導(dǎo)通了的PN結(jié)會把端口引腳高電平拉低;假設(shè)此時直接讀端口引腳信號,將會把原輸出的“1”電平誤讀為“0”電平。現(xiàn)承受讀輸出鎖存器代替讀引腳,圖中,上面的三態(tài)緩沖器就為讀鎖存器Q端信號而設(shè),讀輸出鎖存器可避開上述可能發(fā)生的錯誤。**DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳準(zhǔn)雙向口:從圖中可以看出,在讀入端口數(shù)據(jù)時,由于輸出驅(qū)動FET并接在引腳上,假設(shè)T2導(dǎo)通,就會將輸入的高電平拉成低電平,產(chǎn)生誤讀。所以在端口進(jìn)展輸入操作前,應(yīng)先向端口鎖存器寫“1”,使T2截止,引腳處于懸浮狀態(tài),變?yōu)楦咦杩馆斎?。這就是所謂的準(zhǔn)雙向口。2、P0作為地址/數(shù)據(jù)總線在系統(tǒng)擴(kuò)展時,P0端口作為地址/數(shù)據(jù)總線使用時,分為:

P0引腳輸出地址/數(shù)據(jù)信息。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳CPU發(fā)出把握電平“1”,翻開“與”門,又使多路開關(guān)MUX把CPU的地址/數(shù)據(jù)總線與T2柵極反相接通,輸出地址或數(shù)據(jù)。由圖上可以看出,上下兩個FET處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載力氣大大增加。DQCLKQMUXP0.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址/數(shù)據(jù)控制VCCT1T2P0口引腳1.4.2P1口的構(gòu)造及特點

它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成----準(zhǔn)雙向口。DQCLKQP1.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP1口引腳1.4.3P2口的構(gòu)造及特點1.P2口作為一般I/O口DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳CPU發(fā)出把握電平“0”,使多路開關(guān)MUX倒向鎖存器輸出Q端,構(gòu)成一個準(zhǔn)雙向口。其功能與P1一樣。2.P2口作為地址總線在系統(tǒng)擴(kuò)展片外程序存儲器擴(kuò)展數(shù)據(jù)存儲器且容量超過256B(用MOVX@DPTR指令)時,CPU發(fā)出把握電平“1”,使多路開關(guān)MUX倒內(nèi)部地址線。此時,P2輸出高8位地址。DQCLKQMUXP2.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳地址控制VCCRTP2口引腳1.4.4P3口的構(gòu)造及特點DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳其次輸入功能其次輸出功能一、作為通用I/O口與P1口類似----準(zhǔn)雙向口(W=1)WP3的內(nèi)部構(gòu)造DQCLKQP3.n讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCRTP3口引腳其次輸入功能其次輸出功能二、P3其次功能(Q=1)此時引腳局部輸入(Q=1、W=1),局部輸出(Q=1、W輸出)。WP3第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時器0外部輸入P3.5:T1定時器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制1.4.6STC15F4KIO模式準(zhǔn)雙向口工作模式下,I/0口可用直接輸出而不需重新配置口線輸出狀態(tài)。這是由于當(dāng)口線輸出為“1”時驅(qū)動力氣很弱,允許外部裝置將其拉低電平。當(dāng)引腳輸出為低電尋常,它的驅(qū)動力氣很強(qiáng),可吸取相當(dāng)大的電流。推挽輸出工作模式下,I/O口輸出的下拉構(gòu)造、輸入電路構(gòu)造與準(zhǔn)雙向口模式是全都的,不同的是推挽輸出工作模式下I/O口的上拉是持續(xù)的“強(qiáng)上拉”,假設(shè)輸出高電平,輸出拉電流最大可達(dá)20mA;假設(shè)輸出低電尋常,輸出灌電流最大可達(dá)20mA。1.4.6STC15F4KIO模式僅為輸入〔高阻〕工作模式下,可直接從端口引腳讀入數(shù)據(jù),而不需要先對端口鎖存器置“1”。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論