單片機(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è)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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和 RS0分別為 0 和 1時(shí),系統(tǒng)先用的工作寄存器組為組 1 。3定時(shí)器 T1 的中斷入口地址是001BH。4 8051 定時(shí) / 計(jì)數(shù)器共有四種操作模式,由TMOD寄存器中M1 M0的狀態(tài)決定,當(dāng)M1 M0的狀態(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 口線。8.若單片機(jī)的振蕩頻率為6MHz,設(shè)定時(shí)器工作在方式1 需

2、要定時(shí) 1ms,則定時(shí)器初值應(yīng)為2 16 -500。9擴(kuò)展存儲(chǔ)器時(shí)要加鎖存器373,其作用是鎖存尋址單元的低八位地址。11 8051 單片機(jī)中,唯一一個(gè)用戶可使用的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)移指令。18. 串行口每

3、一次傳送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。試寫出相應(yīng)的程序。( 參考課件例題 )C 語(yǔ)言程序(中斷方式):# include<reg52.h>/包含特殊功能寄存器庫(kù)sbitP1_0=P10;voidmain( )TMOD=0x03;/設(shè)置工作模式TL0=0x06;TH0=0x06;/ 為定時(shí)器賦初值ET0=1;/允許定時(shí) 0 中斷EA=1;TR0=1;/啟動(dòng)定時(shí)器 0while(1);

4、/ 等待中斷voidtime0_int(void) interrupt 1P1_0=P1_0;中斷方式匯編語(yǔ)言程序:ORG0000HLJMPMAINORG000BH;中斷處理程序CPLP1.0RETIORG0030H;主程序MAIN:MOVSP, #0DFHMOVTMOD, #02HMOV TL0, #06HMOVTH0 , #06HSETBET0;允許定時(shí)器0 中斷SETBEA;允許 CPU中斷SETBTR0;啟動(dòng)定時(shí)器 0SJMP$;等待中斷END采用查詢方式C 語(yǔ)言程序:# include <reg52.h>sbit P1_0=P10; void main()TMOD=0x0

5、2; TL0=0x06;TH0=0x06;TR0=1;while (1)while(!TF0) ; / 查詢計(jì)數(shù)溢出 TF0=0; P1_0=P1_0;查詢方式匯編語(yǔ)言程序:MAIN:MOVMOVMOVSETBTMOD,#02H TL0,#06H TH0,#06H TR0;主程序LOOP:JNBCLRCPLSJMPTF0,$TF0P1.0LOOP;查詢計(jì)數(shù)溢出END21. 將片內(nèi) RAM 50H5FH 中的數(shù)據(jù)串行發(fā)送,用第特率為 2400 b/s ,編制串行口方式3 的發(fā)送程序。9 個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位,設(shè)晶振為( 參考課件例題)11.0592 MHz ,波解:用 TB8 作奇偶校驗(yàn)位,在數(shù)

6、據(jù)寫入發(fā)送緩沖器之前先將數(shù)據(jù)的奇偶位據(jù)作奇偶校驗(yàn)用,發(fā)送采用中斷方式。C語(yǔ)言程序清單:#include<reg52.h>unsigned 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);/ 等待中斷P 寫入TB8,這時(shí),第9 位數(shù)

7、void server() interrupt 4/ 串行口中斷服務(wù)程序TI=0;ACC=array+i;/ 清發(fā)送中斷標(biāo)志/ 取下一個(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,#0F4HSETBTR1SETBES; 允許串行口中斷SETBEA;CPU 開(kāi)中斷MOV R0,

8、#50HMOV R7,#0FHMOV A,R0MOV C,PMOV TB8,C;送奇偶標(biāo)志位到 TB8MOV SBUF,A;發(fā)送第一個(gè)數(shù)據(jù)SJMP$SERVER:CLR TI;清除發(fā)送中斷標(biāo)志INC R0;修改數(shù)據(jù)地址MOV A,R0MOV C,PMOV TB8,CMOV SBUF,A;發(fā)送下一個(gè)數(shù)據(jù)DJNZR7,ENDT;判斷數(shù)據(jù)塊是否發(fā)送完CLR ES;否則,禁止串行口中斷ENDT:RETI;中斷返回22. 編寫一個(gè)接收程序,將接收的16 字節(jié)數(shù)據(jù)送入片內(nèi)RAM 50H 5FH 單元中。設(shè)第驗(yàn)位,晶振為11.059 2 MHz ,波特率為2 400b/s 。 ( 參考課件例題)9 個(gè)數(shù)據(jù)位

9、作奇偶校解: RB8作奇偶校驗(yàn)位,接收時(shí),取出該位進(jìn)行核對(duì),接收采用查詢方式。C語(yǔ)言程序清單:#include<reg52.h>unsigned char i;unsigned char array16 _at_ 0x50;/接收緩沖區(qū)void main()SCON=0xd0;TMOD=0x20;TH1=0xf4;TL1=0xf4;TR1=1;for(i=0;i<16;i+)while(!RI);/串行口初始化,允許接收循環(huán)接收16 個(gè)數(shù)據(jù)等待一次接收完成RI=0;ACC=SBUF;if(RB8=P)arrayi=ACC;/校驗(yàn)正確else/校驗(yàn)不正確F0=1;break;w

10、hile(1);匯編語(yǔ)言程序清單:MAIN:MOV TMOD,#20H ;定時(shí)器初始化MOVTH1,#0F4HMOVTL1,#0F4HSETBTR1MOVSCON,#0D0H; 串口初始化,允許接收MOVR0,#50H; 首地址送 R0MOVR7,#10H; 數(shù)據(jù)長(zhǎng)度送 R7WAIT: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; 修改地址

11、指針DJNZR7,WAIT; 未接收完,繼續(xù)CLRF0; 置正確接收標(biāo)志F0=0RETERROR: SETBF0;置錯(cuò)誤接收標(biāo)志F0=1RET23. 設(shè)計(jì)一個(gè)獨(dú)立式按鍵的鍵盤接口,并編寫鍵掃描程序,電路原理圖如圖所示,鍵號(hào)從上到下分別為 0 7。( 10 分) ( 參考課件例題 )C語(yǔ)言程序清單:#include<reg52.h>void key()unsigned char k;P1=0xff;k=P1;if(k=0xff)/ 輸入時(shí) P1 口置全/讀取按鍵狀態(tài)/無(wú)鍵按下,返回1return;delay20ms();/ 有鍵按下,延時(shí)去抖k=P1;if(k=0xff)return;while(P1!=0xff);/確認(rèn)鍵按下抖動(dòng)引起,返回等待鍵釋放switch(k)case:0xfe/0號(hào)鍵按下時(shí)執(zhí)行程序段break;case:0xfd/1號(hào)鍵按下時(shí)執(zhí)行程序段break;/2 6 號(hào)鍵程序省略case:0x7f/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: MOVA, P1; 以下等待鍵釋放CPLAJ

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論