歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

單片機(jī)原理及應(yīng)用課程教案

  • 資源ID:28393613       資源大?。?span id="c5cjfbw" class="font-tahoma">16.74MB        全文頁(yè)數(shù):180頁(yè)
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

單片機(jī)原理及應(yīng)用課程教案

“單片機(jī)原理及應(yīng)用”課程教案武漢科技學(xué)院電子信息工程學(xué)院2008年2月8日1、課程性質(zhì):專(zhuān)業(yè)技術(shù)基礎(chǔ)課2、考核方式:閉卷考試3、教材:?jiǎn)纹瑱C(jī)原理與應(yīng)用及C51程序設(shè)計(jì)編著:謝維成等 清華大學(xué)出版社4、教學(xué)目的:通過(guò)理論授課與上機(jī)實(shí)踐,使學(xué)生掌握單片機(jī)的基本原理與應(yīng)用,讓學(xué)生了解單片機(jī)的內(nèi)部結(jié)構(gòu)、各硬件部分的工作原理及使用方法和單片機(jī)應(yīng)用系統(tǒng)的組成原理,掌握單片機(jī)的匯編語(yǔ)言或C語(yǔ)言的指令功能、編程方法及軟件開(kāi)發(fā)技術(shù),通過(guò)實(shí)例介紹單片機(jī)系統(tǒng)常用接口、擴(kuò)展電路及其C語(yǔ)言應(yīng)用程序設(shè)計(jì),使學(xué)生較為熟練地掌握一種單片機(jī)產(chǎn)品的應(yīng)用開(kāi)發(fā)技術(shù),從而有能力進(jìn)一步對(duì)其它單片機(jī)產(chǎn)品的應(yīng)用系統(tǒng)從事研制和開(kāi)發(fā)工作。目 錄第1章 單片機(jī)概述4第2章 單片機(jī)硬件結(jié)構(gòu)14第3章 指令系統(tǒng)38第4章 匯編語(yǔ)言程序設(shè)計(jì)69第5章 單片機(jī)存儲(chǔ)器擴(kuò)展98第6章 中斷與定時(shí)系統(tǒng)120第7章 I/O擴(kuò)展及應(yīng)用146第8章 串行數(shù)據(jù)通信182第9章 數(shù)/模及模/數(shù)轉(zhuǎn)換器接口200第10章 單片機(jī)應(yīng)用及開(kāi)發(fā)技術(shù)211第1章 單片機(jī)概述一、教學(xué)要求:了解:計(jì)算機(jī)的發(fā)展、分類(lèi)、特點(diǎn)與應(yīng)用,單片機(jī)的概念、發(fā)展及應(yīng)用領(lǐng)域,以及典型單片機(jī)系列的基本情況。二、教學(xué)內(nèi)容:1.1 計(jì)算機(jī)的發(fā)展、分類(lèi)、特點(diǎn)與應(yīng)用1.2 單片機(jī)的概念1.3 單片機(jī)的發(fā)展1.4 單片機(jī)的應(yīng)用三、教學(xué)重點(diǎn):?jiǎn)纹瑱C(jī)的概念。四、教學(xué)難點(diǎn):?jiǎn)纹瑱C(jī)的應(yīng)用。五、建議學(xué)時(shí):2學(xué)時(shí)。六、教學(xué)內(nèi)容:1.1 單片機(jī)的概念1.1.1單片機(jī)的名稱單片微機(jī)是早期Single Chip Microcomputer的直譯,它忠實(shí)地反映了早期單片微機(jī)的形態(tài)和本質(zhì)。單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī)(Single Chip Microcomputer),又稱微控制器(Microcomputer Unit)。將計(jì)算機(jī)的基本部件微型化,使之集成在一塊芯片上。片內(nèi)含有CPU、ROM、RAM、并行I/O、串行I/O、定時(shí)器/計(jì)數(shù)器、中斷控制、系統(tǒng)時(shí)鐘及總線等。隨后,按照面向?qū)ο蟆⑼怀隹刂乒δ?,在片?nèi)集成了許多外圍電路及外設(shè)接口,突破了傳統(tǒng)意義的計(jì)算機(jī)結(jié)構(gòu),發(fā)展成microcontroller的體系結(jié)構(gòu),目前國(guó)外已普遍稱之為微控制器MCU(Micro Controller Unit)。鑒于它完全作嵌入式應(yīng)用,故又稱為嵌入式微控制器Embedded Microcontroller)。1.1.2通用單片機(jī)和專(zhuān)用單片機(jī)根據(jù)控制應(yīng)用可分為:通用型和專(zhuān)用型兩大類(lèi)。1、早期通用型單片微機(jī)。通過(guò)不同的外圍擴(kuò)展來(lái)滿足不同的應(yīng)用對(duì)象要求。2、隨著應(yīng)用領(lǐng)域的不斷擴(kuò)大出現(xiàn)了專(zhuān)門(mén)為某一類(lèi)應(yīng)用而設(shè)計(jì)的單片機(jī)專(zhuān)用型單片微機(jī)。目的:降低成本、簡(jiǎn)化系統(tǒng)結(jié)構(gòu)、提高可靠。如:用于計(jì)費(fèi)率電表、用于電子記事簿的單片機(jī)等。1.1.3單片機(jī)與單片機(jī)系統(tǒng)單片機(jī)通常是指芯片本身,集成的是一些基本組成部分。是典型的嵌入式系統(tǒng)的主要構(gòu)成單元,只能作為嵌入式應(yīng)用,即嵌入到對(duì)象環(huán)境、結(jié)構(gòu)、體系中作為其中的一個(gè)智能化控制單元。如:洗衣機(jī)、電視機(jī)、VCD、DVD等家用電器,打印機(jī)、復(fù)印機(jī)、通信設(shè)備、智能儀表、現(xiàn)場(chǎng)總線控制單元等。單片機(jī)系統(tǒng)是在單片機(jī)芯片的基礎(chǔ)上擴(kuò)展其它電路或芯片構(gòu)成的具有一定應(yīng)用功能的計(jì)算機(jī)系統(tǒng)。單片機(jī)應(yīng)用系統(tǒng)中包括了滿足對(duì)象(如洗衣機(jī))要求的全部硬件電路和應(yīng)用軟件。構(gòu)成各種嵌入式應(yīng)用的電路系統(tǒng),統(tǒng)稱為單片機(jī)應(yīng)用系統(tǒng)。單片微機(jī)應(yīng)用系統(tǒng)結(jié)構(gòu)通常分三個(gè)層次,即單片機(jī)、單片機(jī)系統(tǒng)、單片機(jī)應(yīng)用系統(tǒng)。單片機(jī):通常是應(yīng)用系統(tǒng)的主機(jī),設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)時(shí),為所選擇的單片機(jī)系列器件。單片機(jī)系統(tǒng):?jiǎn)纹C(jī)資源的擴(kuò)展,外圍接口電路進(jìn)入片內(nèi),最終向單片應(yīng)用系統(tǒng)集成發(fā)展。最終產(chǎn)品的目標(biāo)系統(tǒng),除了硬件電路外,還須嵌入系統(tǒng)應(yīng)用程序。按照所選擇的單片機(jī),以及單片機(jī)的技術(shù)要求和嵌入對(duì)象對(duì)單片機(jī)的資源要求構(gòu)成單片機(jī)系統(tǒng)。單片機(jī)應(yīng)用系統(tǒng):按照單片機(jī)要求在外部配置單片機(jī)運(yùn)行所需要的時(shí)鐘電路、復(fù)位電路等,構(gòu)成了單片機(jī)的最小應(yīng)用系統(tǒng)。在單片機(jī)中CPU外圍電路不能滿足嵌入對(duì)象功能要求時(shí),在單片機(jī)外部擴(kuò)展CPU外圍電路,如存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、中斷源等,形成能滿足具體嵌入應(yīng)用的一個(gè)計(jì)算機(jī)系統(tǒng)。1.1.4單片機(jī)應(yīng)用系統(tǒng)與單片機(jī)開(kāi)發(fā)系統(tǒng)單片機(jī)開(kāi)發(fā)系統(tǒng)是單片機(jī)的開(kāi)發(fā)調(diào)試的工具,有單片單板機(jī)和仿真器。實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)的硬、軟件開(kāi)發(fā)。MDS(微型機(jī)開(kāi)發(fā)系統(tǒng))、ICE(在線仿真器)1.1.5單片機(jī)的程序設(shè)計(jì)語(yǔ)言和軟件機(jī)器語(yǔ)言 (Machine Language)有三類(lèi) 匯編語(yǔ)言 (Assemble) 高級(jí)語(yǔ)言 (High Level Language)機(jī)器語(yǔ)言:?jiǎn)纹瑱C(jī)應(yīng)用系統(tǒng)只使用機(jī)器語(yǔ)言(指令的二進(jìn)制代碼,又稱指令代碼)。機(jī)器語(yǔ)言指令組成的程序稱目標(biāo)程序。MCS-51兩個(gè)寄存器相加的機(jī)器語(yǔ)言指令:00101000匯編語(yǔ)言:與機(jī)器語(yǔ)言指令一一對(duì)應(yīng)的英文單詞縮寫(xiě),稱為指令助記符。匯編語(yǔ)言編寫(xiě)的程序稱為匯編語(yǔ)言程序。MCS-51兩個(gè)寄存器相加匯編語(yǔ)言指令:ADD A,R0高級(jí)語(yǔ)言:高級(jí)語(yǔ)言源程序C-51、C、PL/M51等。簡(jiǎn)單控制程序不太長(zhǎng)。復(fù)雜多種多樣的控制對(duì)象,少有現(xiàn)成程序借鑒。簡(jiǎn)單系統(tǒng)不含管理和開(kāi)發(fā)功能。復(fù)雜系統(tǒng)實(shí)時(shí)系統(tǒng),需要監(jiān)控系統(tǒng)(甚至實(shí)時(shí)多任務(wù)操作系統(tǒng))。編譯型高級(jí)語(yǔ)言可生成機(jī)器代碼;解釋型高級(jí)語(yǔ)言必須在解釋程序支持下直接解釋執(zhí)行。因此,只有編譯型高級(jí)語(yǔ)言才能作為微機(jī)開(kāi)發(fā)語(yǔ)言。不同計(jì)算機(jī)語(yǔ)言的應(yīng)用:源程序通過(guò)編譯得到機(jī)器能執(zhí)行的目標(biāo)程序。匯編語(yǔ)言程序可以高效率利用計(jì)算機(jī)資源,目標(biāo)程序占用內(nèi)存少,執(zhí)行速度快,適合于自動(dòng)測(cè)控系統(tǒng)反應(yīng)快速、結(jié)構(gòu)緊湊的要求。實(shí)際應(yīng)用中,常與C語(yǔ)言配合使用。高級(jí)語(yǔ)言程序容易掌握,通用性好,但編譯程序系統(tǒng)開(kāi)銷(xiāo)大,目標(biāo)程序占用內(nèi)存多,且執(zhí)行時(shí)間比較長(zhǎng),多用于科學(xué)計(jì)算、工業(yè)設(shè)計(jì)、企業(yè)管理。1.2 單片機(jī)的發(fā)展1.2.1單片機(jī)發(fā)展概述一、電子計(jì)算機(jī)的發(fā)展歷史 1、第一代(19461958):電子管計(jì)算機(jī)。 用于:科學(xué)計(jì)算2、第二代(19581964):晶體管計(jì)算機(jī)。 用于:科學(xué)計(jì)算、數(shù)據(jù)處理、工業(yè)控制3、第三代(19641971):集成電路計(jì)算機(jī)、網(wǎng)絡(luò)。 用于:科學(xué)計(jì)算、數(shù)據(jù)處理、工業(yè)控制、事務(wù)管理。4、第四代(1971 ):大規(guī)模集成電路計(jì)算機(jī)。 用于:計(jì)算量極大的高尖技術(shù)及國(guó)民經(jīng)濟(jì)領(lǐng)域出現(xiàn)了微型機(jī)。5、第五代:智能型計(jì)算機(jī)正在研制中。 用于:模擬人的智能,識(shí)別圖像、語(yǔ)言和物體,聯(lián)想、推理、解答問(wèn)題,使用自然語(yǔ)言進(jìn)行會(huì)話處理。二、微型計(jì)算機(jī)的發(fā)展歷史微型機(jī)算計(jì)的核心部分:微處理器的發(fā)展已經(jīng)歷了五代。第一代(19711973):4位8位(初級(jí))第二代(19731975):8位(初級(jí))第三代(19751978):初級(jí)8位單片機(jī) Intel MCS48系列單片機(jī)第四代(197880年代中期):高檔8位單片機(jī) Intel MCS51系列單片機(jī)16位、32位第五代(80年代中期至今):64位 1976- :初級(jí)8位單片機(jī) Intel MCS-48系列 1980- :高檔8位單片機(jī) Intel MCS-51系列: 51子系列:8031/8051/8751 52子系列:8032/8052/8752 低功耗型80C31 高性能型80C252 廉價(jià)型89C2051/1051 1983- :16位單片機(jī) Intel MCS-96 系列:8098/8096、80C198/80C196 32位單片機(jī) 80960MCS48(從1976年起):低檔型:8021、8022基本型:8048、8748、8038改進(jìn)型:8049、8749、8039和8050、8750、8040MCS51(從1980年起):基本型:8051、8751、8031改進(jìn)型:8052、8752、8032低功耗型:80C51、87C51、80C31強(qiáng)性能型:83C252、87C252、80C252早期產(chǎn)品: 8X9X(8096)MCS96(從1983年起):改進(jìn)型: 8X9XBH、8X9XJF新產(chǎn)品: 8098(準(zhǔn))強(qiáng)功能型:80C196、80C198(準(zhǔn))1.2.2MCS-51單片機(jī)系列MCS-51系列基本產(chǎn)品型號(hào):8051、8031、8751稱為51子系列。不同型號(hào)MCS-51單片機(jī)CPU處理能力和指令系統(tǒng)完全兼容,只是存儲(chǔ)器和I/O接口的配置有所不同。硬件配置基本配置:1. 8位CPU2. 片內(nèi)ROM/EPROM、RAM3. 片內(nèi)并行 I/O接口4. 片內(nèi)16位定時(shí)器/計(jì)數(shù)器5. 片內(nèi)中斷處理系統(tǒng)6. 片內(nèi)全雙工串行I/O口MCS51系列單片機(jī)的3種基本產(chǎn)品:8051:片內(nèi)含有掩膜ROM型程序存儲(chǔ)器,只能由生產(chǎn)廠家代為用戶固化,批量大、永久保存、不修改時(shí)用。8751:片內(nèi)含EPROM型程序存儲(chǔ)器,用戶可固化,可用紫外線光照射擦除;但價(jià)格高。8031:片內(nèi)無(wú)程序存儲(chǔ)器,可在片外擴(kuò)展,方便靈活,價(jià)格便宜。1.2.380C51單片機(jī)系列INTEL公司先后推出了三個(gè)系列的單片機(jī): MCS48系列 MCS51系列 MCS96系列典型產(chǎn)品: 8096 8098(準(zhǔn)) 80C196 80C198(準(zhǔn)) 新一代80C51增加了一些外部接口功能單元,如A/D,PCA,WDT等。PHILIPS:80C51ATMEL(Flash ROM):AT89c51CHMOS:低功耗,高速度和高密度(HMOS),待機(jī)和掉電保護(hù)1.3 單片機(jī)的應(yīng)用1.3.1單片機(jī)應(yīng)用的特點(diǎn)單片機(jī)的應(yīng)用很廣泛,特點(diǎn)很多,僅從應(yīng)用的角度來(lái)看:計(jì)算機(jī)的控制應(yīng)用分為:1、控制系統(tǒng)離線應(yīng)用:控制系統(tǒng)的計(jì)算機(jī)輔助設(shè)計(jì)(控制系統(tǒng)CAD)2、控制系統(tǒng)在線應(yīng)用:計(jì)算機(jī)控制系統(tǒng)使用單片機(jī)工業(yè)控制領(lǐng)域與通用計(jì)算機(jī)系統(tǒng)不同的要求:(1)面對(duì)控制對(duì)象。面對(duì)物理量傳感變換的信號(hào)輸入; 面對(duì)人機(jī)交互的操作控制; 面對(duì)對(duì)象的伺服驅(qū)動(dòng)控制。(2)嵌入到工控應(yīng)用系統(tǒng)中的結(jié)構(gòu)形態(tài)。(3)工業(yè)現(xiàn)場(chǎng)環(huán)境中可靠性品質(zhì)。(4)突出控制功能。對(duì)外部信息及時(shí)捕捉; 對(duì)控制對(duì)象能靈活地實(shí)時(shí)控制; 有突出控制功能的指令系統(tǒng), 如I/O口控制、位操作、豐富的轉(zhuǎn)移指令等。1.3.2單片機(jī)的應(yīng)用領(lǐng)域 工業(yè)自動(dòng)化方面: 力、熱、速度、加速度、位移。 儀器儀表: 降低成本、簡(jiǎn)化系統(tǒng)結(jié)構(gòu)、提高可靠性。 家用電器: 小家電中要求小型價(jià)廉、程序容量不大。 信息和通信產(chǎn)品: PDA 則要求大容量存儲(chǔ)、大屏幕LCD顯示、極低功耗等。 軍事裝備方面: 可靠性、極低功耗。單片機(jī)的應(yīng)用領(lǐng)域:1、用單片機(jī)構(gòu)成智能化產(chǎn)品:n 在智能儀器儀表中的應(yīng)用;n 在家用產(chǎn)品中的應(yīng)用;n 在醫(yī)療儀器中的應(yīng)用;n 在計(jì)算機(jī)外部設(shè)備中的應(yīng)用。2、單片機(jī)在工業(yè)測(cè)控領(lǐng)域中的應(yīng)用:n 過(guò)程控制: 數(shù)控銑床、步進(jìn)控制、生產(chǎn)流水線等;n 數(shù)據(jù)采集;n 信號(hào)處理;n 舊設(shè)備的改造。小結(jié)1、單片機(jī)即單片微型計(jì)算機(jī),是將計(jì)算機(jī)主機(jī)(CPU、內(nèi)存和I/O接口)集成在一小塊硅片上的微型機(jī)。2、單片機(jī)為工業(yè)測(cè)控而設(shè)計(jì),又稱微控制器。具有三高優(yōu)勢(shì)(集成度高、可靠性高、性價(jià)比高)。3、主要應(yīng)用于工業(yè)檢測(cè)與控制、計(jì)算機(jī)外設(shè)、智能儀器儀表、通訊設(shè)備、家用電器等。特別適合于嵌入式微型機(jī)應(yīng)用系統(tǒng)。4、單片機(jī)開(kāi)發(fā)系統(tǒng)有單片單板機(jī)和仿真器。實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)的硬、軟件開(kāi)發(fā)。第2章 單片機(jī)硬件結(jié)構(gòu)一、教學(xué)要求:了解:?jiǎn)纹瑱C(jī)內(nèi)部所包含的硬件資源及其功能特點(diǎn)和使用方法,注意幾個(gè)概念:振蕩周期、時(shí)鐘周期、機(jī)器周期和指令周期的意義及它們之間的關(guān)系。掌握:?jiǎn)纹瑱C(jī)芯片的內(nèi)部組成及存儲(chǔ)器結(jié)構(gòu),特別是片內(nèi)RAM和四個(gè)并行I/O口的使用方法。理解:?jiǎn)纹瑱C(jī)時(shí)鐘電路與時(shí)序、輸入輸出口以及引腳的使用。注意“地址重疊”的問(wèn)題,注意程序狀態(tài)字PSW中各位的含義。二、教學(xué)內(nèi)容:2.1 單片機(jī)邏輯結(jié)構(gòu)及信號(hào)引腳2.2 單片機(jī)的內(nèi)部存儲(chǔ)器2.3 單片機(jī)并行輸入/輸出電路2.4 單片機(jī)時(shí)鐘電路與時(shí)序2.5 單片機(jī)工作方式三、教學(xué)重點(diǎn):?jiǎn)纹瑱C(jī)芯片的內(nèi)部組成及存儲(chǔ)器結(jié)構(gòu),特別是片內(nèi)RAM和四個(gè)并行I/O口的使用方法。四、教學(xué)難點(diǎn):“地址重疊”的問(wèn)題,注意程序狀態(tài)字PSW中各位的含義。五、建議學(xué)時(shí):4學(xué)時(shí)。六、教學(xué)內(nèi)容:2.1 邏輯結(jié)構(gòu)及信號(hào)引腳2.1.1結(jié)構(gòu)框圖8031無(wú)2.1.2內(nèi)部邏輯結(jié)構(gòu)CPU運(yùn)算器電路CPU控制器電路CPU控制器電路MCS51 CPUCPU內(nèi)部結(jié)構(gòu):(1)運(yùn)算器電路:算術(shù)邏輯單元ALU、累加器ACC、寄存器B、程序狀態(tài)字PSW和2個(gè)暫存器等。算術(shù)邏輯運(yùn)算單元ALU ( 8位 ):+、算術(shù)運(yùn)算,與、或、非、異或邏輯運(yùn)算,循環(huán)移位、位處理。(2)控制器電路:程序計(jì)數(shù)器PC、PC+1寄存器、指令寄存器、指令譯碼器、定時(shí)與控制電路等。2.1.3信號(hào)引腳1、I/O口線功能4個(gè)8位并行 I/O 接口引腳P0.0P0.7 、P1.0P1.7 、P2.0P2.7和 P3.0P3.7為多功能引腳,可自動(dòng)切換用作數(shù)據(jù)總線、地址總線、控制總線和I/O接口外部引腳。2、控制線ALE:地址鎖存允許信號(hào)端:外部程序存儲(chǔ)器讀選通信號(hào)端/VPP:程序存儲(chǔ)器選擇信號(hào)端/編程電源輸入端RST/VPD:復(fù)位信號(hào)端和后備電源輸入端。輸入10ms以上高電平脈沖,單片機(jī)復(fù)位。VPD使用后備電源,可實(shí)現(xiàn)掉電保護(hù)。復(fù)位電路:(1)上電復(fù)位(2)外部信號(hào)復(fù)位3、電源及時(shí)鐘引線 工作電源:VCC、VSS時(shí)鐘輸入:XTAL1、XTAL2。80C51RESET+5V2001K30F單片機(jī)RST2.2 內(nèi)部存儲(chǔ)器2.2.1內(nèi)部數(shù)據(jù)存儲(chǔ)器低128單元低128單元是單片機(jī)的真正RAM存儲(chǔ)器。分為三個(gè)區(qū)域:1寄存器區(qū):4組寄存器(寄存器陣列)。即4個(gè)工作寄存器0區(qū)3區(qū)。每組8個(gè)寄存單元(每單元8位),以R0R7作寄存器名,暫存運(yùn)算數(shù)據(jù)和中間結(jié)果。字節(jié)地址為00H1FH。用PSW中的兩位PSW.4和PSW.3來(lái)切換工作寄存器區(qū),選用一個(gè)工作寄存器區(qū)進(jìn)行讀寫(xiě)操作。2位尋址區(qū):字節(jié)地址為20H2FH,既可作RAM,也可位操作。共有16個(gè)RAM單元,共128位,位地址為00H7FH。3用戶RAM區(qū):32個(gè)單元,地址為30H7FH,在一般應(yīng)用中常作堆棧區(qū)。RS0 RS1的組合關(guān)系RS1 RS0寄存器組片內(nèi)RAM地址0 0第0組00H07H0 1第1組08H0FH1 0第2組10H17H1 1第3組18H1FH工作寄存器地址表組RS1 RS0R0R1R2R3R4R5R6R700 000H01H02H03H04H05H06H07H10 108H09H0AH0BH0CH0DH0EH0FH21 010H11H12H13H14H15H16H17H31 118H19H1AH1BH1CH1DH1EH1FH2.2.2內(nèi)部數(shù)據(jù)存儲(chǔ)器高128單元(也稱特殊功能寄存器)內(nèi)部RAM的高128單元專(zhuān)用寄存器(SFR)區(qū) 地址為80HFFH1、SFR(80HFFH)介紹:有2套地址:字節(jié)地址:只21個(gè)有效(其中僅11個(gè)有位地址);位地址:只83位有效,其字節(jié)地址可被8整除。專(zhuān)用寄存器:A、B、PSW、DPTR、SP。I/O接口寄存器:P0、P1、P2、P3、SBUF、TMOD、TCON、SCON等。(1) 程序計(jì)數(shù)器PC(16位):CPU總是按PC的指示讀取程序。PC是一個(gè)16位的計(jì)數(shù)器。其內(nèi)容為將要執(zhí)行的指令地址(即下一條指令地址),可自動(dòng)加1。因此CPU執(zhí)行程序一般是順序方式。當(dāng)發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復(fù)位等操作,PC被強(qiáng)制改寫(xiě),程序執(zhí)行順序也發(fā)生改變。復(fù)位時(shí),PC=0000H。(2) 累加器Acc(8位): 需要ALU處理的數(shù)據(jù)和計(jì)算結(jié)果多數(shù)要經(jīng)過(guò)累加器A。(3) 寄存器B (8位): 與A累加器配合執(zhí)行乘、除運(yùn)算。也可用作通用寄存器。(4) 程序狀態(tài)字PSW (8位):存放ALU運(yùn)算過(guò)程的標(biāo)志狀態(tài)。位 序B7B6B5B4B3B2B1B0位符號(hào)CYACF0RS1RS0OVF1P(5) 數(shù)據(jù)指針DPTR (16位):存放片外存儲(chǔ)器地址,作為片外存儲(chǔ)器的指針??煞殖蓛蓚€(gè)8位寄存器DPH、DPL使用。2. 專(zhuān)用寄存器的字節(jié)尋址注意:(1)21個(gè)可字節(jié)尋址的專(zhuān)用寄存器是不連續(xù)地分散在內(nèi)部RAM高128單元之中,共83個(gè)可尋址位。盡管還剩余許多空閑單元,但用戶并不能使用。在22個(gè)專(zhuān)用寄存器中,唯一一個(gè)不可尋址的PC。PC不占據(jù)RAM單元,它在(2)物理上是獨(dú)立的,因此是不可尋址的寄存器。(3)對(duì)專(zhuān)用寄存器只能使用直接尋址方式,書(shū)寫(xiě)時(shí)既可使用寄存器符號(hào),也可使用寄存器單元地址。MCS-51的寄存器在片內(nèi)RAM都有映像地址。使用時(shí),既可用寄存器名,也可用對(duì)應(yīng)單元地址。字節(jié)地址位地址字節(jié)地址2.2.3堆棧操作1、堆棧類(lèi)型:向上生長(zhǎng)型(向地址增大的方向生成):MCS51系列向下生長(zhǎng)型(向地址較低的方向生成):MCS96系列2、堆棧指針SP (8位):MCS51系列的堆棧是按“先進(jìn)后出”原則存取數(shù)據(jù)的存儲(chǔ)區(qū)。MCS51堆棧設(shè)在片內(nèi)RAM區(qū)。數(shù)據(jù)入棧時(shí):先SP自動(dòng)加1,后寫(xiě)入數(shù)據(jù),SP始終指向棧頂?shù)刂贰?“先加后壓”數(shù)據(jù)出棧時(shí):先讀出數(shù)據(jù),后SP自動(dòng)減1,SP始終指向棧頂?shù)刂贰?“先彈后減”復(fù)位時(shí) SP=07H。但在程序設(shè)計(jì)時(shí)應(yīng)將SP值初始化為30H以后,以免占用寶貴的寄存器區(qū)和位地址區(qū)。2.2.4內(nèi)部程序存儲(chǔ)器80C51內(nèi)有4KB ROM,其地址為0000H0FFFH(內(nèi)部ROM)。其中0000H0002H是系統(tǒng)的啟動(dòng)單元。系統(tǒng)復(fù)位后(PC)0000H,開(kāi)始取指令執(zhí)行程序。如果不從0000H開(kāi)始,應(yīng)存放一條無(wú)條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。作用:(1)用來(lái)存放固化了的用戶程序,取指地址由程序計(jì)數(shù)器PC給出,PC具有自動(dòng)加1的功能;(2)固化一片數(shù)據(jù)區(qū),存放被查詢的表格和參數(shù)等。中斷入口:0003H0023H0003H000AH外部中斷0(INT0)中斷地址區(qū)000BH0012H 定時(shí)器/記數(shù)器0(T0)中斷地址區(qū)0013H001AH外部中斷1(INT1)中斷地址區(qū)001BH0022H定時(shí)器/計(jì)數(shù)器1(T1)中斷地址區(qū)0023H002AH串行(RI/TI)中斷地址區(qū)中斷服務(wù)程序存放方法:(1)從中斷地址區(qū)首地址開(kāi)始,在中斷地址區(qū)中直接存放;(2)從中斷地址區(qū)首地址開(kāi)始,存放一條無(wú)條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過(guò)中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實(shí)際入口地址區(qū)去。程序存儲(chǔ)器保留的單元:保留的存儲(chǔ)單元存儲(chǔ)單元保留目的0000H0002H復(fù)位后初始化引導(dǎo)程序0003H000AH外部中斷0000BH0012H定時(shí)器0溢出中斷0013H001AH外部中斷1001BH0022H定時(shí)器1溢出中斷0023H002AH串行口中斷002BH定時(shí)器2中斷(8052才有)2.2.5存儲(chǔ)器結(jié)構(gòu)特點(diǎn)普林斯頓結(jié)構(gòu):程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)器邏輯空間,統(tǒng)一編址。哈佛結(jié)構(gòu):程序與數(shù)據(jù)分為兩個(gè)獨(dú)立存儲(chǔ)器邏輯空間,分開(kāi)編址。物理上4個(gè)存儲(chǔ)器地址空間: 片內(nèi)程序存儲(chǔ)器 片外程序存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器 片外數(shù)據(jù)存儲(chǔ)器邏輯上3個(gè)存儲(chǔ)器地址空間: 64KB 程序存儲(chǔ)器 256B 片內(nèi)數(shù)據(jù)存儲(chǔ)器 64KB 片外數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器:MCS51的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器是分開(kāi)的(屬于哈佛結(jié)構(gòu)),地址空間重疊,最大可擴(kuò)展到64KB。1、程序存儲(chǔ)器ROM(1)8031內(nèi)部無(wú)程序存儲(chǔ)器由于8031無(wú)片內(nèi)程序存儲(chǔ)器,需外接,因此,端必須外接低電平。(2)8051、8751內(nèi)部有4KB ROM/EPROM: =0,使用外部程序存儲(chǔ)器; =1,使用內(nèi)部程序存儲(chǔ)器4KB空間,當(dāng)PC的值超過(guò)4KB范圍時(shí),自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。2、數(shù)據(jù)存儲(chǔ)器RAM(1)內(nèi)部RAM中低128B,00H7FH;(2)外部RAM,可擴(kuò)至64KB,0000HFFFFH2.3 并行輸入/輸出口電路MCS51共有四個(gè)8位的雙向并行I/O口,分別記作P0、P1、P2和P3。實(shí)際上它們已被歸入專(zhuān)用寄存器之列??谑且粋€(gè)綜合概念,是一個(gè)集數(shù)據(jù)輸入緩沖、數(shù)據(jù)輸出驅(qū)動(dòng)及鎖存等多項(xiàng)功能為一體的I/O電路。對(duì)于口有時(shí)也稱為端口。P0口:一個(gè)數(shù)據(jù)輸出鎖存器和兩個(gè)三態(tài)數(shù)據(jù)輸入緩沖器。一個(gè)多路轉(zhuǎn)接電路MUX在控制信號(hào)的作用下, MUX可以分別接通鎖存器輸出或地址/數(shù)據(jù)線。當(dāng)作為通用的I/O口使用時(shí),內(nèi)部的控制信號(hào)為低電平,封鎖與門(mén)將輸出驅(qū)動(dòng)電路的上拉場(chǎng)效應(yīng)管(FET)截止,同時(shí)使MUX接通鎖存器Q端的輸出通路。P1口:作通用I/O口使用,所以在電路結(jié)構(gòu)上與P0口有一些不同之處。首先它不再需要多路轉(zhuǎn)接電路MUX,其次是電路的內(nèi)部有上拉電阻。與場(chǎng)效應(yīng)管共同組成輸出驅(qū)動(dòng)電路。作為輸出口使用時(shí),已能向外提供推拉電流負(fù)載,無(wú)需再外接上拉電阻。P2口:P2口電路中比P1口多了一個(gè)多路轉(zhuǎn)換電路MUX,這又正好與P0口一樣。P2口也可以作為通用I/O口使用。這時(shí)多路轉(zhuǎn)接開(kāi)關(guān)倒向鎖存器的Q端。但通常應(yīng)用情況下,P2口是作為高位地址線使用,此時(shí)多路轉(zhuǎn)接開(kāi)關(guān)應(yīng)倒向相反方向。P3口:P3口的特點(diǎn)在于為適應(yīng)引腳信號(hào)第二功能的需要。對(duì)于第二功能為輸出的信號(hào)引腳,當(dāng)作為I/O使用時(shí),第二功能信號(hào)引線應(yīng)保持高電平,與非門(mén)開(kāi)通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號(hào)時(shí),該位的鎖存器應(yīng)置“1”,使與非門(mén)對(duì)第二功能信號(hào)的輸出是暢通的,從而實(shí)現(xiàn)第二功能信號(hào)的輸出。P3各口線與第二功能表口線替代的第二功能P3.0RXD(串行口輸入)P3.1TXD(串行口輸出)P3.2INT0(外部中斷0輸入)P3.3INT1(外部中斷1輸入)P3.4T0(定時(shí)器0的外部輸入)P3.5T1(定時(shí)器1的外部輸入)P3.6WR(片外數(shù)據(jù)存儲(chǔ)器“寫(xiě)選通控制”輸出)P3.7RD(片外數(shù)據(jù)存儲(chǔ)器“讀選通控制”輸出)端口小結(jié):(1)系統(tǒng)總線:地址總線(16位):P0(地址低8位)、P2口(地址高8位)數(shù)據(jù)總線(8位):P0口(地址/數(shù)據(jù)分時(shí)復(fù)用,借助ALE) 控制總線(6根):P3口的第二功能和9、29、30、31腳;(2)供用戶使用的端口:P1口、部分未作第二功能的P3口;(3)P0口作地址/數(shù)據(jù)時(shí),是真正的雙向口,三態(tài),負(fù)載能力為8個(gè)LSTTL電路;P1P3是準(zhǔn)雙向口,負(fù)載能力為4個(gè)LSTTL電路。(4)P0P3在用作輸入之前必須先寫(xiě)“1”,即: (P0)=FFH (P3)=FFH 。2.4 電路與時(shí)序 2.4.1時(shí)鐘電路振蕩源(OSCillation)時(shí)鐘頻率范圍要求在1.2MHz12MHz之間。1內(nèi)部時(shí)鐘方式:內(nèi)部一個(gè)高增益反相放大器與片外石英晶體或陶瓷諧振器構(gòu)成了一個(gè)自激振蕩器。 晶體振蕩器的振蕩頻率決定單片機(jī)的時(shí)鐘頻率。2外部時(shí)鐘方式:外部振蕩器輸入時(shí)鐘信號(hào)。1。XTAL1單片機(jī)XTAL2 外部時(shí)鐘源+5VXTAL1單片機(jī)XTAL2 內(nèi)部時(shí)鐘方式外部時(shí)鐘方式2.4.2時(shí)序定時(shí)單位時(shí)鐘周期:振蕩頻率的倒數(shù)。機(jī)器周期:完成一個(gè)基本操作所需要的時(shí)間。 一個(gè)機(jī)器周期由12個(gè)時(shí)鐘周期組成。指令周期:一條指令的執(zhí)行時(shí)間。 以機(jī)器周期為單位:可包含1個(gè)4個(gè)機(jī)器周期。思考題:設(shè)應(yīng)用單片機(jī)晶振頻率為12MHz,問(wèn)機(jī)器周期為多少?指令周期分別為多少?解:fosc=12MHzMC=12/ fosc =12/12MHz =1s2.4.3典型指令時(shí)序MCS51采用定時(shí)控制方式,因此它有固定的機(jī)器周期。規(guī)定一個(gè)機(jī)器周期的寬度為6個(gè)狀態(tài)。由于一個(gè)狀態(tài)又包括兩個(gè)拍節(jié),因此一個(gè)機(jī)器周期總共有12個(gè)拍節(jié),分別記作S1P1、S1P2S6P2。振蕩脈沖并不直接使用,由XTAL2端送往內(nèi)部時(shí)鐘電路(fosc):經(jīng)過(guò)2分頻,向CPU提供2相時(shí)鐘信號(hào)P1和P2(f拍節(jié)= 1/2 fosc);再經(jīng)3分頻,產(chǎn)生ALE時(shí)序(fALE = 1/6 fosc);經(jīng)過(guò)12分頻,成為機(jī)器周期信號(hào)(MC = 12 /fosc),如下圖所示。需要指出的是,CPU的運(yùn)算操作在P1期間,數(shù)據(jù)傳送在P2期間。(80C51)(80C51)(80C51)幾種典型指令的取指和執(zhí)行時(shí)序通常,每個(gè)機(jī)器周期,ALE兩次有效,第1次發(fā)生在S1P2和S2P1期間,第2次在S4P2和S5P1期間。單周期指令的執(zhí)行 始于S1P2,這時(shí)操作碼被鎖存到指令寄存器內(nèi),讀出下字節(jié)(應(yīng)為下一個(gè)操作碼)是不予考慮的,且程序計(jì)數(shù)器PC并不增量。訪問(wèn)外部數(shù)據(jù)存貯器的指令MOVX的時(shí)序,它是一條單字節(jié)雙周期指令。在第1機(jī)器周期S5開(kāi)始時(shí),送出外部數(shù)據(jù)存貯器的地址,隨后讀或?qū)憯?shù)據(jù)。讀寫(xiě)期間在ALE端不輸出有效信號(hào),在第2機(jī)器周期,即外部數(shù)據(jù)存貯器已被尋址和選通后,也不產(chǎn)生取指操作。MCS51單片機(jī)時(shí)序:可通過(guò)測(cè)量ALE確定CPU是否工作,ALE有時(shí)鐘的特點(diǎn)。2.5 工作方式復(fù)位、程序執(zhí)行、單步執(zhí)行、掉電保護(hù)、低功耗以及EPROM編程和校驗(yàn)等六種工作方式。2.5.1復(fù)位方式和復(fù)位電路RST引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩脈沖周期(即二個(gè)機(jī)器周期)以上。例:若使用頻率為6MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過(guò)_才能完成復(fù)位操作。解:fosc=6MHzMC=12/ fosc =12/6MHz=2s t = 4s上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位: 上電自動(dòng)復(fù)位通過(guò)電容充電來(lái)實(shí)現(xiàn)的,Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。 按鍵脈沖復(fù)位利用RC微分電路產(chǎn)生的正脈沖來(lái)實(shí)現(xiàn)的。一些寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIP000000BSBUF不定IE0000000BPCON00000BTMOD00H2.5.2程序執(zhí)行方式程序執(zhí)行方式是單片機(jī)的基本工作方式。由于復(fù)位后PC=0000H,因此程序執(zhí)行總是從地址0000H開(kāi)始,但一般程序并不是真正從0000H開(kāi)始,為此就得在0000H開(kāi)始的單元中存放一條無(wú)條件轉(zhuǎn)移指令,以便跳轉(zhuǎn)到實(shí)際程序的入口去執(zhí)行。2.5.3掉電保護(hù)方式單片機(jī)系統(tǒng)在運(yùn)行過(guò)程中,如發(fā)生掉電故障,將會(huì)丟失RAM和寄存器中的程序和數(shù)據(jù),其后果有時(shí)是很?chē)?yán)重的。 掉電保護(hù)處理先把有用信息轉(zhuǎn)存,然后再啟用備用電源維持供電。信息轉(zhuǎn)存:所謂信息轉(zhuǎn)存是指當(dāng)電源出現(xiàn)故障時(shí),應(yīng)立即將系統(tǒng)的有用信息轉(zhuǎn)存到內(nèi)部RAM中。信息轉(zhuǎn)存是通過(guò)中斷服務(wù)程序完成的。系統(tǒng)中設(shè)置一個(gè)電壓檢測(cè)電路,一旦檢測(cè)到電源電壓下降,立即通過(guò)INT0/1產(chǎn)生外部中斷請(qǐng)求,中斷響應(yīng)后執(zhí)行中斷服務(wù)程序,并將有用信息送內(nèi)部RAM中保護(hù)起來(lái),即通常所說(shuō)的“掉電中斷”。掉電后時(shí)鐘電路和CPU皆停止工作,只有內(nèi)部只RAM單元和專(zhuān)用寄存器繼續(xù)工作,以保持其內(nèi)容。2.5.480C51的低功耗方式8051掉電保護(hù)方式實(shí)際上就是低功耗方式。CHMOS的80C5I卻有兩種低功耗方式。即待機(jī)方式和掉電保護(hù)方式。待機(jī)方式和掉電方式都是由專(zhuān)用寄存器PCON(電源控制寄存器)來(lái)控制的。1、待機(jī)方式:待機(jī)方式振蕩器仍然運(yùn)行。并向中斷邏輯、串行口和定時(shí)器/計(jì)數(shù)器電路提供時(shí)鐘,CPU不能工作,與CPU有關(guān)的如SP、PC、PSW、ACC以及全部通用寄存器也都被“凍結(jié)”在原狀態(tài)。中斷方法退出待機(jī)方式。中斷的同時(shí),PCON.0被硬件自動(dòng)清0,單片機(jī)就退出待機(jī)方式而進(jìn)入正常工作方式。其實(shí)在中斷服務(wù)程序只需中安排一條RETI指令,就可以使單片機(jī)恢復(fù)正常工作后返回?cái)帱c(diǎn)繼續(xù)執(zhí)行程序。2、掉電保護(hù)方式:PCON的PD位控制單片機(jī)進(jìn)入掉電保護(hù)方式。因此對(duì)于象80C51這樣的單片機(jī)。在檢測(cè)到電源故障時(shí),除進(jìn)行信息保護(hù)外、還應(yīng)把PCON.1位置“1”,使之進(jìn)入掉電保護(hù)方式。此時(shí)單片機(jī)一切工作都停止,只有內(nèi)部RAM單元的內(nèi)容被保存。80C51單片機(jī)除進(jìn)入掉電保護(hù)方式的方法與8051不同之外,還有備用電源由VCC端引入的特點(diǎn)。VCC正常后,硬件復(fù)位信號(hào)維持10ms即能使單片機(jī)退出掉電方式。最小應(yīng)用系統(tǒng):基本的單片機(jī)控制電路板:動(dòng)作選擇按鈕紅外線傳感器89C2051單片機(jī)復(fù)位按鈕電源指示燈小結(jié):1、介紹單片機(jī)的編程結(jié)構(gòu)和內(nèi)部邏輯結(jié)構(gòu)及性能。2、學(xué)習(xí)了單片機(jī)存儲(chǔ)器結(jié)構(gòu)特點(diǎn)、內(nèi)部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的結(jié)構(gòu)和工作原理。3、單片機(jī)的4個(gè)8位并行端口P0、P1、P2和P3各自的口電路邏輯和功能。4、單片機(jī)的時(shí)鐘電路和時(shí)序以及單片機(jī)的6種工作方式。練習(xí)題: (一)問(wèn)答題 (二)判斷題 (三)填空題 (四)選擇題第3章 指令系統(tǒng)一、教學(xué)要求:了解:?jiǎn)纹瑱C(jī)的尋址方式和指令系統(tǒng)功能,特別是其位尋址功能。掌握:各種尋址方式,常用指令的功能和使用方法及匯編語(yǔ)言程序設(shè)計(jì)方法。注意幾個(gè)中斷入口地址在程序存儲(chǔ)器中的位置,注意16位數(shù)據(jù)指針DPTR和兩個(gè)8位數(shù)據(jù)R0、R1指針的使用方法。二、教學(xué)內(nèi)容:3.1 單片機(jī)指令格式和尋址方式3.2 單片機(jī)指令分類(lèi)介紹3.3 單片機(jī)指令匯總?cè)?、教學(xué)重點(diǎn):各種尋址方式,常用指令的功能和使用方法及匯編語(yǔ)言程序設(shè)計(jì)方法。四、教學(xué)難點(diǎn):注意幾個(gè)中斷入口地址在程序存儲(chǔ)器中的位置,注意16位數(shù)據(jù)指針DPTR和兩個(gè)8位數(shù)據(jù)指針R0、R1的使用方法。五、建議學(xué)時(shí):3學(xué)時(shí)。六、教學(xué)內(nèi)容:3.1 指令格式和尋址方式一、匯編語(yǔ)言指令格式:標(biāo)號(hào):操作碼 操作數(shù)1,操作數(shù)2 ;注釋 換行表示一條指令結(jié)束。 例: LOOP: MOV A,#40H ;取參數(shù)1、標(biāo)號(hào):指令的符號(hào)地址。2、操作碼:指明指令功能。3、操作數(shù):指令操作對(duì)象。4、注釋行:說(shuō)明指令在程序中的作用。 操作碼和操作數(shù)是指令主體。MOVmove 傳送XCHexchange 交換ANLand logic 與邏輯運(yùn)算XRLexclusive or 異或運(yùn)算MULmultiply 乘法RRrotate right 右循環(huán)SJMPshort jump 短跳轉(zhuǎn)RETreturn 子程序返回二、機(jī)器語(yǔ)言指令格式:操作碼 操作數(shù)1 操作數(shù)2有單字節(jié)、雙字節(jié)和三字節(jié)指令。匯編語(yǔ)言指令中操作碼和操作數(shù)是指令主體,稱為指令可執(zhí)行部分,指令表中可查出對(duì)應(yīng)指令代碼。舉例:匯編語(yǔ)言: 機(jī)器語(yǔ)言:MOV A,R0E8HMOV R6,#32H7E 32HMOV 40H,#64H75 40 64H三、指令尋址方式:(一)操作數(shù)類(lèi)型:位(bit) 位尋址區(qū)中的一位二進(jìn)制數(shù)據(jù)字節(jié)(Byte) 8位二進(jìn)制數(shù)據(jù)字 (Word) 16位雙字節(jié)數(shù)據(jù)(二)尋址方式:1、立即尋址方式: 指令中給出實(shí)際操作數(shù)據(jù)(立即數(shù)),一般用于為寄存器或存儲(chǔ)器賦常數(shù)初值。舉例: 8位立即數(shù): MOVA,#40H ;A40H 16位立即數(shù): MOVDPTR,#2100H ;DPTR2100H2、直接尋址方式:指令操作數(shù)是存儲(chǔ)器單元地址,數(shù)據(jù)放在存儲(chǔ)器單元中。 MOV A,40H;A(40H)例:設(shè)存儲(chǔ)器兩個(gè)單元的內(nèi)容如圖所示,執(zhí)行指令 MOV A,40H 后 A = ?41H 78H40H 56H直接尋址方式對(duì)數(shù)據(jù)操作時(shí),地址是固定值,而地址所指定的單元內(nèi)容為變量形式。思考題:直接尋址方式指令和立即尋址方式指令的形式有什么不同?3、寄存器尋址方式:指令操作數(shù)為寄存器名,數(shù)據(jù)在寄存器中。例:MOV A,R0;A(R0)設(shè)指令執(zhí)行前 A=20H,R0=40H,執(zhí)行指令后,A= ? ,R0 = ?4、寄存器間接尋址方式:指令的操作數(shù)為寄存器名,寄存器中為數(shù)據(jù)地址。 存放地址的寄存器稱為間址寄存器或數(shù)據(jù)指針。例:MOV A,R0;A(R0) 設(shè)指令執(zhí)行前 A=20H,R0=40H,地址為40H存儲(chǔ)器單元內(nèi)容如圖所示。執(zhí)行指令后,A= ? R0 = ? (40H)= ? 41H 67HR040H 34H 34H5、變址間接尋址方式:數(shù)據(jù)在存儲(chǔ)器中,指令給出的寄存器中為數(shù)據(jù)的基地址和偏移量。數(shù)據(jù)地址 = 基地址 + 偏移量。說(shuō)明:1、只對(duì)程序存儲(chǔ)器; 2、指令形式:MOVC A,A+DPTR MOVC A,A+PC JMP A+DPTR例:MOVC A,A+DPTR;A(A+DPTR) 設(shè)指令執(zhí)行前 A=09H,DPTR=2000H,存儲(chǔ)器單元內(nèi)容如圖所示。執(zhí)行指令后,A= ? DPTR= ?6、位尋址方式: 指令給出位地址。一位數(shù)據(jù)在存儲(chǔ)器位尋址區(qū)。 (1)內(nèi)部RAM中的位尋址區(qū):字節(jié)地址為20H2FH; (2)專(zhuān)用寄存器的可尋址位:11個(gè)(83位) 表示方法:1)直接使用位地址;如:PSW的位6可表示為0D6H 2)位名稱表示; 或AC 3)字節(jié)地址加位數(shù)表示; 或0D0H.6 4)專(zhuān)用寄存器符號(hào)加位數(shù)表示。 或PSW.6例: MOV C,40H;Cy(位地址40H) 設(shè)指令執(zhí)行前 Cy=1,位地址40H存儲(chǔ)器單元如圖,執(zhí)行指令后,Cy= ?110101100110001029H 01100110001028H 11010110位尋址區(qū)7、相對(duì)尋址方式:目的地址=轉(zhuǎn)移指令地址+轉(zhuǎn)移指令字節(jié)數(shù)+rel (rel為偏移量)當(dāng)前PC值加上指令中規(guī)定的偏移量rel,構(gòu)成實(shí)際的操作數(shù)地址。例: SJMP rel 操作:跳轉(zhuǎn)到的目的地址 = 當(dāng)前16位PC值 + rel注意:1)“當(dāng)前PC值”指程序中下一條指令所在的首地址,是一個(gè)16位數(shù);2)符號(hào)“rel”表示“偏移量”,是一個(gè)帶符號(hào)的單字節(jié)數(shù),范圍是:-128+127(80H7FH)。在實(shí)際編程中,“rel” 通常用標(biāo)號(hào)代替。3.2 指令分類(lèi)介紹指令功能分類(lèi):數(shù)據(jù)傳送、數(shù)據(jù)操作、布爾處理、程序控制。3.2.1 數(shù)據(jù)傳送指令實(shí)現(xiàn)寄存器、存儲(chǔ)器之間的數(shù)據(jù)傳送。一、內(nèi)部傳送指令:片內(nèi)數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送。二、外部傳送指令:片外數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送。三、交換指令:片內(nèi)數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送。四、堆棧操作指令:片內(nèi)數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送。五、查表指令:程序存儲(chǔ)器數(shù)據(jù)傳送。(一)內(nèi)部傳送指令:實(shí)現(xiàn)片內(nèi)數(shù)據(jù)存儲(chǔ)器中數(shù)據(jù)傳送。指令格式: MOV 目的操作數(shù),源操作數(shù)尋址方式:立即尋址、直接尋址、寄存器尋址、寄存器間址。MOV A,Rn ;A(Rn),Rn=R0R7MOV A,direct;A(direct)MOV A,Ri ;A(Ri),Ri=R0、R1MOV A,#data ;AdataMOV Rn, direct ;Rn(direct)MOV Ri, direct ;(Ri)(direct)MOVdirect1,direct2;(direct1)(direct2)MOV DPTR,#d1d2 ;DPTRd1d2指令機(jī)器碼:11101rrr E8EF11100101 n E5 n1110011i E6、E701110100 d74d10101rrr n1010011i n85 n1 n290 d1 d2習(xí)題:找出配對(duì)指令,實(shí)現(xiàn)反向傳送。例:順序執(zhí)行下列指令序列,求每一步執(zhí)行結(jié)果。MOV A,#30HMOV 4FH,AMOV R0,#20HMOVR0,4FHMOV 21H,20H習(xí)題:用兩種尋址方式實(shí)現(xiàn),將片內(nèi)RAM60H單元的數(shù)據(jù)傳送給累加器A。解:MOV A,#60H()或MOV A,60H () 結(jié)果A=32H或MOV R0,60H MOV A,R0 () 或MOV R0,#60H () MOV A,R0說(shuō) 明:1. 一條指令中不能同時(shí)出現(xiàn)兩個(gè)工作寄存器:非法指令:MOV R1,R2 MOV R2,R02. 間址寄存器只能使用 R0、R1。 非法指令:MOV A,R23. SFR區(qū)只能直接尋址,不能用寄存器間接尋址。非法指令:MOV R0,#80H MOV A,R04. 指令表(P70):B:指令字節(jié)數(shù),M:機(jī)器周期數(shù)只有指令表中的指令才有對(duì)應(yīng)指令代碼,計(jì)算機(jī)才能執(zhí)行。編程時(shí),不能隨意創(chuàng)造發(fā)明指令。(二) 外部RAM傳送指令:(MOVX) 實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器和A累加器之間的數(shù)據(jù)傳送。 指令格式:MOVX 目的操作數(shù),源操作數(shù)尋址方式:片外數(shù)據(jù)存儲(chǔ)器用寄存器間址方式。1、 DPTR作16位數(shù)據(jù)指針,尋址64KB片外RAM空間: MOVX A,DPTR;A(DPTR)(讀)MOVX DPTR,A;(DPTR)A(寫(xiě))2、Ri作8位數(shù)據(jù)指針,尋址256B片外RAM空間(頁(yè)內(nèi)尋址): MOVXA,Ri;A(P2Ri)(讀) MOVXRi,A ;(P2Ri)A(寫(xiě))例:實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)傳送(2000H)(2100H)。MOV DPTR,#2000HMOVX A,DPTRMOV DPTR,#2100HMOVX DPTR,A片外數(shù)據(jù)存儲(chǔ)器不能直接尋址。下列為非法指令: MOVX A,2000H MOVX 2100H,2000H思考題:為什么對(duì)DPTR的數(shù)據(jù)傳送使用內(nèi)部傳送指令?習(xí)題:將片外RAM 0000H單元的數(shù)據(jù)傳送到片內(nèi)RAM的60H單元。(三) 外部ROM傳送指令(查表指令):(MOVC) 實(shí)現(xiàn)從程序存儲(chǔ)器讀取數(shù)據(jù)到A累加器,只能使用變址間接尋址方式。多用于查常數(shù)表程序,可直接求取常數(shù)表中的函數(shù)值。1DPTR為基址寄存器:MOVCA,A+DPTR ;A(A+DPTR) (讀)查表范圍為 64KB 程序存儲(chǔ)器任意空間,稱為遠(yuǎn)程查表指令 。2PC為基址寄存器:MOVCA,A+PC;A(A+PC) (讀)常數(shù)表只能在查表指令后256B范圍內(nèi),稱為近程查表指令。P49:例1:以查表方法把累加器中的十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼,并送回累加器中。程序如下: 指令地址 源程序 ORG 2000H 2000 HBA:INC A 2001 MOVC A,A+PC 2002 RET 2003 DB 30H 2004 DB 31H 2005 DB 32H 2011 DB 45H 2012 DB 46H 例2:查表法求Y=X2。設(shè)X(0X15)在片內(nèi)RAM的20H單元中,要求查表求Y,存入片內(nèi)RAM 21H單元。方法1:程序: ORG 1000HSQU: MOV DPTR,#3000H;確定表首地址(基地址) MOV A,20H;取 X(變量:偏移量) MOVC A,A+DPTR;查表求Y=X2 MOV 21H,A;保存Y(結(jié)果) RET;子程序結(jié)束 ;其它程序段 ORG 3000H ;常數(shù)表格首地址TAB:DB 00,01,04,09, ,225;平方表 END方法2:指令地址 源程序 ORG 1000H;程序起始地址1000H SQU:MOV A,20H ;取X 1002H ADD A,#3 ;修正偏移量1004H MOVCA,A+PC ;查表求Y=X2 (PC=1005H)1005H MOV 21H,A ;存結(jié)果1007H RET ;子程序結(jié)束1008H TAB:DB 00,01,04 ;平方表 100BH DB 09, ,225思考題:當(dāng)0X255時(shí),如何用查表法編程求Y=X2。(四) 交換指令:實(shí)現(xiàn)片內(nèi)RAM區(qū)的數(shù)據(jù)雙向傳送。1. 字節(jié)交換指令XCH A,Rn ;A(Rn)XCH A,Ri ;A(Ri)XCH A,direct ;A(direct)例:設(shè)A= 29H,執(zhí)行指令 XCH A,2AH后,A= ? ,(2AH)= ?習(xí)題:將片內(nèi)RAM60H單元與61H單元的數(shù)據(jù)交換。XCH 60H,61H; 對(duì)嗎?不對(duì)!2. 半字節(jié)交換指令:XCHD A,Ri ;A03 (Ri)03SWAP A;A47 A03例:將片內(nèi)RAM 2AH和2BH單元中的ASCII碼

注意事項(xiàng)

本文(單片機(jī)原理及應(yīng)用課程教案)為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!