單片機復(fù)習資料_第1頁
單片機復(fù)習資料_第2頁
單片機復(fù)習資料_第3頁
單片機復(fù)習資料_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1.三總線構(gòu)造涉及:數(shù)據(jù)總線DB、地址總線AB、控制總線CB。2.單片機的構(gòu)成:微解決器、存儲器、I/O接口電路。(如果將這三者集成在一塊芯片上,簡稱單片機。)3.控制器的構(gòu)成:指令寄存器IR、指令譯碼器ID及定時與控制電路。4.程序計數(shù)器PC重要用來寄存即將執(zhí)行的指令地址,即下一條指令地址。5.存儲器的重要指標是容量和存取速度。6.根據(jù)存儲器的位置分類:內(nèi)存儲器(直接與CPU連接)和外存儲器(不能直接參加計算機的運算)。7.某單片機有8跟數(shù)據(jù)線,13根地址線,則芯片的存儲容量為2^13X8位,即8KB。(1KB=2^10X8位)8.進制轉(zhuǎn)換:11.75D=1011.11B(首先11D=1011B,0.75D=?B。0.75X2=1.5,0.5X2=1,因此小數(shù)部分0.11B)。9.原碼、反碼、補碼:負數(shù)的反碼的符號位和其原碼符號位相似,其它數(shù)值取反;負數(shù)的補碼是其反碼加1。(最高位符號0表達正,1表達負。正數(shù)的反碼補碼不變。負數(shù)的補碼取反加一是原碼。)10.8032/8752/8052的不同點:重要差別在存儲器的配備上不同。8052內(nèi)部設(shè)有8KB的掩膜ROM程序存儲器,8032片內(nèi)沒有程序存儲器,而8752則是以8KB可編程的EPROM替代了8052內(nèi)部8KB的掩膜ROM。11.MCS-51的40根引腳中涉及32根并行I/O引腳,4根控制線引腳,2根電源線引腳,2根外接晶振引腳。12.輸入/輸出端口P0(低8位地址及數(shù)據(jù)總線)、P1、P2(高8位的地址字節(jié)輸出口)、P3。13.控制信號引腳RST/VPD(復(fù)位信號輸入端,在Vcc掉電時,此引腳可接上備用電源。有上電自動復(fù)位和按鍵手動復(fù)位兩種工作方式。),ALE/PROG(ALE為低8位地址鎖存允許輸出信號,PROG是編程脈沖輸入端),PSEN(存儲器讀選通信號輸出端)和EA/VPP(EA程序存儲器控制信號。使用8032單片機時,EA必須接低電平;當EA為高電平時,加電后,CPU從片內(nèi)程序存儲器的0000H單元開始執(zhí)行)。14時鐘電路引腳XTAL1(19腳,當采用外部晶振時,此引腳接地)和XTAL2(18腳)。15.中央解決單元CPU由運算器和控制器等部件構(gòu)成。16.運算器:累加器ACC(8位寄存器)、B寄存器(用于乘除操作)、程序狀態(tài)字寄存器PSW(8位特殊功效寄存器,各位包含了程序執(zhí)行后的狀態(tài)信息。具體見下一條)。17.CY(PSW.7):進位/錯位標志;AC(PSW.6):輔助進位/錯位標志;F0(PSW.5):顧客定義標志位;RS1/RS0(PSW.4、PSW.3);OV(PSW.2):溢出標志位;D1(PSW.1):未定義位;P(PSW.0):奇偶校驗標志位。18.8052單片機4個寄存器組中的每一組都可被選為CPU的工作寄存器,是通過程序狀態(tài)寄存器中的PSW.3(RS0)和PSW.4(RS1)兩位的狀態(tài)來擬定。通過程序變化RS1、RS0的狀態(tài),就可更換工作寄存器組。19.寄存器間接尋址能夠用16位的地址指針DPTR做間址寄存器,也可用8位的R0或R1做間址寄存器。20.堆棧實際是一種RAM區(qū)域。堆棧指針寄存器SP是一種8位的專用寄存器,用于指明堆棧頂部在內(nèi)部RAM中的位置。21.數(shù)據(jù)存儲器地址指針DPTR是一種16位專用寄存器,由兩個8位的寄存器DPH與DPL構(gòu)成。作用:(1)用來寄存16位的地址;(2)當對64KB外部數(shù)據(jù)存儲器空間尋址時,作為間址寄存器使用,而在訪問程序存儲器時,DPTR作為基址寄存器使用。22.指令周期:CPU取出一條指令至該指令執(zhí)行完所需的時間稱為指令周期;機器周期:CPU完畢一種基本操作所需要的時間;振蕩周期:振蕩信號源為單片機提供的定時信號的周期,為振蕩頻率的倒數(shù)。一種機器周期涉及12個振蕩周期。例:12MHz的時鐘頻率,振蕩周期T=1/12*10^(-6)s,機器周期T’=12*T=1us。23.CPU通過指令MOVC訪問程序存儲器空間,通過MOV訪問片內(nèi)數(shù)據(jù)存儲器空間,通過MOVX訪問片外數(shù)據(jù)存儲器空間。24.機器碼指令:能夠直接被計算機硬件識別和執(zhí)行。匯編語言指令:必須通過某種手段把它變成機器碼指令才干被機器執(zhí)行。25.MCS-51單片機的指令由操作碼和操作數(shù)兩大部分構(gòu)成。26.7種尋址方式:立刻尋址(MOVA,#73H),直接尋址(MOVA,60H),寄存器尋址(INCR0),寄存器間接尋址(MOVA,@R0),變址尋址(MOVCA,@A+PC:自動加的程序),相對尋址(目的地址=源地址+2+rel);隱含尋址(逗號背面的是DPTR/A/B/C)。27.在指令語句中,判斷45H代表什么,無非就是“目的地址”、“源地址”、“源數(shù)據(jù)”。27.在數(shù)據(jù)傳送類指令中,MOVC和MOVX指令由一種共同點就是目的地址或源地址/源操作數(shù)中有A。28.進棧PUSHdirect:SP(SP)+1,(SP)(direct);出棧POPdirect:(direct)((SP)),(SP)(SP)-1。29.若D7位產(chǎn)生進位,則CY置1,否則CY置0;若D3位產(chǎn)生進位,則AC置1,否則置0;若D6或D7位有且只有一種進位時,OV置1,否則置0;若A中1的個數(shù)為奇,則P置1,否則P置0。30.算數(shù)運算類指令:ADDA,Rn:A(A)+(Rn);ADDCA,Rn:A(A)+(Rn)+(CY);SUBBA,Rn:A(A)-(Rn)-(CY);INCA:A(A)+1;DECA:A(A)-1;MULAB:AB(A)x(B);DIVAB:AB(A)/(B);DAA:對(A)進行十進制調(diào)節(jié)。31.邏輯運算類指令:ANLA,Rn:A(A)(Rn);ORLA,Rn:A(A)(Rn);XRLA,Rn:A(A)(Rn)。32.控制轉(zhuǎn)移類指令:JMP@A+DPTR:PC(A)+(DPTR)。33.從子程序返回指令:RET;從中斷返回指令:RET1.34.匯編語言是一種面對機器的語言,它的助記符指令和機器保持著一一對應(yīng)的關(guān)系。35.偽指令不產(chǎn)生目的代碼,不影響程序的執(zhí)行。偽指令和指令的區(qū)別:指令是在程序運行期間由計算機來執(zhí)行的,而偽指令是在匯編程序?qū)υ闯绦蜻M行匯編時解決的操作,完畢諸如數(shù)據(jù)定義、存儲器分派批示、程序開始結(jié)束等功效。36.子程序:在程序設(shè)計中會碰到多次使用同一程序的狀況,為了簡化程序的設(shè)計,能夠?qū)⑦@些相對獨立的多次使用的程序用作子程序。對子程序的規(guī)定:(1)必須標明子程序的入口地址,方便程序調(diào)用;(2)必須以返回指令RET結(jié)束子程序;(3)普通在調(diào)用子程序前要設(shè)立子程序的入口參數(shù)和出口參數(shù)。37.中斷系統(tǒng)涉及的寄存器有:中斷允許控制寄存器IE、中斷優(yōu)先級控制寄存器IP。38.MCS-51中斷系統(tǒng)有6個中斷源,2個優(yōu)先級。39.外部中斷請求INTO或INT1有兩種出發(fā)方式:電平觸發(fā)及邊沿觸發(fā)。40.同一優(yōu)先級中的中斷源優(yōu)先權(quán)排隊由中斷系統(tǒng)的硬件擬定。41.TF0/TF1:定時器/計數(shù)器0、1溢出中斷標志位。當定時器/計數(shù)器0或定時器/計數(shù)器1計數(shù)溢出時,由硬件將TF0/TF1置1,向CPU申請中斷。CPU對應(yīng)中斷后由硬件自動去除TF0、TF1。42.TMOD為模式控制寄存器,高4位、低4位分別用于定時器/計數(shù)器1和0(即T1、T0)。43.C/T=1為計數(shù)器方式,C/T=0為定時器方式。44.TCON的高4位用于控制訂時器0、1的運行;低4位用于控制外部中斷,與定時器/計數(shù)器無關(guān)。45.定時器/計數(shù)器0.1的工作方式:工作方式0是13位的,M1=0,M0=0;1是16位的M1=0,M0=1;2是8位的M1=1,M0=0;3只對定時器/計數(shù)器0有效,分為兩個8位定時器/計數(shù)器。46.定時器/計數(shù)器的初始化環(huán)節(jié):(1)擬定工作方式、操作模式、啟動控制方式。(2)設(shè)立定時器或計數(shù)器的初值。(3)根據(jù)規(guī)定與否采用中斷方式——直接對IE寄存器賦值。(4)啟動定時器工作。47.串行通信根據(jù)數(shù)據(jù)傳送時的編碼格式不同分為異步通信和同時通信兩種方式。48.串行口中尚有兩個特殊功效寄存器SCON(復(fù)位后SCON的全部位清零)、PCON。49.MCS-51單片機擴展外部設(shè)備中,P2口作為地址總線的高8位A8-A15,P0口通過地址鎖存器作為地址總線的低8位A0-A7同時兼作數(shù)據(jù)總線D0-D7。50.慣用的片選辦法有兩種:線選法和全地址譯碼法。51.74LS138是3-8譯碼器。52.8255A是8位可編程并行接口芯片(PA:A組8位I/O口;PB:B組8位I/O口;PC:C組8位I/O口,可分為兩個4位口)。53.8155有3個可編程的通用的輸入輸出口,其中PA、PB口為8位,PC口為6位。1.設(shè)(A)=42H,(R3)=68H,(CY)=1,執(zhí)行指令:ADDCA,R3答:(A)=01000010B(R3)=01101000B+)(CY)=1B -------------------------------------(A)=10101011B成果:(A)=0ABH,(CY)=0,(AC)=0,(OV)=1,(P)=12.設(shè)(A)=0FFH,(R2)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H,執(zhí)行指令:INCA;INCR2;INC30H;INC@R0答:成果:(A)=00H,(R2)=10H,(30H)=0F1H,(40H)=01H,(P)=03.用指令實現(xiàn)下述數(shù)據(jù)傳送。(1)內(nèi)部RAM20H單元送內(nèi)部RAM40H單元;(2)外部RAM20H單元送R0寄存器;(3)外部RAM20H單元送內(nèi)部RAM20H單元;(4)外部RAM1000H單元送內(nèi)部RAM20H單元;(5)外部ROM1000H單元送內(nèi)部RAM20H單元;(6)外部ROM1000H單元送外部RAM20H單元。答:(1)MOV40H,20H(2)MOVR1,#20HMOVXA,@R1MOVR0,A(3)MOVR1,#20HMOVXA,@R1MOV20H,A(4)MOVDPTR,#1000HMOVXA,@DPTRMOV20H,A(5)MOVA,#00HMOVDPTR,#1000HMOVCA,@A+DPTRMOV20H,A(6)MOVA,#00HMOVDPTR,#1000HMOVCA,@A+DPTRMOVR1,#20HMOVX@R1,A4.試編寫程序,查找內(nèi)部RAM的20H-50H單元中與否有0AAH這一數(shù)據(jù)。若有,將51單元置為01H;若沒有,則將51H單元置為00H。答:START:MOVR7,#31HMOVR1,#20HLOOP1:MOVA,@R1CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR1DJNZR7,LOOPMOV51H,#00HEXIT:RET5.試編寫程序?qū)?nèi)部RAM的30H-4FH單元的內(nèi)容分別傳送到外部RAM的2040H-205FH單元。答:MOVR0,#30HMOVDPTR,#2040HMOVR1,#20HLOOP:MOVA,@R0MOVX@DPTR,AINCDPTRINCR0DJNZR1,LOOPRET6.試編寫程序,統(tǒng)計外部RAMH-205FH單元中出現(xiàn)00H的次數(shù),并將統(tǒng)計成果存入內(nèi)部RAM50H單元。答:START:MOVDPTR,#HMOVRO,#60HMOVR1,#00HLOOP:MOVXA,@DPTRCJNEA,#00H,NEXTINCR1NXET:INCDPTRDJNZR0,LOOPMOV50H,R1EXIT:RET7.編寫一種程序,把片外RAM從H開始寄存的10個數(shù)傳送到片內(nèi)RAM30H開始的單元中。答:START:MOVDPTR,#HMOVR0,#0AHMOVR1,#30HLOOP:MOVXA,@DPTRMOVR1,AINCDPTRINCR1DJNZR0,LOOPEXIT:RET8.延時程序START:SETBP1.1;(P1.1)←1DL:MOV30H,#03H;(30H)←03HDL0:MOV31H,#0F0H;(31H)←0F0HDL1:DJNZ31H,DL1;(31H)←(31H)-1,若(31H)<>0,重復(fù)執(zhí)行DJNZ30H,DL0;(30H)←(30H)-1,若(30H)<>0,則轉(zhuǎn)DL0CPLP1.1;(P1.1)求反AJMPDL;轉(zhuǎn)DL這段程序的功效是通過延時在P1.1輸出方波,能夠通過修改30H和31H單元的內(nèi)容來變化延時時間,從而變化方波頻率。9.從內(nèi)部RAM的20單元開始有15個數(shù)據(jù),試編程序,把其中的正數(shù)負數(shù)分別送到41H和61H開始的存儲單元,并分別將正數(shù)負數(shù)的個數(shù)送40H和60H單元。解:START:MOVR7,#0FHMOVSP,2EHMOVR1,#41HMOVR0,#61HMOVR3,#00HMOVR4,#00HLOOP:POPAJBACC.7.LOOP1MOV@R1,AINCR1INCR3SJMPLOOP2LOOP1:MOV@R0,AINCR2INCR4LOOP2:DJNZR7,LOOPMOV40H,R3MOV60H,R4EXIT:RET10.設(shè)內(nèi)部RAM的30H和31H單元中有兩個帶符號數(shù),求出其中的大數(shù)寄存在32H單元中。解:MOVA,30HXRLA,31HJBACC.7LOOPMOVA,30HCLRCSUBBA,31HJC,LOOP1MOV32H,30HSJMPEXITLOOP1:MOV32H,31HSJMPEXITLOOP:MOVA,30HJBACC.7,LOOP1MOV32H,30HEXIT:SJMP$11.選用T0工作方式0用于定時,由P1.2輸出周期為1ms的方波,設(shè)晶振fosc=6MHz。采用查詢方式查詢。答:P1.2輸出周期為1ms的方波,只要間隔500us取反一次即可得到1ms寬的方波??蛇x用T0定時器。X=2^13-fosc×t/12=8192-6×500/12=7942=1F06H由于作13位計數(shù)器使用,TL0的高3位未用,應(yīng)填0,TH0占高8位,因此13位的二進制表達值應(yīng)為:X0=1111100000110BTL0=06H,只用到5位,TH0=F8H設(shè)立模式控制字TMOD:00000000即00H源程序以下:ORG8000HMOVTL0,#06HMOVTH0,#0F8HSETBTR0LP1:JBCTF0,LP2AJMPLP1LP2:MOVTL0,#06HMOVTH0,#0F8HCPLP1.2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論