單片機(jī)原理及應(yīng)用教學(xué)教案_第1頁
單片機(jī)原理及應(yīng)用教學(xué)教案_第2頁
單片機(jī)原理及應(yīng)用教學(xué)教案_第3頁
單片機(jī)原理及應(yīng)用教學(xué)教案_第4頁
單片機(jī)原理及應(yīng)用教學(xué)教案_第5頁
已閱讀5頁,還剩141頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一講一、授課內(nèi)容:1、什么是單片機(jī)2、單片機(jī)的發(fā)展二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):了解單片機(jī)的發(fā)展,應(yīng)用領(lǐng)域和應(yīng)用模式,掌握單片機(jī)的特點(diǎn)五、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):單片機(jī)的特點(diǎn)六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)一、什么是單片機(jī)隨著微電子技術(shù)的不斷發(fā)展,計(jì)算機(jī)技術(shù)也得到迅速發(fā)展,并且由于芯片的集成度的提高而使計(jì)算機(jī)微型化,出現(xiàn)了單片微型計(jì)算機(jī)(SingleChipComputer),簡稱單片機(jī),也可稱為微控制器MCU(MicrocontrollerUnit)。單片機(jī),即集成在一塊芯片上的計(jì)算機(jī),集成了中央處理器CPU(CentralProcessingUnit)、隨機(jī)存儲器RAM(RandomAccessMemory)、只讀存儲器(ReadOnlyMemory)、定時器/計(jì)數(shù)器以及I/O接口電路等主要計(jì)算機(jī)部件。二、單片微型計(jì)算機(jī)發(fā)展概況單片機(jī)出現(xiàn)的歷史并不長,但發(fā)展十分迅猛。它的產(chǎn)生與發(fā)展和微處理器的產(chǎn)生與發(fā)展大體同步,自1971年美國Intel公司首先推出4位微處理器(4004)以來,它的發(fā)展到目前為止大致可分為5個階段:第1階段(1971~1976):單片機(jī)發(fā)展的初級階段。1971年11月Intel公司首先設(shè)計(jì)出集成度為2000只晶體管/片的4位微處理器Intel4004,并配有RAM、ROM和移位寄存器,構(gòu)成了第一臺MCS—4微處理器,而后又推出了8位微處理器Intel8008,以及其它各公司相繼推出的8位微處理器。第2階段(1976~1980):低性能單片機(jī)階段。以1976年Intel公司推出的MCS—48系列為代表,采用將8位CPU、8位并行I/O接口、8位定時/計(jì)數(shù)器、RAM和ROM等集成于一塊半導(dǎo)體芯片上的單片結(jié)構(gòu),雖然其尋址范圍有限(不大于4KB),也沒有串行I/O,RAM、ROM容量小,中斷系統(tǒng)也較簡單,但功能可滿足一般工業(yè)控制和智能化儀器、儀表等的需要。第3階段(1980~1983):高性能單片機(jī)階段。這一階段推出的高性能8位單片機(jī)普遍帶有串行口,有多級中斷處理系統(tǒng),多個16位定時器/計(jì)數(shù)器。片內(nèi)RAM、ROM的容量加大,且尋址范圍可達(dá)64KB,個別片內(nèi)還帶有A/D轉(zhuǎn)換接口。第4階段(1983~80年代末):16位單片機(jī)階段。1983年Intel公司又推出了高性能的16位單片機(jī)MCS—96系列,由于其采用了最新的制造工藝,使芯片集成度高達(dá)12萬只晶體管/片。第5階段(90年代):單片機(jī)在集成度、功能、速度、可靠性、應(yīng)用領(lǐng)域等全方位向更高水平發(fā)展。單片機(jī)的應(yīng)用特性:(1)集成度高M(jìn)CS-51系列單片機(jī)代表產(chǎn)品為8051,8051內(nèi)部包含4KB的ROM、128B的RAM、四個8位并行口、一個全雙工串行口、兩個16位定時器/計(jì)數(shù)器以及一個處理功能強(qiáng)大的中央處理器。(2)系統(tǒng)結(jié)構(gòu)簡單MCS-51系列單片機(jī)芯片內(nèi)部采用模塊化結(jié)構(gòu),增加或更換一個模塊就能獲得指令系統(tǒng)和引腳兼容的新產(chǎn)品。另一方面,MCS-51系列單片機(jī)具有64KB的外部程序存儲器尋址能力和64KB的外部RAM和I/O口尋址能力。Intel公司標(biāo)準(zhǔn)的I/O接口電路和存儲器電路都可以直接連到MCS-51系列單片機(jī)上以擴(kuò)展系統(tǒng)功能,應(yīng)用非常靈活。(3)可靠性高單片機(jī)產(chǎn)品和其他產(chǎn)品一樣,出廠指標(biāo)有軍用品、工業(yè)品和商用品之分。其中軍用品要求絕對可靠,在任何惡劣的環(huán)境下都能可靠工作,主要用于武器系統(tǒng)、航空器等方面。單片機(jī)屬于工業(yè)品,能在常溫下工作,不需要在溫度恒定的機(jī)房內(nèi)工作。由于單片機(jī)總線大多在芯片內(nèi)部不易受干擾,而且單片機(jī)應(yīng)用系統(tǒng)體積小,易于屏蔽,所以單片機(jī)的可靠性較高。(4)處理功能強(qiáng),速度快MCS-51系列單片機(jī)指令系統(tǒng)中具有加、減、乘、除指令,各種邏輯運(yùn)算和轉(zhuǎn)移指令,還具有位操作功能。CPU時鐘頻率高達(dá)12MHz,單字節(jié)乘法和除法僅需要4μs,而且具有特殊的多機(jī)通信功能,可作為多機(jī)系統(tǒng)中的子系統(tǒng)。單片機(jī)的制造工藝:制造單片機(jī)的工藝只有兩種:HMOS工藝和CHMOS工藝。早期的MCS-51系列芯片都采用HMOS工藝,即高密度、短溝道MOS工藝。8051、8751、8031、8951等產(chǎn)品均屬于HMOS工藝制造的產(chǎn)品。CHMOS工藝是CMOS和HMOS的結(jié)合,除保持了HMOS工藝的高密度、高速度之外,還具有CMOS工藝低功耗的特點(diǎn)。例如HMOS工藝制造的8051芯片的功耗為630mW,而用CHMOS工藝制造的80C51芯片的功耗為120mW,這么低的功耗用一粒鈕扣電池就可以工作。單片機(jī)型號中包含有“C”的產(chǎn)品就是指它的制造工藝是CHMOS工藝。例如80C51,就是指用CHMOS工藝制造的8051。三、單片機(jī)的特點(diǎn)(1)體積小、重量輕、功耗低、功能強(qiáng)、性價(jià)比高。(2)數(shù)據(jù)大都在單片機(jī)內(nèi)部傳送,運(yùn)行速度快,抗干擾能力強(qiáng),可靠性高。(3)結(jié)構(gòu)靈活,易于組成各種微機(jī)應(yīng)用系統(tǒng)。(4)應(yīng)用廣泛,既可用于工業(yè)自動控制等場合,又可用于測量儀器、醫(yī)療儀器及家用電器等領(lǐng)域。(5)內(nèi)含有Flash存儲器由于片內(nèi)含有Flash存儲器,因此在系統(tǒng)開發(fā)過程中可以十分容易地進(jìn)行程序的修改。同時,在系統(tǒng)工作過程中,能有效地保存數(shù)據(jù)信息,即使外界電源損壞也不影響信息的保存。(6)和AT80C51插座兼容AT89系列單片機(jī)的引腳和MCS-51系列單片機(jī)的引腳是一樣的。只要用相同引腳的AT89系列單片機(jī)就可以取代MCS-51系列單片機(jī)。(7)靜態(tài)時鐘方式AT89系列單片機(jī)采用靜態(tài)時鐘方式,節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有用。第二講一、授課內(nèi)容:1、MCS-51和80C51系列簡介2、單片機(jī)的應(yīng)用領(lǐng)域和應(yīng)用模式二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):了解單片機(jī)的發(fā)展,應(yīng)用領(lǐng)域和應(yīng)用模式,掌握單片機(jī)的特點(diǎn)五、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):單片機(jī)的特點(diǎn)六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)一、單片機(jī)系列簡介目前世界上單片機(jī)生產(chǎn)廠商很多,如:Intel、Motorola、Philips、Siemens、NEC、ADM、Zilog等公司,其主流產(chǎn)品有幾十個系列,幾百個品種。盡管其各具特色,名稱各異,但作為集CPU、RAM、ROM(或EPROM)、I/O接口、定時器/計(jì)數(shù)器、中斷系統(tǒng)為一體的單片機(jī),其原理大同小異。現(xiàn)以Intel公司的系列產(chǎn)品為例,說明各系列之間的區(qū)別。Intel公司從其生產(chǎn)單片機(jī)開始,發(fā)展到現(xiàn)在,大體上可分為3大系列:MCS—48系列、MCS—51系列、MCS—96系列。MCS—51單片機(jī)系列:MCS—51系列單片機(jī)雖已有10多種產(chǎn)品,但可分為兩大系列:MCS—51子系列與MCS—52子系列。MCS—51子系列中主要有8031、8051、8751三種類型。而MCS—52子系列也有3種類型8032、8052、8752。在某些性能上略有差異。由此可見,在本子系列內(nèi)各類芯片的主要區(qū)別在于片內(nèi)有無ROM或EPROM;MCS—51與MCS—52子系列間所不同的是片內(nèi)程序存儲器ROM從4KB增至8KB;片內(nèi)數(shù)據(jù)存儲器由128個字節(jié)增至256個字節(jié);定時器/計(jì)數(shù)器增加了一個;中斷源增加了1~2個。另外,對于制造工藝為CHMOS的單片機(jī),由于采用CMOS技術(shù)制造,因此具有低功耗的特點(diǎn),如8051功耗約為630mW,而80C51的功耗只有120mW。MCS-51是一個單片機(jī)系列產(chǎn)品,具有多種芯片型號。具體說,按其內(nèi)部資源配置的不同,MCS-51可分為兩個子系列和四種類型.MCS-51子系列包含4個產(chǎn)品,這4個產(chǎn)品具有不同的應(yīng)用特性。8051:單片機(jī)8051內(nèi)部包含了4KB的ROM、128B的RAM、21個特殊功能寄存器、4個8位并行口、一個全雙工串行口、兩個16位定時器/計(jì)數(shù)器以及一個處理功能很強(qiáng)的中央處理器,是一臺完整的微型計(jì)算機(jī)8751:是以4KB的EPROM代替4KBROM的8051。8951:是以4KB的E2PROM(或FlashROM)代替4KBROM的8051。8031:是內(nèi)部無ROM的8051。單片機(jī)8031不構(gòu)成完整計(jì)算機(jī),必須外接EPROM作為程序存儲器。52子系列也包含4個產(chǎn)品,分別是51子系列的增強(qiáng)型。由于資源數(shù)量的增加,芯片的功能有所增強(qiáng)。片內(nèi)ROM容量從4KB增加到8KB;RAM容量從128B增加到256B;定時器數(shù)目從2個增加到3個;中斷源從5個增加到6個等。80C51單片機(jī)系列是在MCS-51系列的基礎(chǔ)上發(fā)展起來的。最早推出80C51系列芯片的是Intel公司,并且作為MCS-51系列的一部分,按原MCS-51系列芯片的規(guī)則命名,例如80C51、80C31、87C51等(至于89C51,我們把它歸入89系列單片機(jī),將在下一節(jié)介紹)。后來越來越多的公司生產(chǎn)80C51芯片,而且型號的命名已面目全非,功能上也做了不同程度的改進(jìn),如增加了A/D轉(zhuǎn)換、高速I/O口等。有些還在總線結(jié)構(gòu)上做了重大改進(jìn),出現(xiàn)了廉價(jià)的非總線型單片機(jī)芯片。但是萬變不離其宗:CHMOS工藝芯片80C51/80C31/87C51/89C51的基本特征是低功耗、允許的電源電壓波動范圍較大(為5V±20%),并有三種功耗控制方式(增加了待機(jī)和掉電保護(hù)兩種方式)。習(xí)慣上,我們?nèi)匀话?0C51系列作為MCS-51的子系列。二、單片機(jī)的應(yīng)用由于單片機(jī)具有體積小、重量輕、價(jià)格便宜、功耗低,控制功能強(qiáng)及運(yùn)算速度快等特點(diǎn),因而在國民經(jīng)濟(jì)建設(shè)、軍事及家用電器等各個領(lǐng)域均得到了廣泛的應(yīng)用。(1)家用電器領(lǐng)域目前國內(nèi)各種家用電器已普遍采用單片機(jī)控制取代傳統(tǒng)的控制電路,而做成單片機(jī)控制系統(tǒng)。例如洗衣機(jī)、電冰箱、空調(diào)機(jī)、微波爐、電飯煲、電視機(jī)、錄像機(jī)及其它視頻音像設(shè)備的控制器。(2)辦公自動化領(lǐng)域現(xiàn)代辦公室中所使用的大量通信、信息產(chǎn)品多數(shù)都采用了單片機(jī),如通用計(jì)算機(jī)系統(tǒng)中的鍵盤譯碼、磁盤驅(qū)動、打印機(jī)、繪圖儀、復(fù)印機(jī)、電話、傳真機(jī)、考勤機(jī)等。(3)智能儀表。用單片機(jī)改造原有的測量、控制儀表,促進(jìn)儀表向數(shù)字化、智能化、多功能化、綜合化、柔性化方向發(fā)展。(4)機(jī)電一體化產(chǎn)品。單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品相結(jié)合,使傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡化,控制智能化。(5)商業(yè)營銷領(lǐng)域由于在商業(yè)營銷系統(tǒng)已廣泛使用的電子稱、收款機(jī)、條形碼閱讀器、倉儲安全監(jiān)測系統(tǒng)、商場保安系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)、冷凍保鮮系統(tǒng)等中,目前已紛紛采用單片機(jī)構(gòu)成專用系統(tǒng),主要由于這種系統(tǒng)有明顯的抗病菌侵害、抗電磁干擾等高可靠性能的保證。(6)汽車電子與航空航天電子系統(tǒng)通常在這些電子系統(tǒng)中的集中顯示系統(tǒng)、動力監(jiān)測控制系統(tǒng)、自動駕馭系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視器(黑匣子)等都要構(gòu)成冗余的網(wǎng)絡(luò)系統(tǒng)。習(xí)題1.什么叫單片機(jī)?除了“單片機(jī)”之外,單片機(jī)還可以稱為什么?2.單片機(jī)主要使用匯編語言,而編寫匯編語言程序要求設(shè)計(jì)人員除了熟練掌握指令系統(tǒng)外,還必須精通什么?3.8051、8751、8031單片機(jī)的主要區(qū)別是什么?4.與8051比較,80C51的最大特點(diǎn)是什么?5.AT89系列單片機(jī)的最大優(yōu)點(diǎn)是什么?6.單片機(jī)發(fā)展方向是什么?第三講一、授課內(nèi)容:進(jìn)位計(jì)數(shù)制及相互轉(zhuǎn)換二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握各數(shù)制之間的相互轉(zhuǎn)換五、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):掌握各數(shù)制之間的相互轉(zhuǎn)換六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)一、進(jìn)位計(jì)數(shù)制按進(jìn)位的原則進(jìn)行計(jì)數(shù)的方法稱之為進(jìn)位計(jì)數(shù)制,簡稱進(jìn)位制。人們?nèi)粘I钪辛?xí)慣上使用十進(jìn)制,而二進(jìn)制使于實(shí)現(xiàn)、存儲、傳輸,所以計(jì)算機(jī)中采用二進(jìn)制。但二進(jìn)制不易書寫和閱讀,因此又引入了八進(jìn)制和十六進(jìn)制。1.十進(jìn)制(后綴或下標(biāo)D表示)十進(jìn)制計(jì)數(shù)原則:逢十進(jìn)一十進(jìn)制的基數(shù)為:10十進(jìn)制的數(shù)碼為:0123456789十進(jìn)制數(shù)第K位的權(quán)為:10k(第K位的權(quán)為基數(shù)的K次方,第K位的數(shù)碼與第K位權(quán)的乘積表示第K位數(shù)的值)。例如:8846.78=8×103+8×102+4×101+6×106+7×10—1+8×10—2該數(shù)中共出現(xiàn)三次數(shù)碼8,但各自的權(quán)不一樣,故其代表的值也不一樣。2.二進(jìn)制(后綴或下標(biāo)B表示)二進(jìn)制計(jì)數(shù)原則:逢二進(jìn)一二進(jìn)制的基數(shù)為:2二進(jìn)制的數(shù)碼為:01二進(jìn)制數(shù)第K位的權(quán)為:2K例如:11010101.01B=1×27+1×26+0×25+1×24+0×23+1×22+0×21+1×20+0×2—1+1×2—2=213.25N位二進(jìn)制數(shù)可以表示2N個數(shù)。例如3位二進(jìn)制數(shù)可以表示8個數(shù),如附表1所示:附表13.八進(jìn)制(后綴或下標(biāo)O表示)八進(jìn)制計(jì)計(jì)數(shù)原則:逢八進(jìn)一八進(jìn)制的基數(shù)為:8八進(jìn)制的數(shù)碼為:01234567八進(jìn)制數(shù)第K位的權(quán)為:8K例如:127O=1×82+2×81+7×80=87D4.十六進(jìn)制(后綴或下標(biāo)H表示)十六進(jìn)制計(jì)數(shù)原則:逢十六進(jìn)一十六進(jìn)制的基數(shù)為:16十六進(jìn)制的數(shù)碼為:0123456789ABCDEF十六進(jìn)制第K位的權(quán)為:16k例如:64.4H=6×161+4×160+4×16—1=100.25D十六進(jìn)制數(shù)、二進(jìn)制和十進(jìn)制數(shù)的對應(yīng)關(guān)系如附表2所示:附表2二、不同進(jìn)位制之間的轉(zhuǎn)換。1.二進(jìn)制數(shù)轉(zhuǎn)換為十制數(shù)。轉(zhuǎn)換原則:按權(quán)展開求和。例如:10001101.11B=1×27+0×26+0×25+0×24+1×23+1×22+0×21+1×20+1×2—1+1×2—2=141.75D八進(jìn)制十六進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù)也同樣遵循該原則,不再單獨(dú)介紹了。2.十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的原則:①整數(shù)部分:除基取余,逆序排列②小數(shù)部分:乘基取整,順序排列例將十進(jìn)數(shù)186和0.8125轉(zhuǎn)換成二進(jìn)制數(shù)。因此:186D=10111010B0.8125D=0.11011B注意:當(dāng)十進(jìn)制小數(shù)不能用有限位二進(jìn)制小數(shù)精確表示時,根據(jù)精度要求,采用“0舍1入”法,取有限位二進(jìn)制小數(shù)近似表示。十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制,十六進(jìn)制數(shù)同樣遵循該原則。3.二進(jìn)制轉(zhuǎn)換為十六進(jìn)制由于十六進(jìn)制的基數(shù)是2的冪,所以二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換是十分方便的,二進(jìn)制轉(zhuǎn)換為十六進(jìn)制的原則:整數(shù)部分從低位到高位四位一組不足補(bǔ)零,直接用十六進(jìn)制數(shù)來表示;小數(shù)部分從高位到低位四位一組不足補(bǔ)零,直接用十六進(jìn)制數(shù)表示。例附—2將二進(jìn)制數(shù)10011110.00111轉(zhuǎn)換成十六進(jìn)制數(shù)。10011110.001110009E38所以10011110.00111B=9E.38H。4.十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的原則:十六進(jìn)制數(shù)中的每一位用4位二進(jìn)制數(shù)來表示。例如:將十六進(jìn)制數(shù)A87.B8轉(zhuǎn)換為二進(jìn)制數(shù)。A87.B810101000011110111000高位低位低位高位所以A87.B8H=101010000111.10111000B。八進(jìn)制的基數(shù)同樣是2的冪,因此二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換也遵循以上的原則,只是將原則中的四位改成三位。例如:將二進(jìn)制數(shù)11010110.110101B轉(zhuǎn)換成八進(jìn)制數(shù)。將八進(jìn)制數(shù)746.42O轉(zhuǎn)換成二進(jìn)制數(shù)。011010110.110101746.423266511110011010001所以,11010110.110101B=326.65O,746.42O=111100110.100010B三、八進(jìn)制數(shù)和十六進(jìn)制數(shù)運(yùn)算1.二進(jìn)制數(shù)的運(yùn)算加法法則乘法法則0+0=00X0=00+1=10X1=01+0=11X0=01+1=0(進(jìn)位1)1X1=1注意:二進(jìn)制數(shù)加法運(yùn)算中1+1=0(進(jìn)位1)和邏輯運(yùn)算中1∨1=1的不同含義。2.十六進(jìn)制數(shù)的運(yùn)算十六進(jìn)制數(shù)的運(yùn)算遵循“逢十六進(jìn)一”的原則。①十六進(jìn)制加法:十六進(jìn)制數(shù)相加,當(dāng)某一位上的數(shù)碼之和S小于16時與十進(jìn)制數(shù)同樣處理,如果數(shù)碼之各S≧16時,則應(yīng)該用S減16及進(jìn)位1來取代S。例如:08A3H+4B89H542CH②十六進(jìn)制減法十六進(jìn)制減法也與十進(jìn)制數(shù)類似,夠減時直接相減,不夠減時服從向高位借1為16的原則。例如:05C3H-3D25HC89EH十六進(jìn)制數(shù)的乘除運(yùn)算同樣根據(jù)逢十六進(jìn)一的原則處理,這里不再繁述。第四講一、授課內(nèi)容:計(jì)算機(jī)中數(shù)和字符的表示二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):熟悉計(jì)算機(jī)中數(shù)和字符的表示五、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):計(jì)算機(jī)中數(shù)和字符的表示六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)一、計(jì)算機(jī)中有符號數(shù)的表示。計(jì)算機(jī)中的數(shù)是用二進(jìn)制來表示的,有符號數(shù)中的符號也是用二進(jìn)制數(shù)值來表示,0表示“+”號,1表示“-”號,這種符號數(shù)值化之后表示的數(shù)稱之為機(jī)器數(shù),它表示的數(shù)值稱之為機(jī)器數(shù)的真值。為將減法變?yōu)榧臃?以方便運(yùn)算簡化CPU的硬件結(jié)構(gòu),機(jī)器數(shù)有三種表示方法:即原碼、反碼和補(bǔ)碼。1.原碼最高位為符號位,符號位后表示該數(shù)的絕對值。例如:[+112]原=01110000B[—112]原=11110000B其中最高位為符號位,后面的7位是數(shù)值(字長為8位,若字長為16位,則后面15位為數(shù)值)。原碼表示時+112和-112的數(shù)值位相同,符號位不同。說明:①0的原碼有兩種表示法:[+0]原=00000000B[-0]原=10000000B②N位原碼的表示范圍為:1-2N—1~2N—1-1。例如8位原碼表示的范圍為:-127~+1272.反碼最高位為符號位,正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼為其正數(shù)原碼按位求反。[+112]反=01110000B[–112]反=10001111B說明:①0的反碼有兩種表示法:[+0]反=00000000B[-0]反=11111111B②N位反碼表示的范圍為:1-2n—1-2n—1-1;例如8位反碼表示的范圍為–127-+127。③符號位為1時,其后不是該數(shù)的絕對值。例如反碼11100101B的真值為–27,而不是–101。3.補(bǔ)碼最高位為符號位,正數(shù)的補(bǔ)碼與原碼相同;負(fù)數(shù)的補(bǔ)碼為其正數(shù)原碼按位求反再加1。例如:[+112]補(bǔ)=01110000B[—112]補(bǔ)=10010000B說明:①0的補(bǔ)碼只有一種表示法:[+0]=[—0]=00000000B;②n位補(bǔ)碼所能表示的范圍為—2n—1-2n—1—1;例如8位補(bǔ)碼表示的范圍為-128-+127。③八位機(jī)器數(shù)中:[—128]補(bǔ)=10000000B,[-128]原,[-128]反不存在。④符號位為1時,其后不是該數(shù)的絕對值。例如:補(bǔ)碼11110010B的真值為–14,而不是–114。有符號數(shù)采用補(bǔ)碼表示時,就可以將減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算。因此計(jì)算機(jī)中有符號數(shù)均以補(bǔ)碼表示。例如:X=84-16=(+84)+(–16)→[X]補(bǔ)=[+84]補(bǔ)+[–16]補(bǔ)(+84)補(bǔ)=01010100B(–16)補(bǔ)=11110000B01010100B+11110000B01000100B1所以[X]補(bǔ)=01000100B,即X=68。在字長為8位的機(jī)器中,第7位的進(jìn)位自動丟失,但這不會影響運(yùn)算結(jié)果。機(jī)器中這一位并不是真正丟失,而是保存在程序狀態(tài)字PSW中的進(jìn)位標(biāo)志Cy中。又如:X=48-88=(+48)+(-88)→[X]補(bǔ)=[+48]補(bǔ)+[—88]補(bǔ)[+48]補(bǔ)=00110000B[-88]補(bǔ)=10101000B00110000B+10101000B11011000B所以[X]補(bǔ)=11011000B,即X=-40。為進(jìn)一步說明補(bǔ)碼如何將減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,我們舉一日常的例子:對于鐘表,它所能表示的最大數(shù)為12點(diǎn),我們把它稱之為模,即一個系統(tǒng)的量程或所能表示的最大的數(shù)。若當(dāng)前標(biāo)準(zhǔn)時間為6點(diǎn),現(xiàn)有一只表為9點(diǎn),可以有兩種調(diào)時方法:①9-3=6(倒撥)②9+9=6(順撥)即有9+9=9+3+6=12+6=9-3因此對某一確定的模,某數(shù)減去小于模的一數(shù),總可以用加上該數(shù)的負(fù)數(shù)與其模之各(即補(bǔ)碼)來代替。故引入補(bǔ)碼后,減法就可以轉(zhuǎn)換為加法。補(bǔ)碼表示的數(shù)還具有以下特性:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)附表3為n=8和n=16時n位補(bǔ)碼表示的數(shù)的范圍。附表3n位二進(jìn)制補(bǔ)碼數(shù)的表示范圍二、無符號整數(shù)在某些情況下,處理的全是正數(shù)時,就不必須再保留符號位。我們把最高有效位也作為數(shù)值處理,這樣的數(shù)稱之為無符號整數(shù)。8位無符號數(shù)表示的范圍為:0-255。計(jì)算機(jī)中最常用的無符號整數(shù)是表示存儲單元地址的數(shù)。三、字符表示字母、數(shù)字、符號等各種字符(例如鍵盤輸出的信息或打印輸出的信都是按字符方式輸出輸出)按特定的規(guī)則,用二進(jìn)制編碼在計(jì)算中表示。字符的編碼方式很多,最普遍采用的是美國標(biāo)準(zhǔn)信息交換碼ASCⅡ碼。ASCⅡ碼是7位二進(jìn)制編碼。計(jì)算機(jī)中用一個字節(jié)表示一個ASCⅡ碼字符,最高位默認(rèn)為0,可用作校驗(yàn)位。第五講一、授課內(nèi)容:MCS―51系列單片機(jī)二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握MCS―51系列單片機(jī)的結(jié)構(gòu)引腳功能六、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):80C51單片機(jī)的引腳功能。七、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.八、教學(xué)過程:(板書)一、MCS-51單片機(jī)的基本組成(如下圖所示)(1)一個8位微處理器CPU。(2)數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR。(3)內(nèi)部程序存儲器ROM。(4)兩個定時/計(jì)數(shù)器,用以對外部事件進(jìn)行計(jì)數(shù),也可用作定時器。(5)四個8位可編程的I/O(輸入/輸出)并行端口,每個端口既可做輸入,也可做輸出。(6)一個串行端口,用于數(shù)據(jù)的串行通信。(7)中斷控制系統(tǒng)。(8)內(nèi)部時鐘電路。二、80C51單片機(jī)的引腳功能結(jié)構(gòu)框圖(如下圖所示)1.主電源引腳VCC和VSS2.外接晶振引腳XTAL1和XTAL23.控制或其他電源復(fù)用引腳RST/VPD、ALE/、和/VPP4.輸入/輸出引腳P0、P1、P2、P3(共32根)三、引腳功能(1)主電源引腳Vcc和VssVCC:接+5V電源正端;VSS:接+5V電源地端。(2)外接晶體引腳XTAL1和XTAL2XTAL1:接外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個反相放大器的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部時鐘時,對于HMOS單片機(jī),該引腳接地;對于CHMOS單片機(jī),該引腳作為外部振蕩信號的輸入端。XTAL2:接外部晶體的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時鐘時,對于HMOS單片機(jī),該引腳作為外部振蕩信號的輸入端;對于CHMOS芯片,該引腳懸空不接。圖一內(nèi)部振蕩方式圖二外部振蕩方式圖一圖二(3)輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口(a)P0口(39腳~32腳):P0.0~P0.7統(tǒng)稱為P0口。(b)P1口(1腳~8腳):P1.0~P1.7統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O接口使用。(c)P2口(21腳~28腳):P2.0~P2.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O接口。(d)P3口(10腳~17腳):P3.0~P3.7統(tǒng)稱為P3口第六講一、授課內(nèi)容:MCS―51系列單片機(jī)二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握MCS―51系列單片機(jī)的結(jié)構(gòu)引腳功能六、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):80C51單片機(jī)的引腳功能。七、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.八、教學(xué)過程:(板書)下面將這40條引腳按功能分為四部分?jǐn)⑹銎涔δ堋?.主電源引腳Vcc和VssVcc(40腳):接+5V電壓Vss(20腳):接地2.外接晶體引腳XTAL1和XTAL2XTAL1(19腳):接外部晶體的一個引腳。在單片機(jī)內(nèi)部,它是一個反相放大器的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部振蕩器時,對HMOS單片機(jī),此引腳應(yīng)接地;對CHMOS單片機(jī),此引腳作為驅(qū)動端。XTAL2(18腳):接外部晶體管的另一個引腳。在單片機(jī)內(nèi)部,接至上述振蕩器的反相放大器的輸出端。當(dāng)采用外部振蕩器時,對于HMOS單片機(jī),此引腳應(yīng)接外部振蕩器的信號,即把外部振蕩器的信號直接接到內(nèi)部時鐘發(fā)生器的輸入端;對于CHMOS單片機(jī),此引腳應(yīng)懸浮。3.控制或其他電源復(fù)用引腳RST/VPD、ALE/PROG、PSEN、EA/VPPRST/VPD(9腳):振蕩器運(yùn)行時,在此引腳上出現(xiàn)兩個機(jī)器周期的高電平使單片機(jī)復(fù)位。建議在此引腳與Vss之間連接一個約8.2kΩ的下拉電阻,與Vcc引腳之間連接一個約10μF的電容,以保證可靠的復(fù)位(詳見復(fù)位電路內(nèi)容)。Vcc掉電期間,此引腳可接上備用電源,以保持內(nèi)部RAM的數(shù)據(jù)不丟失。ALE/PROG(30腳):當(dāng)訪問外部存儲器時,ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍然以不變的頻率周期性地出現(xiàn)正脈沖信號,此頻率為振蕩器的1/6。因此,它可以用作對外輸出的時鐘,或用于定時。對于EPROM型的單片機(jī)(如8751),在EPROM編程期間,此引腳用于輸入編程脈沖。PSEN(29腳):此引腳的輸出是外部程序存儲器的讀選通信號。在從外部程序存儲器取指令(或常數(shù))期間,每個機(jī)器周期它二次有效。但在此期間,每當(dāng)訪問外部數(shù)據(jù)存儲器時,這二次有效信號將不出現(xiàn)。它同樣可以驅(qū)動(吸收或輸出電流)8個LS型的TTL輸入電路。EA/VPP(31腳):當(dāng)這引腳保持高電平時,訪問內(nèi)部程序存儲器,但在PC(程序計(jì)數(shù)器)值超過0FFFH(對8051/8751)或1FFFH(對8052)時將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。當(dāng)這引腳保持低電平時,則只訪問外部程序存儲器。對于8031來說,無內(nèi)部程序存儲器,端口必須保持低電平,即接地,才能只選擇外部程序存儲器。對于EPROM型的單片機(jī)(如8751),在EPROM編程期間,此引腳也用于施加21V的編程電源(VPP)。4.輸入/輸出(I/O)引腳P0、P1、P2、P3(共32根)P0口(39腳~32腳):是雙向8位三態(tài)I/O口,在外接存儲器時,與地址總線的低8位及數(shù)據(jù)總線復(fù)用,能以吸收電流的方式驅(qū)動8個LS型的TTL輸入負(fù)載。P1口(1腳~8腳):是準(zhǔn)雙向8位I/O口。由于這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向I/O口。P1口可以驅(qū)動(吸收或輸出電流)4個LS型的TTL負(fù)載。對于8052、8032,P1.0引腳的第二功能為T2定時器/計(jì)數(shù)器的外部輸入,P1.1引腳的第二功能為T2的外部控制端。對EPROM編程和程序驗(yàn)證期間,它接收低8位地址。P2口(21腳~28腳):是準(zhǔn)雙向8位I/O口。在訪問外部程序存儲器時,它可以作為擴(kuò)展電路高8位地址總線送出高8位地址。在對EPROM編程和程序驗(yàn)證期間,它接收高8位地址。P2口可以驅(qū)動(吸收或輸出電流)4個LS型的TTL輸入負(fù)載。P3口(10腳~17腳):是準(zhǔn)雙向8位I/O口,在MCS-51中,這8個引腳還用于專門功能,是復(fù)用雙功能口。P3口可以驅(qū)動(吸收或輸出電流)4個LS型的TTL輸入負(fù)載。作為第一功能使用時,為普通I/O口,功能和操作方法與P1口相同。作為第二功能使用時,各引腳的定義見表2.2。值得強(qiáng)調(diào)的是,P3口的每一條引腳均可獨(dú)立定義為第一功能的輸入輸出或第二功能。表6.1P3口線的第二功能定義第七講一、授課內(nèi)容:MCS―51系列單片機(jī)二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握MCS―51系列單片機(jī)的內(nèi)部結(jié)構(gòu)六、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):80C51單片機(jī)的內(nèi)部結(jié)構(gòu)。七、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.八、教學(xué)過程:(板書)一、MCS-51單片機(jī)的基本結(jié)構(gòu)(如下圖所示)二、MCS-51單片機(jī)硬件結(jié)構(gòu)特點(diǎn)1.內(nèi)部程序存儲器(ROM)和內(nèi)部數(shù)據(jù)存儲器(RAM)容量(如下圖所示)2.輸入/輸出(I/O)端口3.外部程序存儲器和外部數(shù)據(jù)存儲器尋址空間4.中斷與堆棧5.定時/計(jì)數(shù)器與寄存器區(qū)6.指令系統(tǒng)三、MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)1.運(yùn)算器運(yùn)算器由8位算術(shù)邏輯運(yùn)算單元ALU(ArithmeticLogicUnit)、8位累加器ACC(Accumulator)、8位寄存器B、程序狀態(tài)字寄存器PSW(ProgramStatusWord)、8位暫存寄存器TMP1和TMP2等組成。2.控制器主要由程序計(jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID、堆棧指針SP、數(shù)據(jù)指針DPTR、時鐘發(fā)生器及定時控制邏輯等組成。四、MCS-51單片機(jī)的存儲器配置(一)內(nèi)部RAM低128單元8051低128個單元是真正的內(nèi)部數(shù)據(jù)RAM區(qū),是一個多功能復(fù)用性數(shù)據(jù)存儲器,其按用途可分為三個區(qū)域。如圖2—2所示:1.工作寄存器區(qū)(00H~1FH)也稱為通用寄存器,該區(qū)域共有4組寄存器,每組由8個寄存單元組成,每個單元8位,各組均以R0~R7作寄存器編號,共32個單元,單元的00H~1FH。在任一時刻,CPU只能使用其中一組通用寄存器,稱為當(dāng)前通用寄存器組,RS0位的狀態(tài)組合來確定。通用寄存器為具體可由程序狀態(tài)寄存器PSW中RS1,CPU提供了就近存取數(shù)據(jù)的便利,提高了工作速度,也為編程提供了方便。2.位尋址區(qū)(20H~2FH)內(nèi)部RAM的20H~2FH,共16個單元,計(jì)16×8=128位,位地址為00H~7FH。位尋址區(qū)既可作為一般的RAM區(qū)進(jìn)行字節(jié)操作,也可對單元的每一位進(jìn)行位操作,因此稱為位尋址區(qū),是存儲空間的一部分。表7—1列出了位尋址區(qū)的位地址:表7—1位尋址區(qū)的位地址單元地址MSB位地址LSB2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H其中:MSB——最高有效位。LSB——最低有效位。3.用戶RAM區(qū)(30H~7FH)所剩80個單元即為用戶RAM區(qū),單元地址為30H~7FH,在一般應(yīng)用中把堆棧設(shè)置在該區(qū)域中。對內(nèi)部RAM低128單元的使用作幾點(diǎn)說明:(1)8051的內(nèi)部RAM00H~7FH單元可采用直接尋址或間接尋址方式實(shí)現(xiàn)數(shù)據(jù)傳送。(2)內(nèi)部RAM20H~2FH單元的位地址空間可實(shí)現(xiàn)位操作。RS0位的狀態(tài)設(shè)置來選擇。當(dāng)前工作寄存器組可通過軟件對PSW中的RS1,(3)8051的堆棧是自由堆棧,單片機(jī)復(fù)位后,堆棧底為07H,在程序運(yùn)行中可任意設(shè)置堆棧。堆棧設(shè)置通過對SP的操作實(shí)現(xiàn),例如用指令MOVSP,#30H將堆棧設(shè)置在內(nèi)部RAM30H以上單元。(二)內(nèi)部RAM高128單元內(nèi)部RAM高128單元是供給專用寄存器使用的,因此稱之為專用寄存器區(qū)(也稱為特殊功能寄存器區(qū)(SFR)區(qū)),單元地址為80H~0FFH。8051共有22個專用寄存器,其中程序計(jì)數(shù)器PC在物理上是獨(dú)立的,沒有地址,故不可尋址。它不屬于內(nèi)部RAM的SFR區(qū)。其余的21個專用寄存器都屬于內(nèi)部RAM的SFR區(qū),是可尋址的,它們的單元地址離散地分布于80H~0FFH。表7—2為21個專用寄存器一覽表。表7—28051專用寄存器一覽表注:帶“·”專用寄存器表示可以位操作。(三)8051內(nèi)部程序存儲器(ROM)大多數(shù)51系列單片機(jī)內(nèi)部都配置一定數(shù)量的程序存儲器ROM,如8051芯片內(nèi)有4KB掩膜ROM存貯單元,AT89C51芯片內(nèi)部配置了4KBFlashROM,它們的地址范圍均為0000H~0FFFH。內(nèi)部程序存儲器有一些特殊單元,使用時要注意。其中一組特殊單元是0000H~0002H。系統(tǒng)復(fù)位后,(PC)=0000H,單片機(jī)從0000H單元開始執(zhí)行程序。如果不是從0000H開始,就要在這三個單元中存放一條無條件轉(zhuǎn)移指令,以便轉(zhuǎn)去執(zhí)行指定的應(yīng)用程序。另外,在程序存儲器中有各個中斷源的入口向量地址,分配如下:0003H~000AH:外部中斷0中斷地址區(qū)000BH~0012H:定時器/計(jì)數(shù)器0中斷地址區(qū)0013H~001AH:外部中斷1中斷地址區(qū)001BH~0022H:定時器/計(jì)數(shù)器1中斷地址區(qū)0023H~002AH:串行中斷地址區(qū)中斷地址區(qū)首地址為各個中斷源的入口向量地址,每個中斷地址區(qū)有8個地址單元。在中斷地址區(qū)中應(yīng)存放中斷服務(wù)程序,但8個單元通常難以存下一個完整的中斷服務(wù)程序,因此往往需要在中斷地址區(qū)首地址中存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)去中斷服務(wù)程序真正的入口地址。從002BH開始的的單元才是用戶可以隨意使用的程序存儲器。對程序存儲器的操作作以下說明:(1)程序指令的自主操作。CPU按照PC指針自動的從程序存儲器中取出指令。(2)用戶使用指令對程序存儲器中的常數(shù)表格進(jìn)行讀操作,可用MOVC指令實(shí)現(xiàn)。五、單片機(jī)復(fù)位電路及復(fù)位狀態(tài)1.復(fù)位電路單片機(jī)復(fù)位電路包括片內(nèi)、片外兩部分。外部復(fù)位電路就是為內(nèi)部復(fù)位電路提供兩個機(jī)器周期以上的高電平而設(shè)計(jì)的。MCS-51單片機(jī)通常采用上電自動復(fù)位和按鍵手動復(fù)位兩種方式。如圖4-3所示。圖4-32.單片機(jī)復(fù)位后的狀態(tài)單片機(jī)運(yùn)行出錯或進(jìn)入死循環(huán)時,可按復(fù)位鍵重新運(yùn)行。3.時鐘電路(1)振蕩周期/時鐘周期:為單片機(jī)提供時鐘信號的振蕩源的周期。(3)機(jī)器周期:通常將完成一個基本操作所需的時間稱為機(jī)器周期。(4)指令周期:是指CPU執(zhí)行一條指令所需要的時間。一個指令周期通常含有1~4個機(jī)器周期。八、作業(yè):P47頁4,6,10,11(a)上電復(fù)位(c)按鍵脈沖復(fù)位(b)按鍵電平復(fù)位第八講一、授課內(nèi)容:MCS―51系列單片機(jī)二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握MCS―51系列單片機(jī)的內(nèi)部結(jié)構(gòu)六、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):80C51單片機(jī)的內(nèi)部結(jié)構(gòu)。七、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.八、教學(xué)過程:(板書)一、內(nèi)部數(shù)據(jù)存儲器低128單元片內(nèi)RAM(內(nèi)部數(shù)據(jù)存儲器)的地址范圍是00H~FFH。內(nèi)部數(shù)據(jù)存儲器低128單元的地址范圍是00H~7FH。分三個區(qū)。(1)工作寄存器區(qū)00H~1FH單元共32B,是4個通用工作寄存器組,每組含8個寄存器(R0~R7)。切換CPU的工作寄存器組,只要CPU執(zhí)行一條單周期指令改變程序狀態(tài)字PSW(特殊功能寄存器)的第3、4位,見表8-1。若程序中不需要4組工作寄存器,那么剩下的工作寄存器組所對應(yīng)的單元也可以作一般的數(shù)據(jù)緩沖器使用。表8-1工作寄存器組的選擇(2)位尋址區(qū)20H~2FH單元共16個字節(jié)。這16個RAM單元具有雙重功能。它們既可以像普通RAM單元一樣按字節(jié)存取,也可以單獨(dú)存取,這就是位尋址。20H~2FH單元用作位尋址時,共有16×8=128位,每位分配了一個特定的地址,即00H~7FH,這些地址稱為位地址,如圖2.3所示。位地址在位尋址時使用。例如:把24H單元中最高位(位地址為27H)置位成1,則可以使用如下置位指令:SETB27H;27H←1,SETB為置位指令的操作碼位地址的另一種表示方法是采用字節(jié)地址和位地址結(jié)合的表示方法。位地址05H可以表示成20H.5。(3)用戶數(shù)據(jù)區(qū)30~7FH總共有80個RAM單元,存放用戶數(shù)據(jù)或作堆棧操作使用。中斷系統(tǒng)中的堆棧一般都設(shè)在這一區(qū)域內(nèi),MCS-51對用戶數(shù)據(jù)區(qū)中的每個RAM單元是按字節(jié)存取的。二、內(nèi)部數(shù)據(jù)存儲器高128單元在MCS-51系列單片機(jī)中,內(nèi)部RAM的高128單元是供給特殊功能寄存器SFR(Specialfunctionregister)使用的。所謂特殊功能寄存器是指有特殊用途的寄存器集合,也稱專用寄存器。它們位于片內(nèi)數(shù)據(jù)存儲器之上,離散地分布在80H~FFH的地址空間范圍內(nèi)。特殊功能寄存器的實(shí)際個數(shù)和單片機(jī)的型號有關(guān):8051或8031的SFR有21個,8052的SFR有26個。它們在80H~FFH的地址空間范圍內(nèi),不為SFR占用的RAM單元實(shí)際并不存在,訪問它們是沒有意義的。表8-2列出了這些SFR的助記符號、名稱和地址。表8-2特殊功能寄存器地址映像表1.特殊功能寄存器下面簡單介紹SFR塊中的部分寄存器,其他SFR寄存器將在有關(guān)章節(jié)中介紹。(1)程序計(jì)數(shù)器PC程序計(jì)數(shù)器PC用于存放下一條要執(zhí)行的指令地址,是一個16位專用寄存器,可尋址范圍為0~65535(64K)。PC在物理上是獨(dú)立的,不屬于SFR。(2)累加器A累加器A是一個最常用的專用寄存器,屬于SFR,也稱ACC。大部分單操作數(shù)指令的操作數(shù)取自累加器,很多雙操作數(shù)指令的一個操作數(shù)取自累加器,加、減、乘、除算術(shù)運(yùn)算指令的運(yùn)算結(jié)果都存放在累加器A或A和B寄存器中。(3)B寄存器在乘除指令中,用到了B寄存器。乘除指令的兩個操作數(shù)分別取自A和B,其結(jié)果存放在A和B寄存器中。例如除法指令中,被除數(shù)取自A,除數(shù)取自B,商數(shù)存放于A,余數(shù)存放于B。(4)堆棧指針SP堆棧指針SP是一個8位專用寄存器。它指示出堆棧頂部在內(nèi)部RAM塊中的位置。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H單元開始。08H~1FH單元分別屬于工作寄存器組1~3,在程序設(shè)計(jì)中用到這些區(qū),最好把SP值改置為1FH或更大的值。MCS-51的堆棧是向上生成的,若SP=60H,CPU執(zhí)行一條調(diào)用指令或響應(yīng)中斷后,PC進(jìn)棧,PCL保護(hù)到61H,PCH保護(hù)到62H,SP=62H。(5)數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR是一個16位的SFR,其高字節(jié)寄存器用DPH表示,低字節(jié)寄存器用DPL表示。DPTR可以作為一個16位的寄存器DPTR來用,也可以作為兩個獨(dú)立的8位寄存器DPH和DPL來用。(6)程序狀態(tài)字(PSW——Programstatusword)程序狀態(tài)字是一個8位的寄存器用于寄存指令執(zhí)行的狀態(tài)信息。其中有些位狀態(tài)是根據(jù)指令執(zhí)行結(jié)果,由硬件自動設(shè)置的,而有些位狀態(tài)則是用軟件方法設(shè)定的。PSW的位狀態(tài)可以用專門的指令進(jìn)行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令將根據(jù)PSW中有關(guān)位信息來進(jìn)行程序轉(zhuǎn)移。PSW的各位定義如下:表8-3PSW各位的定義除PSW.1位保留未用外,對其余各位的定義及使用介紹如下:①CY或C(PSW.7)——進(jìn)位標(biāo)志位。CY(或C)是PSW中最常用的標(biāo)志位,其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志;二是在位操作中,作累加位使用。在位傳送、位與、位或等操作中,都要使用進(jìn)位標(biāo)志位。②AC(PSW.6)——輔助進(jìn)位標(biāo)志位。在加減運(yùn)算中,當(dāng)有低4位向高4位進(jìn)位或借位時,AC由硬件置位,否則AC位被清“0”。在進(jìn)行十進(jìn)制數(shù)運(yùn)算時需要十進(jìn)制調(diào)整,此時要用到AC位狀態(tài)進(jìn)行判斷。③F0(PSW.5)——用戶標(biāo)志位。這是一個由用戶自定義的標(biāo)志位,用戶根據(jù)需要用軟件方法置位或復(fù)位。例如用它來控制程序的轉(zhuǎn)向。④RS1和RS0(PSW.4和PSW.3)——寄存器組選擇位。它用于設(shè)定當(dāng)前通用寄存器的組號。通用寄存器共有4組,其對應(yīng)關(guān)系見表2.2。這兩個選擇位的狀態(tài)是由軟件設(shè)置的,被選中的寄存器組即為當(dāng)前通用寄存器。⑤OV(PSW.2)——溢出標(biāo)志位。在帶符號數(shù)的加減運(yùn)算中,OV=1表示加減運(yùn)算結(jié)果超出了累加器A所能表示的符號數(shù)有效范圍(-128~+127),因此運(yùn)算結(jié)果是錯誤的。在乘法運(yùn)算中,OV=1表示乘積超過255,即乘積分別在寄存器B與A中;反之,OV=0表示乘積只在A中。在除法運(yùn)算中,OV=1表示除數(shù)為0,除法不能進(jìn)行;反之OV=0,表示除數(shù)不為0,除法能正常進(jìn)行。⑥P(PSW.0)——奇偶標(biāo)志位。其表明累加器A中1的個數(shù)的奇偶性,在每個指令周期由硬件根據(jù)A的內(nèi)容對P位進(jìn)行置位或復(fù)位,若1的個數(shù)為奇數(shù),P=1,反之P=0。(7)、堆棧堆棧是一種數(shù)據(jù)結(jié)構(gòu)。所謂堆棧就是只允許在其一端進(jìn)行數(shù)據(jù)插入和數(shù)據(jù)刪除操作的線性表。其結(jié)構(gòu)如圖2.4所示。堆棧的功能堆棧是為了子程序調(diào)用和中斷操作而設(shè)立的,其作用有兩個:保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場。2、內(nèi)部程序存儲器MCS-51單片機(jī)的程序計(jì)數(shù)器PC為16位,因此可以尋址的地址空間為64KB。8051和8751單片機(jī)內(nèi)部有4KB字節(jié)ROM/EPROM程序存儲器(0000H~0FFFH),1000H~FFFFH是外部擴(kuò)展程序存儲器地址空間。而8052單片機(jī)內(nèi)部有8KBROM程序存儲器,同樣可以擴(kuò)展到64KB。在64KB程序存儲器中,有6個地址單元具有特殊功能。(1)程序計(jì)數(shù)器PCMCS-51單片機(jī)在復(fù)位后PC的內(nèi)容為0000H,所以系統(tǒng)必須從0000H開始取指令,執(zhí)行程序。因?yàn)?000H是系統(tǒng)的啟動地址,所以用戶在設(shè)計(jì)程序時,一般會在這一單元中存放一條絕對跳轉(zhuǎn)指令,而主程序則從跳轉(zhuǎn)到的新地址處開始存放。(2)中斷源除0000H外,其余5個特殊功能單元分別對應(yīng)6種中斷源的中斷服務(wù)子程序的入口地址,見表2.6。通常在程序設(shè)計(jì)時會在這些入口地址處都安放一條絕對跳轉(zhuǎn)指令,而真正的中斷服務(wù)子程序從轉(zhuǎn)移地址開始安放。表8-4中斷源入口地址第九講一、授課內(nèi)容:MCS―51單片機(jī)尋址方式二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握MCS―51系列單片機(jī)的尋址方式六、教學(xué)重、難點(diǎn):MCS―51系列單片機(jī)的尋址方式中斷源入口地址外部中斷00003H定時器0溢出中斷000BH外部中斷10013H定時器1溢出中斷001BH串行口中斷0023H七、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.八、教學(xué)過程:(板書)一、指令格式一臺計(jì)算機(jī)的指令系統(tǒng)是指它所有的指令集合。MCS-51的指令系統(tǒng)共有111條指令,由42個助記符和7種尋址方式組合而成。指令的表示方法稱為指令格式,一條指令通常由操作碼和操作數(shù)兩部分組成。操作碼規(guī)定指令進(jìn)行什么操作,采用助記符表示;而操作數(shù)表示指令的操作對象,操作數(shù)可能是一個具體的數(shù)據(jù),也可能是指出到哪里取得數(shù)據(jù)的地址或符號。根據(jù)指令的不同,可以有一個或多個操作數(shù)。匯編語言指令的基本形式是:操作碼助記符目的操作數(shù),源操作數(shù)操作碼助記符與操作數(shù)分段書寫,操作數(shù)中的目的操作數(shù)在前,源操作數(shù)在后,操作數(shù)之間用逗號分隔。MCS-51的指令系統(tǒng)中,根據(jù)指令的長度有一字節(jié)、二字節(jié)和三字節(jié)三種指令。1.一字節(jié)指令一字節(jié)指令只有一個字節(jié),操作碼中包含了操作數(shù)的信息。在兩種情況下,其指令為一字節(jié)。①操作數(shù)固定,無須附加的空間來指定即可完整明確地表示出指令的功能。例如指令“INCDPTR”,其功能為數(shù)據(jù)指針加“1”,其指令碼為:10100011②操作數(shù)在通用寄存器中,而寄存器編碼只需3位二進(jìn)制,故可以把寄存器編碼與操作數(shù)“擠”在一個字節(jié)中,此時操作碼占5位,操作數(shù)占3位。例如指令“MOVA,Rn”,其功能為寄存器向累加器送數(shù)據(jù),其指令碼為:11101rrr其中rrr為Rn的二進(jìn)制編碼。2.二字節(jié)指令二字節(jié)指令包含兩個字節(jié),其中第一個字節(jié)為操作碼,第二個字節(jié)為操作數(shù)。例如立即數(shù)傳送指令“MOVA,#data”,其中#data表示一個8位二進(jìn)制操作數(shù),占一個字節(jié),稱為立即數(shù)。指令碼為:01110100立即數(shù)3.三字節(jié)指令三字節(jié)指令包含三個字節(jié),其中操作碼占一個字節(jié),操作數(shù)占兩個字節(jié),操作數(shù)既可為數(shù)據(jù),也可是地址。例如邏輯與操作指令“ANLdirect,#data”,其功能是直接尋址單元內(nèi)容與立即數(shù)進(jìn)行與操作,指令格式為:01010011直接地址立即數(shù)二、指令系統(tǒng)的分類從占用的存儲空間上,MCS-51的指令可分為:①一字節(jié)指令,共49條;②二字節(jié)指令,共45條;③三字節(jié)指令,共17條。從執(zhí)行時間上,MCS-51的指令可分為:①單機(jī)器周期指令,共64條;②雙機(jī)器周期指令,共45條;③四機(jī)器周期指令,共2條,即乘、除指令。從實(shí)現(xiàn)功能上,MCS-51的指令可分為下面5類:①數(shù)據(jù)傳送類指令(29條);②算術(shù)運(yùn)算類指令(24條);③邏輯運(yùn)算類指令及移位類指令(24條);④控制轉(zhuǎn)移類指令(17條);⑤位操作類指令(17條)。第十講一、授課內(nèi)容:MCS―51單片機(jī)尋址方式二、授課類型:講授三、授課時數(shù):2學(xué)時四、教學(xué)目標(biāo):掌握MCS―51系列單片機(jī)的尋址方式六、教學(xué)重、難點(diǎn):重點(diǎn)/難點(diǎn):MCS―51系列單片機(jī)的尋址方式七、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.八、教學(xué)過程:(板書)一、指令描述符號意義的說明在指令描述中,使用了如下符號,首先對這些符號意義做簡單說明。Rn——當(dāng)前寄存器組的8個通用寄存器R0~R7,n=0~7。Ri——可用作間接尋址的寄存器,只有R0、R1兩個寄存器,所以i=0,1。direct——8位直接地址,用于尋址內(nèi)部RAM的低128單元和專用寄存器。#data——8位立即數(shù)。#data16——16位立即數(shù)。addr16——16位目的地址,只限于在LCALL和LJMP指令中使用。addr11——11位目的地址,只限于在ACALL和AJMP指令中使用。rel——補(bǔ)碼表示的8位偏移量,用于相對轉(zhuǎn)移指令中。bit——內(nèi)部RAM(包括專用寄存器)中的直接尋址位。@——間接尋址寄存器的前綴標(biāo)志。/——加在位地址的前面,表示對該位狀態(tài)取反。(×)——某寄存器或某單元的內(nèi)容。((×))——由×間接尋址的單元內(nèi)容?!^左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。由于大多數(shù)指令執(zhí)行時都需要使用操作數(shù),因此存在怎樣取得操作數(shù)的問題。所謂尋址就是尋找操作數(shù)的地址,而尋址方式就是通過確定操作數(shù)的位置(地址),把操作數(shù)提取出來的方法。MCS-51指令系統(tǒng)共有7種尋址方式,下面分別予以介紹:1、立即尋址指令中直接給出操作數(shù)的尋址方式。立即操作數(shù)用前面加有#號的8位或16位數(shù)來表示。例如:MOVA,#60H;A←#60HMOVDPTR,#3400H;DPTR←#3400HMOV30H,#40H;30H單元←#40H上述三條指令執(zhí)行完后,累加器A中數(shù)據(jù)為立即數(shù)據(jù)60H,DPTR寄存器中數(shù)據(jù)為3400H,30H單元中數(shù)據(jù)為立即數(shù)40H。2、直接尋址指令中直接給出操作數(shù)地址的尋址方式,能進(jìn)行直接尋址的存儲空間有SFR寄存器和內(nèi)部數(shù)據(jù)RAM。例如:MOVPSW,#20H;PSW←#20HPSW為直接尋址寄存器的符號地址。MOVA,30H;A←30H內(nèi)部RAM單元中的內(nèi)容30H為直接給出的內(nèi)部RAM的地址。3、寄存器尋址以通用寄存器的內(nèi)容為操作數(shù)的尋址方式。通用寄存器指A、B、DPTR以及R0~R7。例如:CLRA;A←0INCDPTR;DPTR←DPTR+1ADDR5,#20H;R5←#20H+R54、寄存器間接尋址以寄存器中內(nèi)容為地址,以該地址中內(nèi)容為操作數(shù)的尋址方式。間接尋址的存儲器空間包括內(nèi)部數(shù)據(jù)RAM和外部數(shù)據(jù)RAM。能用于寄存器間接尋址的寄存器有R0,R1,DPTR,SP。其中R0、R1必須是工作寄存器組中的寄存器。SP僅用于堆棧操作。例如:MOV@R0,A;內(nèi)部RAM(R0)←A其指令操作過程示意圖如圖3-1所示。又如:MOVXA,@R1;A←外部RAM(P2R1)其指令操作過程示意圖如圖3-2所示。再如:MOVX@DPTR,A;外部RAM(DPTR)←A其指令操作過程示意圖如圖3-3所示。5、變址尋址變址尋址只能對程序存儲器中數(shù)據(jù)進(jìn)行操作。由于程序存儲器是只讀的,因此變址尋址只有讀操作而無寫操作,在指令符號上采用MOVC的形式。例如:MOVCA,@A+DPTR;A←(A+DPTR)又如,MOVCA,@A+PC;A←(A+PC)這條指令與上條指令不同的是,基址寄存器是PC。6、相對尋址以當(dāng)前程序計(jì)數(shù)器PC的內(nèi)容為基礎(chǔ),加上指令給出的一字節(jié)補(bǔ)碼數(shù)(偏移量)形成新的PC值的尋址方式。相對尋址用于修改PC值,主要用于實(shí)現(xiàn)程序的分支轉(zhuǎn)移。例如,SJMP08H;PC←PC+2+08H指令操作示意圖如圖3-5所示。7、位尋址位尋址只能對有位地址的單元作位尋址操作。位尋址其實(shí)是一種直接尋址方式,不過其地址是位地址。例如:SETB10H;將10H位置1若22H單元中存放著數(shù)據(jù)40H,22H單元的D0位的位地址為10H,執(zhí)行上述指令后(22H)=41H。又如:MOV32H,C;32H←進(jìn)位位CORLC,32H;C←C∨32H在MCS-51中,位地址的表示方式可采用下面幾種形式:①直接使用位地址。例如PSW寄存器的位5的位地址為0D5H。②單元地址加位數(shù)的表示方法。例如0D0H.5,表示字節(jié)單元地址0D0H(即PSW寄存器)的位5。③對可位尋址的專用寄存器可直接用寄存器名稱加位數(shù)的方法。例如PSW.5表示PSW寄存器的位5。④使用位名稱。在可位尋址的專用寄存器中,一些位是有符號名稱的,例如PSW寄存器的位5是F0標(biāo)志位,則可使用F0表示該位。MCS-51指令系統(tǒng)的7種尋址方式,可以概括為表3.1。表10-1MCS-51尋址方式尋址方式尋址空間寄存器尋址R0~R7、A、AB、C、DPTR直接尋址內(nèi)部RAM低128單元和專用寄存器寄存器間接尋址內(nèi)部RAM低128單元使用@R0、@R1、SP作為操作數(shù)外部RAM使用@R0、@R1、@DPTR作為操作數(shù)立即尋址程序存儲器ROM變址尋址程序存儲器使用@A+DPTR、@A+PC作為操作數(shù)相對尋址程序存儲器使用PC+偏移量rel作為操作數(shù)位尋址內(nèi)部RAM和專用寄存器的位地址空間由表10-1中可以看出:①內(nèi)部數(shù)據(jù)存儲器使用頻繁,尋址方式較多,有寄存器尋址、直接尋址、寄存器間接尋址、位尋址。直接尋址是訪問專用寄存器的惟一方法。②對外部數(shù)據(jù)存儲器,只能使用寄存器間接尋址。③對程序存儲器可使用變址尋址、相對尋址和立即尋址。④在兩個操作數(shù)的指令中,把左邊操作數(shù)稱為目的操作數(shù),而右邊操作數(shù)稱為源操作數(shù)。前面所講的各種尋址方式都是針對源操作數(shù)的。但實(shí)際上源操作數(shù)和目的操作數(shù)都有尋址問題,例如指令:MOV30H,R0其源操作數(shù)是寄存器尋址方式,而目的操作數(shù)則是直接尋址方式,因此指令的功能是把按寄存器尋址取出的R0內(nèi)容再以直接尋址方式存放于內(nèi)部RAM的30H單元中。數(shù)據(jù)傳送類指令共有29條。這類指令的一般操作是把源操作數(shù)傳送到目的操作數(shù),指令執(zhí)行后,源操作數(shù)不改變,目的操作數(shù)修改為源操作數(shù)。源操作數(shù)可以采用寄存器尋址、寄存器間接尋址、直接尋址、立即尋址、變址尋址5種尋址方式。目的操作數(shù)可以采用寄存器尋址、寄存器間接尋址、直接尋址3種尋址方式。第十一講一、授課內(nèi)容:MCS―51單片機(jī)指令系統(tǒng)二、授課類型:講授三、授課時數(shù):4學(xué)時四、教學(xué)目標(biāo):掌握并熟練運(yùn)用MCS―51系列單片機(jī)的數(shù)據(jù)傳送指令五、教學(xué)重、難點(diǎn):熟練運(yùn)用MCS―51系列單片機(jī)的數(shù)據(jù)傳送指令六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)(一)數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令共28條,是將源操作數(shù)送到目的操作數(shù)。指令執(zhí)行后,源操作數(shù)不變,目的操作數(shù)被源操作數(shù)取代。數(shù)據(jù)傳送類指令用到的助記符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP8種。源操作數(shù)可采用寄存器、寄存器間接、直接、立即、變址5種尋址方式尋址,目的操作數(shù)可以采用寄存器、寄存器間接、直接尋址3種尋址方式。1.以A為目的操作數(shù)MOVA,Rn;A←RnMOVA,direct;A←(direct)MOVA,@Ri;A←(Ri)MOVA,#data;A←#data2.以Rn為目的操作數(shù)MOVRn,A;Rn←AMOVRn,direct;Rn←(direct)MOVRn,#data;Rn←#data3.以直接地址為目的操作數(shù)MOV@Ri,A;(Ri)←AMOV@Ri,direct;(Ri)←(direct)MOV@Ri,#data;(Ri)←#data4.以間接地址為目的操作數(shù)MOV@Ri,A;(Ri)←AMOV@Ri,direct;(Ri)←(direct)MOV@Ri,#data;(Ri)←#data例如:設(shè)(30H)=6FH,R1=40H,執(zhí)行MOV@R1,30H后,30H單元中數(shù)據(jù)取出送入R1間接尋址的40H單元,(40H)=6FH。5.以DPTR為目的操作數(shù)MOVDPTR,#data16;DPTR←#data16例如執(zhí)行MOVDPTR,#2000H后,(DPTR)=2000H。6.訪問外部數(shù)據(jù)RAMMOVXA,@DPTR;A←(DPTR)MOVX@DPTR,A;(DPTR)←AMOVXA,@Ri;A←(P2Ri)MOVX@Ri,A;(P2Ri)←A7.讀程序存儲器MOVCA,@A+DPTR;A←(A+DPTR)MOVCA,@A+PC;A←(A+PC)例如已知A=30H,DPTR=3000H,程序存儲器單元(3030H)=50H,執(zhí)行MOVCA,@A+DPTR后,A=50H。8.數(shù)據(jù)交換(1)字節(jié)交換XCHA,Rn;A<=>RnXCHA,direct;A<=>(direct)XCHA,@Ri;A<=>(Ri)(2)半字節(jié)交換XCHDA,@Ri;A0~3<=>(Ri)0~3SWAPA;A0~3<=>A4~79.堆棧操作所謂堆棧是在片內(nèi)RAM中按“先進(jìn)后出,后進(jìn)先出”原則設(shè)置的專用存儲區(qū)。數(shù)據(jù)的進(jìn)棧出棧由指針SP統(tǒng)一管理。堆棧的操作有如下兩條專用指令:PUSHdirect;SP←(SP+1),(SP)←(direct)POPdirect;(direct)←(SP),SP←SP-1PUSH是進(jìn)棧(或稱為壓入操作)指令?!纠?.1】將片內(nèi)RAM30H單元與40H單元中的內(nèi)容互換。方法1(直接地址傳送法):MOV31H,30HMOV30H,40HMOV40H,31HSJMP$方法2(間接地址傳送法):MOVR0,#40HMOVR1,#30HMOVA,@R0MOVB,@R1MOV@R1,AMOV@R0,BSJMP$方法3(字節(jié)交換傳送法):MOVA,30HXCHA,40HMOV30H,ASJMP$方法4(堆棧傳送法):PUSH30HPUSH40HPOP30HPOP40HSJMP$第十二講一、授課內(nèi)容:MCS―51單片機(jī)指令系統(tǒng)二、授課類型:講授三、授課時數(shù):4學(xué)時四、教學(xué)目標(biāo):掌握并熟練運(yùn)用MCS―51系列單片機(jī)的算術(shù)運(yùn)算指令五、教學(xué)重、難點(diǎn):熟練運(yùn)用MCS―51系列單片機(jī)的算術(shù)運(yùn)算指令六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)算術(shù)運(yùn)算類指令1.加法指令A(yù)DDA,Rn;A←A+RnADDA,direct;A←A+(direct)ADDA,@Ri;A←A+(Ri)ADDA,#data;A←A+#data2.帶進(jìn)位加指令A(yù)DDCA,Rn;A←A+Rn+CADDCA,direct;A←A+(direct)+CADDCA,@Ri;A←A+(Ri)+CADDCA,#data;A←A+#data+CC為來自PSW狀態(tài)寄存器中的進(jìn)位位C。例如,設(shè)A=20H,R0=21H,C=1,執(zhí)行指令A(yù)DDCA,R0后,A=42H。3.帶借位減指令SUBBA,Rn;A←A-Rn-CSUBBA,direct;A←A-(direct)-CSUBBA,@Ri;A←A-(Ri)-CSUBBA,#data;A←A-#data–C例如,設(shè)A=39H,R0=20H,(20H)=32H,C=1,執(zhí)行指令SUBBA,@R0后,A=06H。4.乘法指令MULAB;BA←A×BA和B中各存放一個8位無符號數(shù),指令執(zhí)行后,16位乘積的高8位在B中,低8位存A中。例如,A=30H,B=60H,執(zhí)行MULAB后,A=00H,B=12H。5.除法指令DIVAB;A÷B→商在A中,余數(shù)在B中A和B中各存放一個8位無符號數(shù),A放被除數(shù),B放除數(shù)。指令執(zhí)行后,A中存放商,B中存入余數(shù)。若B=00H,則指令執(zhí)行后OV=1,A與B不變。例如,A=30H,B=07H,執(zhí)行DIVAB后,A=06H,B=06H。6.加1指令I(lǐng)NCA;A←A+1INCRn;Rn←Rn+1INCdirect;(direct)←(direct)+1INC@Ri;(Ri)←(Ri)+1INCDPTR;DPTR←DPTR+1例如,(30H)=22H,執(zhí)行INC30H后,(30H)=23H。7.減1指令DECA;A←A-1DECRn;Rn←Rn-1DECdirect;direct←(direct)-1DEC@Ri;(Ri)←(Ri)-1例如,R0=30H,(30H)=22H,執(zhí)行DEC@R0后,(30H)=21H。8.十進(jìn)制調(diào)整指令DAA;把A中按二進(jìn)制相加的結(jié)果調(diào)整成按BCD碼相加的結(jié)果例如,A=65BCD,B=78BCD,C=0,執(zhí)行下列語句ADDA,BDAA后,A=43BCD,C=1。例如,試把存放在R1R2和R3R4中的兩個16位數(shù)相加,結(jié)果存于R5R6中。解:參考程序如下:MOVA,R2;取第一個數(shù)的低8位ADDA,R4;兩數(shù)的低8位相加MOVR6,A;保存和的低8位MOVA,R1;取第一個數(shù)的高8位ADDCA,R3;兩數(shù)的高8位相加,并把低8位相加時的進(jìn)位位加進(jìn)來MOVR5,A;把相加的高8位存入R5寄存器中SJMP$第十三講一、授課內(nèi)容:80C51單片機(jī)的指令系統(tǒng)二、授課類型:講授三、授課時數(shù):4學(xué)時四、教學(xué)目標(biāo):掌握并熟練運(yùn)用單片機(jī)的邏輯運(yùn)算指令五、教學(xué)重、難點(diǎn):熟練運(yùn)用單片機(jī)的邏輯運(yùn)算指令六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本學(xué)科的興趣.七、教學(xué)過程:(板書)(一)邏輯運(yùn)算與循環(huán)類指令1.“與”操作指令邏輯“與”運(yùn)算的特點(diǎn)是:①X∧1=X;②X∧0=0利用這個特點(diǎn)可以對某個操作數(shù)的某一位或某幾位清零。2.“或”操作指令邏輯“或”運(yùn)算的特點(diǎn)是:①X∨1=1;②X∨0=X利用這個特點(diǎn),可以對某個操作數(shù)的某一位或幾位置“1”。3.“異或”操作指令邏輯異或運(yùn)算的特點(diǎn)是:利用這個特點(diǎn),可以對某個操作數(shù)的某一位或某幾位取反。4.求反與清除指令5.循環(huán)指令“RRA”指令和“RLA”指令的功能分別是將累加器A的內(nèi)容循環(huán)左移或右移一位;“RRCA”指令和“RLCA”指令的功能分別是將累加器A的內(nèi)容帶進(jìn)位位Cy循環(huán)左移或右移一位。有時可運(yùn)用“RLCA”指令實(shí)現(xiàn)無符數(shù)乘2運(yùn)算,用“RRCA”指令實(shí)現(xiàn)除2運(yùn)算(商為非整數(shù)時向下取整)。(二)程序轉(zhuǎn)移類指令1.無條件轉(zhuǎn)移指令絕對(短)轉(zhuǎn)移指令A(yù)JMPaddr11;PC10~0←addr11長轉(zhuǎn)移指令LJMPaddr16;PC←addr16短(相對)轉(zhuǎn)移指令SJMPrel;PC←PC+2+rel間接轉(zhuǎn)移指令JMP@A+DPTR;PC←A+DPTR累加器為零(非零)轉(zhuǎn)移指令減1非零轉(zhuǎn)移指令兩數(shù)不等轉(zhuǎn)移指令相對偏移量rel的求法(三)調(diào)用子程序及返回指令1.調(diào)用子程序指令LCALLaddr16;PC←PC+3,SP←SP+1,(SP)←PC7~10;SP←SP+1,(SP)←PC15~8,PC←addr16ACALLaddr11;PC←PC+2,SP←SP+1,(SP)←PC7~0;SP←SP+1,(SP)←PC15~8,PC10~0←addr112.返回指令RET;PC15~8←(SP),SP←SP-1;PC7~0←(SP),SP←SP-1RETI;PC15~8←(SP),SP←SP-1;PC7~0←(SP),SP←SP-1(四)位操作指令1.位數(shù)據(jù)傳送指令MOVC,bit;C←(bit)MOVbit,C;bit←C2.位狀態(tài)修改指令CLRC;C←0CLRbit;(bit)←0CPLC;C←CPLbit;(bit)←(bit)SETBC;C←1SETBbit;(bit)←1ANLC,bit;C←C∧(bit)ANLC,/bit;C←C∧(bit)ORLC,bit;C←C∨(bit)ORLC,/bit;C←C∨(bit)4.位轉(zhuǎn)移指令JCrel;若C=1,則轉(zhuǎn)移(PC←PC+2+rel);否則程序順序執(zhí)行JNCrel;若C=0,則轉(zhuǎn)移(PC←PC+2+rel);否則程序順序執(zhí)JBbit,rel;若(bit)=1,則轉(zhuǎn)移(PC←PC+3+rel);否則程序順序執(zhí)行JNBbit,rel;若(bit)=0,則轉(zhuǎn)移(PC←PC+3+rel);否則程序順序執(zhí)行JBCbit,rel;若(bit)=1,則PC←PC+3+rel,(bit)←0;否則程序順序執(zhí)行功能:分別檢測指定位是1還是0,若條件符合,則CPU轉(zhuǎn)向指定的目標(biāo)地址去執(zhí)行程序;否則,順序執(zhí)行下條指令。(五)空操作指令NOP;PC←PC+1這是一條單字節(jié)指令。執(zhí)行時,不作任何操作(即空操作),僅將程序計(jì)數(shù)器PC的內(nèi)容加1,使CPU指向下一條指令繼續(xù)執(zhí)行程序。這條指令常用來產(chǎn)生一個機(jī)器周期的時間延遲。思考題與習(xí)題1.試解釋指令系統(tǒng),機(jī)器語言和匯編語言。2.何謂尋址方式?MCS-51單片機(jī)有哪幾種尋址方式?相應(yīng)的尋址空間在何處?3.變址尋址方式有什么特點(diǎn)?應(yīng)用于什么場合?采用DPTR或PC作基址寄存器時其尋址范圍有何不同?4.設(shè)(A)=8FH,(R0)=40H,內(nèi)部RAM的(40H)=38H,(41H)=0A8H,(42H)=74H,試寫出下列各指令執(zhí)行后各單元內(nèi)容的變化。MOVA,@R0MOV@R0,42HMOV42H,AINCR0MOVA,@R0第十四講一、授課內(nèi)容:匯編語言程序二、授課類型:講授三、授課時數(shù):4學(xué)時四、教學(xué)目標(biāo):掌握簡單匯編語言程序五、教學(xué)重、難點(diǎn):運(yùn)用簡單匯編語言編寫簡單程序六、教學(xué)設(shè)想:借助產(chǎn)品、作品演示,一方面可以使課堂生動,另一方面可以騰出大量時間加強(qiáng)對重難點(diǎn)知識的講解,增強(qiáng)學(xué)生對知識的理解,同時提高他們對本

溫馨提示

  • 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

提交評論