版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)習(xí)情景一單片機(jī)知識概述學(xué)習(xí)目標(biāo):掌握單片機(jī)的概念及特點了解(單片機(jī))馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)的差異了解AT89S52單片機(jī)結(jié)構(gòu),掌握內(nèi)部數(shù)據(jù)存儲器的空間分配和SFR掌握AT89S52單片機(jī)的外部引腳功能及單片機(jī)最小應(yīng)用系統(tǒng)掌握單片機(jī)集成開發(fā)環(huán)境KeilC51、在線下載軟件ISP的使用方法學(xué)習(xí)情景一單片機(jī)知識概述學(xué)習(xí)目標(biāo):技能要求:利用AT89S52單片機(jī)制作一個簡單的實用電路會使用相應(yīng)軟件對程序進(jìn)行仿真和調(diào)試項目一一只會閃光的燈第一部分 項目要求
組裝一個單片機(jī)的最小系統(tǒng),用以控制一只發(fā)光二極管(LED)閃光。
技能要求:一、單片微型計算機(jī)
(一)單片機(jī)的概念與特點
1.什么是單片機(jī)?
單片機(jī)(SingleChipComputer)又稱單片微控制器(Microcontroller),它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。
單片機(jī)主要組成部分:①中央處理器CPU②存儲器(數(shù)據(jù)存儲器RAM程序存儲ROM)③輸入/輸出接口④定時器/計數(shù)器項目一一只會閃光的燈第二部分相關(guān)知識一、單片微型計算機(jī)(一)單片機(jī)的概念與特點1.
2.單片機(jī)的特點(優(yōu)點)★體積小、重量輕;★
電源單一、功耗低(突出特點);★
功能強(qiáng)、價格低,有優(yōu)異的性能價格比;★
全部集成在芯片上,布線短,合理,集成度高;★
數(shù)據(jù)大部分在單片機(jī)內(nèi)傳遞,運(yùn)行速度快,抗干擾能力強(qiáng),可靠性高。項目一一只會閃光的燈2.單片機(jī)的特點(優(yōu)點)★體積小、重量輕;項目一
(二)單片機(jī)體系結(jié)構(gòu)
單片機(jī)的體系結(jié)構(gòu)有兩種,一是傳統(tǒng)的馮·諾依曼(JohnVonNeumann)結(jié)構(gòu);另一種是哈佛(Harvard)結(jié)構(gòu)。1.馮·諾依曼結(jié)構(gòu)
項目一一只會閃光的燈(二)單片機(jī)體系結(jié)構(gòu)單片機(jī)的體系2.哈佛結(jié)構(gòu)
數(shù)據(jù)與程序分別存于兩個存儲器中,是哈佛結(jié)構(gòu)的重要特點。哈佛結(jié)構(gòu)的數(shù)據(jù)總線和指令傳輸總線完全分開。其優(yōu)點是,指令和數(shù)據(jù)空間是完全分開的,一個用于取指令,另一個用于存取數(shù)據(jù)。所以與常見的馮·諾依曼結(jié)構(gòu)不同的第一點是:程序和數(shù)據(jù)總線可以采用不同的寬度。數(shù)據(jù)總線都是8位的,但低檔、中檔和高檔系列的指令總線位數(shù)分別為12、14和16位。第二點是:由于可以對程序和數(shù)據(jù)同時進(jìn)行訪問,CPU的取指和執(zhí)行采用指令流水線結(jié)構(gòu),當(dāng)一條指令被執(zhí)行時允許下一條指令同時被取出,使得在每個時鐘周期可以獲得最高效率。
項目一一只會閃光的燈2.哈佛結(jié)構(gòu)項目一一只會閃光的燈周期0周期1周期2周期3周期4取指0執(zhí)行0取指1執(zhí)行1取指2執(zhí)行2取指3執(zhí)行3圖1.3指令流水線結(jié)構(gòu)示意圖項目一一只會閃光的燈周期0周期1周期2周期3周期4取指0執(zhí)行0取指1執(zhí)行1取指2二、單片機(jī)的應(yīng)用1.家用電器:廣泛應(yīng)用于家用電器的自動控制,智能卡特點:提高家用電器的性能和質(zhì)量;降低家用電器的生產(chǎn)成本和銷售價格。2.智能儀器儀表:單片機(jī)體積小,耗電少,被廣泛用于各類儀器儀表特點:單片機(jī)使儀器儀表走向了智能化和微型化,使儀器儀表的功能和可靠性大大提高。項目一一只會閃光的燈二、單片機(jī)的應(yīng)用1.家用電器:廣泛應(yīng)用于家用電器的自動控制,3.網(wǎng)絡(luò)與通信:許多型號的單片機(jī)都有通信接口可方便地進(jìn)行機(jī)間通信,也可方便地組成網(wǎng)絡(luò)系統(tǒng)。如:單片機(jī)控制的無線遙控系統(tǒng),列車無線通信系統(tǒng)和串行自動呼叫應(yīng)答系統(tǒng)等。4.工業(yè)控制:單片機(jī)可以構(gòu)成各種工業(yè)測控系統(tǒng),數(shù)據(jù)采集系統(tǒng)。如:數(shù)控機(jī)床、汽車安全技術(shù)檢測系統(tǒng),報警系統(tǒng)和生產(chǎn)過程自動控制等。項目一一只會閃光的燈3.網(wǎng)絡(luò)與通信:許多型號的單片機(jī)都有通信接口可方便地進(jìn)行機(jī)間單片機(jī)的發(fā)展可以分為三個階段20世紀(jì)70年代為單片機(jī)發(fā)展的初級階段。典型代表:Intel公司的MCS-48系列單片機(jī)。有4位、8位CPU,并行I/O口,8位定時器/計數(shù)器,無串行口,中斷處理比較簡單,RAM、ROM容量較小,尋址范圍不超過4KB。
三、單片機(jī)的發(fā)展項目一一只會閃光的燈單片機(jī)的發(fā)展可以分為三個階段三、單片機(jī)的發(fā)展項目一一20世紀(jì)80年代為高性能單片機(jī)的發(fā)展階段。典型代表:Intel公司的MCS-51、MCS-96系列單片機(jī),單片機(jī)普及階段。是8位CPU,片內(nèi)RAM、ROM容量加大,片外尋址范圍可達(dá)64KB,增加了串行口,多級中斷處理系統(tǒng),16位定時器/計數(shù)器。20世紀(jì)90年代至今為單片機(jī)的高速發(fā)展階段。典型代表:MCS—96系列單片機(jī)。是16位CPU,片內(nèi)RAM、ROM容量進(jìn)一步增大,增加了A/D、D/A轉(zhuǎn)換器,8級中斷處理功能,實時處理能力更強(qiáng),它允許用戶采用面向工業(yè)控制的專用語言,如C語言等。項目一一只會閃光的燈20世紀(jì)80年代為高性能單片機(jī)的發(fā)展階段。項目一一只單片機(jī)發(fā)展可歸結(jié)為以下幾個方面:
1.增加字長,提高數(shù)據(jù)精度和處理的速度2.改進(jìn)制作工藝,提高單片機(jī)的整體性能3.由復(fù)雜指令集CISC轉(zhuǎn)向簡單指令集RISC技術(shù)4.多功能模塊集成技術(shù),使一塊“嵌入式”芯片具有多種功能5.微處理器與DSP技術(shù)結(jié)合6.融入高級語言的編譯程序7.低電壓、寬電壓、低功耗項目一一只會閃光的燈單片機(jī)發(fā)展可歸結(jié)為以下幾個方面:1.增加字長,提高數(shù)據(jù)精MCS-51單片機(jī)系列:兩大系列:MCS-51子系列和MCS-52子系列。其中51子系列是基本型,而52子系列屬于增強(qiáng)型。各子系列配置如下表所示。片內(nèi)ROM形式
無ROMEPROM
80318051875180C3180C5187C5180328052875280C3280C5287C52四、AT89S52單片機(jī)結(jié)構(gòu)項目一一只會閃光的燈MCS-51單片機(jī)系列:四、AT89S52單片機(jī)結(jié)構(gòu)項目一52子系列與51子系列相比,其功能增強(qiáng)的具體方面如下:1.片內(nèi)RAM從128字節(jié)增加到256字節(jié)2.片內(nèi)ROM從4KB增加到8KB3.定時器/計數(shù)器從2個增加到3個4.中斷源從5個增加到6~7個項目一一只會閃光的燈52子系列與51子系列相比,其功能增強(qiáng)的具體方面如下:項目一AT89S52是一個低功率,高性能的CMOS8位微控制器并且在系統(tǒng)中集成了8K字節(jié)的可編程閃存?!粢粋€8位CPU;◆一個片內(nèi)振蕩器及時鐘電路;◆8K字節(jié)可重復(fù)擦寫的Flash閃速存儲器◆三級加密程序存儲器;◆256×8字節(jié)內(nèi)部RAM;◆3個16位定時器/計數(shù)器;◆32條可編程的I/O線(四個8位并行I/O端口);◆一個可編程全雙工串行口;具有8個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu)。(一)AT89S52單片機(jī)的結(jié)構(gòu)項目一一只會閃光的燈AT89S52是一個低功率,高性能的CMOS8位微控制器并項目一一只會閃光的燈項目一一只會閃光的燈1.CPU
中央處理器CPU是單片機(jī)的核心,是單片機(jī)的大腦和心臟。它由運(yùn)算器和控制器等部件組成。作用:主要完成運(yùn)算和控制功能。MCS-51CPU是字長為8位的中央處理單元,即它對數(shù)據(jù)的處理是以字節(jié)為單位進(jìn)行的。(1)
運(yùn)算器運(yùn)算部件以算術(shù)邏輯單元ALU為核心,加上累加器ACC、寄存器B、暫存器、程序狀態(tài)字PSW以及十進(jìn)制調(diào)整電路和布爾處理器等許多部件組成的。項目一一只會閃光的燈1.CPU中央處理器CPU是單片機(jī)的1)算術(shù)邏輯單元(
ALU—ArithmeticLogicUnit)
可以對4位(半字節(jié))8位(一字節(jié))和16位(雙字節(jié))數(shù)據(jù)進(jìn)行操作。作用:完成算術(shù)四則運(yùn)算和邏輯運(yùn)算、位操作及循環(huán)移位等邏輯操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存器(PSW)。2)累加器ACC,在指令中用助記符A來表示A是一個8位寄存器,是CPU中工作最繁忙的寄存器。作用:在算數(shù)邏輯運(yùn)算中,用來存放一個操作數(shù)或運(yùn)算結(jié)果(包括中間結(jié)果)。在與外部存儲器和I/O接口打交道時,完成數(shù)據(jù)傳送。項目一一只會閃光的燈1)算術(shù)邏輯單元(ALU—ArithmeticLogic3)寄存器B作用:可作通用寄存器。在乘、除運(yùn)算中使用。作乘法運(yùn)算時,寄存器B用來存放乘數(shù)以及積的高位字節(jié);作除法運(yùn)算時,寄存器B用來存放除數(shù)以及余數(shù);不作乘、除運(yùn)算時,寄存器B可作通用寄存器使用。4)程序狀態(tài)字寄存器PSW(程序狀態(tài)標(biāo)志寄存器)8位寄存器。作用:存放當(dāng)前指令執(zhí)行后操作結(jié)果的某些特征,以便下一條指令的執(zhí)行提供依據(jù)。項目一一只會閃光的燈3)寄存器B作用:可作通用寄存器。在乘、除運(yùn)算中使用。4)程序狀態(tài)字PSW各位標(biāo)志的含義CYACF0RS1RS0OV-P
PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CY(PSW.7)進(jìn)位標(biāo)志位AC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志F0(PSW.5)用戶標(biāo)志位RS1和RS0(PSW.4,PSW.3)工作寄存器組選擇位OV(PSW.2)溢出標(biāo)志位PSW.1未定義位P(PSW.0)奇偶標(biāo)志位程序狀態(tài)字PSW各位標(biāo)志的含義CYACF0RS1RS0OV-CY是PSW中最常用的標(biāo)志位。由硬件或軟件置位和清零。*在字節(jié)運(yùn)算時:它表示運(yùn)算結(jié)果是否有進(jìn)位(或借位)。加法時:有進(jìn)位Cy由硬件置“1”即Cy=1;無進(jìn)位CY被硬件清“0”即Cy=0。減法時:有借位Cy由硬件置“1”即Cy=1;無借位CY被硬件清“0”即Cy=0。*在位操作(布爾操作)時:CY作為累加器使用,其作用相當(dāng)于字節(jié)操作的累加器ACC。
CyCY是PSW中最常用的標(biāo)志位。Cy在指令中可作為轉(zhuǎn)移的條件
JCrel;cy=1轉(zhuǎn)移JNCrel;cy=0轉(zhuǎn)移位操作指令中做累加器ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLCMOVC,bitMOVbit,cCyC在指令中可作為轉(zhuǎn)移的條件CyCAC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志。
當(dāng)執(zhí)行加減運(yùn)算時,其運(yùn)算結(jié)果產(chǎn)生低四位向高四位進(jìn)位或借位時,AC由硬件置“1”;否則AC位被自動清“0”。
一般在BCD碼運(yùn)算時,系統(tǒng)用于進(jìn)行十進(jìn)制調(diào)整。Ac項目一一只會閃光的燈AC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志。Ac項目一F0
F0(PSW.5)用戶標(biāo)志位。用戶可根據(jù)自己的需要對F0位賦予一定的含義,由用戶置位或復(fù)位,作為軟件標(biāo)志。
SETBF0;置位CLRF0
;復(fù)位
項目一一只會閃光的燈F0F0(PSW.5)用戶標(biāo)志位。RS1&RS0RS1(PSW.4)、RS0(PSW.3)
寄存器區(qū)選擇控制位。RS1RS0寄存器組片內(nèi)RAM地址00第0組00H-07H01第1組08H-0FH10第2組10H-17H11第3組18H-1FH項目一一只會閃光的燈RS1&RS0RS1(PSW.4)、RS0(PSW.3)RCPU通過對PSW中的D4、D3位內(nèi)容的修改,就能任選一個工作寄存器區(qū)。例如:SETBPSW.3 CLRPSW.4;選定第1區(qū)SETBPSW.4CLRPSW.3;選定第2區(qū)SETBPSW.3SETBPSW.4;選定第3區(qū)項目一一只會閃光的燈CPU通過對PSW中的D4、D3位內(nèi)容的修改,就能任選一個工OVOV(PSW.2)溢出標(biāo)志位它反映運(yùn)算結(jié)果是否溢出,溢出時則由硬件將OV位置“1”;否則置“0”。只有在補(bǔ)碼運(yùn)算時起作用。
雙進(jìn)位位法判溢出:OV=C8⊕C7
項目一一只會閃光的燈OVOV(PSW.2)溢出標(biāo)志位項目一一只會閃P(PSW.0)奇偶標(biāo)志位P標(biāo)志表明累加器ACC中1的個數(shù)的奇偶性。在每條指令執(zhí)行完后,單片機(jī)根據(jù)ACC的內(nèi)容對P位自動置位或復(fù)位。若累加器ACC中有奇數(shù)個“1”,則P=1;若累加器ACC中有偶數(shù)個“1”,則P=0。P項目一一只會閃光的燈P(PSW.0)奇偶標(biāo)志位P項目一一只會閃光
溢出和進(jìn)位是兩種不同性質(zhì)的概念溢出是指有正負(fù)號的兩個數(shù)運(yùn)算時,運(yùn)算結(jié)果超出了累加器以補(bǔ)碼所能表示一個有符號數(shù)的范圍。而進(jìn)位則表示兩數(shù)運(yùn)算最高位(D7)相加(或相減)有無進(jìn)位(或借位)。因此使用時應(yīng)加以注意。OV與Cy項目一一只會閃光的燈溢出和進(jìn)位是兩種不同性質(zhì)的概念OV與Cy項目(2)控制器控制器是CPU的大腦中樞,是計算機(jī)的指揮控制部件。組成:程序計數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針(DPTR)、堆棧指針(SP)以及定時與控制電路等。功能:對來自存儲器中的指令進(jìn)行譯碼,通過定時控制電路在規(guī)定的時刻發(fā)出各種操作所需的控制信號,使各部分協(xié)調(diào)工作,完成指令所規(guī)定的功能。項目一一只會閃光的燈(2)控制器控制器是CPU的大腦中樞,是計1)程序計數(shù)器(PC)16位計數(shù)器(重要)
PC是程序的字節(jié)地址計數(shù)器,16位專用寄存器,尋址范圍為64KB。
作用:存放CPU執(zhí)行的下一條指令的地址,具有自動加1的功能。工作原理:當(dāng)一條指令按照PC所指的地址從程序存儲器中取出后,PC會自動加1,指向下一條指令。項目一一只會閃光的燈項目一一只會閃光的燈2)指令寄存器IR和指令譯碼器ID指令寄存器IR:8位寄存器作用:用于暫存待執(zhí)行的指令,等待譯碼。指令譯碼器ID:作用:對指令寄存器中的指令進(jìn)行譯碼,即將指令轉(zhuǎn)變?yōu)樗璧碾娖叫盘枴8鶕?jù)譯碼器輸出的電平信號,再經(jīng)定時控制電路定時產(chǎn)生執(zhí)行該指令所需要的各種控制信號。項目一一只會閃光的燈2)指令寄存器IR和指令譯碼器ID項目一一只會閃程序存儲器PC取出指令碼指令寄存器IR指令譯碼器ID把指令轉(zhuǎn)變成所需要得電平信號CPU產(chǎn)生執(zhí)行該指令所需的各種控制信號取指令執(zhí)行指令分析指令項目一一只會閃光的燈程序PC取出指令指令把指令轉(zhuǎn)變CPU產(chǎn)生執(zhí)行該3)數(shù)據(jù)指針(DPTR)16bit
16位專用寄存器。它可以對64K的外部數(shù)據(jù)存儲器和I/O口進(jìn)行尋址。也可作為兩個8位寄存器。DPL(地址82H):DPTR的低字節(jié),DPH(地址為83H):DPTR的高字節(jié)。作用:用作外部數(shù)據(jù)存儲器的地址指針。
4)堆棧指針(SP)8bit
SP的內(nèi)容就是堆棧棧頂?shù)拇鎯卧刂?。不論是?shù)據(jù)進(jìn)棧還是數(shù)據(jù)出棧,都是對堆棧的棧頂單元進(jìn)行的,即對棧頂單元的寫和讀操作。項目一一只會閃光的燈3)數(shù)據(jù)指針(DPTR)16bit項目一一只會閃光2.存儲器配置及特殊功能寄存器程序存儲器(64KB尋址空間)數(shù)據(jù)存儲器(64KB尋址空間)項目一一只會閃光的燈2.存儲器配置及特殊功能寄存器程序存儲器(64KB尋址空★程序存儲器EA=0:片內(nèi)ROM不起作用。完全執(zhí)行片外程序存儲器指令,外部ROM的地址為0000H~0FFFFH,可達(dá)64KB。EA=1:執(zhí)行片內(nèi)程序存儲器指令,地址為0000H~1FFFH;當(dāng)指令地址超過1FFFH后,自動轉(zhuǎn)向片外ROM取指令,2000~FFFFH。
★數(shù)據(jù)存儲器分為內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器。
項目一一只會閃光的燈★程序存儲器★數(shù)據(jù)存儲器項目一一只會閃光的燈●內(nèi)部數(shù)據(jù)存儲器AT89S52有256字節(jié)的片內(nèi)RAM,地址空間為00H~FFH。其中,低128B(地址為00H~7FH)是真正的RAM區(qū);高128B(地址為80H~FFH)與片內(nèi)特殊功能寄存器(SFR)區(qū)(80H~FFH)地址完全重合。但在物理上是完全獨立的。單片機(jī)采用不同的尋址方式,以區(qū)分這兩個重疊的邏輯地址空間。訪問(80H~FFH)區(qū)間的SFR時,只能用直接尋址方式。如MOV0A0H,#Data指令的目的操作數(shù)是直接地址,將立即數(shù)#Data送入SFR中的0A0H單元中。項目一一只會閃光的燈●內(nèi)部數(shù)據(jù)存儲器項目一一只會閃光的燈訪問(80H~FFH)區(qū)間的片內(nèi)RAM時,只能間接尋址方式。如MOVR0,0A0HMOV@R0,#Data●外部數(shù)據(jù)存儲器地址范圍為0000H~FFFFH,可達(dá)64KB。用MOVX指令進(jìn)行訪問。
項目一一只會閃光的燈訪問(80H~FFH)區(qū)間的片內(nèi)RAM時,只能間接尋址方式。89S52單片機(jī)在系統(tǒng)上采用了哈佛型,其存儲器在物理結(jié)構(gòu)上分程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)。有四個物理上相互獨立的存儲空間:其配置如圖所示。片內(nèi)ROM片外ROM片內(nèi)RAM片外RAM/I/O口60KB8KB64KB128BRAM128BSFR1FFFH2000H項目一一只會閃光的燈89S52單片機(jī)在系統(tǒng)上采用了哈佛型,其存儲器在(二)AT89S52單片機(jī)引腳功能AT89S52單片機(jī)有40個引腳,HMOS工藝制造的芯片采用雙列直插式封裝(DIP)。項目一一只會閃光的燈(二)AT89S52單片機(jī)引腳功能AT89S52單★電源引腳Vcc和GNDVCC(40):電源端,+5V。GND(20):接地端。通常在Vcc和GND引腳之間接0.1μ高頻濾波電容。項目一一只會閃光的燈★電源引腳Vcc和GND項目一一只會閃光的燈★控制信號引腳
ALE地址鎖存控制信號。PSEN片外程序存儲器選通信號,低電平有效。
EA訪問外部程序存儲器的控制信號,低電平有效RST復(fù)位信號,高電平有效?!飼r鐘電路引腳XTAL1和XTAL2XTAL2(18):接外部晶體和微調(diào)電容。若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。XTAL1(19):接外部晶體和微調(diào)電容的另一端。若使用外部TTL時鐘時,該引腳必須接地。項目一一只會閃光的燈★控制信號引腳★時鐘電路引腳XTAL1和XTAL2★
I/O(輸入/輸出)端口(Port)P0、P1、P2、P3
P0口(32腳~39腳):一個8位漏極開路型雙向I/O口。當(dāng)用做通用I/O口時,每個引腳可驅(qū)動8個TTL負(fù)載;當(dāng)用做輸入時,每個端口首先置1。在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,此時,P0口內(nèi)含上拉電阻。
P1口(1腳-8腳):一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。當(dāng)用做通用I/O口時,每個引腳可驅(qū)動8個TTL負(fù)載。當(dāng)用作輸入時,每個端口首先置1。P2口(21腳-28腳):一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動四個TTL負(fù)載。當(dāng)用作輸入時,每個端口首先置1。
P3口(10腳—17腳):一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動四個TTL負(fù)載。當(dāng)用作輸入時,每個端口首先置1。P3口還用于第二功能。項目一一只會閃光的燈★I/O(輸入/輸出)端口(Port)P0、P1、P2引腳的第二功能(1)P3.0 RxD 串行口輸入端P3.1 TxD 串行口輸出端P3.2 INT0外部中斷0請求輸入端P3.3 INT1外部中斷1請求輸出端P3.4 T0 定時器/計數(shù)器0計數(shù)脈沖輸入端P3.5 T1 定時器/計數(shù)器1計數(shù)脈沖輸入端P3.6 WR 外部RAM寫選通輸出端P3.7 RD 外部RAM讀選通輸出端項目一一只會閃光的燈引腳的第二功能(1)P3.0 RxD 串行口輸入端項引腳的第二功能(2)P1.0 T2定時器2的外部事件輸入端;可編程脈沖輸出端P1.1 T2EX定時器2的捕捉/重裝觸發(fā)器輸入端;定時器2的計數(shù)方向控制端P1.5 MOSIFlssh串行編程/下載時串行指令輸入端P1.6 MISOFlssh串行編程/下載時串行數(shù)據(jù)輸出端P1.7 SCK時鐘輸入端項目一一只會閃光的燈引腳的第二功能(2)P1.0 T2定時器2的三、AT89S52單片機(jī)最小應(yīng)用1.最小系統(tǒng)所謂最小系統(tǒng)就是指由單片機(jī)和一些基本的外圍電路所組成的一個可以工作的單片機(jī)系統(tǒng)。一般來說,它包括單片機(jī),晶振電路和復(fù)位電路。(1)晶振電路XTAL1和XTAL2分別為振蕩電路的輸入輸出端。其振蕩電路有兩種組成方式:片內(nèi)振蕩器和片外振蕩器。片內(nèi)振蕩器如圖所示。在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調(diào)電容構(gòu)成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz~12MHz之間。項目一一只會閃光的燈三、AT89S52單片機(jī)最小應(yīng)用1.最小系統(tǒng)項目一XTAL2XTAL1GND89S52(a)片內(nèi)振蕩器組成項目一一只會閃光的燈XTAL2XTAL1GND89S52(a)片內(nèi)振蕩器組成項目片外振蕩器如圖所示。XTAL1是外部時鐘信號的輸入端,XTAL2可懸空。由于外部時鐘信號經(jīng)過片內(nèi)一個2分頻的觸發(fā)器進(jìn)入時鐘電路,因此對外部時鐘信號的占空比沒有嚴(yán)格要求,但高、低電平的時間寬度應(yīng)不小于20ns。(b)片外振蕩器組成XTAL2XTAL1GND89S52NC外部時鐘信號項目一一只會閃光的燈片外振蕩器如圖所示。XTAL1是外部時鐘信號的輸入端,XTA時序是非常重要的概念,它指明單片機(jī)內(nèi)部以及內(nèi)部與外部互相聯(lián)系所遵守的規(guī)律。
(2)CPU時序的概念單片機(jī)在執(zhí)行指令時,通常將一條指令分解為若干基本的微操作,這些微操作所對應(yīng)的脈沖信號在時間上的先后次序稱為單片機(jī)的時序。
項目一一只會閃光的燈時序是非常重要的概念,它指明單片機(jī)內(nèi)部以及內(nèi)部與
AT89S52的時序定時單位從小到大依次為:振蕩周期(節(jié)拍)、時鐘周期(狀態(tài))、機(jī)器周期和指令周期。振蕩周期是指晶體振蕩器直接產(chǎn)生的振蕩信號的周期。是振蕩頻率的倒數(shù)。用P表示。時鐘周期時鐘周期又稱狀態(tài)周期,用S表示。是振蕩周期的二倍。每個時鐘周期分為P1和P2兩個節(jié)拍,P1拍節(jié)完成算術(shù)邏輯操作,P2節(jié)拍完成內(nèi)部寄存器間數(shù)據(jù)的傳遞。S=2個振蕩周期機(jī)器周期是機(jī)器的基本操作周期。1個機(jī)器周期=6個時鐘周期=12個振蕩周期指令周期執(zhí)行一條指令所占用的全部時間。一個指令周期通常由1~4個機(jī)器周期組成。AT89S52系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。項目一一只會閃光的燈AT89S52的時序定時單位從小到大依次為:例如:外接晶振頻率為fosc=12MHZ,則四個基本周期的具體數(shù)值為:(1)振蕩周期=1/12μs。(2)時鐘周期=1/6μs。(3)機(jī)器周期=1μs。(4)指令周期=1~4μs項目一一只會閃光的燈例如:外接晶振頻率為fosc=12MHZ,則四個基本周期的(3)復(fù)位電路復(fù)位分為上電自動復(fù)位按鍵和手動復(fù)位。+5VVCCRST89S52GNDVCCRST89S52GND+5V10μF8.2KΩ10μF1KΩ5.1K按鍵(a)上電自動復(fù)位電路(b)手動復(fù)位電路項目一一只會閃光的燈(3)復(fù)位電路+5VVCCVCC+5V10μF8.2KΩ12.單片機(jī)最小系統(tǒng)常用控制部件(1)繼電器繼電器是用低電壓控制高電壓的器件,它分為線圈、鐵芯、銜鐵、觸點,觸點有常開觸點、常閉觸點之分。在開關(guān)特性上有單刀單置、雙刀單置、單刀雙置、雙刀雙置、單刀多置、雙刀多置之別。
項目一一只會閃光的燈2.單片機(jī)最小系統(tǒng)常用控制部件項目一一只會閃光的燈
(a)繼電器(b)光耦符號圖1.8繼電器和光耦符號項目一一只會閃光的燈(a)繼電器(2)光耦光耦在電路中起隔離作用,由光作為信號傳遞媒介,將單片機(jī)和外部設(shè)備在電器隔離。有三極管型光耦(又分帶基極型和不帶基極型)、可控硅型光耦(又分單向可控和雙向可控)。(3)指示燈
項目一一只會閃光的燈(2)光耦項目一一只會閃光的燈◆硬件設(shè)計閃光燈電路是AT89S52單片機(jī)的一種最簡單電路,它包含3個部分:晶振電路,上電復(fù)位電路和用戶電路。見圖1.9。當(dāng)P0.0輸出為“1”時,LED無電流不發(fā)光。當(dāng)P0.0輸出為“0”時,流過LED的電流為
項目一一只會閃光的燈第三部分項目實施◆硬件設(shè)計項目一一只會閃光的燈第三圖1.9閃光燈電路原理圖89S52項目一一只會閃光的燈圖1.9閃光燈電路原理圖89S52項目一一只會閃光程序清單如下ORG 0000HL1: CPL P0.0 MOV R6,#00H;1個機(jī)器周期L2: MOV R7,#00H;1個機(jī)器周期L3: NOP;1個機(jī)器周期 DJNZ R7,L3;2個機(jī)器周期 DJNZ R6,L2;2個機(jī)器周期 SJMP L1;2個機(jī)器周期 END◆
軟件項目一一只會閃光的燈程序清單如下◆軟件項目一一只會閃光的燈總延時時間:[(1+1+2)×256+1+2]×256=262912個機(jī)器周期振蕩頻率=6MHz1個機(jī)器周期=2μS則延時時間:2μS×262912=525824μS=525.824mS振蕩頻率=12MHz一個機(jī)器周期=1μS則延時時間:1μS×262912=262912μS=262.912mS調(diào)整R6和R7的值,可改變延時時間。項目一一只會閃光的燈總延時時間:項目一一只會閃光的燈項目二熟悉Keil開發(fā)平臺第一部分 項目要求掌握KeilC51μVision2集成開發(fā)環(huán)境的基本使用方法;學(xué)會使用匯編語言進(jìn)行程序編輯、匯編與模擬仿真調(diào)試的過程;學(xué)會在線下載和編程器的使用。第二部分 相關(guān)知識項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開一、單片機(jī)集成開發(fā)環(huán)境所有的計算機(jī)只能識別和執(zhí)行二進(jìn)制代碼,而不能識別我們熟知的語言,因此,對于已寫好的單片機(jī)源程序匯編語言(或C語言),必須翻譯成單片機(jī)可識別的目標(biāo)代碼,然后轉(zhuǎn)載到單片機(jī)的程序存儲器中進(jìn)行調(diào)試,這種翻譯工具稱為編譯器。
KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,編譯后生成的匯編代碼,到KeilC51生成的目標(biāo)代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。項目二熟悉Keil開發(fā)平臺一、單片機(jī)集成開發(fā)環(huán)境所有的計算機(jī)只能識別和執(zhí)行二(一)keil51windows集成開發(fā)平臺的使用1.keil51windows集成開發(fā)平臺介紹工具欄菜單欄源文件編輯窗口工程窗口輸出窗口項目二熟悉Keil開發(fā)平臺(一)keil51windows集成開發(fā)平臺的使用工具欄2.導(dǎo)入需要仿真的程序
建立一個工程項目芯片選擇屬性設(shè)置建立源程序文件添加文件到當(dāng)前項目組中編譯文件項目二熟悉Keil開發(fā)平臺2.導(dǎo)入需要仿真的程序建立一個工程項目項目二熟悉項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺項目二熟悉Keil開發(fā)平臺(二)Keil程序調(diào)試1.程序調(diào)試時的常用窗口編譯文件界面項目二熟悉Keil開發(fā)平臺(二)Keil程序調(diào)試1.程序調(diào)試時的常用窗口編譯調(diào)試程序窗口字母C:代碼存儲空間D:直接尋址的片內(nèi)存儲空間I:間接尋址的片內(nèi)存儲空間X:擴(kuò)展的外部RAM空間“數(shù)字”:想要查看的地址。項目二熟悉Keil開發(fā)平臺調(diào)試程序窗口字母C:代碼存儲空間項目二熟悉Keil工程窗口寄存器頁項目二熟悉Keil開發(fā)平臺工程窗口寄存器頁項目二熟悉Keil開發(fā)平臺2.各種窗口在程序調(diào)試中的用途
程序調(diào)試界面項目二熟悉Keil開發(fā)平臺2.各種窗口在程序調(diào)試中的用途程序調(diào)試界面項目二熟I/O端口界面項目二熟悉Keil開發(fā)平臺I/O端口界面項目二熟悉Keil開發(fā)平臺I/O口全部打開界面項目二熟悉Keil開發(fā)平臺I/O口全部打開界面項目二熟悉Keil開發(fā)平臺輸入值的設(shè)置項目二熟悉Keil開發(fā)平臺輸入值的設(shè)置項目二熟悉Keil開發(fā)平臺打開后的Interrupt窗口項目二熟悉Keil開發(fā)平臺打開后的Interrupt窗口項目二熟悉Keil串口設(shè)置項目二熟悉Keil開發(fā)平臺串口設(shè)置項目二熟悉Keil開發(fā)平臺打開后的串口窗口項目二熟悉Keil開發(fā)平臺打開后的串口窗口項目二熟悉Keil開發(fā)平臺定時器設(shè)置項目二熟悉Keil開發(fā)平臺定時器設(shè)置項目二熟悉Keil開發(fā)平臺打開后的定時器1窗口項目二熟悉Keil開發(fā)平臺打開后的定時器1窗口項目二熟悉Keil開發(fā)平臺常用的調(diào)試按鈕復(fù)位按鈕,按下后,所有的系統(tǒng)狀態(tài)將變成初始狀態(tài)。
全速運(yùn)行
進(jìn)入循環(huán)并單步執(zhí)行
停止全速運(yùn)行
跳過循環(huán)并單步執(zhí)行跳出單步執(zhí)行過程執(zhí)行到斷點處項目二熟悉Keil開發(fā)平臺常用的調(diào)試按鈕復(fù)位按鈕,按下后,所有的系統(tǒng)狀態(tài)將變成初始狀二、ISP軟件的使用打開下載軟件,雙擊目錄下的文件ISPgm.exe,打開軟件進(jìn)入軟件使用界面1.芯片選擇:左擊界面右面芯片選擇窗口的下拉箭標(biāo),選擇編程芯片的型號。2.導(dǎo)入hex文件到緩沖區(qū):左擊界面上的“OpenFile”按鈕,選擇本目錄下的hex文件。3.向芯片寫入文件:左擊界面上的“Write”按鈕,開始編程向芯片寫入程序。4.完成寫入編程。5.退出程序:左擊界面右上角的“x”按鈕,退出此程序。項目二熟悉Keil開發(fā)平臺二、ISP軟件的使用打開下載軟件,雙擊目錄下的文件ISPg設(shè)計一個交通信號燈控制器硬件電路。要求每個道口安裝一組交通燈,每組信號燈有紅、綠、黃三種信號(兩個方向可各使用1組,共6個燈)。畫出電路,說明原理。并說明在設(shè)計過程中遇到的問題,是如何解決的。討論題1設(shè)計一個交通信號燈控制器硬件電路。要求每個道學(xué)習(xí)情景一單片機(jī)知識概述學(xué)習(xí)目標(biāo):掌握單片機(jī)的概念及特點了解(單片機(jī))馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)的差異了解AT89S52單片機(jī)結(jié)構(gòu),掌握內(nèi)部數(shù)據(jù)存儲器的空間分配和SFR掌握AT89S52單片機(jī)的外部引腳功能及單片機(jī)最小應(yīng)用系統(tǒng)掌握單片機(jī)集成開發(fā)環(huán)境KeilC51、在線下載軟件ISP的使用方法學(xué)習(xí)情景一單片機(jī)知識概述學(xué)習(xí)目標(biāo):技能要求:利用AT89S52單片機(jī)制作一個簡單的實用電路會使用相應(yīng)軟件對程序進(jìn)行仿真和調(diào)試項目一一只會閃光的燈第一部分 項目要求
組裝一個單片機(jī)的最小系統(tǒng),用以控制一只發(fā)光二極管(LED)閃光。
技能要求:一、單片微型計算機(jī)
(一)單片機(jī)的概念與特點
1.什么是單片機(jī)?
單片機(jī)(SingleChipComputer)又稱單片微控制器(Microcontroller),它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。
單片機(jī)主要組成部分:①中央處理器CPU②存儲器(數(shù)據(jù)存儲器RAM程序存儲ROM)③輸入/輸出接口④定時器/計數(shù)器項目一一只會閃光的燈第二部分相關(guān)知識一、單片微型計算機(jī)(一)單片機(jī)的概念與特點1.
2.單片機(jī)的特點(優(yōu)點)★體積小、重量輕;★
電源單一、功耗低(突出特點);★
功能強(qiáng)、價格低,有優(yōu)異的性能價格比;★
全部集成在芯片上,布線短,合理,集成度高;★
數(shù)據(jù)大部分在單片機(jī)內(nèi)傳遞,運(yùn)行速度快,抗干擾能力強(qiáng),可靠性高。項目一一只會閃光的燈2.單片機(jī)的特點(優(yōu)點)★體積小、重量輕;項目一
(二)單片機(jī)體系結(jié)構(gòu)
單片機(jī)的體系結(jié)構(gòu)有兩種,一是傳統(tǒng)的馮·諾依曼(JohnVonNeumann)結(jié)構(gòu);另一種是哈佛(Harvard)結(jié)構(gòu)。1.馮·諾依曼結(jié)構(gòu)
項目一一只會閃光的燈(二)單片機(jī)體系結(jié)構(gòu)單片機(jī)的體系2.哈佛結(jié)構(gòu)
數(shù)據(jù)與程序分別存于兩個存儲器中,是哈佛結(jié)構(gòu)的重要特點。哈佛結(jié)構(gòu)的數(shù)據(jù)總線和指令傳輸總線完全分開。其優(yōu)點是,指令和數(shù)據(jù)空間是完全分開的,一個用于取指令,另一個用于存取數(shù)據(jù)。所以與常見的馮·諾依曼結(jié)構(gòu)不同的第一點是:程序和數(shù)據(jù)總線可以采用不同的寬度。數(shù)據(jù)總線都是8位的,但低檔、中檔和高檔系列的指令總線位數(shù)分別為12、14和16位。第二點是:由于可以對程序和數(shù)據(jù)同時進(jìn)行訪問,CPU的取指和執(zhí)行采用指令流水線結(jié)構(gòu),當(dāng)一條指令被執(zhí)行時允許下一條指令同時被取出,使得在每個時鐘周期可以獲得最高效率。
項目一一只會閃光的燈2.哈佛結(jié)構(gòu)項目一一只會閃光的燈周期0周期1周期2周期3周期4取指0執(zhí)行0取指1執(zhí)行1取指2執(zhí)行2取指3執(zhí)行3圖1.3指令流水線結(jié)構(gòu)示意圖項目一一只會閃光的燈周期0周期1周期2周期3周期4取指0執(zhí)行0取指1執(zhí)行1取指2二、單片機(jī)的應(yīng)用1.家用電器:廣泛應(yīng)用于家用電器的自動控制,智能卡特點:提高家用電器的性能和質(zhì)量;降低家用電器的生產(chǎn)成本和銷售價格。2.智能儀器儀表:單片機(jī)體積小,耗電少,被廣泛用于各類儀器儀表特點:單片機(jī)使儀器儀表走向了智能化和微型化,使儀器儀表的功能和可靠性大大提高。項目一一只會閃光的燈二、單片機(jī)的應(yīng)用1.家用電器:廣泛應(yīng)用于家用電器的自動控制,3.網(wǎng)絡(luò)與通信:許多型號的單片機(jī)都有通信接口可方便地進(jìn)行機(jī)間通信,也可方便地組成網(wǎng)絡(luò)系統(tǒng)。如:單片機(jī)控制的無線遙控系統(tǒng),列車無線通信系統(tǒng)和串行自動呼叫應(yīng)答系統(tǒng)等。4.工業(yè)控制:單片機(jī)可以構(gòu)成各種工業(yè)測控系統(tǒng),數(shù)據(jù)采集系統(tǒng)。如:數(shù)控機(jī)床、汽車安全技術(shù)檢測系統(tǒng),報警系統(tǒng)和生產(chǎn)過程自動控制等。項目一一只會閃光的燈3.網(wǎng)絡(luò)與通信:許多型號的單片機(jī)都有通信接口可方便地進(jìn)行機(jī)間單片機(jī)的發(fā)展可以分為三個階段20世紀(jì)70年代為單片機(jī)發(fā)展的初級階段。典型代表:Intel公司的MCS-48系列單片機(jī)。有4位、8位CPU,并行I/O口,8位定時器/計數(shù)器,無串行口,中斷處理比較簡單,RAM、ROM容量較小,尋址范圍不超過4KB。
三、單片機(jī)的發(fā)展項目一一只會閃光的燈單片機(jī)的發(fā)展可以分為三個階段三、單片機(jī)的發(fā)展項目一一20世紀(jì)80年代為高性能單片機(jī)的發(fā)展階段。典型代表:Intel公司的MCS-51、MCS-96系列單片機(jī),單片機(jī)普及階段。是8位CPU,片內(nèi)RAM、ROM容量加大,片外尋址范圍可達(dá)64KB,增加了串行口,多級中斷處理系統(tǒng),16位定時器/計數(shù)器。20世紀(jì)90年代至今為單片機(jī)的高速發(fā)展階段。典型代表:MCS—96系列單片機(jī)。是16位CPU,片內(nèi)RAM、ROM容量進(jìn)一步增大,增加了A/D、D/A轉(zhuǎn)換器,8級中斷處理功能,實時處理能力更強(qiáng),它允許用戶采用面向工業(yè)控制的專用語言,如C語言等。項目一一只會閃光的燈20世紀(jì)80年代為高性能單片機(jī)的發(fā)展階段。項目一一只單片機(jī)發(fā)展可歸結(jié)為以下幾個方面:
1.增加字長,提高數(shù)據(jù)精度和處理的速度2.改進(jìn)制作工藝,提高單片機(jī)的整體性能3.由復(fù)雜指令集CISC轉(zhuǎn)向簡單指令集RISC技術(shù)4.多功能模塊集成技術(shù),使一塊“嵌入式”芯片具有多種功能5.微處理器與DSP技術(shù)結(jié)合6.融入高級語言的編譯程序7.低電壓、寬電壓、低功耗項目一一只會閃光的燈單片機(jī)發(fā)展可歸結(jié)為以下幾個方面:1.增加字長,提高數(shù)據(jù)精MCS-51單片機(jī)系列:兩大系列:MCS-51子系列和MCS-52子系列。其中51子系列是基本型,而52子系列屬于增強(qiáng)型。各子系列配置如下表所示。片內(nèi)ROM形式
無ROMEPROM
80318051875180C3180C5187C5180328052875280C3280C5287C52四、AT89S52單片機(jī)結(jié)構(gòu)項目一一只會閃光的燈MCS-51單片機(jī)系列:四、AT89S52單片機(jī)結(jié)構(gòu)項目一52子系列與51子系列相比,其功能增強(qiáng)的具體方面如下:1.片內(nèi)RAM從128字節(jié)增加到256字節(jié)2.片內(nèi)ROM從4KB增加到8KB3.定時器/計數(shù)器從2個增加到3個4.中斷源從5個增加到6~7個項目一一只會閃光的燈52子系列與51子系列相比,其功能增強(qiáng)的具體方面如下:項目一AT89S52是一個低功率,高性能的CMOS8位微控制器并且在系統(tǒng)中集成了8K字節(jié)的可編程閃存?!粢粋€8位CPU;◆一個片內(nèi)振蕩器及時鐘電路;◆8K字節(jié)可重復(fù)擦寫的Flash閃速存儲器◆三級加密程序存儲器;◆256×8字節(jié)內(nèi)部RAM;◆3個16位定時器/計數(shù)器;◆32條可編程的I/O線(四個8位并行I/O端口);◆一個可編程全雙工串行口;具有8個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu)。(一)AT89S52單片機(jī)的結(jié)構(gòu)項目一一只會閃光的燈AT89S52是一個低功率,高性能的CMOS8位微控制器并項目一一只會閃光的燈項目一一只會閃光的燈1.CPU
中央處理器CPU是單片機(jī)的核心,是單片機(jī)的大腦和心臟。它由運(yùn)算器和控制器等部件組成。作用:主要完成運(yùn)算和控制功能。MCS-51CPU是字長為8位的中央處理單元,即它對數(shù)據(jù)的處理是以字節(jié)為單位進(jìn)行的。(1)
運(yùn)算器運(yùn)算部件以算術(shù)邏輯單元ALU為核心,加上累加器ACC、寄存器B、暫存器、程序狀態(tài)字PSW以及十進(jìn)制調(diào)整電路和布爾處理器等許多部件組成的。項目一一只會閃光的燈1.CPU中央處理器CPU是單片機(jī)的1)算術(shù)邏輯單元(
ALU—ArithmeticLogicUnit)
可以對4位(半字節(jié))8位(一字節(jié))和16位(雙字節(jié))數(shù)據(jù)進(jìn)行操作。作用:完成算術(shù)四則運(yùn)算和邏輯運(yùn)算、位操作及循環(huán)移位等邏輯操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存器(PSW)。2)累加器ACC,在指令中用助記符A來表示A是一個8位寄存器,是CPU中工作最繁忙的寄存器。作用:在算數(shù)邏輯運(yùn)算中,用來存放一個操作數(shù)或運(yùn)算結(jié)果(包括中間結(jié)果)。在與外部存儲器和I/O接口打交道時,完成數(shù)據(jù)傳送。項目一一只會閃光的燈1)算術(shù)邏輯單元(ALU—ArithmeticLogic3)寄存器B作用:可作通用寄存器。在乘、除運(yùn)算中使用。作乘法運(yùn)算時,寄存器B用來存放乘數(shù)以及積的高位字節(jié);作除法運(yùn)算時,寄存器B用來存放除數(shù)以及余數(shù);不作乘、除運(yùn)算時,寄存器B可作通用寄存器使用。4)程序狀態(tài)字寄存器PSW(程序狀態(tài)標(biāo)志寄存器)8位寄存器。作用:存放當(dāng)前指令執(zhí)行后操作結(jié)果的某些特征,以便下一條指令的執(zhí)行提供依據(jù)。項目一一只會閃光的燈3)寄存器B作用:可作通用寄存器。在乘、除運(yùn)算中使用。4)程序狀態(tài)字PSW各位標(biāo)志的含義CYACF0RS1RS0OV-P
PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CY(PSW.7)進(jìn)位標(biāo)志位AC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志F0(PSW.5)用戶標(biāo)志位RS1和RS0(PSW.4,PSW.3)工作寄存器組選擇位OV(PSW.2)溢出標(biāo)志位PSW.1未定義位P(PSW.0)奇偶標(biāo)志位程序狀態(tài)字PSW各位標(biāo)志的含義CYACF0RS1RS0OV-CY是PSW中最常用的標(biāo)志位。由硬件或軟件置位和清零。*在字節(jié)運(yùn)算時:它表示運(yùn)算結(jié)果是否有進(jìn)位(或借位)。加法時:有進(jìn)位Cy由硬件置“1”即Cy=1;無進(jìn)位CY被硬件清“0”即Cy=0。減法時:有借位Cy由硬件置“1”即Cy=1;無借位CY被硬件清“0”即Cy=0。*在位操作(布爾操作)時:CY作為累加器使用,其作用相當(dāng)于字節(jié)操作的累加器ACC。
CyCY是PSW中最常用的標(biāo)志位。Cy在指令中可作為轉(zhuǎn)移的條件
JCrel;cy=1轉(zhuǎn)移JNCrel;cy=0轉(zhuǎn)移位操作指令中做累加器ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLCMOVC,bitMOVbit,cCyC在指令中可作為轉(zhuǎn)移的條件CyCAC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志。
當(dāng)執(zhí)行加減運(yùn)算時,其運(yùn)算結(jié)果產(chǎn)生低四位向高四位進(jìn)位或借位時,AC由硬件置“1”;否則AC位被自動清“0”。
一般在BCD碼運(yùn)算時,系統(tǒng)用于進(jìn)行十進(jìn)制調(diào)整。Ac項目一一只會閃光的燈AC(PSW.6)輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志。Ac項目一F0
F0(PSW.5)用戶標(biāo)志位。用戶可根據(jù)自己的需要對F0位賦予一定的含義,由用戶置位或復(fù)位,作為軟件標(biāo)志。
SETBF0;置位CLRF0
;復(fù)位
項目一一只會閃光的燈F0F0(PSW.5)用戶標(biāo)志位。RS1&RS0RS1(PSW.4)、RS0(PSW.3)
寄存器區(qū)選擇控制位。RS1RS0寄存器組片內(nèi)RAM地址00第0組00H-07H01第1組08H-0FH10第2組10H-17H11第3組18H-1FH項目一一只會閃光的燈RS1&RS0RS1(PSW.4)、RS0(PSW.3)RCPU通過對PSW中的D4、D3位內(nèi)容的修改,就能任選一個工作寄存器區(qū)。例如:SETBPSW.3 CLRPSW.4;選定第1區(qū)SETBPSW.4CLRPSW.3;選定第2區(qū)SETBPSW.3SETBPSW.4;選定第3區(qū)項目一一只會閃光的燈CPU通過對PSW中的D4、D3位內(nèi)容的修改,就能任選一個工OVOV(PSW.2)溢出標(biāo)志位它反映運(yùn)算結(jié)果是否溢出,溢出時則由硬件將OV位置“1”;否則置“0”。只有在補(bǔ)碼運(yùn)算時起作用。
雙進(jìn)位位法判溢出:OV=C8⊕C7
項目一一只會閃光的燈OVOV(PSW.2)溢出標(biāo)志位項目一一只會閃P(PSW.0)奇偶標(biāo)志位P標(biāo)志表明累加器ACC中1的個數(shù)的奇偶性。在每條指令執(zhí)行完后,單片機(jī)根據(jù)ACC的內(nèi)容對P位自動置位或復(fù)位。若累加器ACC中有奇數(shù)個“1”,則P=1;若累加器ACC中有偶數(shù)個“1”,則P=0。P項目一一只會閃光的燈P(PSW.0)奇偶標(biāo)志位P項目一一只會閃光
溢出和進(jìn)位是兩種不同性質(zhì)的概念溢出是指有正負(fù)號的兩個數(shù)運(yùn)算時,運(yùn)算結(jié)果超出了累加器以補(bǔ)碼所能表示一個有符號數(shù)的范圍。而進(jìn)位則表示兩數(shù)運(yùn)算最高位(D7)相加(或相減)有無進(jìn)位(或借位)。因此使用時應(yīng)加以注意。OV與Cy項目一一只會閃光的燈溢出和進(jìn)位是兩種不同性質(zhì)的概念OV與Cy項目(2)控制器控制器是CPU的大腦中樞,是計算機(jī)的指揮控制部件。組成:程序計數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針(DPTR)、堆棧指針(SP)以及定時與控制電路等。功能:對來自存儲器中的指令進(jìn)行譯碼,通過定時控制電路在規(guī)定的時刻發(fā)出各種操作所需的控制信號,使各部分協(xié)調(diào)工作,完成指令所規(guī)定的功能。項目一一只會閃光的燈(2)控制器控制器是CPU的大腦中樞,是計1)程序計數(shù)器(PC)16位計數(shù)器(重要)
PC是程序的字節(jié)地址計數(shù)器,16位專用寄存器,尋址范圍為64KB。
作用:存放CPU執(zhí)行的下一條指令的地址,具有自動加1的功能。工作原理:當(dāng)一條指令按照PC所指的地址從程序存儲器中取出后,PC會自動加1,指向下一條指令。項目一一只會閃光的燈項目一一只會閃光的燈2)指令寄存器IR和指令譯碼器ID指令寄存器IR:8位寄存器作用:用于暫存待執(zhí)行的指令,等待譯碼。指令譯碼器ID:作用:對指令寄存器中的指令進(jìn)行譯碼,即將指令轉(zhuǎn)變?yōu)樗璧碾娖叫盘枴8鶕?jù)譯碼器輸出的電平信號,再經(jīng)定時控制電路定時產(chǎn)生執(zhí)行該指令所需要的各種控制信號。項目一一只會閃光的燈2)指令寄存器IR和指令譯碼器ID項目一一只會閃程序存儲器PC取出指令碼指令寄存器IR指令譯碼器ID把指令轉(zhuǎn)變成所需要得電平信號CPU產(chǎn)生執(zhí)行該指令所需的各種控制信號取指令執(zhí)行指令分析指令項目一一只會閃光的燈程序PC取出指令指令把指令轉(zhuǎn)變CPU產(chǎn)生執(zhí)行該3)數(shù)據(jù)指針(DPTR)16bit
16位專用寄存器。它可以對64K的外部數(shù)據(jù)存儲器和I/O口進(jìn)行尋址。也可作為兩個8位寄存器。DPL(地址82H):DPTR的低字節(jié),DPH(地址為83H):DPTR的高字節(jié)。作用:用作外部數(shù)據(jù)存儲器的地址指針。
4)堆棧指針(SP)8bit
SP的內(nèi)容就是堆棧棧頂?shù)拇鎯卧刂?。不論是?shù)據(jù)進(jìn)棧還是數(shù)據(jù)出棧,都是對堆棧的棧頂單元進(jìn)行的,即對棧頂單元的寫和讀操作。項目一一只會閃光的燈3)數(shù)據(jù)指針(DPTR)16bit項目一一只會閃光2.存儲器配置及特殊功能寄存器程序存儲器(64KB尋址空間)數(shù)據(jù)存儲器(64KB尋址空間)項目一一只會閃光的燈2.存儲器配置及特殊功能寄存器程序存儲器(64KB尋址空★程序存儲器EA=0:片內(nèi)ROM不起作用。完全執(zhí)行片外程序存儲器指令,外部ROM的地址為0000H~0FFFFH,可達(dá)64KB。EA=1:執(zhí)行片內(nèi)程序存儲器指令,地址為0000H~1FFFH;當(dāng)指令地址超過1FFFH后,自動轉(zhuǎn)向片外ROM取指令,2000~FFFFH。
★數(shù)據(jù)存儲器分為內(nèi)部數(shù)據(jù)存儲器和外部數(shù)據(jù)存儲器。
項目一一只會閃光的燈★程序存儲器★數(shù)據(jù)存儲器項目一一只會閃光的燈●內(nèi)部數(shù)據(jù)存儲器AT89S52有256字節(jié)的片內(nèi)RAM,地址空間為00H~FFH。其中,低128B(地址為00H~7FH)是真正的RAM區(qū);高128B(地址為80H~FFH)與片內(nèi)特殊功能寄存器(SFR)區(qū)(80H~FFH)地址完全重合。但在物理上是完全獨立的。單片機(jī)采用不同的尋址方式,以區(qū)分這兩個重疊的邏輯地址空間。訪問(80H~FFH)區(qū)間的SFR時,只能用直接尋址方式。如MOV0A0H,#Data指令的目的操作數(shù)是直接地址,將立即數(shù)#Data送入SFR中的0A0H單元中。項目一一只會閃光的燈●內(nèi)部數(shù)據(jù)存儲器項目一一只會閃光的燈訪問(80H~FFH)區(qū)間的片內(nèi)RAM時,只能間接尋址方式。如MOVR0,0A0HMOV@R0,#Data●外部數(shù)據(jù)存儲器地址范圍為0000H~FFFFH,可達(dá)64KB。用MOVX指令進(jìn)行訪問。
項目一一只會閃光的燈訪問(80H~FFH)區(qū)間的片內(nèi)RAM時,只能間接尋址方式。89S52單片機(jī)在系統(tǒng)上采用了哈佛型,其存儲器在物理結(jié)構(gòu)上分程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)。有四個物理上相互獨立的存儲空間:其配置如圖所示。片內(nèi)ROM片外ROM片內(nèi)RAM片外RAM/I/O口60KB8KB64KB128BRAM128BSFR1FFFH2000H項目一一只會閃光的燈89S52單片機(jī)在系統(tǒng)上采用了哈佛型,其存儲器在(二)AT89S52單片機(jī)引腳功能AT89S52單片機(jī)有40個引腳,HMOS工藝制造的芯片采用雙列直插式封裝(DIP)。項目一一只會閃光的燈(二)AT89S52單片機(jī)引腳功能AT89S52單★電源引腳Vcc和GNDVCC(40):電源端,+5V。GND(20):接地端。通常在Vcc和GND引腳之間接0.1μ高頻濾波電容。項目一一只會閃光的燈★電源引腳Vcc和GND項目一一只會閃光的燈★控制信號引腳
ALE地址鎖存控制信號。PSEN片外程序存儲器選通信號,低電平有效。
EA訪問外部程序存儲器的控制信號,低電平有效RST復(fù)位信號,高電平有效?!飼r鐘電路引腳XTAL1和XTAL2XTAL2(18):接外部晶體和微調(diào)電容。若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。XTAL1(19):接外部晶體和微調(diào)電容的另一端。若使用外部TTL時鐘時,該引腳必須接地。項目一一只會閃光的燈★控制信號引腳★時鐘電路引腳XTAL1和XTAL2★
I/O(輸入/輸出)端口(Port)P0、P1、P2、P3
P0口(32腳~39腳):一個8位漏極開路型雙向I/O口。當(dāng)用做通用I/O口時,每個引腳可驅(qū)動8個TTL負(fù)載;當(dāng)用做輸入時,每個端口首先置1。在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,此時,P0口內(nèi)含上拉電阻。
P1口(1腳-8腳):一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。當(dāng)用做通用I/O口時,每個引腳可驅(qū)動8個TTL負(fù)載。當(dāng)用作輸入時,每個端口首先置1。P2口(21腳-28腳):一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動四個TTL負(fù)載。當(dāng)用作輸入時,每個端口首先置1。
P3口(10腳—17腳):一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動四個TTL負(fù)載。當(dāng)用作輸入時,每個端口首先置1。P3口還用于第二功能。項目一一只會閃光的燈★I/O(輸入/輸出)端口(Port)P0、P1、P2引腳的第二功能(1)P3.0 RxD 串行口輸入端P3.1 TxD 串行口輸出端P3.2 INT0外部中斷0請求輸入端P3.3 INT1外部中斷1請求輸出端P3.4 T0 定時器/計數(shù)器0計數(shù)脈沖輸入端P3.5 T1 定時器/計數(shù)器1計數(shù)脈沖輸入端P3.6 WR 外部RAM寫選通輸出端P3.7 RD 外部RAM讀選通輸出端項目一一只會閃光的燈引腳的第二功能(1)P3.0 RxD 串行口輸入端項引腳的第二功能(2)P1.0 T2定時器2的外部事件輸入端;可編程脈沖輸出端P1.1 T2EX定時器2的捕捉/重裝觸發(fā)器輸入端;定時器2的計數(shù)方向控制端P1.5 MOSIFlssh串行編程/下載時串行指令輸入端P1.6 MISOFlssh串行編程/下載時串行數(shù)據(jù)輸出端P1.7 SCK時鐘輸入端項目一一只會閃光的燈引腳的第二功能(2)P1.0 T2定時器2的三、AT89S52單片機(jī)最小應(yīng)用1.最小系統(tǒng)所謂最小系統(tǒng)就是指由單片機(jī)和一些基本的外圍電路所組成的一個可以工作的單片機(jī)系統(tǒng)。一般來說,它包括單片機(jī),晶振電路和復(fù)位電路。(1)晶振電路XTAL1和XTAL2分別為振蕩電路的輸入輸出端。其振蕩電路有兩種組成方式:片內(nèi)振蕩器和片外振蕩器。片內(nèi)振蕩器如圖所示。在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調(diào)電容構(gòu)成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值在1.2MHz~12MHz之間。項目一一只會閃光的燈三、AT89S52單片機(jī)最小應(yīng)用1.最小系統(tǒng)項目一XTAL2XTAL1GND89S52(a)片內(nèi)振蕩器組成項目一一只會閃光的燈XTAL2XTAL1GND89S52(a)片內(nèi)振蕩器組成項目片外振蕩器如圖所示。XTAL1是外部時鐘信號的輸入端,XTAL2可懸空。由于外部時鐘信號經(jīng)過片內(nèi)一個2分頻的觸發(fā)器進(jìn)入時鐘電路,因此對外部時鐘信號的占空比沒有嚴(yán)格要求,但高、低電平的時間寬度應(yīng)不小于20ns。(b)片外振蕩器組成XTAL2XTAL1GND89S52NC外部時鐘信號項目一一只會閃光的燈片外振蕩器如圖所示。XTAL1是外部時鐘信號的輸入端,XTA時序是非常重要的概念,它指明單片機(jī)內(nèi)部以及內(nèi)部與外部互相聯(lián)系所遵守的規(guī)律。
(2)CPU時序的概念單片機(jī)在執(zhí)行指令時,通常將一條指令分解為若干基本的微操作,這些微操作所對應(yīng)的脈沖信號在時間上的先后次序稱為單片機(jī)的時序。
項目一一只會閃光的燈時序是非常重要的概念,它指明單片機(jī)內(nèi)部以及內(nèi)部與
AT89S52的時序定時單位從小到大依次為:振蕩周期(節(jié)拍)、時鐘周期(狀態(tài))、機(jī)器周期和指令周期。振蕩周期是指晶體振蕩器直接產(chǎn)生的振蕩信號的周期。是振蕩頻率的倒數(shù)。用P表示。時鐘周期時鐘周期又稱狀態(tài)周期,用S表示。是振蕩周期的二倍。每個時鐘周期分為P1和P2兩個節(jié)拍,P1拍節(jié)完成算術(shù)邏輯操作,P2節(jié)拍完成內(nèi)部寄存器間數(shù)據(jù)的傳遞。S=2個振蕩周期機(jī)器周期是機(jī)器的基本操作周期。1個機(jī)器周期=6個時鐘周期=12個振蕩周期指令周期執(zhí)行一條指令所占用的全部時間。一個指令周期通常由1~4個機(jī)器周期組成。AT89S52系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。項目一一只會閃光的燈AT89S52的時序定時單位從小到大依次為:例如:外接晶振頻率為fosc=12MHZ,則四個基本周期的具體數(shù)值為:(1)振蕩周期=1/12μs。(2)時鐘周期=1/6μs。(3)機(jī)器周期=1μs。(4)指令周期=1~4μs項目一一只會閃光的燈例如:外接晶振頻率為fosc=12MHZ,則四個基本周期的(3)復(fù)位電路復(fù)位分為上電自動復(fù)位按鍵和手動復(fù)位。+5VVCCRST89S52GNDVCCRST89S52GND+5V10μF8.2KΩ10μF1KΩ5.1K按鍵(a)上電自動復(fù)位電路(b)手動復(fù)位電路項目一一只會閃光的燈(3)復(fù)位電路+5VVCCVCC+5V10μF8.2KΩ12.單片機(jī)最小系統(tǒng)常用控制部件(1)繼電器繼電器是用低電壓控制高電壓的器件,它分為線圈、鐵芯、銜鐵、觸點,觸點有常開觸點、常閉觸點之分。在開關(guān)特性上有單刀單置、雙刀單置、單刀雙置、雙刀雙置、單刀多置、雙刀多置之別。
項目一一只會閃光的燈2.單片機(jī)最小系統(tǒng)常用控制部件項目一一只會閃光的燈
(a)繼電器(b)光耦符號圖1.8繼電器和光耦符號項目一一只會閃光的燈(a)繼電器(2)光耦光耦在電路中起隔離作用,由光作為信號傳遞媒介,將單片機(jī)和外部設(shè)備在電器隔離。有三極管型光耦(又分帶基極型和不帶基極型)、可控硅型光耦(又分單向可控和雙向可控)。(3)指示燈
項目一一只會閃光的燈(2)光耦項目一一只會閃光的燈◆硬件設(shè)計閃光燈電路是AT89S52單片機(jī)的一種最簡單電路,它包含3個部分:晶振電路,上電復(fù)位電路和用戶電路。見圖1.9。當(dāng)P0.0輸出為“1”時,LED無電流不發(fā)光。當(dāng)P0.0輸出為“0”時,流過LED的電流為
項目一一只會閃光的燈第三部分項目實施◆硬件設(shè)計項目一一只會閃光的燈第三圖1.9閃光燈電路原理圖89S52項目一一只會閃光的燈圖1.9閃光燈電路原理圖8
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年及未來5年市場數(shù)據(jù)中國商業(yè)展示道具行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資策略研究報告
- 2025年林業(yè)事業(yè)單位筆試題庫及答案
- 藥品節(jié)假日巡查制度
- 2025 小學(xué)三年級道德與法治上冊防燙傷安全操作示范課件
- 2026年金融分析師考試題庫
- 學(xué)校硅pu球場專項施工方案
- 基坑施工專項施工方案
- 廠房預(yù)制梁吊裝施工方案
- 升壓站建筑工程混凝土基礎(chǔ)專項施工方案
- 鑿除橋梁護(hù)欄混凝土施工技術(shù)方案
- 神經(jīng)刺激治療患者知情同意書模板
- 軟件系統(tǒng)上線測試與驗收報告
- 冬季交通安全測試題及答案解析
- 2025年國家能源局系統(tǒng)公務(wù)員面試模擬題及備考指南
- (2025年標(biāo)準(zhǔn))圈內(nèi)認(rèn)主協(xié)議書
- 2025年安徽省中考化學(xué)真題及答案
- 2025年軍隊文職人員統(tǒng)一招聘面試( 臨床醫(yī)學(xué))題庫附答案
- 海馬體核磁掃描課件
- 某電力股份企業(yè)同熱三期2×100萬千瓦項目環(huán)評報告書
- 2026屆上海市部分區(qū)中考一模語文試題含解析
- 中科大人類生態(tài)學(xué)課件2.0 地球·環(huán)境與人
評論
0/150
提交評論