單片機(jī)復(fù)習(xí)重點(diǎn)_第1頁(yè)
單片機(jī)復(fù)習(xí)重點(diǎn)_第2頁(yè)
單片機(jī)復(fù)習(xí)重點(diǎn)_第3頁(yè)
單片機(jī)復(fù)習(xí)重點(diǎn)_第4頁(yè)
單片機(jī)復(fù)習(xí)重點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)復(fù)習(xí)重點(diǎn)1單片機(jī)的堆棧指針 SP始終是指示 _堆棧頂 _。2 當(dāng)程序狀態(tài)字寄存器 PSW狀態(tài)字中RS1 和 RSO分別為0和1時(shí),系統(tǒng)先用的工作寄存器 組為組1_。3. 定時(shí)器 T1的中斷入口地址是 001BH。4. 8051定時(shí)/計(jì)數(shù)器共有四種操作模式,由TMOD寄存器中M1M0的狀態(tài)決定,當(dāng) M1M0的狀態(tài)為01時(shí), 定時(shí)/計(jì)數(shù)器被設(shè)定為 16位定時(shí)/計(jì)數(shù)器 。5. 串行口的工作方式由 _SCON寄存器決定。6. 定時(shí)器T0的溢出標(biāo)志TF0,在CPU響應(yīng)中斷后 由硬件自動(dòng) _清零。7. 擴(kuò)展程序存儲(chǔ)器 2764時(shí),需要 5 條P2 口線(xiàn)。8若單片機(jī)的振蕩頻率為6MHz設(shè)定時(shí)器工作在方

2、式 1需要定時(shí)1ms,則定時(shí)器初值應(yīng)為 216-500 _。9擴(kuò)展存儲(chǔ)器時(shí)要加鎖存器373,其作用是_鎖存尋址單元的低八位地址 。11. 8051單片機(jī)中,唯個(gè)用戶(hù)可使用的16位寄存器是DPTR 。12. 8051的程序計(jì)數(shù)器 PC為16位計(jì)數(shù)器,其尋址范圍是0000H-FFFFH ,64KB。13. 單片機(jī)應(yīng)用程序一般存放在ROM中。14. MCS-51單片機(jī)在同一優(yōu)先級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),CPU首先響應(yīng) 外部中斷0 。15. 定時(shí)器若工作在循環(huán)定時(shí)或循環(huán)計(jì)數(shù)場(chǎng)合,應(yīng)選用工作方式216. MCS-51單片機(jī)的外部中斷 1的中斷請(qǐng)求標(biāo)志是IT1 。17. 中斷入口地址一般可存放轉(zhuǎn)移指令。1

3、8. 串行口每一次傳送1幀 字符。19. 定時(shí)器1工作在計(jì)數(shù)方式時(shí),其外加的計(jì)數(shù)脈沖信號(hào)應(yīng)連接到P3.5/T1 引腳。20某應(yīng)用系統(tǒng)需要通過(guò)P1.0輸出脈寬為500us的方波,系統(tǒng)選用定時(shí)器/計(jì)數(shù)器0 (T0),定時(shí)方式3,主頻為12MHz試寫(xiě)出相應(yīng)的程序。(參考課件例題)C語(yǔ)言程序(中斷方式):# in elude /包含特殊功能寄存器庫(kù)sbitP1_0=P1A0;voidmai n()TMOD=0x03;/設(shè)置工作模式TL0=0x06;TH0=0x06;/為定時(shí)器賦初值ET0=1;/允許定時(shí)0中斷EA=1;TR0=1;/啟動(dòng)定時(shí)器0while(1);/等待中斷/voidtime0_ in

4、t(void) in terrupt 1P1_0=P1_0; 中斷方式匯編語(yǔ)言程序:ORG 0000HLJMP MAINORG 000BH ;中斷處理程序CPL P1.0RETIORG 0030H ;主程序MAIN:MOVSP, #0DFHMOVTMOD, #02HMOV TL0 , #06HMOVTH0 ,#06HSETBET0;允許定時(shí)器 0 中斷SETBEA;允許CPU中斷SETBTR0;啟動(dòng)定時(shí)器 0SJMP$;等待中斷END采用查詢(xún)方式 C 語(yǔ)言程序:# include sbitP1_0=P1A0;void main()TMOD=0x02;TL0=0x06;TH0=0x06;TR0=

5、1;while (1)TF0=0; while(!TF0) ;/ 查詢(xún)計(jì)數(shù)溢出P1_0=P1_0; 查詢(xún)方式匯編語(yǔ)言程序 :MAIN:MOVTMOD,#02H;主程序MOVTL0,#06HMOVTH0,#06HSETBTR0LOOP:JNBTF0,$;查詢(xún)計(jì)數(shù)溢出CLRTF0CPLP1.0SJMPLOOPEND21將片內(nèi)RAM 50H-5FH中的數(shù)據(jù)串行發(fā)送,用第9個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位,設(shè)晶振為11.0592 MHz,波特率為 2400 b/s ,編制串行口方式 3的發(fā)送程序。 ( 參考課件例題 )P寫(xiě)入TB8,這時(shí),第9 位數(shù)解:用TB8作奇偶校驗(yàn)位,在數(shù)據(jù)寫(xiě)入發(fā)送緩沖器之前先將數(shù)據(jù)的奇偶位

6、 據(jù)作奇偶校驗(yàn)用,發(fā)送采用中斷方式。C語(yǔ)言程序清單:#includeunsigned char i=0;unsigned char array16 _at_ 0x50;/ 發(fā)送緩沖區(qū)void main() SCON=0xc0;/串行口初始化TMOD=0x20;/定時(shí)器初始化TH1=0xf4;TL1=0xf4;TR1=1;ES=1;EA=1;/中斷初始化ACC=arrayi;/ 發(fā)送第一個(gè)數(shù)據(jù)送TB8=P;/累加器,目的取P位SBUF=ACC;/發(fā)送一個(gè)數(shù)據(jù)while(1);void server() interrupt 4TI=0;/ 等待中斷/ 串行口中斷服務(wù)程序/清發(fā)送中斷標(biāo)志ACC=ar

7、ray+i;/取下一個(gè)數(shù)據(jù)TB8=P;SBUF=ACC;if(i=16)/ 發(fā)送完畢,ES=0; 匯編語(yǔ)言程序清單:ORG 0000HSJMPMAIN/禁止串口中斷; 上電,轉(zhuǎn)主程序ORG 23HSJMPSERVER; 轉(zhuǎn)中斷服務(wù)程序MAIN:MOV SCON,#0C0H ; 串行口方式 3 初始化MOV TMOD,#20H ; 定時(shí)器 1 工作在方式 2MOV TH1,#0F4HMOV TL1,#0F4HSETB TR1SETBES; 允許串行口中斷SETBEA;CPU 開(kāi)中斷MOV R0,#50HMOV R7,#0FHMOV A,R0MOV C,PMOV TB8,C; 送奇偶標(biāo)志位到 TB

8、8MOV SBUF,A ; 發(fā)送第一個(gè)數(shù)據(jù) SJMP $SERVER:CLR TI;INC R0;MOV A,R0MOV C,PMOV TB8,CMOV SBUF,A ;DJNZ R7,ENDTCLR ES ;ENDT:RETI清除發(fā)送中斷標(biāo)志 修改數(shù)據(jù)地址發(fā)送下一個(gè)數(shù)據(jù); 判斷數(shù)據(jù)塊是否發(fā)送完 否則,禁止串行口中斷; 中斷返回9 個(gè)數(shù)據(jù)位作奇偶校22.編寫(xiě)一個(gè)接收程序,將接收的16字節(jié)數(shù)據(jù)送入片內(nèi) RAM 50H- 5FH單元中。設(shè)第驗(yàn)位,晶振為 11.059 2 MHz ,波特率為 2 400b/s 。 (參考課件例題 )解:RB8作奇偶校驗(yàn)位,接收時(shí),取出該位進(jìn)行核對(duì),接收采用查詢(xún)方式。

9、C語(yǔ)言程序清單:#includeunsigned char i;unsigned char array16 _at_ 0x50; void main()SCON=0xd0;TMOD=0x20;TH1=0xf4;TL1=0xf4;TR1=1;for(i=0;i16;i+) while(!RI);RI=0;ACC=SBUF;if(RB8=P) arrayi=ACC;/接收緩沖區(qū)串行口初始化,允許接收/校驗(yàn)正確循環(huán)接收 16 個(gè)數(shù)據(jù)等待一次接收完成else/ 校驗(yàn)不正確F0=1; break;while(1); 匯編語(yǔ)言程序清單: MAIN:MOV TMOD,#20H ; 定時(shí)器初始化MOV TH1

10、,#0F4HMOV TL1,#0F4HSETB TR1MOV SCON,#0D0H; 串口初始化,允許接收; 首地址送 R0; 數(shù)據(jù)長(zhǎng)度送 R7MOVMOVR0,#50HR7,#10HWAIT:JNB RI,$; 等待接收完成CLRRI ;清中斷標(biāo)志MOVA,SBUF; 讀數(shù)到累加器JNBP,PNP;P=0 ,轉(zhuǎn) PNPJNBRB8,ERROR;P=1, RB8=0,轉(zhuǎn)出錯(cuò)SJMPRIGHTPNP:JBRB8,ERROR;P=0, RB8=1,轉(zhuǎn)出錯(cuò)RIGHT:MOVR0,A; 存數(shù)INCR0; 修改地址指針DJNZR7,WAIT; 未接收完,繼續(xù)CLRF0; 置正確接收標(biāo)志 F0=0RETE

11、RROR: SETBF0 ;置錯(cuò)誤接收標(biāo)志 F0=1RET23.設(shè)計(jì)一個(gè)獨(dú)立式按鍵的鍵盤(pán)接口,并編寫(xiě)鍵掃描程序,電路原理圖如圖所示,鍵號(hào)從上到下分別 為07。( 10分)(參考課件例題)K9C52IM.ftIM.1PL2P1.3F1.4P1.5VLbPI.7V+5-To *IO *oC語(yǔ)言程序清單:#in clude void key()un sig ned char k;P仁 0xf;k=P1;if(k=0xff) return;delay20ms(); k=P1;if(k=0xff) return;while(P1!=0xff); switch(k)case:0xfebreak; case:0xfdbreak;case:0x7f/輸入時(shí)P1 口置全1/讀取按鍵狀態(tài)/無(wú)鍵按下,返回/有鍵按下,延時(shí)去抖/確認(rèn)鍵按下/抖動(dòng)引起,返回/等待鍵釋放0號(hào)鍵按下時(shí)執(zhí)行程序段1號(hào)鍵按下時(shí)執(zhí)行程序段26號(hào)鍵程序省略7號(hào)鍵按下時(shí)執(zhí)行程序段break;匯編語(yǔ)言程序清單:KEY:MOVP1,#0FFH ;P1口為輸入口MOVA, P1;讀取按鍵狀態(tài)CPLA ;取正邏輯JZEKEY ;無(wú)鍵按下,返回LCALLDELAY20MS ;有鍵按下,去抖MOVA, P1CPLAJZEKEY ;抖動(dòng)引起,返回MOVB, A;存鍵值KEY1:MOV A, P1; 以下等待鍵釋放

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論