




已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理及應(yīng)用 總復(fù)習(xí),2012.12.25,杭州電子科技大學(xué) Hangzhou Dianzi University,單片機(jī)原理及應(yīng)用,考試時間: 2013-01-19 18:0020:00 考試地點(diǎn): 第6教學(xué)樓 122,杭州電子科技大學(xué) Hangzhou Dianzi University,考試題目形式,一.選擇填空題(每小題2分,共30分) 二.簡答題:(每小題5分,共20分,4小題) 三.程序分析題(共26分, 5小題) 四. 編程題 (共24分,3小題),杭州電子科技大學(xué) Hangzhou Dianzi University,基本內(nèi)容,一、 MCS-51單片機(jī)的硬件結(jié)構(gòu) 二、 MCS-51單片機(jī)指令系統(tǒng) 三、 匯編語言程序設(shè)計(jì) 四、C51語言及程序設(shè)計(jì) 五、 MCS-51單片機(jī)系統(tǒng)擴(kuò)展技術(shù) 六、 中斷與定時 七、 MCS-51單片機(jī)存儲器與IO擴(kuò)展 八、 串行通信及其接口 九、 DA/AD轉(zhuǎn)換接口,杭州電子科技大學(xué) Hangzhou Dianzi University,杭州電子科技大學(xué) Hangzhou Dianzi University,一、 MCS-51單片機(jī)的硬件結(jié)構(gòu),CPU-中央處理單元,完成運(yùn)算和控制功能 內(nèi)部數(shù)據(jù)存儲器(RAM) 低128B:按用途分三個區(qū),通用寄存器區(qū)、位尋址區(qū)、堆棧/用戶 數(shù)據(jù)區(qū)。各區(qū)地址與主要用途。 高128B:分布21個可尋址SFR。PSW、A、SP、PC功能與復(fù)位狀態(tài) 內(nèi)部數(shù)據(jù)存儲器(RAM) 8031 無 EA - 0 8051、8751、AT89C51 4KB 2個16位定時器/計(jì)數(shù)器 具有定時、計(jì)數(shù)功能 4個并行I/O端口 P0、P1、P2、P3均有I/O功能,注意讀引腳操作,P0外接上拉電阻 總線擴(kuò)展 ABP2P0(16) DBP0(8) CB-ALE、PSEN、WR、RD、EA,杭州電子科技大學(xué) Hangzhou Dianzi University,一、 MCS-51單片機(jī)的硬件結(jié)構(gòu),串行口RXD、TXD 全雙工串行口 串口數(shù)據(jù)傳送方式與特點(diǎn)。 中斷控制系統(tǒng)5個中斷源入口地址與中斷控制 時鐘電路 振蕩器周期 機(jī)器周期 指令周期 工作方式 復(fù)位信號、狀態(tài)、方式 程序運(yùn)行 低功耗運(yùn)行 掉電保護(hù)停振,僅保存RAM數(shù)據(jù),復(fù)位方法 待機(jī)不停振,CPU暫停,中斷正常,復(fù)位方法,杭州電子科技大學(xué) Hangzhou Dianzi University,二、 MCS-51單片機(jī)指令系統(tǒng),指令系統(tǒng)機(jī)器指令集 尋址方式確定操作數(shù)單元地址的方式。支持字節(jié)操作,位操作 常用指令 數(shù)據(jù)類傳送 MOV MOVC MOVX SWAP POP PUSH 運(yùn)算類 ADD ADDC SUBB DIV MUL 邏輯運(yùn)算 ANL ORL XRL CPL RR RRC RL RLC 控制類 DJNZ CJNE JZ JNZ SJMP LJMP ACALL LCALL RET RETI 位操作 MOV SETB CLR JC JNC JB JNB JBC,杭州電子科技大學(xué) Hangzhou Dianzi University,三、 匯編語言程序設(shè)計(jì),數(shù)據(jù)傳送 數(shù)制轉(zhuǎn)換 軟件定時 運(yùn)算程序 查表程序 關(guān)鍵字查找 位操作程序,杭州電子科技大學(xué) Hangzhou Dianzi University,三、 程序設(shè)計(jì),例:把內(nèi)部RAM中起始地址為data的數(shù)據(jù)串傳送到外部RAM以buffer為首地址的區(qū)域,直到發(fā)現(xiàn)$(24H)字符的ASCII碼為止。同時規(guī)定數(shù)據(jù)串的最大長度為32個字節(jié)。,程序設(shè)計(jì): SUB1: MOV R0, #data MOV DPTR, #buffer MOV R1, #20H LOOP: MOV A, R0 CJNE A, #24H, LOOP1 SLMP BACK LOOP1: MOVX DPTR, A INC R0 INC DPTR DJNZ R1, LOOP BACK: RET,MOV DPTR ,#2100H ;設(shè)置起始地址 MOV R0,0 ;設(shè)置當(dāng)前所在地址 SCH_PRO0: MOV DPL,R0 ;設(shè)置當(dāng)前地址 MOVX A,DPTR ;取出當(dāng)前地址的內(nèi)容 INC R0 ;地址指針加1 CJNE A,#24H,SCH_PRO1 ;判斷當(dāng)前地址內(nèi)容是否為“$” MOV DPTR,#1500H ; 是則存儲到1500H單元中并結(jié)束 MOVX DPTR,A RET SCH_PRO1: CJNE R0,32,SCH_PRO0 ;判斷當(dāng)前是否已取完;并結(jié)束 RET,三、 程序設(shè)計(jì),系統(tǒng)時鐘為12MHz時,延時子程序 ORG 2000H 需機(jī)器周期數(shù) nn EQU 40H ; DELAY: MOV A , nn ; 1 LOOP: DEC A ; 1 NOP ; 1 NOP ; 1 NOP ; 1 NOP ; 1 NOP ; 1 JNZ LOOP ; 2 RET ; 2,已知查表程序,內(nèi)部RAM的(27H)=09H, BCD_LED: MOV A, 27H MOV DPTR, #TAB MOVC A, A+DPTR CPL A ; MOV 27H, A RET TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ;LED字形表 92H, 82H, 0F8H, 80H, 90H,串行接口接收,晶振頻率為12MHz,以方式1進(jìn)行串行數(shù)據(jù)通信,其波特率為1200。 B機(jī)接收程序: Recieve:MOV TMOD, #20H ;定時器T1工作于模式2 MOV TH1, #0E6H ;設(shè)置波特率為1200的計(jì)數(shù)初值 MOV TL1, #0E6H SETB TR1 MOV SCON, #50H ;串行接口工作于工作方式1,允許接收 LOOP: JNB RI, LOOP ;等待接收數(shù)據(jù) MOV A, SBUF ; CLR RI RET, 通信程序, 設(shè)fosc=11.0592MHz: #include “reg51.h” #include “string.h” char s=“MCS-51 Serial Communication Bus.”; main() unsigned char a,b=6; TMOD=0x20; SCON=0x50; /*SM0=SM2=0,SM1=1,REN=1*/ TH1=0xfa; TL1=0xfa; TR1=1; a=strlen (s); for ( ; ba ; b+) SBUF=s b; while (! TI); TI=0; ,6 產(chǎn)生周期為40mS的等寬方波脈沖。 #include sbit P1_=P14; void TimerInt(void) interrupt 3 using 1 P1_4=!P1_4; TH1= -(20000 / 256); TL1= -(20000 % 256); main() SP=0x60; P1_4=0; TMOD=0x11; TH1= -(20000 / 256); TL1= -(20000 % 256); EA=1; ET1=1; TR0=0; TR1=1; dowhile(1); ,杭州電子科技大學(xué) Hangzhou Dianzi University,四、 C51與程序設(shè)計(jì),goto、break、continue 語句 return do while 、while switch case for( ; ;) sfr、sfr16 unsigned char 、int data 、IDATA 、PDATA、BDATA,杭州電子科技大學(xué) Hangzhou Dianzi University,五、 MCS-51單片機(jī)系統(tǒng)擴(kuò)展技術(shù),MCS-51系統(tǒng)擴(kuò)展總線 數(shù)據(jù)總線P0 地址總線P2P0 控制總線ALE PSEN RD WR EA 存儲器擴(kuò)展 擴(kuò)展能力:16位地址線,尋址范圍64KB 存儲器地址映像:高位片選地址+存儲器片內(nèi)地址形成16 位系統(tǒng)地址 編址 ROM與片外RAM獨(dú)立編址,尋址空間為64KB 片外RAM與I/O擴(kuò)展統(tǒng)一編址,總尋址空間為64KB 地址譯碼:線選法、譯碼法,杭州電子科技大學(xué) Hangzhou Dianzi University,擴(kuò)展電路注意的問題 讀寫控制 片選控制 地址的分配: 地址是一個范圍空間,杭州電子科技大學(xué) Hangzhou Dianzi University,六、 中斷與定時,中斷CPU暫停當(dāng)前程序,轉(zhuǎn)向中斷處理程序,結(jié)束轉(zhuǎn)回 中斷響應(yīng)及響應(yīng)條件 中斷入口地址 中斷響應(yīng)優(yōu)先級 同級響應(yīng)順序 中斷嵌套 中斷服務(wù)程序設(shè)計(jì) 定時器/計(jì)數(shù)器 功能計(jì)數(shù),定時 4種工作方式,TMOD設(shè)置,初值計(jì)算,初值重置方式 程序設(shè)計(jì)中斷方式、查詢方式,例1:單片機(jī)用內(nèi)部定時方法產(chǎn)生頻率為0kHz等寬矩形波,假定單 片機(jī)的晶振頻率為12MHz,請編程實(shí)現(xiàn)。 解: (方式2)定時常數(shù)的計(jì)算: TC=28-10/1=246 TH0=246,TL0=246。 通過P1.0產(chǎn)生脈沖,查詢方式定時源程序如下: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV TMOD,#02H MOV IE,#00H SETB TR0 MOV TH0,#246 MOV TL0,#246 LOOP: JNB TF0, LOOP CPL P1.0 CLR TF0 LJMP LOOP END,用語言寫: #include sbit P1_=P1; void TimerInt() interrupt P1_=!P1_; main() SP=0x60; P1_=0; TMOD=0x; TH1= 256-10; TL1= -10; EA=1; ET0=1; TR0=0; dowhile(1); ,如果查詢方式:,#include sbit P1_=P1; main() SP=0x60; P1_=0; TMOD=0xH; TH1= 256-10; TL1= -10; EA=1; ET0=1; TR0=0; while(1) if (TF0) P1_= ! P1_; TF0 = 0 ; ,例2:有晶振頻率為6MHz的MCS-51單片機(jī),使用定時器0以定時方法在P1.0輸出周期為400us,占空比為 5:1 的矩形脈沖,以定時方式2編程實(shí)現(xiàn)。 分析:中斷定時時間為40us 中斷計(jì)數(shù)器初值=5 定時初值X=256-40/2=236,主程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP T0-IPG ORG 0030H MAIN: MOV SP, #60H MOV TMOD,#02H MOV TH0,#236 MOV TL0,#236 MOV R0, #5 MOV IE,#82H SETB TR0 SJMP $,中斷服務(wù)程序: T0-IPG: DJNZ R0, BACK MOV R0, #5 SETB P1.0 RETI BACK: CLR P1.0 RETI,include sbit P1_0=P10; unsigned char nn; main() SP=0x60; P1_0=0; TMOD=0x02; TH1= -20 ; TL1= 256-20; EA=1; ET0=1; TR0=0; nn=5; dowhile(1); ,void TimerInt(void) interrupt 1 nn = nn-1; if (nn =0) P1_0= 1 ; nn = 5; else P1_0= 0 ; ,用語言寫:,已知時鐘頻率為6MHz,P1.0每秒鐘產(chǎn)生一個機(jī)器周期的正脈沖,P1.1每分鐘產(chǎn)生一個機(jī)器周期的正脈沖。,中斷方式定時源程序: D10MS EQU 30H D1S EQU 31H ORG 0000H LJMP MAIN ORG 000BH ;T0INT LJMP T0INT ORG 0030H MAIN:MOV SP, #60H MOV TMOD,#02H MOV TH0,#256-250 ;0.5ms MOV TL0,#256-250 MOV IE,#82H CLR P1.0 CLR P1.1 SETB TR0 MOV D10MS, #0 MOV D1S, #0 SJMP $,T0INT: INC D10MS MOV A, D10MS CJNE A,#20, T0INT1 MOV D10MS,#0 SETB P1.0 CLR P1.0 INC D1S MOV A, D1S CJNE A,#60, T0INT1 MOV D1S,#0 SETB P1.1 CLR P1.1 T0INT1: RETI,用語言:,include sbit P1_0=P10; sbit P1_1=P11; unsigned char d10ms,d1s; main() SP=0x60; P1_1=0; P1_0=0; TMOD=0x02; d10ms=0,d1s=0; TH1= -250 ; /0.5ms TL1= 256-250; EA=1; ET0=1; TR0=0; dowhile(1); ,void TimerInt(void) interrupt 1 d10ms +; if (d10ms =20) d10ms =0; d1s +; P1_0= 1 ; P1_0= 0 ; if (d1s =60) P1_1= 1 ; P1_1= 0 ; d1s = 0; ,杭州電子科技大學(xué) Hangzhou Dianzi University,七、 MCS-51單片機(jī)I/O擴(kuò)展及應(yīng)用,簡單I/O擴(kuò)展 輸入:接口電路,控制信號,操作指令MOV A, DPTR 輸出:接口電路,控制信號,操作指令MOV DPTR, A 鍵盤接口及其應(yīng)用 獨(dú)立式按鍵,機(jī)械式按鍵鍵碼識別流程及編程 行列式按鍵,掃描法鍵碼識別流程 查詢/中斷方式電路連接 LED接口及其應(yīng)用 共陰/共陽LED及其字形碼 靜態(tài)顯示 動態(tài)顯示 電路設(shè)計(jì) 顯示程序流程圖及其程序設(shè)計(jì),七、 MCS-51單片機(jī)I/O擴(kuò)展及應(yīng)用,四、單片機(jī)矩陣鍵盤接口和鍵功能的實(shí)現(xiàn),行列式鍵盤(如圖8.1.4所示) 按鍵識別有兩種方法:行掃描法和線反轉(zhuǎn)法 1、鍵盤接口處理的內(nèi)容,(1)鍵掃描 首先是判定有沒有鍵被按下,先經(jīng)輸出口向所有列線輸出低電平,然后再輸入各行線狀態(tài),2)軟件消抖是利用延時來跳過抖動過程,3)判斷被按鍵的位置,(4)鍵值計(jì)算,unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unsigned char Count,d1,d2,d3,d4; void display(void) P2 /關(guān)位碼 ,void delay(void) unsigned int i; for(i=0;i2000;i+); void main(void) while(1) display(); /其他工作 ,杭州電子科技大學(xué) Hangzhou Dianzi University,八、 串行通信及其接口,串行傳輸 按位順序傳送數(shù)據(jù) 分異步、同步 距離遠(yuǎn),數(shù)據(jù)線少。 異步傳送數(shù)據(jù)幀格式:起始位、數(shù)據(jù)位、校驗(yàn)位、停止位 串行口的4種工作方式 適用范圍 波特率選擇 程序設(shè)計(jì):查詢方式、中斷方式,程序設(shè)計(jì),1、假定甲、乙機(jī)進(jìn)行串行數(shù)據(jù)通信,其波特率為1200。甲機(jī)將內(nèi)部RAM 40H4FH單元的內(nèi)容傳送到乙機(jī)外部RAM 1000H100FH單元,請編程實(shí)現(xiàn)。,ORG 0000H LJMP MAIN ORG 0023H LJMP T_PG ORG 0030H MAIN: MOV SP, #60H MOV TMOD, #20H MOV TH1, #0F3H MOV TL1, #0F3H MOV PCON, #00H MOV SCON, #40H MOV R0, #40H MOV R1, #10H SETB EA SETB ES,假設(shè)fsoc=6MHz,串行工作方式2,smod=0,則計(jì)數(shù)初值為: X=256-6*106*20 / (384*1200)=256-13=FFH+1-13=0F3H,SETB TR1 MOV A, R0 CLR TI MOV SBUF, A SJMP $ T_PG: DJNZ R1, NEXT CLR ES CLR TR1 LJMP BACK NEXT: INC R0 MOV A, R0
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國三足式袋卸料離心機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 深度解析教育科技行業(yè)未來發(fā)展方向
- 教育機(jī)構(gòu)如何利用游戲化平臺提高教學(xué)效果
- 企業(yè)培訓(xùn)中多媒體技術(shù)的應(yīng)用與創(chuàng)新-以智慧教室為例
- 新版培訓(xùn)課件模板圖片
- 碧桂園張家港拓客內(nèi)部培訓(xùn)89
- 全民健身設(shè)施補(bǔ)短板工程實(shí)施方案在城市老舊小區(qū)健身設(shè)施改造中的應(yīng)用研究
- 全球鈾礦資源市場前景與2025年核能產(chǎn)業(yè)綠色低碳發(fā)展戰(zhàn)略報(bào)告
- 公交優(yōu)先戰(zhàn)略在2025年城市交通擁堵治理中的可持續(xù)發(fā)展報(bào)告
- Carpetimycin-B-生命科學(xué)試劑-MCE
- 板式換熱器、半容積式換熱器換熱器面積計(jì)算表(自動計(jì)算)
- 直流屏檢修作業(yè)指導(dǎo)書
- 冷鐓機(jī) 質(zhì)量要求技術(shù)條件
- 《全國統(tǒng)一安裝工程預(yù)算定額》工程量計(jì)算規(guī)則
- translated-NCCN臨床實(shí)踐指南:非小細(xì)胞肺癌(中文版2022.V5)
- GB/T 8312-2002茶咖啡堿測定
- 通信線路工程施工組織設(shè)計(jì)方案【實(shí)用文檔】doc
- 護(hù)士注冊健康體檢表下載【可直接打印版本】
- 預(yù)計(jì)財(cái)務(wù)報(bào)表編制及分析課件
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機(jī)組節(jié)能監(jiān)測方法
- 西門子順序功能圖語言S7-Graph的應(yīng)用
評論
0/150
提交評論