單片機期末復習14dpj資料_第1頁
單片機期末復習14dpj資料_第2頁
單片機期末復習14dpj資料_第3頁
單片機期末復習14dpj資料_第4頁
單片機期末復習14dpj資料_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、試卷形式(xngsh)閉卷填空題(15分)簡答題(35分)編程題(20分)綜合(zngh)設計(30分)共一百三十六頁第一章 MCS51單片機的結構(jigu) 一、MCS-51單片機的基本組成二、MCS-51單片機內(nèi)部結構 1. 運算器 2. 控制器 3. 存儲器 4. I/O接口三、MCS-51單片機引腳及其功能四、8051存儲器配置五、CPU時序六、復位(f wi)七、輸入/輸出端口共一百三十六頁內(nèi)中斷振蕩器和時序OSC程序存儲器4KB ROM數(shù)據(jù)存儲器256B RAM/SFR216位定時器/計數(shù)器64KB總線擴展控 制 器可編程I/O可編程全雙工串行口8051CPU外部時鐘源外部事件計

2、數(shù)外中斷控制并行口串行通訊共一百三十六頁PSWAccB 寄存(jcn) 器共一百三十六頁CYACF0RS1RS0OV-PPSW共一百三十六頁 控制器寄存器包括程序計數(shù)器PC、指令寄存器IR、指令譯碼器ID、堆棧指針(zhzhn)寄存器、數(shù)據(jù)指針寄存器和時鐘電路等。 共一百三十六頁堆棧(duzhn)SP堆棧是一組編有地址碼的特殊存儲單元。SP可以指向8051片內(nèi)00H7FH RAM的任何單元。系統(tǒng)復位后,SP初始化為07H。 51系統(tǒng)的堆棧屬于“向上生成”的編址方式,SP指針指示堆棧棧頂?shù)刂?,?shù)據(jù)壓棧時SP先自動增“1”,然后將數(shù)據(jù)壓入SP所指示的單元;彈出時,先將SP所指示的堆棧元內(nèi)的數(shù)據(jù)彈出

3、,然后SP自動減“1”。堆棧存取信息(xnx)是按“后進先出”或“先進后出”的原則進行的。共一百三十六頁數(shù)據(jù)(shj)指針DPTR16位專用寄存器(51系統(tǒng)中唯一的一個可供用戶使用(shyng)的16位寄存器),由DPH和DPL組成。提供對外部RAM(I/O)的訪問,擴展地址空間最大為216=64KB。DPTR常用于調(diào)用、轉(zhuǎn)移、訪問外部數(shù)據(jù)存儲器和查表等指令中。共一百三十六頁程序(chngx)存儲器空間數(shù)據(jù)(shj)存儲器空間片內(nèi)程序存 儲 器空 間片外程序存 儲 器空 間片內(nèi)數(shù)據(jù)存 儲 器空 間片外程序存 儲 器空 間共一百三十六頁8051存儲器地址空間(kngjin)分為三類:片內(nèi)、片外統(tǒng)

4、一編址0000HFFFFH的64KB程序(chngx)存儲器地址空間(16位地址) 64KB片外數(shù)據(jù)存儲器地址空間,地址也從0000HFFFFH編址(16位地址) 256B數(shù)據(jù)存儲器地址空間(8位地址) 共一百三十六頁SFRRAM7F00FF808051片內(nèi)存儲器4KBROMEA=100000FFF64KBROMEA=000000FFF1000FFFF000064KBRAM(I/O)FFFF片外擴展存儲器共一百三十六頁1. 程序存儲器地址(dzh)空間 程序存儲器用于存放編好的程序和表格常數(shù),它通過16位程序計數(shù)器尋址,尋址能力位64KB。 89C51片內(nèi)ROM/EPROM的容量為4KB,地址

5、(dzh)為0000H0FFFH,片外最多可擴至64KB ROM/EPROM,地址為1000HFFFFH,片內(nèi)外統(tǒng)一編址。 引腳EA1(接高電平),PC在0000H0FFFH范圍內(nèi)執(zhí)行片內(nèi)ROM; 引腳EA0(接地),8051片內(nèi)ROM不起作用,CPU只能從片外ROM/EPROM中取指令,地址可以從0000H開始編址。 8031片內(nèi)不帶ROM,所以使用時必須使EA0,這樣才能從片外擴展的EPROM中取指令。 需要指出的是:8051從片內(nèi)程序存儲器和片外程序存儲器取指時執(zhí)行速度相同。 共一百三十六頁 程序存儲器的0000H0002H單元被保留用于程序的起始(q sh)。從0003H0032H單元

6、被保留專用于中斷服務程序 存儲單元保留目的0000H0002H復位后初始化引導程序0003H 000AH外部中斷0000BH 0012H定時器0溢出中斷0013H 001AH外部中斷1001BH 002AH定時器1溢出中斷0023H 002AH串行端口中斷002BH定時器2中斷(8052才有)共一百三十六頁中斷源中斷服務程序入口地址外部中斷0(INT0)0003H定時器/計數(shù)器0溢出000BH外部中斷10013H定時器/計數(shù)器1溢出001BH串行口0023H共一百三十六頁片外RAM 8051片外數(shù)據(jù)存儲器空間為64KB,地址從0000HFFFFH,需要注意的是,片外數(shù)據(jù)存儲器的地址部分(b f

7、en)與片內(nèi)數(shù)據(jù)存儲器空間(0000H00FFH)是重疊的,片內(nèi)、片外的區(qū)別是靠MOV和MOVX兩個指令來區(qū)分的。2. 數(shù)據(jù)存儲器地址(dzh)空間 數(shù)據(jù)存儲器在物理上和邏輯上分為兩個地址空間內(nèi)部數(shù)據(jù)存儲器、外部數(shù)據(jù)存儲器。訪問內(nèi)部數(shù)據(jù)存儲器用MOV指令;訪問外部數(shù)據(jù)存儲器用MOVX指令。 共一百三十六頁片內(nèi)RAM片內(nèi)數(shù)據(jù)存儲器分為兩個部分(b fen): 00H7FH(0127)單元組成的低128字節(jié)的RAM區(qū); 80HFFH單元組成的特殊功能寄存器(SFR)。共一百三十六頁用戶RAM區(qū)(堆棧、數(shù)據(jù)緩沖)位尋址區(qū)(位地址00H7FH)R7 第3組 R0 工作寄存器區(qū) R7 第2組 R0 工作

8、寄存器區(qū)R7 第1組 R0 工作寄存器區(qū)R7 第0組 R0 工作寄存器區(qū)00H07H08H0FH10H17H18H1FH20H2FH30H7FHB* 特 ACC* 殊 PSW* 功 IP* 能 P3* 寄 IE* 存 P2* 器 SBUF 區(qū) SCON* SFR P1* TH1 TH0 TL1 TL0 TMOD TCON* PCON DPH DPL SP P0* 81H82H83H87H88H89H8AH8BH8CH8DH90H98H99HA0HA8HB0HB8HD0HE0HF0H80HFFH共一百三十六頁 00H1FH地址安排為四組工作(gngzu)寄存器區(qū),每組有8個工作寄存器(R0R7)

9、,占32個單元; 從20H2FH共16個字節(jié)(z ji)單元中,共包含了128位既可位尋址又可字節(jié)尋址; 30H7FH共80個字節(jié)單元為字節(jié)尋址的內(nèi)部RAM區(qū)。 由此可見,低128RAM分為三個部分:工作寄存器區(qū);位尋址RAM區(qū);字節(jié)尋址RAM區(qū)。不用的工作寄存器單元,可作RAM用,不用的位尋址單元可進行字節(jié)尋址的RAM用。 共一百三十六頁寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0 P3FFHSCON00HIPxx000000BSBUF不定IE0 x000000BPCON0 x

10、xx0000BTMOD00H共一百三十六頁 在單片機系統(tǒng)的實際應用中,常把單片機的復位(f wi)分為冷啟動和熱啟動。 單片機的啟動(qdng)共一百三十六頁8051單片機有四個8位并行I/O端口:P0、P1、P2和P3,每個端口都是8位準雙向口,每一條I/O線都能獨立地用作輸入或輸出。每個端口都包括一個鎖存器,一個輸出驅(qū)動器和輸入緩沖器。四個通道功能不完全相同。在無片外擴展存儲器的系統(tǒng)中,四個P口都可以作為準雙向通用I/O口使用(shyng)。在有片外擴展存儲器的系統(tǒng)中,P2口送出高8位地址,P0口為雙向總線,分時送出低8位地址和數(shù)據(jù)。共一百三十六頁 并行I/O口的負載(fzi)能力 P1、

11、P2、P3口的輸出緩沖器可驅(qū)動4個LSTTL的電路。 作為輸入口時,任何TTL或NMOS電路都能以正常的方式驅(qū)動8051單片機的P1P3口,由于輸出級接有內(nèi)部上拉電阻,也可以被集電極開路(OC門)或漏極開路所驅(qū)動,而無需外接上拉電阻。此外(cwi),作輸入時,必須先在相應端口鎖存器上寫1。 共一百三十六頁 P0口的輸出緩沖器可驅(qū)動8個LSTTL電路(dinl),驅(qū)動MOS電路需外接上拉電阻,但當P0口用作地址/數(shù)據(jù)總線時,可直接驅(qū)動MOS的輸入而不必外加上拉電阻。 并行I/O口的負載(fzi)能力 共一百三十六頁第二章 8051指令系統(tǒng)(zh ln x tn) 指令(zhlng)和程序設計語言

12、 指令格式 尋址方式 指令系統(tǒng)分類 數(shù)據(jù)的傳送指令 算術運算指令 邏輯運算及移位指令 控制轉(zhuǎn)移指令 位操作指令或布爾操作共一百三十六頁操作碼地址碼70單字節(jié)指令(zhlng)(49條)操作碼地址碼數(shù)據(jù)或地址碼7070操作碼數(shù)據(jù)或地址碼數(shù)據(jù)或地址碼雙字節(jié)(z ji)指令(45條)三字節(jié)指令(17條)共一百三十六頁序號尋址方式相應存貯器、寄存器空間1工作寄存器R0R7A,B,Cy(位),DPTR2片內(nèi)RAM低128B和特殊功能寄存器3片內(nèi)RAM低128B(R1,R0,SP)片外RAM( R1,R0 ,DPTR)4程序存儲器立即數(shù)5程序存儲器(A+DPTR,A+PC)6程序存儲器256B范圍(PC+

13、偏移量)7片內(nèi)RAM的20H2FH字節(jié)地址部分特殊功能寄存器寄存器尋址直接(zhji)尋址寄存器間接(jin ji)尋址立即尋址基址寄存器加變址寄存器間接尋址相對尋址位尋址共一百三十六頁 無條件轉(zhuǎn)移(zhuny)類指令 條件(tiojin)轉(zhuǎn)移類指令 循環(huán)轉(zhuǎn)移類指令共一百三十六頁 子程序調(diào)用(dioyng)類指令短調(diào)用(dioyng)指令ACALLaddr11;(PC)+2PC (SP)+1 SP (PC 07) (SP) (SP)+1 SP (PC 815) (SP) addr 010 (PC 010) (PC 1115)不變 該指令提供低11位目標地址,被調(diào)子程序被限制在以當前PC值為首地

14、址的2K字節(jié)地址空間內(nèi)調(diào)用。高5位地址不變。不影響標志位共一百三十六頁長調(diào)用(dioyng)指令LCALLaddr16;(PC)+3PC (SP)+1 SP (PC 07) (SP) (SP)+1 SP (PC 815) (SP) addr 015 (PC) LCALL提供16位目標地址,以調(diào)用(dioyng)64K字節(jié)范圍內(nèi)所指定的子程序。 不影響標志位共一百三十六頁 短調(diào)用(dioyng)指令為雙字節(jié)指令,用于目標地址在當前指令的2K字節(jié)范圍內(nèi)的調(diào)用。優(yōu)點:可節(jié)省一個字節(jié)的存儲單元缺點:被調(diào)用子程序的存放區(qū)域受到限制 長調(diào)用(dioyng)指令為三字節(jié)指令,可調(diào)用(dioyng)64K字節(jié)

15、存儲空間的任一目標地址。優(yōu)點:可在64K字節(jié)存儲空間內(nèi)任意存放,為編程帶來方便缺點:與短調(diào)用指令相比,指令多占用了一個字節(jié)的存儲單元。共一百三十六頁 返回(fnhu)類指令子程序返回(fnhu)指令 RET;(SP)(PC815) (SP) -1 (SP) (SP)(PC07) (SP) -1 (SP)中斷服務程序返回指令 RETI;(SP)(PC815) (SP) -1 (SP) (SP)(PC07) (SP) -1 (SP)共一百三十六頁 RETI為專用于中斷服務程序的返回指令,除正確返回中斷斷點處繼續(xù)往下執(zhí)行主程序外,并告知中斷系統(tǒng),表示已結束中斷服務程序的執(zhí)行,恢復中斷邏輯以接受新的中

16、斷請求,如果在執(zhí)行RETI指令時已有一個(y )同級或較低級中斷請求,或者正在執(zhí)行RETI指令時有高級中斷提出請求,均需在執(zhí)行完RETI指令后,必須返回斷點再執(zhí)行完一條原程序指令后才響應新的中斷請求,轉(zhuǎn)去執(zhí)行新的中斷服務程序。共一百三十六頁 轉(zhuǎn)移(zhuny)類指令 無條件轉(zhuǎn)移(zhuny)指令 短轉(zhuǎn)移指令:AJMPaddr11; (PC) + 2 PC addr11 PC 100 (PC 1511)不變長轉(zhuǎn)移指令: LJMPaddr16; addr16 PC 相對轉(zhuǎn)移指令SJMPrel; (PC) + 2 PC (PC) + rel PC 共一百三十六頁間接(jin ji)轉(zhuǎn)移指令JMPA

17、+ DPTR; (A) + (PC) PC 空操作(cozu)指令NOP; (PC) + 1 (PC)共一百三十六頁(PC)地址 程序存儲器 AJMP addr11+22KB程序轉(zhuǎn)移范圍共一百三十六頁64KB(PC) 地址 0000H程序存儲器 AJMP addr11FFFFH+2+1+3程序轉(zhuǎn)移范圍共一百三十六頁SJMP程序存儲器地址 (PC)+2rel128+127程序轉(zhuǎn)移范圍126+129共一百三十六頁SJMP$HERE:SJMPHERE共一百三十六頁256B地址(dzh) (PC)程序(chngx)存儲器JMP A + DPTR(DPTR)轉(zhuǎn)向以DPTR內(nèi)容為首地址的256字節(jié)范圍內(nèi)共

18、一百三十六頁第三章、中斷(zhngdun)系統(tǒng) 有關中斷的概念 MCS-51中斷系統(tǒng)的結構 響應中斷的條件和過程 關于外部(wib)中斷 中斷響應時間共一百三十六頁共一百三十六頁中斷響應(xingyng)的條件: 有中斷(zhngdun)源發(fā)出中斷(zhngdun)請求; EA1,即CPU開中斷; 申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽 ; 無同級或高優(yōu)先級中斷正在服務中; 當前的指令已執(zhí)行到最后一個機器周期并已結束 ; 若現(xiàn)行指令為RETI或者是訪問IE或IP指令時,該指令以及緊接著的另一條指令已經(jīng)執(zhí)行完。 共一百三十六頁中斷響應(xingyng)過程S6P2S5M1M2M4M3

19、中斷有效中斷鎖存中斷查詢長調(diào)用到中斷矢量地址中斷服務程序M5共一百三十六頁第四章 定時(dn sh)/計數(shù)器及應用1、 51定時/計數(shù)器的基本原理2、 定時/計數(shù)器控制與狀態(tài)寄存器3、 定時/計數(shù)器的四種工作方式4、 定時器/計數(shù)器的定時/計數(shù)范圍5、 編程中需考慮的問題(wnt)6、 應注意的問題共一百三十六頁振蕩器12分頻(fn pn)TFxTLxTHxC/T=0T1引腳C/T=1TRXINTXGATE共一百三十六頁定時/計數(shù)器控制(kngzh)與狀態(tài)寄存器GATEC/TM1M0GATEC/TM1M0用于T1用于T0TOMDM1 M0工作方式功能描述00方式013位計數(shù)器01方式116位計

20、數(shù)器10方式2自動再裝入8位計數(shù)器11方式3定時器0:分成兩個8位計數(shù)器定時器1:停止計數(shù) 工作方式(fngsh)控制寄存器共一百三十六頁用于定時/計數(shù)器用于中斷TF1TR1TF0TR0IE1IT1IE0IT0TCON 控制(kngzh)寄存器共一百三十六頁工作(gngzu)方式0 定時器/計數(shù)器的工作方式(fngsh)0稱之為13位定時/計數(shù)方式。它由TL(1/0)的低5位和TH(0/1)的8位構成13位的計數(shù)器,此時TL(1/0)的高3位未用。 共一百三十六頁共一百三十六頁工作(gngzu)方式1 工作方式(fngsh)1是16位的定時/計數(shù)方式,將M1M0設為01即可,其它特性與工作方式

21、0相同。 共一百三十六頁工作(gngzu)方式2 共一百三十六頁工作(gngzu)方式3 共一百三十六頁工作方式0:13位定時/計數(shù)方式,因此,最多可以(ky)計到213,也就是8192次。定時工作方式時,其定時時間的計算:t=(213-Tx初值)振蕩周期12工作方式1:16位定時/計數(shù)(j sh)方式,因此,最多可以計到216,也就是65536次。定時工作方式時,其定時時間的計算: t=(216-Tx初值)振蕩周期12 共一百三十六頁工作(gngzu)方式2和工作方式3:都是8位的定時/計數(shù)方式,因此,最多可以計到28,也說是256次。定時工作方式時,其定時時間的計算:t=(28-Tx初值)

22、振蕩周期12 共一百三十六頁根據(jù)應用要求,通過程序初始化,正確設置控制字,正確計算和設置計數(shù)初值;編寫中斷復位程序;適時設置控制位等,通常情況下設置順序(shnx)大致如下:工作方式控制字(TMOD)的設置;計數(shù)初值的計算及裝入TLx、THx;中斷允許位、TRx的設置等。MCS-51的定時/計數(shù)器的應用(yngyng)編程需考慮:共一百三十六頁(1)初始化程序(chngx) START:MOVSP, 60H ;設置堆棧區(qū)域 MOVTMOD,10H ;選擇T1、定時模式,方式1 MOVTHl,0D8H ;設置高字節(jié)初值 MOVTLl,0FOH ;設置低字節(jié)初值開中斷 SETBEA ; SETBE

23、T1 ; ;其它初始化等主程序 MOV B,01H ;將循環(huán)(xnhun)初值保存在B中 SETBTRl ;啟動定時計數(shù)器1(T1) ;繼續(xù)主程序 開中斷共一百三十六頁(2)中斷(zhngdun)服務子程序INT1: ; ;MOVTL1,#0F0H ;MOVTH1,#0D6H ;MOVA,B ;保存在B中值送ARLA ;A內(nèi)容循環(huán)(xnhun)左移一位MOVP1,A ;A內(nèi)容送P1口輸出MOVB,A ;循環(huán)內(nèi)容送B保存中斷結束處理, 如保護參數(shù)出棧等 ; ;RETI ;中斷結束返回中斷初值處理,如參數(shù)進棧保護等重新置初值中斷結束處理,如保護參數(shù)出棧等共一百三十六頁注意(zh y)點:TMOD控

24、制著T0和T1的方式,在初始化T0和T1中間的一個(y )Timer時,其設置可能影響到另外一個定時器的工作方式,解決的辦法時兩個定時器一起進行設置,或采用以下方法向TMOD送數(shù):MOVA,TMODANLA,#0FHORLA,#10HMOVTMOD,ATMOD初始狀態(tài)讀入AT1、定時模式,方式1設置高4位,低4位保持不變共一百三十六頁(1)定時(dn sh)計數(shù)器的實時性 定時計數(shù)器啟動后當計滿回0溢出時向主機請求中斷處理,由內(nèi)部硬件自動進行。但從回0溢出請求中斷到主機響應中斷并作出處理存在時間延遲,且這種延時隨中斷請求時的環(huán)境不同而不同,一般需延時3個機器周期以上,這就給實時處理帶來誤差。大

25、多數(shù)應用場合可忽略不計,但對某些要求實時性苛刻的場合,應采用補償措施。 例如選用定時方式1設置系統(tǒng)時鐘,由于上述原因就會產(chǎn)生實時誤差。這種場合可采用動態(tài)補償?shù)霓k法減少系統(tǒng)時鐘誤差。所謂動態(tài)補償,即在中斷服務程序中對TLx、THx重新置初值時,應將TLx、THx從回0溢出又重新從0開始繼續(xù)計數(shù)(j sh)的值讀出,補償?shù)匠踔抵羞M行重新設置??煽紤]如下軟件 共一百三十六頁(2)動態(tài)讀取運行(ynxng)中的計數(shù)值在動態(tài)讀取運行(ynxng)中的定時計數(shù)器的計數(shù)值時,如果不加注意,就可能出錯。這是因為不可能在同一時刻同時讀取TLx和THx的值。比如,先讀TLx,后讀THx,因為定時計數(shù)器處于運行狀態(tài)

26、,在讀THx前正好TLx產(chǎn)生溢出向THx進位,則讀得的THx值就不對了。同樣,先讀THx,再讀TLx,也可能出錯。 一種可避免讀錯的方法是:先讀THx,后讀TLx,再讀THx,將兩次讀得的THx進行比較,若兩次值相等,則可確定讀得的值是正確的,否則重復上述過程,重復讀得的值一般不會再錯。 共一百三十六頁8051單片機的通訊(tngxn)方式 :并行通訊(tngxn):數(shù)據(jù)的各位同時發(fā)送或接收。串行通訊:數(shù)據(jù)一位一位順序發(fā)送或接收 串行通訊方式:異步通訊同步通訊第五章、串行接口共一百三十六頁異步通訊中與外設的兩項規(guī)定:字符格式:雙方能夠在對同一種0和1的串理解成同一種意義。原則上字符格式可以由通

27、訊的雙方自由制定,但從通用、方便的角度出發(fā),一般還是使用(shyng)一些標準為好,如采用ASCII標準。 波特率:數(shù)據(jù)傳送的速率。定義每秒鐘傳送的二進制數(shù)的位數(shù)。奇偶位停止位 1停止位2起始位1345678數(shù)據(jù)位選擇位2例:數(shù)據(jù)傳送速率是120字符/秒,每個字符格式包含十個代碼位(一個起始位、一個終止位、8個數(shù)據(jù)位),這時傳送的波特率為:10120位/秒1200波特(bps)每一位代碼的傳送時間Td為波特率的倒數(shù):Td1/12000.833ms共一百三十六頁通訊(tngxn)方向: 在串行通訊中,把通訊接口只能發(fā)送或接收的單向傳送方法叫單工傳送;接收器乙發(fā)送器甲共一百三十六頁 數(shù)據(jù)在甲乙兩機

28、之間的雙向傳遞(chund),稱之為雙工傳送; 雙工傳送方式中又分為半雙工傳送和全雙工傳送半雙工傳送是兩機之間不能同時進行發(fā)送和接收(jishu),任一時刻,只能發(fā)或者只能收信息。 接收器甲站數(shù)據(jù)流接收器乙站發(fā)送器發(fā)送器共一百三十六頁接收器接收器數(shù)據(jù)流發(fā)送器發(fā)送器甲站乙站全雙工方式共一百三十六頁2MCS-51單片機的串行接口結構(jigu) MCS-51單片機通過引腳RXD(P3.0,串行數(shù)據(jù)接收端)和引腳TXD(P3.1,串行數(shù)據(jù)發(fā)送端)與外界通訊。SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。它們有相同名字和地址空間,但不會出現(xiàn)(chxin)沖突,因為它們兩個一個只能被CPU讀出

29、數(shù)據(jù),一個只能被CPU寫入數(shù)據(jù)。共一百三十六頁 串行口的控制(kngzh)與狀態(tài)寄存器 51串行口設有兩個控制寄存器:串行控制寄存器SCON和波特率選擇(xunz)特殊功能寄存器PCON。2)波特率選擇特殊功能寄存器PCON1) 串行控制寄存器SCOND7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 7 6 5 4 3 2 1 0 SMOD 共一百三十六頁 串行口的工作(gngzu)方式 1) 方式(fngsh)02)方式13) 方式24) 方式3波特率的設置串口應用編程帶奇偶校驗共一百三十六頁SIN S/L GND Vcc976H G

30、 F E D C B AQHHQ74LS165543141312118051RXDTXDP1.04+5V15281610SIN S/L GND Vcc976H G F E D C B AQHHQ74LS16554314131211+5V168215410利用串行口擴展并行輸入口A用并入串出8位移位寄存器74LS165擴展并行輸入口共一百三十六頁8051RXDTXDP1.0利用串行口擴展并行輸出口10981,2143456111213QA QB QC QD QE QF QG QHA,B74LS164VccGNDCPQA QB QC QD QE QF QG QHA,B74LS16498VccGND

31、1,21434561011121377CPB. 用串入并出8位移(wiy)位寄存器74LS164擴展并行輸出口 共一百三十六頁 在51串行口的四種工作方式中,方式0和2的波特率是固定(gdng)的,而方式1和3的波特率是可變的,由定時器T1的溢出率控制。 1)方式0: 波特率2)方式2:波特率除與fosc有關外,還與SMOD位有關基本式為當SMOD1時,波特率當SMOD0時,波特率共一百三十六頁第六章 單片機系統(tǒng)(xtng)擴展 及接口技術 概述 串行擴展總線接口技術 單片機的外部并行擴展 程序存儲器的擴展 片外數(shù)據(jù)(shj)存儲器的擴展 擴展片外程序存儲器和片外數(shù)據(jù)存儲器 通過并行總線擴展I

32、/O口 外部中斷源的擴展共一百三十六頁并行擴展法是指利用(lyng)單片機的三組總線(AB、DB、CB)進行的系統(tǒng)擴展 串行擴展法是指利用SPI(Serial Peripheral Interface)三線總線(zn xin)和I2C雙總線的串行系統(tǒng)擴展。 對于單片機系統(tǒng)擴展的方法有并行擴展法和串行擴展法兩種 :共一百三十六頁芯片(xn pin)的串行接口與總線目前單片機應用系統(tǒng)中使用的串行擴展總線主要有Mmorola公司的串行外圍接口(ji ku)SPIQSP1,NS公司的Microwireplus串行同步雙工通訊接口和Phitips公司的I2C BUS三種。共一百三十六頁SPI串行外設接口

33、(ji ku)總線 SPI(Serial Peripheral Interface)總線 一種同步串行外設接口,用于MCU與各種外圍設備以串行方式進行通信(8位數(shù)據(jù)(shj)同時同步地被發(fā)送和接收),系統(tǒng)可配置為主或從操作模式。共一百三十六頁從機選擇線SS(有的SPI接口芯片帶有中斷信號線INT或INT 、有的SPI接口芯片沒有主機(zhj)輸出從機輸人數(shù)據(jù)線MOSI)。 SPI系統(tǒng)可直接與各個廠家生產(chǎn)的多種標準(biozhn)外圍器件直接接口。一般使用4條線:串行時鐘線(SCK)主機輸入從機輸出數(shù)據(jù)線MISO主機輸出從機輸人數(shù)據(jù)線MOSI外圍設備包括:簡單的移位寄存器(用作并行輸入或輸出口)

34、至復雜的LCD顯示驅(qū)動器或A/D轉(zhuǎn)換器等。共一百三十六頁1. SPI總線(zn xin)接口邏輯時序共一百三十六頁 51單片機串行擴展SPI外設接口(ji ku)的方法 用一般(ybn)I/O口線模擬SPI操作使用軟件模擬SPI的操作,包括串行時鐘、數(shù)據(jù)輸入和輸出。不同的串行接口外圍芯片,其時鐘時序是不同的。共一百三十六頁對于在時鐘上升沿輸入數(shù)據(jù)(shj)和在下降沿輸出數(shù)據(jù)(shj)的器件,一般取時鐘輸出P1.1的初態(tài)為1;在允許接口芯片后,置P1.1為0。P1.0模擬MCU的數(shù)據(jù)輸出端(MOSI),P1.1模擬SPI的SCK輸出端,P1.2模擬SPI的從機選擇(xunz)端,P1.3模擬SP

35、I的數(shù)據(jù)輸入端(MISO)。輸出 輸入對2814,有:P1.1共一百三十六頁常用于開關量I/O、A/D、D/A、時鐘、顯示(xinsh)及打印功能等。串行時鐘(shzhng)芯片(2) 利用89C51串行口方式0實現(xiàn)SPI操作共一百三十六頁I2C總線(zn xin)I2C(Inter-Integrated Circuit)總線是PHILIPS公司推出的同步串行數(shù)據(jù)傳輸總線。在很多器件上都配備有I2C總線接口,使用時一般(ybn)需要通過I2C總線進行控制。1. I2C總線的概念是一種具有自動尋址、高低速設備同步和仲裁等功能的高性能串行總線,能夠?qū)崿F(xiàn)完善的全雙工數(shù)據(jù)傳輸,是總線中使用信號線數(shù)量較

36、少的。I2C總線只有兩根信號線: 數(shù)據(jù)線SDA和時鐘線SCL??偩€傳輸速率 100 kb/s(改進后的規(guī)范為400 kb/s),總線的長度可高達25英尺 。進入I2C總線系統(tǒng)中的設備都帶有I2C總線接口,符合I2C總線的電氣規(guī)范,I2C總線上所有節(jié)點的串行數(shù)據(jù)線SDA和時鐘線SCL分別與總線的SDA和SCL相連。各節(jié)點供電可以不同,但需共地,SDA和SCL需分別接上拉電阻。共一百三十六頁應答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應答信號,CPU接收到應答信號后,根據(jù)實際情況作出是否繼

37、續(xù)傳遞信號的判斷(pndun)。若未收到應答信號,由判斷(pndun)為受控單元出現(xiàn)故障 I2C總線在傳送數(shù)據(jù)過程中共有三種(sn zhn)類型信號,它們分別是:開始信號、結束信號和應答信號。 開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數(shù)據(jù)。共一百三十六頁模擬I2C總線 51單片機與I2C總線(zn xin)的接口 51單片機不帶I2C接口(ji ku),若需控制I2C總線時,可選擇兩個I/O口線,在軟件中分別定義成SCL和SDA。(1) 單片機與I2C總線的硬件連接共一百三十六頁 51單片機與I2C總

38、線(zn xin)的接口(2)51單片機對I2C總線(zn xin)的控制程序根據(jù)I2C總線對SDA和SCL在各個時段的時序要求,寫出起始、停止、送應答位、送非應答位、檢查應答位、發(fā)送一字節(jié)、接收一字節(jié)、發(fā)送N字節(jié)數(shù)據(jù)、接收N字節(jié)數(shù)據(jù)的子程序。共一百三十六頁1) 51系列(xli)單片機的片外總線結構 共一百三十六頁 2)51系列單片機的系統(tǒng)并行(bngxng)擴展能力 由于地址總線寬度為16位,在片外可擴展的存儲器最大容量為64KB,地址為0000HFFFFH。片外數(shù)據(jù)存儲器與程序存儲器的操作使用不同的指令(zhlng)和控制信號,允許兩者的地址重復,故片外可擴展的數(shù)據(jù)存儲器與程序存儲器分別

39、為64KB。 片外數(shù)據(jù)存儲器與片內(nèi)數(shù)據(jù)存儲器的操作指令不同(片外RAM只能用MOVX指令),允許兩者地址重復,亦即外部擴展數(shù)據(jù)存儲器地址可從0000H開始。 共一百三十六頁 為了配置外圍設備而需要擴展的IO口,可與片外數(shù)據(jù)存儲器統(tǒng)一編址,不再(b zi)另外提供地址線。因此,在應用系統(tǒng)要大量配置外圍設備以及擴展較多IO口時,要占去大量的RAM地址。 片外程序存儲器與片內(nèi)程序存儲器采用相同(xin tn)的操作指令,片內(nèi)與片外程序存儲器的選擇靠硬件結構實現(xiàn)。 當EA0時,不論片內(nèi)有無程序存儲器,此時只使用片外程序存儲器,片外程序存儲器的地址應從000OH開始設置;當EA1時,前4KB地址0000

40、H 0FFFH為片內(nèi)程序存儲器所有,片外擴展的程序存儲器的地址只能從1000H開始設置。 共一百三十六頁1片外數(shù)據(jù)存儲器擴展時的總線(zn xin)功能和讀、寫操作時序 5l單片機對片外數(shù)據(jù)存儲器讀、寫操作的指令(zhlng)如下有兩組: MOVX A,Ri ;片外RAM(A) 讀(RD)操作MOVX Ri,A ;(A)片外RAM 寫(WR)操作 這組指令由于Ri只能提供8位地址,因此,僅能擴展256個字節(jié)的片外RAM; MOVX A,DPTR ;片外RAM(A) 讀(RD)操作 MOVX DPTR,A ;(A)片外RAM 寫(WR)操作這四條指令都是單字節(jié)雙周期指令。 共一百三十六頁2擴展片

41、外數(shù)據(jù)存儲器的硬件(yn jin)電路 共一百三十六頁(1)擴展(kuzhn)2K8位片外數(shù)據(jù)存儲器 共一百三十六頁兩種訪問(fngwn)方法: 采用 “ MOVX A,DPTR ” 和 “ MOVX DPTR,A”指令訪問。 這時認定全部P0、P2口的16根口線同時用來傳送地址信息。雖然(surn),此處只使用了P2.2P2.0,但是P2.7P2.3卻不宜再作IO口線使用了。讀操作: MOV DPTR,#0000H MOVX A,DPTR寫操作: MOV DPTR,#0000H MOVX DPTR,A 采用 “ MOVX A, Ri ” 和 “ MOVXRi,A ” 指令訪問 這時用P2.2

42、P2.0來傳送地址,而其余的P2.7P23仍保留IO口的功能。不過P2.2P2.0的高位地址需要通過程序來設定。共一百三十六頁(2)擴展(kuzhn)16K8位片外數(shù)據(jù)存儲器 共一百三十六頁(3)擴展(kuzhn)更多片外數(shù)據(jù)存儲器 共一百三十六頁1. 分別擴展(kuzhn)片外程序存儲器和片外數(shù)據(jù)存儲器 共一百三十六頁 完成輸入(shr)輸出口功能的擴展,可以利用簡單的TTL電路或CMOS電路,也可以使用一些結構較為復雜的可編程接口芯片。 INTEL系列接口(ji ku)芯片有:可編程并行接口(8155、8255) 可編程通用同步異步通信接口(8251)可編程定時器計數(shù)器(8253)可編程中

43、斷控制器(8259)可編程鍵盤顯示接口(8279)等。共一百三十六頁1利用(lyng) “ MOVXA,Ri ” 或 “ MOVXA,DPTR ” 擴展輸入輸出口 將擴展的IO口掛接在片外數(shù)據(jù)存儲器空間,即與片外RAM統(tǒng)一(tngy)編址,所以IO口的輸入、輸出指令就是片外數(shù)據(jù)存儲器的讀寫指令。 共一百三十六頁2擴展(kuzhn)簡單的輸入輸出口方法 (1)無片外數(shù)據(jù)(shj)存儲器時的擴展 共一百三十六頁(2)有片外數(shù)據(jù)(shj)存儲器時的擴展 當P1.00時,選通片外數(shù)據(jù)(shj)存儲器6264,其地址范圍為0000H1FFFH; 當P1.00時,選通輸入口,口地址為0000H1FFFH范

44、圍內(nèi)的任一地址。 共一百三十六頁第七章 應用(yngyng)系統(tǒng)配置及接口技術 一、 人機通道配置與接口技術二、 單片機系統(tǒng)(xtng)測控系統(tǒng)(xtng)前向通道配置三、 A/D轉(zhuǎn)換器及接口技術四、 系統(tǒng)后向通道配置及接口技術五、 D/A轉(zhuǎn)換器及接口技術共一百三十六頁 鍵盤(jinpn)接口及處理程序 共一百三十六頁鍵開關(kigun)狀態(tài)的可靠輸入 按鍵的消抖共一百三十六頁 鍵盤(jinpn)結構 鍵盤可以分為(fn wi)兩類:獨立連接式和行列式(矩陣式),每一類按譯碼方法可分為編碼及非編碼兩種類型。 獨立式非編碼鍵盤 共一百三十六頁(a)、按鍵(n jin)結構共一百三十六頁(b)共一

45、百三十六頁、按鍵(n jin)的軟件結構查詢(chxn)方式的鍵盤程序(設IO為P1口)START: MOV A, 0FFH ;置輸入方式 MOV P1, A MOV A , P1 ;鍵狀態(tài)輸入 JNB ACC.0, P0 ;0號鍵按下轉(zhuǎn)JNB ACC.1,P1 ;1號鍵按下轉(zhuǎn)JNB ACC.2,P2 ; 2號鍵按下轉(zhuǎn)JNB ACC.3,P3 : 3號鍵按下轉(zhuǎn)JNB ACC.4,P4 ; 4號鍵按下轉(zhuǎn)JNB ACC.5,P5 ; 5號鍵按下轉(zhuǎn)共一百三十六頁使用擴展IO口的獨立式按鍵(n jin)電路 共一百三十六頁 行列式鍵盤(jinpn) 一、工作(gngzu)原理共一百三十六頁鍵盤(jin

46、pn)處理程序 判斷有無鍵按下 識別(shbi)按鍵兩種方法:逐行(或列)掃描查詢法 線反轉(zhuǎn)法 共一百三十六頁二、單片機對非編碼鍵盤掃描(somio)的控制方式 三種(sn zhn)方式 :程序控制掃描方式,即查詢方式 定時掃描方式,利用單片機內(nèi)部定時器產(chǎn)生中斷(例如l0ms),CPU響應中斷后對鍵盤掃描一次。定時掃描方式的硬件電路與程序掃描方式相同。 中斷掃描方式,引起外部中斷(INT0或INT1)后,CPU響應中斷,對鍵盤進行掃描。 共一百三十六頁、LED顯示(xinsh)器接口及顯示(xinsh)程序 單片機應用(yngyng)系統(tǒng)中,使用的顯示器主要有LED(發(fā)光二極管顯示器)和LCD(液晶顯示器)。 一、LED顯示器結構與原理 LED顯示塊是由發(fā)光二極管顯示字段的顯示器件 共一百三十六頁共一百三十六頁二、LED顯示器與顯示方式 共一百三十六頁 LED顯示器有靜態(tài)(jngti)顯示與動態(tài)顯示兩種方式 1LED靜態(tài)(jngti)顯示方式 共一百三十六頁

溫馨提示

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

評論

0/150

提交評論