




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
問答題1.簡述C51語言和匯編語言的比較使用C51語言進(jìn)行嵌入式系統(tǒng)的開發(fā),有著匯編語言所不可比擬的優(yōu)勢:①編程調(diào)試靈活方便;②生成的代碼編譯效率高;③模塊化開發(fā);④可移植性好;⑤便于項(xiàng)目的維護(hù);2.簡述單片機(jī)的C語言的特點(diǎn)單片機(jī)的C語言的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:①無需了解機(jī)器硬件及其指令系統(tǒng),只需初步了解MCS-51的存儲器結(jié)構(gòu);②C51能方便的管理內(nèi)部寄存器的分配、不同存儲器的尋址和數(shù)據(jù)類型等細(xì)節(jié)問題,但對硬件控制有限;而匯編語言可以完全控制硬件資源;③C51在小應(yīng)用程序中,產(chǎn)生的代碼量大,執(zhí)行速度慢;但在較大的程序中代碼效率高;④C51程序由若干函數(shù)組成,具有良好的模塊化結(jié)構(gòu),便于改進(jìn)和擴(kuò)充;⑤C51程序具有良好的可讀性和可維護(hù)性;而匯編語言在大應(yīng)用程序開發(fā)中,開發(fā)難度增加,可讀性差;⑥C51有豐富的庫函數(shù),可大大減少用戶的編程量,顯著縮短編程與調(diào)試時(shí)間,大大提高軟件開發(fā)效率;⑦使用匯編語言編制的程序,當(dāng)機(jī)型改變時(shí),無法直接移植使用,而 C語言程序是面向用戶的程序設(shè)計(jì)語言,能在不同機(jī)型的機(jī)器上運(yùn)行,可移植性好。3.哪些變量類型是51單片機(jī)直接支持的?答:C51編譯器支持的數(shù)據(jù)類型有:位型(bit)、無符號字符型(unsignedchar、有符號字符型(signedchai)、無符號整型(unsignedint)、有符號整型(signedint)、無符號長整型(unsignedlong)、有符號長整型(signedlong)、浮點(diǎn)型(float)和指針型等。C51編譯器支持的數(shù)據(jù)類型、長度和值域如表 1-1所示。表1-1C51的數(shù)據(jù)類型數(shù)據(jù)類型長度/bit長度/byte值域bit10,1unsignedchar810?255signedchar81-128?127unsignedint1620?65535signedint162-32768?32767unsignedlong3240?4294967295signedlong324-2147483648?2147483647float324出.176E-38?曲.40E+38(6位數(shù)
字)double648出.176E-38?曲.40E+38(10位數(shù)字)-mt#243存儲空間0?655354.簡述C51的數(shù)據(jù)存儲類型答:我們都知道,8051單片機(jī)存儲區(qū)可分為內(nèi)部數(shù)據(jù)存儲區(qū)、外部數(shù)據(jù)存儲區(qū)以及程序存儲區(qū)。8051單片機(jī)內(nèi)部的數(shù)據(jù)存儲區(qū)是可讀寫的,8051派生系列最多可有256字節(jié)的內(nèi)部數(shù)據(jù)存儲區(qū),其中低128字節(jié)可直接尋址,高128字節(jié)(從0x80到0xFF)只能間接尋址,從20H開始的16字節(jié)可位尋址。內(nèi)部數(shù)據(jù)區(qū)可分為3個(gè)不同的存儲類型:dataidata和bdata。外部數(shù)據(jù)區(qū)也是可讀寫的,訪問外部數(shù)據(jù)區(qū)比訪問內(nèi)部數(shù)據(jù)區(qū)慢,因?yàn)橥獠繑?shù)據(jù)區(qū)是通過數(shù)據(jù)指針加載地址來間接訪問的。C51提供兩種不同的存儲類型xdata和pdata訪問外部數(shù)據(jù)。程序存儲區(qū)是只能讀不能寫。程序存儲區(qū)可能在 8051單片機(jī)內(nèi)部或者在外部或者內(nèi)外都有,這由8051單片機(jī)的硬件決定。C51提供了code存儲類型來訪問程序存儲區(qū)。每個(gè)變量可以明確地分配到指定的存儲空間,對內(nèi)部數(shù)據(jù)存儲器的訪問比對外部數(shù)據(jù)存儲器的訪問快許多,因此應(yīng)當(dāng)將頻繁使用的變量放在內(nèi)部存儲器中, 而把較少使用的變量放在外部存儲器中。各存儲區(qū)的簡單描述如表1-2所示。表1-2C51存儲類型與8051存儲空間的對應(yīng)關(guān)系存儲區(qū)描述DATA片內(nèi)RAM的低128字節(jié),可在一個(gè)周期內(nèi)直接尋址BDATA片內(nèi)RAM的位尋址區(qū),16字節(jié)IDATA片內(nèi)RAM的256字節(jié),必須米用間接尋址XDATA外部數(shù)據(jù)存儲區(qū),使用DPTR間接尋址PDATA外部存儲區(qū)的256個(gè)字節(jié),通過P0口的地址對其尋址。使用MOVX@Ri,需要兩個(gè)指令周期CODE程序存儲區(qū),使用DPTR尋址。以上介紹的是C51的數(shù)據(jù)存儲類型,C51存儲類型及其大小和值域如表1-3所示表1-3C51存儲類型及其大小和值域存儲類型長度/bit長度/byte值域data810?255idata810?255pdata810?255code1620?65535xdata1620?655355.簡述C51對51單片機(jī)特殊功能寄存器的定義方法答:MCS-51通過其特殊功能寄存器(SFR)實(shí)現(xiàn)對其內(nèi)部主要資源的控制。MCS-51單片機(jī)有21個(gè)SFR,有的單片機(jī)還有更多的SFR,它們分布在片內(nèi)RAM的高128字節(jié)中,其地址能夠被8整除的SFR一般可以進(jìn)行位尋址。關(guān)于MCS-51單片機(jī)的特殊功能寄存器參看附錄Ao對SFR只能用直接尋址方式訪問。C51允許通過使用關(guān)鍵字sfr、sbit或直接引用編譯器提供的頭文件來實(shí)現(xiàn)對SFR的訪問。(1)使用關(guān)鍵字定義 sfr為了能直接訪問特殊功能寄存器SFR,C51提供了一種自主形式的定義方法。這種定義方法與標(biāo)準(zhǔn)的C語言不兼容,只適用于對8051系列單片機(jī)進(jìn)行C編程。這種定義的方法是引入關(guān)鍵字 “sfr,語法如下:sfr特殊功能寄存器名字 =特殊功能寄存器地址;如:sfrSCON=0x98; /*串口控制寄存器地址 98H*/sfrTMOD=0X89; /*定時(shí)器 /計(jì)數(shù)器方式控制寄存器地址 89H*/(2)通過頭文件訪問 SFR8051系列單片機(jī)的寄存器數(shù)量與類型是極不相同的, 因此對單片機(jī)特殊功能寄存器的訪問可以通過對頭文件的訪問來進(jìn)行。為了用戶處理方便,C51編譯器把MCS-51單片機(jī)的常用的特殊功能寄存器和特殊位進(jìn)行了定義,放在一個(gè)“reg51.K“reg52.h勺頭文件中。當(dāng)用戶要使用時(shí),只需要在使用之前用一條預(yù)處理命令“#include<reg51.h才巴這個(gè)頭文件包含到程序中,然后就可以使用特殊功能寄存器名和特殊位名稱了。用戶可以通過文本編輯器對頭文件進(jìn)行增減。(3)SFR中位定義在8051單片機(jī)的應(yīng)用問題中,經(jīng)常需要單獨(dú)訪問SFR中的位,C51的擴(kuò)充功能使之成為可能,使用關(guān)鍵字“sbit可'以訪問位尋址對象。特殊位(sbit)的定義,像SFR-樣不與標(biāo)準(zhǔn)C兼容。與SFR定義一樣,用關(guān)鍵字“sbit接義某些特殊位,并接受任何符號名, “二號后將絕對地址賦給變量名。這種地址分配有三種方法:第一種方法:sbit位名=特殊功能寄存器名A位置;當(dāng)特殊功能寄存器的地址為字節(jié)( 8位)時(shí),可使用這種方法。特殊功能寄存器名必須是已定義的SFR的名字。"后的位置”語句定義了基地址上的特殊位的位置。該位置必須是 0?7的數(shù)。如:第二種方法:sbit位名二字節(jié)地址a位置;這種方法是以一個(gè)整常數(shù)為基地址,該值必須在0x80?0xFF之間,并能被8整除,確定位置的方法同上。第三種方法:sbit位名=位地址;這種方法將位的絕對地址賦給變量,地址必須在0x80?0xFF之間。C51的data、bdata、idata有什么區(qū)別?答:databdataidatal!表明數(shù)據(jù)的存儲類型,data是指片內(nèi)RAM的低128字節(jié),可在一個(gè)周期內(nèi)直接尋址;bdata^指片內(nèi)RAM的位尋址區(qū),16字節(jié);idata是指片內(nèi)RAM的256?節(jié),必須采用間接尋址。C51中的中斷函數(shù)和一般的函數(shù)有什么不同?答:C51編譯器允許用C51創(chuàng)建中斷服務(wù)函數(shù),中斷函數(shù)是由中斷系統(tǒng)自動(dòng)調(diào)用的。中斷函數(shù)的定義格式為:函數(shù)類型函數(shù)名interruptnusingn其中:interrupt和using為關(guān)鍵字;interrupt后面的n為中斷源的編號,即中斷號;using后面的n所選擇的寄存器組,取值范圍為0?3。定義中斷函數(shù)時(shí),using是一個(gè)選項(xiàng),可以省略不用。如果不用 using選項(xiàng),則由編譯器選擇一個(gè)寄存器組作為絕對寄存器組。8051的中斷過程通過使用interrupt關(guān)鍵字和中斷號(0?31)來實(shí)現(xiàn),中斷號告訴編譯器中斷函數(shù)的入口地址。按照給定的數(shù)據(jù)類型和存儲類型,寫出下列變量的說明形式(1)在data區(qū)定義字符變量val1答:chardatavall;(2)在idata區(qū)定義整型變量val2答:intidataval2;(3)在xdata區(qū)定義無符號字符型數(shù)組val3[4]。答:unsignedxdataval3[4];(4)在xdata區(qū)定義一個(gè)指向char類型的指針px。答:charxdata*px;(5)定義可位尋址變量 flag。答:bitflag;(6)定義特殊功能寄存器變量 P3。答:SfrP3=0xB0;9.什么是重入函數(shù)?重入函數(shù)一般什么情況下使用,使用時(shí)有哪些需要注意的地方?答:多個(gè)函數(shù)可以同時(shí)使用的函數(shù),稱為重入函數(shù)。通常情況下,C51函數(shù)不能被遞歸調(diào)用,也不能應(yīng)用導(dǎo)致遞歸調(diào)用的結(jié)構(gòu)。有此限制是由于函數(shù)參數(shù)和局部變量是存儲在固定的地址單元中。重入函數(shù)特性允許你聲明一個(gè)重入函數(shù)。即可以被遞歸調(diào)用的函數(shù)。重入函數(shù)可以被遞歸調(diào)用,也可以同時(shí)被兩個(gè)或更多的進(jìn)程調(diào)用。重入函數(shù)在實(shí)時(shí)應(yīng)用中及中斷服務(wù)程序代碼和非中斷程序代碼必須共用一個(gè)函數(shù)的場合中經(jīng)常用到。10.如何消除鍵盤的抖動(dòng)?答:由于按鍵是機(jī)械開關(guān)結(jié)構(gòu),所以當(dāng)用手按下其中一個(gè)鍵時(shí),往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間發(fā)生跳幾下后才會穩(wěn)定到閉合狀態(tài)的情況。在釋放一個(gè)鍵時(shí),也會出現(xiàn)類似的情況,這就是鍵的抖動(dòng),抖動(dòng)的持續(xù)時(shí)間不一,但通常不會大于 10ms。若抖動(dòng)問題不解決, 就會引起對閉合鍵的多次讀入。 對于鍵抖動(dòng)最方便的解決方法就是當(dāng)發(fā)現(xiàn)有鍵按下后,不是立即進(jìn)行掃描,而是延時(shí)大約10ms后再進(jìn)行。由于一個(gè)鍵按下的時(shí)間一般會持續(xù)上百毫秒,所以延遲 10ms后再掃描處理并不遲。11.在使用 8051的定時(shí)器 /計(jì)數(shù)器前,應(yīng)對它進(jìn)行初始化,其步驟是什么?答:(1)確定T/C的工作方式 ——編程TMOD寄存器;(2)計(jì)算 T/C中的計(jì)數(shù)初值,并裝載到TH和TL;(3)T/C在中斷方式工作時(shí),須開 CPU中斷和源中斷 ——編程IE寄存器;(4)啟動(dòng)定時(shí)器 /計(jì)數(shù)器 ——編程TCON中TR1或TR0位。第1章單片機(jī)硬件系統(tǒng)什么是單片機(jī)、單片機(jī)系統(tǒng)、單片機(jī)應(yīng)用系統(tǒng)?答:單片機(jī):又名微控制器,是將微型計(jì)算機(jī)中的中央處理器(CPU)、隨機(jī)存儲器(RAM)、只讀存儲器(ROM)及I/O口電路等主要部件,結(jié)合連接它們的總線集成在一塊芯片上,即它是一塊智能芯片。單片機(jī)系統(tǒng):單片機(jī)本身只是一塊芯片,它并不能集成計(jì)算機(jī)的全部電路,因此需要加上時(shí)鐘、復(fù)位電路等,才能構(gòu)成單片機(jī)最小應(yīng)用系統(tǒng);若最小系統(tǒng)資源不足時(shí),還需擴(kuò)展外圍電路和外圍芯片等,從而構(gòu)成能滿足應(yīng)用要求的單片機(jī)系統(tǒng)。單片機(jī)應(yīng)用系統(tǒng):它是為實(shí)際的控制應(yīng)用而設(shè)計(jì)的,該系統(tǒng)與控制對象結(jié)合在一起,是滿足嵌入式對象要求的全部電路系統(tǒng)。它在單片機(jī)的基礎(chǔ)上配置了前/后向通道接口電路、人機(jī)交互通道接口電路、串行通信接口等面向?qū)ο蟮慕涌陔娐?。另單片機(jī)系統(tǒng)和單片機(jī)應(yīng)用系統(tǒng)都是軟硬件結(jié)合的系統(tǒng),缺一不可。單片機(jī)有哪些特點(diǎn)?答:單片機(jī)的特點(diǎn)很多,主要是體積小品種多,價(jià)格便宜,可靠性高,使用靈活,還有(1)突出控制功能(2)RO防口RAg開(3)單片機(jī)資源具有廣泛的通用性(4)易于擴(kuò)展ROMRAM定時(shí)/計(jì)數(shù)器、中斷源等資源。為什么說AT89C51單片機(jī)是MCS-51系列的兼容機(jī)?AT89C51單片機(jī)有何優(yōu)點(diǎn)?答:AT89系列單片機(jī)是將 FLASH存儲器技術(shù)和MCS-51系列單片機(jī)的基本內(nèi)核相結(jié)合的單片機(jī),且管腳也與之兼容,可以直接代換,所以說 AT89C51是MCS-51系列的兼容機(jī)。AT89C51單片機(jī)是AT89系列機(jī)的標(biāo)準(zhǔn)型單片機(jī),它的優(yōu)點(diǎn)主要有:內(nèi)ROM是FLASH存儲器,已獲得廣泛應(yīng)用的80C51兼容,采用靜態(tài)邏輯設(shè)計(jì),操作頻率范圍寬,具有兩個(gè)軟件選擇的節(jié)電模式等。AT89C51單片機(jī)由哪些主要功能部件組成?答:MCS-51系列一一89C51單片機(jī)由下列部分組成:1個(gè)8位CPU、128B的RAM、4K程序存儲器、18個(gè)特殊功能寄存器 SFR、4個(gè)并行口、1個(gè)串行口、2個(gè)定時(shí)計(jì)數(shù)器和中斷系統(tǒng)等資源。補(bǔ)充:MCS-52K列單片機(jī)的內(nèi)部資源有哪些?答:MCS-52I(列單片機(jī)內(nèi)部有:1個(gè)8位CPU、128B的RAM、8K程序存儲器、21個(gè)特殊功能寄存器 SFR、4個(gè)并行口、1個(gè)串行口、3個(gè)定時(shí)計(jì)數(shù)器和中斷系統(tǒng)等資源。簡述單片機(jī)應(yīng)用研發(fā)過程和研發(fā)工具 (了解)。答:任務(wù)分析-方案論證-硬件設(shè)計(jì)-軟件設(shè)計(jì)-仿真調(diào)試-實(shí)物制作與調(diào)試。研發(fā)工具:調(diào)試仿真軟件 KEIL、在線仿真器、編程器或 ISP下載器、PROTEUS仿真平臺、教學(xué)實(shí)驗(yàn)板等。AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)主要有哪些部件組成?它們的主要功能是什么?答:AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)主要有:(1)中央處理器CPU,是單片機(jī)的核心,完成運(yùn)算和控制功能;(2)內(nèi)部數(shù)據(jù)存儲器( 256字節(jié)),前面128個(gè)單元00H~7FH存儲內(nèi)部數(shù)據(jù),后面 128個(gè)單元80H~FFH被專用寄存器占用,用來實(shí)現(xiàn)對片內(nèi)各部件進(jìn)行管理、控制、監(jiān)視;(3)程序計(jì)數(shù)器PC,是一個(gè)16位專用寄存器,其內(nèi)容為下一條執(zhí)行指令的地址;Flash內(nèi)部程序存儲器( 4K),用于存儲程序、原始數(shù)據(jù)、表格等;4個(gè)并行I/O口(8位),實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出;6)串行通信口,實(shí)現(xiàn)單片機(jī)和其他數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送;7)2個(gè)定時(shí)器 /計(jì)數(shù)器( 16位),實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能;8)中斷控制系統(tǒng),共 5個(gè)中斷源,分高低兩個(gè)優(yōu)先級;9)一個(gè)片內(nèi)振蕩器和時(shí)鐘電路,為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列;10)總線,用于連接各個(gè)部件和單片機(jī)系統(tǒng)的擴(kuò)展。請將AT89C51的40個(gè)引腳按4類(電源、時(shí)鐘、控制和I/O引腳)分類。答:電源(2):Vss接地端,Vcc接DC正電源線;時(shí)鐘(2):XTAL1,XTAL2控制(4):RST復(fù)位輸入,ALE/(/PROG)地址鎖存允許/編程脈沖,/PSEN外ROM讀選通信號,(/ES)/VPP內(nèi)外ROM選擇/編程電源I/O弓I腳(32):P0?P3并行8位I/O口AT89C51單片機(jī)引腳 /EA、RST、ALE、/PSEN的功能是什么?答:/EA是片內(nèi)外ROM選擇端,ROM的尋址范圍為64KB,而AT89C51內(nèi)部只有4KBROM,當(dāng)不夠用時(shí)可在外擴(kuò)展ROM。當(dāng)/EA信號為低電平時(shí),指訪問外部ROM;當(dāng)/EA為高電平時(shí),則先訪問內(nèi)部ROM,當(dāng)PC值超過4KB時(shí)自動(dòng)轉(zhuǎn)向外部ROM中執(zhí)行。RST復(fù)位信號,當(dāng)此引腳上的信號出現(xiàn)至少兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE地址鎖存控制信號,當(dāng)系統(tǒng)擴(kuò)展時(shí),ALE用于控制把 P0口輸出的低 8位地址送入鎖存器存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。/PSEN外部ROM的讀選通信號,在訪問外部ROM時(shí),每個(gè)機(jī)器周期兩次 PSEN有效(低電平),但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的PSEN將不出現(xiàn)。8-(1)說明MCS-51單片機(jī)的外部引腳EA的作用?答:1、引腳EA為訪問內(nèi)/外部程序存儲器控制信號。引腳EA高電平時(shí),對ROM的讀操作先從內(nèi)部4KB開始,當(dāng)?shù)刂贩秶?KB時(shí)自動(dòng)切換到外部進(jìn)行;當(dāng)引腳EA為低電平,對ROM的讀操作限定在外部程序存儲器。(了解)什么是單片機(jī)的振蕩周期、狀態(tài)時(shí)鐘周期、機(jī)器周期和指令周期?它們之間有什么關(guān)系?答:單片機(jī)是按一定的時(shí)序進(jìn)行工作的,而時(shí)序是通過XTAL1和XTAL2引腳跨接振蕩器與內(nèi)部振蕩電路共同產(chǎn)生固定頻率的波形。我們把振蕩頻率的倒數(shù)稱振蕩周期。狀態(tài)時(shí)鐘周期是指單片機(jī)時(shí)鐘信號的周期,是振蕩周期的兩倍,又稱狀態(tài)周期。一個(gè)機(jī)器周期由6個(gè)狀態(tài)組成,即機(jī)器周期等于6個(gè)狀態(tài)時(shí)鐘周期或等于12個(gè)振蕩周期。指令周期是指單片機(jī)執(zhí)行一條指令所占用的時(shí)間,根據(jù)指令的不同,可包含有1、2、4等機(jī)器周期的倍數(shù)。當(dāng)AT89C51單片機(jī)外接晶振為4MHZ時(shí),其振蕩周期、狀態(tài)時(shí)鐘周期、機(jī)器周期、指令周期的值各為多少?答:振蕩周期為0.25肉,狀態(tài)時(shí)鐘周期為0.5向機(jī)器周期為3肉,指令周期根據(jù)指令而不同可能是3肉、6的、12肉等。MCS-51單片機(jī)擴(kuò)展系統(tǒng)中,外部程序存儲器和數(shù)據(jù)存儲器共用 16位地址線和8位數(shù)據(jù)線,擴(kuò)展空間都為64KB,為什么兩個(gè)存儲空間不會發(fā)生沖突?答:MCS-51單片機(jī)是通過不同的信號來對片外數(shù)據(jù)存儲器和程序存儲器進(jìn)行讀、寫的:片外數(shù)據(jù)存儲器的讀、寫:通ETR而WRW號和片選信號等來控制;程序存儲器的讀:通/TseN1號控制。此外,通過用不同的命令(指令)來實(shí)現(xiàn)。12、什么是堆棧?簡述單片機(jī)的堆棧處理過程。什么是堆棧指針寄存器SP?復(fù)位后SP值是多少?答:堆棧是:按著“先進(jìn)后出”的原則進(jìn)行操作的一段片內(nèi)數(shù)據(jù)存儲器區(qū)域。堆棧處理過程:數(shù)據(jù)存入棧時(shí),SP指針先加1,再存入數(shù)據(jù);數(shù)據(jù)出棧時(shí),先取數(shù)據(jù),再把SP指針減1。堆棧指針SP就是指向堆棧區(qū)域的第一個(gè)存儲單元地址(也稱“棧頂”),向堆棧中每存一個(gè)數(shù),SP中的值就自動(dòng)加1,每取一個(gè)數(shù)就自動(dòng)減1,SP指針始終指向棧頂?shù)刂?。?fù)位后,SP值SP=07H,這樣堆棧就要從08H開始,而08H屬于工作寄存器區(qū),若程序要用到這些寄存器組則要將SP設(shè)置大些,因此堆棧最好在內(nèi)部的RAM(30H~7FH)中開辟。.(了解)AT89C51單片機(jī)的ROM空間中,這6個(gè)地址(0、03H、0BH、13H、1BH、23H)有什么特殊的意義和用途?用戶應(yīng)怎樣合理安排?答:他們都是特殊的地址單元,其中 0000H是單片機(jī)復(fù)位后,系統(tǒng)開始取指、執(zhí)行指令的地址,即單片機(jī)復(fù)位后PC值為0000H;而03H、0BH、13H、1BH、23H是單片機(jī)5個(gè)中斷服務(wù)子程序的入口地址。相鄰中斷入口地址間隔8個(gè)單元。當(dāng)程序使用中斷時(shí),在入口地址處安放一條跳轉(zhuǎn)指令,而相應(yīng)的中斷服務(wù)子程序從轉(zhuǎn)移地址開始安放, 若中斷服務(wù)子程序小于等于8個(gè)單元可直接存在入口地址開始的8個(gè)單元內(nèi)。若沒有用到中斷功能,這些單元就可以作為一般的程序存儲器用。.位地址3EH和字節(jié)地址3EH有何區(qū)別?位地址3EH具體在片內(nèi)RAM中什么位?答:字節(jié)地址3EH是內(nèi)RAM低128字節(jié)中的一個(gè)字節(jié)存儲單元。而位地址是針對可位尋址區(qū)域而言的,位尋址區(qū)占用了字節(jié)地址的 20H~2FH共16個(gè)字節(jié),字節(jié)地址20H中的20H.0~20H.7位地址是00H~08H,因此位地址3EH是字節(jié)地址27H中的第7位。
.程序計(jì)數(shù)器寄存器PC的作用?復(fù)位后PC中值各為何?答:程序計(jì)數(shù)器PC時(shí)一個(gè)16位的計(jì)數(shù)器,其內(nèi)容為將要執(zhí)行的指令的首地址,尋址范圍達(dá)64KB,PC具有自動(dòng)加1功能,以實(shí)現(xiàn)程序的順序執(zhí)行。PC不可尋址,無法對它進(jìn)行讀寫。復(fù)位后,PC=0000H,使單片機(jī)從0000H單元開始執(zhí)行。.畫圖說明AT89C51單片機(jī)的存儲空間結(jié)構(gòu)。ROM程序存儲器(只讀)PSENRAM數(shù)據(jù)存儲器(讀/寫)FFH80H專用寄存器區(qū)7FH00HROM程序存儲器(只讀)PSENRAM數(shù)據(jù)存儲器(讀/寫)FFH80H專用寄存器區(qū)7FH00H內(nèi)部數(shù)據(jù)RAM內(nèi)部L外部FFFFH0000HRDWR程序存儲器ROM程序存儲器ROM結(jié)構(gòu)補(bǔ)充:8051單片機(jī)內(nèi)部的存儲器結(jié)構(gòu)內(nèi)RAM存儲器結(jié)構(gòu)程序存哂OFFFFHoooojy程序存哂OFFFFHoooojy存儲器是計(jì)算機(jī)的重要硬件之一,單片機(jī)存儲器結(jié)構(gòu)有兩種類型:一種是程序存儲器和數(shù)據(jù)存儲器統(tǒng)一編址,屬于普林斯頓結(jié)構(gòu)。另一種是程序存儲器和數(shù)據(jù)存儲器分開編址的哈佛結(jié)構(gòu)。 MCS-51采用的是哈佛結(jié)構(gòu)19、8051單片機(jī)的內(nèi)部RAM的結(jié)構(gòu)OFFFFH0000^OFFFFH0000^內(nèi)部256B共分為:RAM(低128B)和特殊功能寄存器SFP區(qū)(高128B)(參考教材P15--)MCS-51內(nèi)部有128個(gè)字節(jié)的數(shù)據(jù)存儲器RAM,它們可以作為數(shù)據(jù)緩沖器、堆棧、工作寄存器和軟件標(biāo)志等使用。內(nèi)部RAM地址為00H?7FH,不同的地址區(qū)域內(nèi),規(guī)定的功能不完全相同。低128字節(jié)地址空間的RAM中不同的地址區(qū)域功能分配為:工作寄存器區(qū)(00H-1FH)單片機(jī)的內(nèi)部工作寄存器以RAM形式組成,即工作寄存器包含在內(nèi)部數(shù)據(jù)存儲器中。地址為00H?1FH單元,內(nèi)部RAM的低32字節(jié)分成4個(gè)工作寄存器區(qū),每一個(gè)區(qū)有8個(gè)工作寄存器,編號為R0?R7。位尋址空間(20H-2FH)CPU不僅對內(nèi)部RAM的20H?2FH這16個(gè)單元有字節(jié)尋址功能,而且具有位尋址功能(可以單獨(dú)讀寫某一位)。給這128位賦以了位地址為00H?7FH,CPU能直接尋址這些位。堆棧和數(shù)據(jù)緩沖區(qū)(30H-7FH)原則上MCS-51單片機(jī)的堆棧可以設(shè)在內(nèi)部RAM的任意區(qū)域內(nèi),但是一般設(shè)在30H?7FH的范圍內(nèi)。棧頂?shù)奈恢糜啥褩V羔?SP指出。特殊功能寄存器SFR區(qū)(高128B,即80H?FFH)在高128B區(qū)中,在80H?FFH的地址空間內(nèi)離散地分布著18個(gè)特殊功能寄存器(SFR),并允許像訪問內(nèi)部RAM一樣方便地訪問特殊功能寄存器。例如:四個(gè)口P0??P&ACC、TMOD、TCON、SCON、SP、TH0、TL0等。(參考教材P17)(補(bǔ)充:8052有21個(gè)特殊功能寄存器。)輸入/輸出(I/O)□及其簡單應(yīng)用1.AT89C51四個(gè)I/O口使用時(shí)有哪些分工和特點(diǎn)?試作比較,并填寫下表。I/O口相同的結(jié)構(gòu)不同的結(jié)構(gòu)基本功能功二第能SFR字節(jié)地址位地址范圍驅(qū)動(dòng)能力P0都有鎖存器、輸入緩沖器和輸出驅(qū)動(dòng)器多路選擇開關(guān)輸入輸出數(shù)據(jù)線/低8位地址線80H80?87H強(qiáng),8個(gè)LSTTL輸入,8個(gè)引腳最大吸收電流26mAP1輸入輸出90H90?97H4個(gè)LSTTL輸入,8個(gè)引腳最大吸收流15mAP2多路選擇開關(guān)輸入輸出高8位地址線A0HA0?A7HP3選擇輸出功能輸入輸出功二第能B0HB0?B7H.AT89C51的4個(gè)I/O口作為輸入口時(shí),為什么要先寫“1”?答:AT89C51讀操作時(shí),為讀入正確的引腳信號,必須先保證場效應(yīng)管截止。因?yàn)閳鲂?yīng)管導(dǎo)通,引腳電平為0,顯然,從引腳輸入的任何外部信號都被場效應(yīng)管強(qiáng)迫短路,嚴(yán)重時(shí)可能因有大電流流過場效應(yīng)管,而將它燒壞。為保證場效應(yīng)管截止,必須先向鎖存器寫“ 1”,使場效應(yīng)管截止.P0口作輸出口時(shí),為什么要外加上拉電阻?答:因?yàn)楫?dāng)P0□作數(shù)據(jù)傳輸作用時(shí),輸出驅(qū)動(dòng)器是開漏電路,需要外加上拉電阻.為什么外擴(kuò)存儲器時(shí),P0□要外接鎖存器,而P2口卻不接?答:因?yàn)镻0口8位是地址線與數(shù)據(jù)線分時(shí)復(fù)用的,即P0口8位先輸出外部數(shù)據(jù)存儲器的低8位地址到鎖存器中鎖存,然后再輸出8位數(shù)據(jù)到數(shù)據(jù)總線上。P2口8位輸出的數(shù)據(jù)只作為地址總線的高8位,所以不需要連接鎖存器。.為什么當(dāng)P2口作為擴(kuò)展程序存儲器的高8位地址后,就不宜作I/O口用?答:P2口雖然有地址/數(shù)據(jù)的雙重作用,可是在同一時(shí)間只能在一個(gè)狀態(tài)下工作,如果有外部ROM,訪問的操作連續(xù)不斷,P2□作為高8位要不斷的傳送地址,因此不宜再作為數(shù)據(jù)傳輸用,如果是外RAM,則根據(jù)對其讀寫的頻繁度來決定是否將P2□作為數(shù)據(jù)傳輸。.單片機(jī)P3口各引腳的第二功能有哪些?答:單片機(jī)P3口各引腳復(fù)用的第二功能有:串行通信(P3.0,P3.1)、外部中斷請求輸入(P3.2,P3.3)、外部計(jì)數(shù)脈沖(P34P3.5)和外部存儲器的讀寫控制信號((P3.6,P3.7)。定時(shí)器/計(jì)數(shù)器與中斷系統(tǒng).與定時(shí)器/計(jì)數(shù)器工作相關(guān)的寄存器是哪兩個(gè)?分別列表說明它們各控制位的含義和功能是什答:與定時(shí)器/計(jì)數(shù)器工作相關(guān)的兩個(gè)特殊寄存器是TMOD和TCON,各有8位。)TMOD是工作方式寄存器,高四位和低四位分別用于控制 T0和T1,作用相同,因此這里就介紹低四位,它們分別是:M0,M1這兩位用于工作方式選擇,對應(yīng)于定時(shí)器狀態(tài)而言; C/(T)位是計(jì)數(shù)/定時(shí)方式選擇位;GATE是門控位,用于定時(shí)器啟動(dòng)信號源的選擇。)TCON是控制寄存器,其中低四位用于外部中斷信號控制,高四位用于定時(shí)器 /計(jì)數(shù)器控制,其中:TR1定時(shí)器/計(jì)數(shù)器1啟動(dòng)標(biāo)志;TR0定時(shí)器/計(jì)數(shù)器0啟動(dòng)標(biāo)志。簡述8051的定時(shí)/計(jì)數(shù)器T0和定時(shí)/計(jì)數(shù)器T1的工作方式分別有哪幾種?答:定時(shí)/計(jì)數(shù)器T0的工作方式有:工#^各方式功能說明方式013位定時(shí)/計(jì)數(shù)器力式116位定時(shí)/計(jì)數(shù)器方式28位自動(dòng)重置定時(shí)/計(jì)數(shù)器方式3兩個(gè)8位的定時(shí)/計(jì)數(shù)器定時(shí)/計(jì)數(shù)器T1的工作方式工#^方■式說明013位定時(shí)/計(jì)數(shù)器116位定時(shí)/計(jì)數(shù)器28位自動(dòng)重置定時(shí)/計(jì)數(shù)器重要知識點(diǎn):晶振頻率fosc時(shí)鐘周期(也稱為振蕩周期)==1/fosc1狀態(tài)周期=2拍==2*時(shí)鐘周期1機(jī)器周期=6拍==6*狀態(tài)周期=12*時(shí)鐘周期補(bǔ)充說明: 定時(shí)器/計(jì)數(shù)器的最大定時(shí)容量、定時(shí)容量、初值之間的關(guān)系如何?答:定時(shí)器/計(jì)數(shù)器的最大定時(shí)容量是指從0開始到最終溢出的容量,在方式0和方式2下最大定時(shí)容量分別為213=8192和28=256,而定時(shí)容量是根據(jù)當(dāng)前初值到最終溢出的容量;而初值就是指當(dāng)前定時(shí)器 /計(jì)數(shù)器在定時(shí)/計(jì)數(shù)開始之前賦予的數(shù)值,定時(shí)容量就是最大容量和初值的差。3、晶振fosc=6MHz,T0工作在模式1,最大定時(shí)的時(shí)長是多少?答:最大定時(shí)=(M-T0初值)X時(shí)鐘周期X12=(216-0)X1/6X12=131072仙s補(bǔ)充:晶振fosc=12MHz,T0工作在模式0、模式1和模式2,最大定時(shí)的時(shí)長分別是多少?答:在模式0:最大定時(shí)=(M-T0初值)X時(shí)鐘周期X12=(213-0)義1/12義12=8192pS在模式1:最大定時(shí)=(M-T0初值)X時(shí)鐘周期X12=(216-0)X1/12X12=65536仙s在模式2:最大定時(shí)=(M-T0初值)X時(shí)鐘周期X12=(28-0)X1/12X12==256ns4、已知一臺MCS51單片機(jī)系統(tǒng)使用fosc=12MHZ(或6MHZ)的外部晶體振蕩器,計(jì)算:1)該單片機(jī)系統(tǒng)的狀態(tài)周期、時(shí)鐘周期與機(jī)器周期各為多少?答:1)狀態(tài)周期=2/fosc=0.167ps時(shí)鐘周期=1/fosc==1/12S機(jī)器周期=12/fosc=1NS (2Ns)2)當(dāng)單片機(jī)的工作在方式2時(shí),T0的最大定時(shí)時(shí)間為多少?Tmax=28X機(jī)器周期=256x1us=256as (256*2as=512us)(3)定時(shí)200仙s,則定時(shí)器0(T0)裝入的初值是多少?T0初值=28-200仙s/1仙s=56=38H (28-200as/2as=156=9CH)5、MCS-51采用6MH王勺晶振,定時(shí)0.5ms,如用定時(shí)器方式1時(shí)的初值應(yīng)為多少(16進(jìn)制數(shù))?答:因?yàn)椋憾〞r(shí)時(shí)間=(216-初值)*機(jī)器周期所以:T0初值==216-500仙S/2仙s==65536-250=65286=FF06H補(bǔ)充:(1)若定時(shí)1ms,如用定時(shí)器方式1時(shí)的初值應(yīng)為多少?答:T0初值=216-1000pS/2ps==65536-500=65036=FE0CH(2)若定時(shí)10m6如用定時(shí)器方式1時(shí)的初值應(yīng)為多少?答:T0初值=216-10000pS/2ps==65536-5000=60536=EC78H(3)若定時(shí)100msi如用定時(shí)器方式1時(shí)的初值應(yīng)為多少?答:T0初值=216-100000仙S/2仙s==65536-50000=15536=3CB0H思考:(1)若采用方式0或方式2時(shí),上述結(jié)果是多少??(2)若采用12MHz勺晶振,上述結(jié)果又是多少??.什么叫中斷?設(shè)置中斷有什么優(yōu)點(diǎn)?答:單片機(jī)執(zhí)行程序的過程中,為響應(yīng)內(nèi)部和外部的隨機(jī)發(fā)生的事件, CPU暫時(shí)終止執(zhí)行當(dāng)前程序,轉(zhuǎn)去處理突發(fā)事件,處理完畢后,再返回來繼續(xù)執(zhí)行原來終止了的程序,這一過程稱為中斷。設(shè)置中斷使單片機(jī)能夠及時(shí)的響應(yīng)并處理運(yùn)行過程中內(nèi)部和外部的突發(fā)事件,解決單片機(jī)快速CPU與慢速外設(shè)間的矛盾,提高單片機(jī)工作效率及其可靠性。.寫出AT89C51單片機(jī)5個(gè)中斷源的入口地址、中斷請求標(biāo)志名稱、位地址和所在的特殊功能寄存器。中斷源入口地址中斷請求標(biāo)志名稱中斷請求標(biāo)志位地址所在特殊寄存器INT00003HIE089HTCONT0P000BHTF0一8DHTCONINT10013HIE18BHTCONT1F001BHTF1 [8FHTCON用行口0023HTI、RI99H、98HSCON.中斷處理過程包括哪4個(gè)步驟?簡述中斷處理過程。答:中斷過程可以分為四步,分別是中斷請求、中斷響應(yīng)、中斷服務(wù)和中斷返回。當(dāng)中斷源要CPU為其服務(wù)時(shí),先發(fā)出一個(gè)中斷請求信號, CPU不斷查詢中斷請求標(biāo)志,一旦查詢到某個(gè)中斷請求標(biāo)志置位,則根據(jù)中斷響應(yīng)條件去響應(yīng)請求, 從而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。但轉(zhuǎn)去中斷程序時(shí),要求先保護(hù)現(xiàn)場,將相關(guān)的在服務(wù)子程序可能改變的存儲單元內(nèi)容壓入堆棧保護(hù), 然后再去執(zhí)行中斷服務(wù)程序主體,最后中斷返回,再返回前將原先的堆棧內(nèi)容出棧,即恢復(fù)現(xiàn)場。.中斷響應(yīng)需要哪些條件?答:條件:(1)已經(jīng)開總中斷(EA=1)和相應(yīng)中斷源的中斷;(2)未執(zhí)行同級或更高級的中斷;(3)當(dāng)前執(zhí)行指令的指令周期已經(jīng)結(jié)束;(4)正在執(zhí)行的不是中斷返回指令和訪問IE、IP的指令,否則要再執(zhí)行一條指令后才能響應(yīng)。.AT89C51單片機(jī)中斷優(yōu)先級有幾級?答:AT89C51單片機(jī)中斷優(yōu)先級共有兩級,優(yōu)先級分為高優(yōu)先級和低優(yōu)先級。當(dāng)幾個(gè)中斷源同時(shí)請求時(shí),CPU先服務(wù)高優(yōu)先級的中斷,可由程序編程決定。.AT89C51單片機(jī)響應(yīng)中斷的優(yōu)先順序應(yīng)依什么原則? 寫出同級中斷源的中斷響應(yīng)優(yōu)先級別(從高至低)。答:單片機(jī)響應(yīng)中斷的優(yōu)先順序應(yīng)依什么原則是: 按著二級優(yōu)先級從高到低,相同優(yōu)先級的中斷再按默認(rèn)的優(yōu)先級次序從高到低的響應(yīng)原則。同級中斷源的中斷響應(yīng)次序(從高至低 )如下表:最局次高第三第四最低外部中斷0定時(shí)計(jì)數(shù)器中斷0:外部中斷1\定時(shí)計(jì)數(shù)器中斷1用行口中斷.MCS-51系列單片機(jī)具有幾個(gè)中斷源?分別是什么?各自的中斷標(biāo)志位是什么 ?其中,CPU響應(yīng)外部中斷后,如何清除中斷請求標(biāo)志位?答:MCS-51系列單片機(jī)共有5個(gè)中斷源,分別為:外部中斷0定時(shí)計(jì)數(shù)器中斷0外部中斷1定時(shí)計(jì)數(shù)器中斷1用行口中斷中斷標(biāo)志為分別為:外部中斷0定時(shí)計(jì)數(shù)器中斷01外部中斷1定時(shí)計(jì)數(shù)器中斷1用行口中斷IE0TF0IE1TF1TI和RI在CPU向應(yīng)外部中斷(INT0/INT1)后,在邊沿觸發(fā)方式下,IE0、IE1可由硬件自動(dòng)清除;在電平觸發(fā)方式下,IE0、IE1由軟件清除。補(bǔ)充:用行口中斷的標(biāo)志位TI和RI則由軟件清0.定時(shí)器/計(jì)數(shù)器的標(biāo)志位TF0和TF1由自動(dòng)硬件清0..MCS-51單片機(jī)有幾個(gè)中斷源?各中斷請求如何提出的?中斷程序的入口地址是多少? (教材——P117)答:8051單片機(jī)一共有5個(gè)中斷源。外部中斷兩個(gè)INT0和INT,當(dāng)其為低電平時(shí)向CPU提出中斷請求,有兩種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā)。兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1,當(dāng)計(jì)數(shù)滿或定時(shí)時(shí)間到了可向CPU提出中斷請求,由軟件設(shè)置開啟和關(guān)閉這兩個(gè)中斷。用行□的發(fā)送/接收時(shí)數(shù)據(jù)完成后,(置位TI/RI),向CPU提出中斷請求。各中斷程序的入口地址是見教材P135MCS-51系列單片機(jī)共有5個(gè)中斷源及入口地址表:外部中斷0定時(shí)計(jì)數(shù)器中斷01外部中斷1定時(shí)計(jì)數(shù)器中斷1用行口中斷0003H000BH0013H001BH0023H15.已知Fosc=6MHZ,使P1.7輸出高電平寬40us,低電平寬360us的連續(xù)矩形脈沖,使用T0定時(shí)的初值分別是多少?答:利用T0分別定時(shí)器40us和360us來控制P1.7引腳,初值計(jì)算過程:根據(jù)晶振得一個(gè)機(jī)器周期為 2us,輸出高電平寬40us時(shí),其初值(T0)=28-40/2=ECH(40us)輸出低電平寬360us時(shí),其初值(T0)=28-360/2=4CH(360us)6.已知Fosc=6MHZ,試編寫程序,利用T0工作在方式2,使P1.0和P1.1分別輸出周期為1ms和400us的方波。此時(shí)的時(shí)間初值是多少?答:采用200us定時(shí),初值計(jì)算過程:根據(jù)晶振得一個(gè)機(jī)器周期為 2us,初值(T0)=28-200/2=9CHA/D和D/A轉(zhuǎn)換接口1.簡述ADC0809專換的基本過程。答:1.輸入3位地址(A,B,C),并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器譯碼從8路模擬通道中選通一路模擬量送到比較器。.送STAR『高脈沖,START勺上升沿使逐次逼近寄存器復(fù)位,下降沿啟動(dòng) A/D轉(zhuǎn)換,并使EOC信號為低電平。.當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器,并使 EOCJ號回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。.當(dāng)CPlft行一讀數(shù)據(jù)指令,使OE為高電平,則從輸出端D0~D偵出數(shù)據(jù)。2.簡述DA
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石墨烯地暖系統(tǒng)隱蔽工程驗(yàn)收及維護(hù)保養(yǎng)合同
- 金融平臺虛擬貨幣交易資金存管補(bǔ)充協(xié)議
- 裝配式鋼結(jié)構(gòu)住宅項(xiàng)目施工總承包與裝配式建筑技術(shù)創(chuàng)新協(xié)議
- 拼多多平臺客服服務(wù)外包與質(zhì)量監(jiān)管合作協(xié)議
- 檔案館消毒殺蟲設(shè)備租賃與檔案數(shù)字化未來合同
- 救援車拖車協(xié)議書
- 婚禮上父子協(xié)議書
- 試用期賠償協(xié)議書
- 扶貧款投資協(xié)議書
- 水泥罐加工協(xié)議書
- GA∕T 1729-2020 保安防衛(wèi)棍-行業(yè)標(biāo)準(zhǔn)
- 水電站擴(kuò)建工程砂石加工系統(tǒng)施工組織設(shè)計(jì)
- 蒙牛冰淇淋經(jīng)銷商管理制度
- 振動(dòng)測量評價(jià)標(biāo)準(zhǔn)介紹
- 配方法練習(xí)題
- 外協(xié)出入庫流程
- 復(fù)習(xí):金屬的化學(xué)性質(zhì)
- 公路隧道斜井與正洞交叉口施工方法
- 出庫單樣本12623
- 衛(wèi)生保潔檢查表
- 年產(chǎn)10萬噸氯乙烯工藝設(shè)計(jì)(共53頁)
評論
0/150
提交評論