版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、《單片微型計算機(jī)原理及其應(yīng)用》電子教案,趙秀珍 王乃釗 制作 中國水利水電出版社 2001 . 8,第一章 單片微型計算機(jī)概述,本章主要介紹單片機(jī)的發(fā)展,基本的結(jié)構(gòu)和特點,單片機(jī)的應(yīng)用模式和領(lǐng)域,單片機(jī)
2、的供應(yīng)狀態(tài)等。單片微型計算機(jī)就是將CPU、RAM、ROM、定時/計數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計算機(jī)。因此,一塊芯片就構(gòu)成了一臺計算機(jī)。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機(jī)。,1.1 單片機(jī)的發(fā)展概況,綜上所述,我們可以把單片機(jī)的發(fā)展歷史劃分為四階段:第一階段(1976~1978年):低性能單片機(jī)的探索階段。以Intel公司的MCS-48為代表,采用了單片結(jié)構(gòu),即在一塊芯片內(nèi)
3、含有8位CPU、定時/計數(shù)器、并行I/O口、RAM和ROM等。主要用于工業(yè)領(lǐng)域。第二階段(1978~1982年):高性能單片機(jī)階段,這一類單片機(jī)帶有串行I/O口,8位數(shù)據(jù)線、16位地址線可以尋址的范圍達(dá)到64K字節(jié)、控制總線、較豐富的指令系統(tǒng)等。這類單片機(jī)的應(yīng)用范圍較廣,并在不斷的改進(jìn)和發(fā)展。第三階段(1982~1990年):16位單片機(jī)階段。16位單片機(jī)除CPU為16位外,片內(nèi)RAM和ROM容量進(jìn)一步增大,實時處理能力更強(qiáng),體現(xiàn)了
4、微控制器的特征。例如Intel公司的MCS-96主振頻率為12M,片內(nèi)RAM為232字節(jié),ROM為8K字節(jié),中斷處理能力為8級,片內(nèi)帶有10位A/D轉(zhuǎn)換器和高速輸入/輸出部件等。第四階段(1990年~):微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時,向高速、強(qiáng)運算能力、尋址范圍大以及小型廉價方面發(fā)展。,1.2 單片機(jī)的結(jié)構(gòu)特點,(1)片內(nèi)的RAM采用寄存器結(jié)構(gòu)形式,這樣可以提高存取的速度;(2)在存儲器結(jié)構(gòu)上,嚴(yán)格的將程序
5、存儲器ROM和數(shù)據(jù)存儲器RAM在空間上分開;(3)它的引出管腳一般都設(shè)計成多功能的;(4)增加了一個全雙工的串行接口,以擴(kuò)充I/O口和外接同步輸入和輸出設(shè)備;(5)有21個特殊功能寄存器; (6) 有豐富的指令系統(tǒng),內(nèi)部設(shè)置了可以位尋址的位地址空間。,1.3 單片機(jī)的主要品種及系列,一、 4位單片機(jī)二、 8位單片機(jī),表格 1?1 MCS-51系列型號,1.4 單片機(jī)的應(yīng)用,一、 單片機(jī)在儀器儀表中的應(yīng)用二、 單片機(jī)
6、在機(jī)電一體化中的應(yīng)用三、 單片機(jī)在智能接口和多機(jī)系統(tǒng)中的應(yīng)用四、 單片機(jī)在生活中的應(yīng)用,,,,第 二 章 MCS-51單片機(jī)的結(jié)構(gòu)和原理,本章主要介紹MCS-51系列的8051的基本結(jié)構(gòu)、工作原理、存儲器結(jié)構(gòu)、P0、P1、P2、P3四個I/O口的基本工作原理和操作特點。單片機(jī)的各種工作方式、單片機(jī)的時序等。,2.1 MCS-51單片機(jī)的結(jié)構(gòu)原理,一、 8051單片機(jī)的結(jié)構(gòu),圖 2?1 MCS-51單片機(jī)的基本結(jié)構(gòu),二
7、、 8051單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,8051單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖 2?2 所示,下面分別進(jìn)行介紹:,,圖 2?2 8051的內(nèi)部結(jié)構(gòu)框圖,,圖 2?3 8051存儲器組織結(jié)構(gòu),圖 2?4 8051內(nèi)部RAM位地址區(qū),圖 2?4 8051內(nèi)部RAM位地址區(qū),表格 2?2 特殊功能寄存器表,*:可位尋址的特殊功能寄存器,,圖 2?5 P0口的位結(jié)構(gòu),(1) P0口位的結(jié)構(gòu),(2) P1口位的結(jié)構(gòu),,圖 2?6 P1口的
8、位結(jié)構(gòu),圖 2?6 P1口的位結(jié)構(gòu),圖 2?6 P1口的位結(jié)構(gòu),圖 2?6 P1口的位結(jié)構(gòu),圖 2?6 P1口的位結(jié)構(gòu),(3) P2口的位結(jié)構(gòu),,圖 2?7 P2口的結(jié)構(gòu)圖,(4) P3口的位結(jié)構(gòu),,圖 2?8 P3口的結(jié)構(gòu)圖,(4) P3口的位結(jié)構(gòu),,圖 2?8 P3口的結(jié)構(gòu)圖,表格 2?3 P3口的第二功能表,,一、 時鐘周期、機(jī)器周期和指令周期,,圖 2-9 基本定時時序關(guān)系,2.2 MCS-51單片機(jī)的時序,
9、1.時鐘周期,,圖 2?10 MCS-51的取指/執(zhí)行時序,2.機(jī)器周期,,3.指令周期,二、 MCS-51單片機(jī)指令的取指和執(zhí)行的時序,三、 訪問外部ROM和RAM的時序,,圖 2?11 訪問外部ROM的時序,1.訪問外部ROM的時序,2.訪問外部RAM的時序,,圖 2?12 訪問外部RAM的時序,2.3 MCS-51單片機(jī)的時鐘和復(fù)位電路,一、 時鐘電路,,圖 2?13 MCS-51時鐘接法,1.內(nèi)部振蕩器方式,2.外部時鐘
10、方式,二、 復(fù)位電路及復(fù)位狀態(tài),1.內(nèi)部復(fù)位電路,,圖 2?14 8051復(fù)位電路結(jié)構(gòu),2.外部復(fù)位電路,,圖 2?15 復(fù)位電路,3.復(fù)位狀態(tài),表格 2?4 各專用寄存器的復(fù)位值,2.4 MCS-51單片機(jī)的低功耗工作方式,一、 電源控制寄存器PCON,,三、 掉電方式,二、 等待工作方式,第三章 MSC-51 單片機(jī)的指令系統(tǒng),3.1 指令系統(tǒng)概述,一、 機(jī)器碼指令與匯編語言指令,機(jī)器碼指令:,匯編語言指令:,二、
11、 指令格式,匯編語言格式為:[標(biāo)號:] 操作碼助記符 [目的操作數(shù),] [源操作數(shù)] [;注釋],,單字節(jié)指令 雙字節(jié)指令 三字節(jié)指令,INC A ADD A,#22H MOV 5EH,4FH,圖 3-1 機(jī)器碼指令格式,3.2 尋址方式,一、 寄存器尋址,二、 直接尋址,三、 立即尋址,四、 寄存器間
12、接尋址,五、 變址尋址,六、 相對尋址,七、 位尋址,3.3 MSC-51單片機(jī)的指令系統(tǒng)按照指令的功能,可以把MSC-51的111條指令分成五類:l 數(shù)據(jù)傳送類指令(29條)l 算術(shù)運算類指令(24條)l 邏輯操作類指
13、令(24條)l 控制轉(zhuǎn)移類指令(17條)l 位操作類指令 (17條),,圖 3-2 相對尋址過程,第四章 MCS-51單片機(jī)的應(yīng)用程序設(shè)計,,圖 4-1 基本程序結(jié)構(gòu),4.1 運算程序,一、 多字節(jié)數(shù)加法,1.多字節(jié)無符號數(shù)加法,CLR CMOV R0,#40H ;指
14、向加數(shù)最低位MOV R1,#5OH ;指向另一加數(shù)最低位MOV R2,#04H ;字節(jié)數(shù)作計數(shù)初值LOOP1:MOV A,@R0 ;取被加數(shù)ADDC A,@R1 ;兩數(shù)相加,帶進(jìn)位MOV @R0,AINC R0 ;修改地址INC R1DJNZ R2,LOOPl ;未加完轉(zhuǎn)LOOP1JNC LOOP2 ;無進(jìn)位轉(zhuǎn)LOOP2MOV @R0,#01HLOOP2:DEC
15、 R0RET,2.多字節(jié)有符號數(shù)加法,MOV A,R0 ;復(fù)制保存地址指針MOV R2,AMOV A,R3MOV R7,ACLR CLOOP1:MOV A,@R0ADDC A,@R1 ;相加 MOV @R0 ,AINC R0INC R1 ;地址指針加1DJNZ R7,LOOP1JB OV,ERR ;若溢出,轉(zhuǎn)溢出處理DEC R0MOV A,@R0JNB E7H,LOOP2
16、SETB 07H ;和值為負(fù),置位標(biāo)志LOOP2:MOV A,R2 ;恢復(fù)地址指針MOV R0,ARET┇ERR:┇ ;溢出處理RET,SDADD:CLR 07H ;標(biāo)志位清零,圖 4-3 多字節(jié)有符號數(shù)加法程序流程圖,二、 多字節(jié)數(shù)減法,MOV R0,#40H ;指向被減數(shù)最低位MOV R1,#5OH ;指向減數(shù)最低位MOV R2,#04H
17、;字節(jié)數(shù)CLR CLOOP1:MOV A,@R0SUBB A,@R1 ;完成一個字節(jié)的減法運算MOV @R0,AINC R0INC R1DJNZ R2,LOOP1RET,三、 多字節(jié)十進(jìn)制數(shù)(BCD碼)加法,,,圖 4-4 BCD碼多字節(jié)加法程序流程圖,,,,,,,BCDADD:MOV 20H,R0 MOV 23H,R3 CL
18、R C LOOP0: MOV A,@R0 ;取被加數(shù) ADDC A,@R1 ;兩數(shù)相加 DA A ;十進(jìn)制調(diào)整 MOV @R0,A INC R0 ;指針加1 INC
19、 R1 DJNZ R3,LOOP0 ;作完加法否 MOV R2. #23H JNC RETURN ;有無進(jìn)位,MOV@ R0,#01H INC R3RETURN:MOV R0,#20H RET,四、 多字節(jié)數(shù)乘
20、法,ZHENFA: MOV A,R0 MOV B,R1 MUL AB ;(R1)*(R0) MOV R3,A ;積的低位送到R3 MOV R4,B ;積的高位送到R4 MOV A,R0
21、 MOV B,R2 MUL AB ;(R2)*(R0) ADD A,R4 ;(R1)*(R0)的高位加(R2)*(R0)的低位 MOV R4,A ;結(jié)果送R4,進(jìn)位在CY中 MOV A,B ADDC A,#
22、OOH;(R2)*(R0)的高位加低位來的進(jìn)位 MOV R5,A ;結(jié)果送R5 RET,五、 多字節(jié)數(shù)除法,,,DV: MOV R7,#08H ;設(shè)計數(shù)初值DVl: CLR C MOV A,R5 RLC A MOV R5,A MOV A,R6
23、 RLC A ;將(R6)、(R5)左移一位 MOV 07H,C ;將移出的一位送07H位保存 CLR C,,圖 4-5 除法程序流程圖,SUBB A,R2 ;余數(shù)(高位)減除數(shù) JB O7H,GOU ;若標(biāo)志位為1,說明夠減,JNC GOU ;無借位也說明夠減 ADD A,R2 ;否則,恢復(fù)余
24、數(shù) AJMP DV2 GOU:INC R5 ;商上1 DV2:MOV R6,A ;保存余數(shù)(高位) DJNZ R7,DVl RET,一、 數(shù)據(jù)的拼拆,4.2 數(shù)據(jù)的拼拆和轉(zhuǎn)換,例4-7 設(shè)在30H和31H單元中各有一個8位數(shù)據(jù):(30H)=x7x6x5x4x3x2x1x0(3lH)=y7y6y5y4y3y2y1y0現(xiàn)在要從30H單元中取出低5
25、位,并從31H單元中取出低3位完成拼裝,拼裝結(jié)果送40H單元保存,并且規(guī)定:(40H)=y2y1y0x4x3x2x1x0解:利用邏輯指令A(yù)NL、ORL來完成數(shù)據(jù)的拼拆,程序清單如下:MOV 4OH,3OH ;將x7~x0傳送到40H單元ANL 4OH,#000111llB ;將高3位屏蔽掉MOV A,31H ;將y7~y0傳送到累加器中SWAP A ;將A的內(nèi)容左移
26、4次RL A ;y2~y0移到高3位ANL A,#111000OOB ;將低5位屏蔽掉ORL 4OH,A ;完成拼裝任務(wù),二、 數(shù)據(jù)的轉(zhuǎn)換,1.ASCII碼與二進(jìn)制數(shù)的互相轉(zhuǎn)換,例4-10 編程實現(xiàn)十六進(jìn)制數(shù)表示的ASC1I代碼轉(zhuǎn)換成4位二進(jìn)制數(shù)(1位十六進(jìn)制數(shù))。解:對于這種轉(zhuǎn)換,只要注意到下述關(guān)系便不難編寫出轉(zhuǎn)換程序:“字符0”~“字符9”的ASCII碼值為“30H”~
27、“39H”,它們與30H之差恰好為“00H”~“09H”,結(jié)果均<0AH。“字符A”~“字符F”的ASCII碼值為“41H”~“46H”,它們各自減去37H后恰好為“0AH”~“0FH”,結(jié)果>0AH。根據(jù)這個關(guān)系可以編出轉(zhuǎn)換程序如下,程序以R1作為入口和出口。ASCHIN:MOV A,R1 ;取操作數(shù)CLR C ;清進(jìn)位標(biāo)志位CSUBB A,#30H ;ASCII碼減去30H,實現(xiàn)0
28、-9的轉(zhuǎn)換MOV R1,A ;暫存結(jié)果SUBB A,#0AH ;結(jié)果是否>9?JC LOOP ;若≤9則轉(zhuǎn)換正確XCH A,R1SUBB A,#07H ;若>9則減37HMOV R1,ALOOP: RET,2.BCD碼與二進(jìn)制數(shù)的轉(zhuǎn)換,,圖 4-6 BCD碼(十進(jìn)制)轉(zhuǎn)換成二進(jìn)制數(shù)程序流程圖,程序清單如下:MAIN:MOV A,R5 MOV
29、R2,A ;給子程序入口參數(shù) ACALL BCDBIN ;調(diào)用子程序 MOV B,#64H MUL AB MOV R6,A XCH A,B MOV R5,A MOV A,R4
30、 MOV R2,A ACALL BCDBIN ;調(diào)用子程序 ADD A,R6 MOV R4,A MOV A,R5 ADDC A,#00H MOV R5,A RET子程序如下:BCDBIN:MOV A,R2
31、 ANL A,#0F0H ;取高位BCD碼,屏蔽低4位 SWAP A MOV B,#0AH MUL AB MOV R3,A MOV A,R2 ANL A,#0FH
32、 ADD A,R3 ;加低位BCD碼 MOV R2,A RET,4.3 查表程序,使用MOVC A,@A+DPTR指令來查表,程序清單如下: MOV DPTR,#BS ;子程序入口地址表首址 RL A ;鍵碼值乘以2,MOV R2,A
33、 ;暫存A MOVC A,@A+DPTR ;取得入口地址低位 PUSH A ;進(jìn)棧暫存 INC A MOVC A,@A+DPTR ;取得入口地址高位 MOV DPH,A POP DPL CLR A JMP @A+DPTR ;轉(zhuǎn)向鍵處理子程序BS: DB
34、RK0L ;處理子程序入口地址表 DB RK0H DB RK1L DB RK1H DB RK2L DB RK2H ┇ ┇,4.4 散轉(zhuǎn)程序,一、 采用轉(zhuǎn)移指令表的散轉(zhuǎn)程序,例4-17 編出要求根據(jù)R3的內(nèi)容轉(zhuǎn)向各個操作程序的程序。即當(dāng)(R3)=0,轉(zhuǎn)向OPRO(R3)=1,轉(zhuǎn)向OPRl…
35、(R3)=n,轉(zhuǎn)向OPRn解:程序清單如下:MOV A,R3RL A ;分支序號值乘2MOV DPTR ,#BRTABL ;轉(zhuǎn)移指令表首址JMP @A+DPTR ;轉(zhuǎn)向形成的散轉(zhuǎn)地址BRTABL:AJMP OPR0 ;轉(zhuǎn)移指令表AJMP OPR1…AJMP OPRn,二、 采用地址偏移量表的散轉(zhuǎn)程序,例4-19 編出能按R6的內(nèi)容轉(zhuǎn)向5個操作程序的程序。其
36、對應(yīng)關(guān)系如下:OPRD0:操作程序0OPRD1:操作程序1OPRD2:操作程序2OPRD3:操作程序3OPRD4:操作程序4解:程序清單如下: MOV A,R6 MOV DPTR,#TAB3 ;指向地址偏移量表首址 MOVC A,@A+DPTR ;散轉(zhuǎn)點入口地址在A中 JMP @A+DPTR ;轉(zhuǎn)向相應(yīng)的操作程序入口
37、TAB3: DB OPRDO-TAB3 ;地址偏移量表 DB OPRDl-TAB3,DB OPRD2-TAB3 DB OPRD3-TAB3 DB OPRD4-TAB3,三、 采用轉(zhuǎn)向地址表的散轉(zhuǎn)程序,例4-20 編程:要求根據(jù)R6的內(nèi)容轉(zhuǎn)向相應(yīng)的操作程序中去。設(shè)備操作程序的轉(zhuǎn)向地址分別為OPRD0,OPRDl,… OPRDn。解:程序清單如下:
38、 MOV DPTR,#BRTABL ;指向轉(zhuǎn)向地址表 MOV A,R6 ADD A,R6 ;(A)←(R6)*2 JNC NAND; INC DPH ;(R6)*2的進(jìn)位加到DPHNAND:MOV R3,A ;暫存變址值
39、 MOVC A,@A+DPTR ;取轉(zhuǎn)向地址高8位 XCH A,R3 INC A MOVC A,@A+DPTR ;取轉(zhuǎn)向地址低8位 MOV DPL,A ;轉(zhuǎn)向地址在DPTR中 MOV DPH,R3,CLR A
40、 JMP @A+DPTR ;轉(zhuǎn)向相應(yīng)的操作程序BRTABL:DW OPRDO ;轉(zhuǎn)向地址表 DW OPRD1 ┆ DW OPRDn,四、 采用“RET”指令的散轉(zhuǎn)程序,例4-21 編出能根據(jù)R6的內(nèi)容轉(zhuǎn)向各個操作程序的程序。設(shè)該操作程序的轉(zhuǎn)向地址分別為
41、OPRD0,OPRDl,… OPRDn。解:程序清單如下: MOV DPTR,#TAB3 ;指向轉(zhuǎn)移地址表 MOV A,R6 ADD A,R6 JNC NAND INC DPHNAND:MOV R7,A MOVC A,@A+DPTR ;取轉(zhuǎn)向地址
42、高8位 XCH A,R7 INC A MOVC A,@A+DPTR ;取轉(zhuǎn)向地址低8位 PUSH A ;轉(zhuǎn)向地址入棧 MOV A,R7 PUSH A RET ;轉(zhuǎn)向操作程
43、序TAB3:DW OPRD0 ;轉(zhuǎn)向地址表 DW OPRDl ┇ DW OPRDn,4.5 I/O端口控制程序,例4-22 試編出能模擬圖4-9中電路的程序。,,,ORG 0200H D BIT 00H E BIT 01H G
44、 BIT 02HLOOP1:ORL P1,#08H ;準(zhǔn)備P1.3輸入LOOP2:MOV C,P1.3 ;檢測K3狀態(tài) JC LOOP2 ;若未準(zhǔn)備好(K3斷),則LOOP2 ORL P1,#03H ;若準(zhǔn)備好,則準(zhǔn)備輸入P1.0和P1.1狀態(tài) MOV C,P1.0 ;輸入K0狀
45、態(tài) MOV D,C ;送入D,MOV C,P1.1 ;輸入K1狀態(tài) MOV E,C ;送入E ANL C,D ;D∧E送C MOV G,C ;送入G MOV C,E ORL
46、 C,D ;D∨E送C ANL C,/G ;(D∨E)∧(D∧E) MOV P1.2,C ;輸出結(jié)果 SJMP LOOP1 ;準(zhǔn)備下次模擬 END,4.6 子程序調(diào)用時的參數(shù)傳遞方法,一、 通過寄存器或片內(nèi)RAM傳遞參數(shù),例4-23 利用通過寄存器或片內(nèi)R
47、AM傳遞參數(shù)這種方法編出調(diào)用SUBRT子程序的主程序。解:應(yīng)該是:MAIN :MOV R0,#30H ;傳送RAM數(shù)據(jù)區(qū)的起始地址 MOV R7,#0AH ;傳送RAM數(shù)據(jù)區(qū)的長度 ACALL SUBRT ;調(diào)用清零子程序 SJMP $ ;結(jié)束 SUBRT:MOV A,#00H ;清零子程序LOOP
48、:MOV @R0,A INC R0 DJNZ R7,LOOP RET,二、 通過堆棧傳遞參數(shù),例4-25 在HEX單元存有兩個十六進(jìn)制數(shù),試編程分別把它們轉(zhuǎn)換成ASCII碼存入ASC和ASC+1單元。解:本題子程序采用查表方法完成一個十六進(jìn)制數(shù)的ASCII碼轉(zhuǎn)換,主程序完成入口參數(shù)的傳遞和子程序的兩次調(diào)用,以滿足題目要求。程序清單為:
49、 ORG 1200HPUSH HEX ;入口參數(shù)壓棧ACALL HASC ;求低位十六進(jìn)制數(shù)的ASCII碼POP ASC ;出口參數(shù)存入ASCMOV A,HEX ;十六進(jìn)制數(shù)送ASWAP A ;高位十六進(jìn)制數(shù)送低4位PUSH ACC ;入口參數(shù)壓棧ACALL HASC ;求高位十六進(jìn)制數(shù)的ASCII碼PO
50、P ASC+1 ;出口參數(shù)送ASC+1SJMP $ ;原地踏步,結(jié)束HASC:DEC SPDEC SP ;入口參數(shù)地址送SPPOP ACC ;入口參數(shù)送AANL A,#0FH ;取出入口參數(shù)低4位ADD A,#07H ;地址調(diào)整MOVC A,@A+PC ;查相應(yīng)ASCII碼PUSH ACC ;出口參數(shù)壓棧I
51、NC SPINC SP ;SP指向斷點地址高8位RET ;返回主程序ASCTABL:DB ‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’DB ‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,‘F’END,三、 利用指針寄存器傳遞參數(shù),例4-26 編出能實現(xiàn)打印THIS IS AN EXAMPLE的程序。解:將要打印的字符及代碼不是放在調(diào)用指令之前,而是緊
52、跟在調(diào)用指令之后。主程序:MAIN: … ACALL PRINT ;調(diào)用打印子程序 DB‘THIS IS AN EXAMPLE' ;要打印的字符及代碼 DB OAH,ODH,OOHNEXT: …子程序:PRINT:POP DPH ;把調(diào)用指令下面字節(jié)的地址彈出,作
53、為數(shù)據(jù)指針 POP DPLPPPl: MOV A,#OOH MOVC A,@A+DPTR ;取出欲打印的字符 INC DPTR JZ PPPEND ;判斷是否為結(jié)束字符PPP2: ;打印程序
54、 SJMP PPPl ;未完,繼續(xù)打印PPPEND:JMP @A+DPTR ;指向主程序NEXT處,取代返回指令,第五章 定時/計數(shù)器,5.1 定時/計數(shù)的結(jié)構(gòu)及工作原理,一、 定時/計數(shù)器的結(jié)構(gòu)和原理,1.定時/計數(shù)器的結(jié)構(gòu),,圖 5?1 TMOD、TCON與T0、T1的結(jié)構(gòu)框圖,2.定時/計數(shù)器的原理,,圖 5?2 定時/計數(shù)器的結(jié)構(gòu)框圖,二、
55、定時/計數(shù)器方式寄存器TMOD,,表格 5?1 方式選擇位意義,TMOD格式如下:,定時器1,定時器0,三、 定時控制寄存器TCON定時器控制字TCON的格式如下:,,5.2 定時/計數(shù)器的工作方式,一、 方式0當(dāng)M1M0兩位為00時,定時/計數(shù)器被選為工作方式0,其邏輯結(jié)構(gòu)如圖 5?3 所示。,,圖 5?3 T0(或T1)方式0結(jié)構(gòu),二、 方式1,,圖 5?4 T0(或T1)方式1結(jié)構(gòu),三、 方式2,,圖 5?5 T
56、0(或T1)方式1結(jié)構(gòu),三、 方式2,,圖 5?6 T0(或T1)方式2結(jié)構(gòu),四、 方式3,,圖 5?7 T0方式3下和T1結(jié)構(gòu),一、 方式0、方式1的應(yīng)用例5-1 選擇T1方式0用于定時,在P1。1輸出周期為1ms的方波,晶振fosc=6MHZ。根據(jù)題意,只要使P1。1每隔500µs取反一次即可得到1ms方波,因而T1的定時時間為,500µs。將T1設(shè)為定時方式0:GATE=0,C/T(—)=0,M1M
57、0=00;T0不用可為任意,只要不使其進(jìn)入方式3,一般取0即可。故TMOD=00H。系統(tǒng)復(fù)位后TMOD為0,所以不必對TMOD置初值。下面計算500µs定時T1的初值:機(jī)器周期 T=12/fosc=12/6×106=2µs設(shè)初值為X則: (213-X)×2×10-6 s =500×10-6 s X=7942D=11
58、11100000110B=1F06H因為在作13位計數(shù)器用時,TL1高3位未用,應(yīng)寫0,X的低5位裝入TL1的低5位,所以TL1=06H;X的高8位應(yīng)裝入TH1,所以TH1=F8H。源程序如下:,二、 方式2的應(yīng)用例5-2 用定時器1方式2計數(shù),要求每計滿100次,將P1。0取反。根據(jù)題意,外部計數(shù)信號由T1(P3.5)引腳輸入,每跳變一次計數(shù)器加1,由程序查詢TF1。方式2有自動重裝初值的功能,初始化后不必再置初值。初值
59、 X=28-100=156D=9CH TH1=TL1=9CH TMOD=60H源程序如下:,三、 門控位的應(yīng)用,,,圖 5?8 外部正脈沖寬度測量,例5-3 利用T0門控位測試INT0引腳上出現(xiàn)的正脈沖的寬度,并以機(jī)器周期數(shù)的形式顯示在顯示器上。,根據(jù)要求可這樣設(shè)計程序:將T0設(shè)定為方式1,GATE設(shè)為1,置TR0為1。一旦INT0(P3。2) 引腳上出現(xiàn)高電平即開始計數(shù),直至出
60、現(xiàn)低電平,停止計數(shù),然后讀取T0的計數(shù)值并顯示。 測試過程如下:,源程序如下:,由于定時方式1的16位計數(shù)長度有限,被測脈沖高電平寬度只能小于65536個機(jī)器周期。,源程序如下:,第六章 MCS-51單片機(jī)的系統(tǒng)擴(kuò)展,6.1 MCS-51單片機(jī)的引腳定義及最小應(yīng)用系統(tǒng),一、 8051的引腳定義及功能,圖 6?1
61、MCS-51的引腳圖及功能分類圖,二、 MCS-51單片機(jī)最小應(yīng)用系統(tǒng),,圖 6?2 8051/8751最小應(yīng)用系統(tǒng),6.2 MCS-51單片機(jī)外部存儲器的擴(kuò)展,一、 外部程序存儲器的擴(kuò)展及取指過程,,圖 6?3 外部程序存儲器一般連接方法,1.程序存儲器的一般連接方式,,圖 6-4 擴(kuò)展8K字節(jié)程序存儲器的連線圖,2.典型EPROM擴(kuò)展電路,3.程序存儲器E2PROM的擴(kuò)展,,圖 6-5 E2PROM作為程序存儲器的擴(kuò)展圖,
62、二、 數(shù)據(jù)存儲器的擴(kuò)展,,圖 6-6 擴(kuò)展2KB數(shù)據(jù)存儲器的線路圖,1.?dāng)?shù)據(jù)存儲器一般的擴(kuò)展方法,2.常用數(shù)據(jù)存儲器的擴(kuò)展電路,三、 綜合擴(kuò)展實例,,圖 6-7 擴(kuò)展16KB RAM和16KB EPROM,6.3 并行I/O口的擴(kuò)展,一、 簡單I/O口的擴(kuò)展,,圖 6-8 簡單I/O接口擴(kuò)展電路,二、 可編程I/O口的擴(kuò)展,,圖 6?9 8155的結(jié)構(gòu)和引腳,表格 6?1 8155口地址分布,3.8155與單片機(jī)的連接,,表
63、格 6?2 8155的RAM和I/O口地址分配,圖 6?10 擴(kuò)展一片8155的基本方案,4.8155片內(nèi)RAM的使用,OK: … ;和為0,讀/寫正確,(1)命令寄存器的用法,表格 6?3 C口工作方式,,圖 6?12 8155方式4的邏輯結(jié)構(gòu)圖,,6.作定時/計數(shù)器用,,,,,,,,,表 6-4 8155定時器輸出方式,,,,,,,,第七章
64、 MCS-51系統(tǒng)的串行接口,7.1 串行通訊概述,一、 串行通訊的兩種基本方式,1.異步傳送方式,,,圖 7-2 異步通訊的幀格式,圖 7-3 同步傳送方式,二、 波特率,,圖 7-4 串行通訊的制式,三、 數(shù)據(jù)傳送的方向,1.單工制式(Simplex),2.半雙工制式(Half Duplex),3.全雙工(Full-duplex)制式,7.2
65、 MCS-51單片機(jī)的串行接口,一、 MCS-51串行口結(jié)構(gòu),,圖 7-5 MCS-51串行口組成示意,1.串行口數(shù)據(jù)緩沖器SBUF,2.串行口控制寄存器SCON,SM0,,圖 7-6 串行口控制寄存器SCON,圖 7-6 串行口控制寄存器SCON,3.特殊功能寄存器PCONPCON主要是為CHMOS型單片機(jī)的電源控制設(shè)置的專用寄存器,單元地址為87H,不能位尋址。其格式如圖 7-7 所示。,,,圖 7-7 PCON各
66、位定義,二、 MCS-51串行的工作方式MCS-51的串行口有四種工作方式,它是由SCON中的SM1和SM0來決定的,如表格 7-1,表格 7-1 串行口的工作方式,1.方式0,,圖 7-8 串行口方式0的時序,2.方式1在方式1時,串行口被設(shè)置為波特率可變的8位異步通信接口。其時序如圖 7-9 所示。,圖 7-9 串行口方式1的時序,3.方式2串行口工作為方式2時,被定義為9位異步通信接口。其時序如圖 7-10 所示
67、。,,4.方式3圖 7-10 串行口方式2、3的時序,三、 MCS-51串行通信的波特率,1.方式0的波特率,2.方式2的波特率,3.方式1或方式3的波特率,表格 7-2 常用波特率和定時器T1初值關(guān)系表,表格 7-2 常用波特率和定時器T1初值關(guān)系表,7.3 MCS-51單片機(jī)串行口的應(yīng)用,一、 串行口方式0用作擴(kuò)展并行I/O口,,圖 7-11 串行口方式0擴(kuò)展并行輸出口,二、 方式1與點對點的異步通訊,在下面給出的實現(xiàn)指
68、定功能的通訊程序中,發(fā)送和接收都通過調(diào)用子程序來完成,并設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為20H,接收數(shù)據(jù)區(qū)的首地址為40H。主程序:,中斷服務(wù)程序:,發(fā)送子程序:,接收子程序:,三、 方式2、方式3與多機(jī)通訊,,圖 7-12 多機(jī)通訊連接示意圖,1.多機(jī)通信原理,2.多機(jī)通信實現(xiàn),四、 微機(jī)與單片機(jī)之間的通訊,,圖 7-13 微機(jī)與單片機(jī)串行通信接口,7.4 相互通道接口標(biāo)準(zhǔn)及其選擇,一、相互通道的典型結(jié)構(gòu),二、關(guān)于RS-232C、RS-
69、449、RS-422、RS-423和RS-485接口,,,圖 7-14 多機(jī)系統(tǒng)的相互通道,2.抗干擾能力,1.RS-232C接口,,圖 7-15 通過電話網(wǎng)實現(xiàn)遠(yuǎn)程連接,表格 7-3 微機(jī)中常用的RS-232C接口信號,表格 7-3 微機(jī)中常用的RS-232C接口信號,,圖 7-16 簡單的RS-232C數(shù)據(jù)通訊,2.RS-449、RS-422、RS-423和RS-485接口,表格 7-4 幾種串行接口標(biāo)準(zhǔn)的比較,,第八章
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)原理及應(yīng)用教學(xué)教案
- 《單片機(jī)原理與應(yīng)用》(金龍國)電子教案
- 單片機(jī)課程設(shè)計---單片機(jī)原理及應(yīng)用
- 單片機(jī)課程設(shè)計-- 單片機(jī)原理及應(yīng)用
- pic單片機(jī)原理及應(yīng)用
- 單片機(jī)原理與應(yīng)用-學(xué)林單片機(jī)
- 單片機(jī)原理、接口及應(yīng)用
- 單片機(jī)原理及應(yīng)用(教材)
- 單片機(jī)原理及應(yīng)用a答案
- 《單片機(jī)原理及應(yīng)用》課程設(shè)計—單片機(jī)電子琴設(shè)計
- 單片機(jī)原理及應(yīng)用課程設(shè)計--基于單片機(jī)的電子時鐘設(shè)計
- 單片機(jī)應(yīng)用電子時鐘課程設(shè)計
- 單片機(jī)原理及應(yīng)用課程設(shè)計(電子時鐘)
- 福建專升本 電子信息類《單片機(jī)原理及應(yīng)用》
- 單片機(jī)原理及應(yīng)用試卷匯總
- 0594、avr單片機(jī)原理及應(yīng)用
- 單片機(jī)原理及應(yīng)用題庫
- 單片機(jī)原理及應(yīng)用二章
- avr單片機(jī)原理及應(yīng)用.pdf
- 0594、avr單片機(jī)原理及應(yīng)用
評論
0/150
提交評論