歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

《片機系統(tǒng)設計》PPT課件

  • 資源ID:16084012       資源大?。?span id="pljiv73" class="font-tahoma">4.13MB        全文頁數(shù):330頁
  • 資源格式: PPT        下載積分:19.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要19.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《片機系統(tǒng)設計》PPT課件

1,單片機系統(tǒng)設計技術,主講教師:栗 華 ,山東大學信息科學與工程學院,大學生電子設計競賽培訓,2,單片機系統(tǒng)設計的重要性:,在工業(yè)測、控領域中,單片機作為智能測控系統(tǒng)的“大腦”,占據了核心位置的地位。在電子設計競賽中,往往設計的對象也都是智能測控系統(tǒng),自然,單片機系統(tǒng)的設計也就具有成了系統(tǒng)設計中一個至關重要的組成部分。,3,在前期單片機原理與應用課程的基礎上,擴展介紹利用單片機這一智能單元來設計一個智能電子系統(tǒng)時所需要的各種接口知識、單元知識、和系統(tǒng)實現(xiàn)時所需要的各種系統(tǒng)知識 ,使大家不僅學習并理解單片機,更要學會如何使用單片機來構建我們自己的應用系統(tǒng),讓單片機按照我們的意圖來為我們服務。從而,為大家參加電子設計大賽,在規(guī)定的時間內完成智能電子系統(tǒng)的設計與實現(xiàn)儲備足夠的經驗知識和應用技能 ,最終能夠在電子設計大賽中取得良好的成績,為以后的職業(yè)生涯也能夠奠定良好的基礎。,培訓目的:,4,(1 )單片機基本知識的回顧,重點是回顧單片機的內部組成結構、特點以及在應用單片機的這些內部構件時應該注意的問題。 (2 )單片機有關接口設計方法及常用接口芯片介紹,從系統(tǒng)設計的角度出發(fā),以功能實現(xiàn)為依據,分類介紹一些常用的接口設計方法。 (3 )單片機系統(tǒng)設計有關技術,從系統(tǒng)實現(xiàn)的角度,介紹系統(tǒng)設計時應該考慮的一些問題,為了使系統(tǒng)能夠長期可靠地運行應該采取哪些技術。,培訓的內容:,5,第一章 單片機應用系統(tǒng)設計基礎,一、綜述 1、單片機系統(tǒng)設計的內容 智能 應用系統(tǒng)的設計一般包括單片機系統(tǒng)設計、接口設計和多種類型的輔助電路(如:模擬信號調理電路、功率驅動電路、電源電路等)設計內容。而單片機系統(tǒng)設計往往是其中最主要、最復雜的設計部分。,6,2、單片機的定義與特點 單片機全稱為單片微型計算機(Single Chip Microcomputer),又稱微控制論器(Micro-Controller Unit)或嵌入式控制器(Embedded Controller)。它是將傳統(tǒng)計算機的各種基本組成部件(如:CPU、ROM、RAM、并行I/O口、串行I/O口、定時計數(shù)器、中斷控制、系統(tǒng)時鐘和系統(tǒng)總線控制等)微型化并集成到一塊芯片上的微型計算機。 單片機有體積小、集成度高、功能強、功耗低、性能價格比高、易于實現(xiàn)各種智能系統(tǒng)。,7,3、單片機的種類 按總線寬度分成4位單片機、8位單片機、16位單片機、32位單片機。 (1)4位單片機:主要用于各種小型智能電子設備如:計算器、遙控器、玩具控制、電子鐘、簡單游戲機、游戲桿等。目前主要集中在日本的一些廠家如:OKI的MSM64164C、MSM64481、NEC的75006x系列、EPSON的SMC62系列等。 (2)8位單片機:用于各種中等智能電子設備,產品種類最多、功能較強、性價比最高、應用最廣泛。8位單片機分成兩大類:一類是MCS-51系列及其兼容機,另一類是非MCS-51系列。,8,(a)MCS51系列單片機:特點是結構簡單、內部資源比較豐富,易學易用、資料齊全、應用廣泛,是一種傳統(tǒng)的單片機。 有: Intel的8031、8051、8751,ATMEL的89C5x系列和89S5x等,WINBOND的W77E5x、W78E5x,PHILIPS的P87LPC7x、P89C5x、P87C5x,ST公司的uPSD系列等。 (b)非MCS51系列單片機:和MCS-51不兼容,有各自的特點,如: ATMEL公司的AVR單片機(常用的是:Atmega32、Atmega64、Atmega128等,特點是:芯片上擁有Flash存儲器,一般不用外部擴展程序存儲器. 片內有EEPROM也方便了數(shù)據的保存。采用增強的RISC結構,使其具有高速處理能力,在一個時鐘周期內可執(zhí)行復雜的指令,每MHz可實現(xiàn)1MIPS的處理能力. 另外還有一些豐富的外部接口如A/D、PWM、SPI等)。,9, Motorola單片機: 從M6800開始,開發(fā)了廣泛的品種,4位,8位,16位32位的單片機, 8位機M6805,M68HC05系列,8位增強型M68HC11,M68HC12 , 16位機M68HC16, 32位機M683XX. Motorola單片機的特點之一是在同樣的速度下所用的時鐘頻率較Intel類單片機低得多,因而使得高頻噪聲低,抗干擾能力強,更適合于工控領域及惡劣的環(huán)境 . Motorola單片機在家電、汽車電子和通信產品領域應用較廣。,10, MicroChip單片機: MicroChip單片機的主要產品是PIC 16C系列和17C系列8位單片機,CPU采用RISC結構,分別僅有33,35,58條指令,采用Harvard雙總線結構,運行速度快,低工作電壓,低功耗,較大的輸入輸出直接驅動能力,價格低,小體積. 適用于用量大,檔次低,價格敏感的產品.在自動化設備,智能儀器儀表, 工業(yè)控制等領域,PIC系列單片機占據了主導地位. (3)16位單片機:總線寬度為16位,CPU執(zhí)行速度和效率都比8位單片機都有很大提高。目前以Intel的MCS-96/196系列、TI公司的MSP430系列、Motorola公司的68HC11為主。主要用于工業(yè)控制、智能儀器儀表、便攜式電子設備、智能IC卡讀寫系統(tǒng)等領域。,11,(4)32位單片機:32位單片機是單片機市場的發(fā)展趨勢,其特點是資源和接口更豐富、內部采用RISC架構和哈佛總線結構,CPU處理速度和處理能力更強、支持基于操作系統(tǒng)的開發(fā),因此能夠實現(xiàn)更加復雜的處理任務、人機界面也更靈活。ATMEL、MOTOROLA、SAMSUNG、HITACH等廠家都有32位單片機產品,這些產品一般以ARM嵌入式處理器內核為基礎(ARM公司自己并不生產嵌入式處理器,而是研究和發(fā)展嵌入式處理器的內核知識產權核,即IP核,然后將IP核的生產和使用許可協(xié)議賣給各IC生產廠家),所以32位單片機一般都是指ARM系統(tǒng)。,12,二、MCS-51單片機的內部資源,13,ATMEL 51單片機選型指南,14,1、程序存儲器配置,三、單片機的存儲器配置,(一)程序存儲器,15,2、與程序存儲器配置有關的偽指令:,偽指令:指的是匯編程序用的一些控制信息的指令,它們只能被匯編程序所識別,不是單片機的CPU可執(zhí)行的指令。,偽指令主要用來指定程序位置,定義一個數(shù)據塊,為中間運算結果保留一部分存儲空間,或者定義一些變量的別名以及表示程序的結束等。,定位偽指令ORG 格式: 標號: ORG m m是一個16位二進制數(shù),代表地址。 功能:它放在一段程序或數(shù)據塊的前面,說明緊跟其后的程序段或數(shù)據塊的起始地址就是指令中的16位地址。,16,例如: ORG 0000H AJMP MAIN ORG 0003H AJMP INT0_S ORG 000BH AJMP T0_S ORG 0013H AJMP INT1_S ORG 001BH AJMP T1_S ORG 0023H AJMP SI_S ORG 0100H ;Main program MAIN: MOV P1,#0FEH AJMP $ INT0_S: RETI,17,3、與常數(shù)表格定義有關的偽指令:,功能:在程序存儲器從標號開始的連續(xù)單元開始定義一些字節(jié)數(shù)據單元,用來存放指令中指出的這些常數(shù)和字符。 例如: ORG 2000H TAB1: DB 30H , 8AH , 7FH , 73 DB 5 , A , BCD,30H,8AH,7FH,49H,35H,41H,42H,43H,44H,2000H,2001H,2002H,2003H,2004H,2005H,2006H,2007H,2008H,(1)定義字節(jié)偽指令DB(Define Byte) 格式:標號: DB X1,X2, ,Xn Xi:單字節(jié)二進制、十進制、十六進制數(shù),或以 括起來的字符串,數(shù)據符號。,18,(2)、定義字偽指令DW(Define Word) 格式:標號: DW Y1,Y2,Yn Yn:雙字節(jié)二進制、十進制、十六進制數(shù)。 功能:同DB,不同的是為16位數(shù)據。執(zhí)行匯編時,機器會自動按高8位先存入,低8位后存入的格式排列。,例如: ORG 1500H TAB2: DW 1234H , 80H,12H,34H,00H,80H,1500H,1501H,1502H,1503H,19,1、數(shù)據存儲器配置,(二)數(shù)據存儲器,20,2、內部存儲器的分布,21,(1)工作寄存器區(qū),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器區(qū)3,工作寄存器區(qū)2,工作寄存器區(qū)1,工作寄存器區(qū)0,0FH,10H,17H,18H,22,片內RAM前32個單元(00H1FH)是工作寄存器區(qū) (由PSW中的RS1,RS0決定),CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,PSW.4 PSW.3,例如: SETB PSW.3 ; (PSW.3) 1 CLR PSW.4 ; (PSW.4) 0 其功能是將PSW中的RS0置為1, RS1清0,選擇當前工作寄存器區(qū)為1區(qū) 。,23,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),27H,22H,21H,20H,26H,24H,25H,23H,28H,2FH,單元地址,07 06 05 04 03 02 01 00,0F 0E 0D 0C 0B 0A 09 08,17 16 15 14 13 12 11 10,1F 1E 1D 1C 1B 1A 19 18,27 26 25 24 23 22 21 20,2F 2E 2D 2C 2B 2A 29 28,37 36 35 34 33 32 31 30,3F 3E 3D 3C 3B 3A 39 38,47 46 45 44 43 42 41 40,7F 7E 7D 7C 7B 7A 79 78,位地址,總共128個可按位尋址的位,片內RAM中有128個可按位尋址的位。 位地址:00H7FH 分布在:20H2FH單元,(2)位尋址區(qū),24,位操作又稱布爾操作,它是以位為單位進行的各種操作。 MCS-51單片機內部設置了一個位處理器(布爾處理機),它有自己的累加器C(PSW中的進位標志位CY),自己的存儲器(即:內部RAM中的20H2FH共128個位,以及特殊功能寄存器中的可以進行位尋址的各個位),同樣,也有相應的位操作指令集,共17條,用來完成位傳送,位運算和基于位的轉移。 位操作指令中的位地址有4 種表示形式,以下表示的都是PSW中的位5 :,直接地址方式(如,0D5H);,點操作符方式(如,0D0H.5、PSW.5等);,位名稱方式(如,F(xiàn)0,RS0,RS1);,偽指令定義方式。,25,格式: 位地址別名 BIT 位地址 功能:使程序中的所出現(xiàn)的位地址別名均表示BIT后面的位地址。一般放置在程序開始的位置。,例如: LEFT BIT P1.0 RIGHT BIT P1.1 ORG 0100H SETB LEFT ;左轉 LCALL WAIT30S ;等待30秒 CLR LEFT SETB RIGHT;右轉,位地址賦值偽指令BIT,26,(3)普通RAM區(qū),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),27,堆棧: 在片內RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據,它遵循順序存取和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。,功用: 1)子程序調用和中斷服務時CPU自動將當前PC 值壓棧保存,返回時自動將PC值彈棧。 2)保護現(xiàn)場/恢復現(xiàn)場 3)數(shù)據傳輸,28,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SP棧頂,下一個進棧的數(shù)據將存在此,數(shù)據進棧,已經進棧的數(shù)據存放在此,初始 SP,復位后 SP=07H,數(shù)據進棧時:首先SP自動增 1 ,放進數(shù)據, SP仍指著棧頂,堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。 89C51的堆棧一般設在30H7FH的范圍內。,入棧,29,從堆棧取出數(shù)據時:取出的數(shù)據是最近放進去的一個數(shù)據,也就是當前棧頂?shù)臄?shù)據。然后SP再自動減1,仍指著棧頂,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM區(qū),普通RAM區(qū),位尋址區(qū),工作寄存器區(qū),SP棧頂,當前要出棧的數(shù)據,數(shù)據出棧,SP-1指向下一個將要出棧的數(shù)據,初始 SP,出棧,30,特殊功能寄存器(SFR) ,又稱專用寄存器。它專用于控制、管理單片機內部算術邏輯部件、并行I/O口鎖存器、串行口數(shù)據緩沖器、定時器/計數(shù)器、中斷系統(tǒng)等功能模塊的工作,SFR的地址空間為80HFFH。 MCS-51有18個專用寄存器,其中3個為雙字節(jié)寄存器,共占21個字節(jié)。MCS-52有21個專用寄存器,其中5個為雙字節(jié)寄存器,共占26個字節(jié)。SFR中共有12個專用寄存器可以位尋址,他們的字節(jié)地址可以被8整除,共有93個可尋址位。,(4)特殊功能寄存器區(qū),31,注意: 除A、B,DPTR 外,其他SFR只能采用直接尋址方式。如:MOV A,P0。對于內部RAM具有高128字節(jié)即:80HFFH的MCS-52單片機而言,這些RAM與SFR地址重迭,只能用寄存器間接尋址訪問,而不能用直接尋址方式訪問。,32,33,四、CPU時序及有關概念,一條指令可以分解為若干基本的微操作,而這些微操作所對應的脈沖信號,在時間上有嚴格的先后次序,這些次序就是計算機的時序。時序是非常重要的概念,它指明單片機內部以及內部與外部互相聯(lián)系所遵循的規(guī)律。 震蕩周期: 指為單片機提供定時信號的振蕩源的周期。 時鐘周期: 又稱狀態(tài)周期或S周期,因為時鐘發(fā)生器就是上述的2分頻觸發(fā)器,所以它是振蕩周期的兩倍,,34, 機器周期:一個機器周期由6個狀態(tài)(12個振蕩脈沖)組成,即6個時鐘貯存器期,12個振蕩周期。 指令周期: 指執(zhí)行一條指令所占用的全部時間,一個指令周期通常含有14個機器周期。,35,單片機各種周期的相互關系,若外接晶振為12MHZ,MCS-51單片機的四個周期的具體值為: 振蕩周期=1/12s; 時鐘周期=1/6s; 機器周期=1s; 指令周期=14s;,36,五、單片機的存儲器訪問,(一)尋址方式,尋址方式:指令中的操作數(shù)給出參與運算的數(shù)和數(shù)的地址,確定操作數(shù)地址的方式為尋址方式。尋址方式的多少是計算機功能強弱的重要標志。 MCS-51指令尋址方式主要有7種: (1)寄存器尋址 (2)立即尋址 (3) 寄存器間接尋址 (4)直接尋址 (5)基址寄存器變址寄存器間接尋址 (6)相對尋址 (7)位尋址,37,1、寄存器尋址,指令直接給出該寄存器名稱,該寄存器的內容就是操作數(shù),這種尋址方式就是寄存器尋址。采用寄存器尋址可以獲得較高的傳送和運算速度。,寄存器尋址方式尋址范圍: (1)內部RAM中的32個工作寄存器R0R7; (2)A、B、CY(或C)、DPTR;,例如: MOV A,R0 ;(A)(R0) MOV DPTR , #1234H,38,2、立即尋址,操作數(shù)以常數(shù)的形式出現(xiàn),直接跟在操作碼后面,以指令字節(jié)的形式存放在ROM中,由于不需再去寄存器或存儲器中去取數(shù),可以從指令機器碼中立即得到,因此,這種尋址方式為立即尋址。 立即數(shù)前面冠以“#”號表示這是一個數(shù),而不是地址。立即數(shù)可以是8位,也可以是16位。如: MOVA,#0FH MOV P1,#00000111B MOV R3,#18 立即數(shù)主要用來給寄存器或存儲器賦初值,并且只能用于源操作數(shù),而不能用作目的操作數(shù)。,39,3、直接尋址,在指令直接給出操作數(shù)所在的存儲單元的地址的尋址方式稱為直接尋址。,直接尋址的尋址范圍: (1)內部數(shù)據存儲器的低128字節(jié),00H7FH;如:MOV A,40H;(A) (40H) (2)特殊功能寄存器,注意除A、B,DPTR 外,其他SFR只能采用直接尋址方式。如:MOV A,P0。,40,4、間接尋址,指令中指出某一個寄存器的內容作為操作數(shù)的地址的尋址方法叫做寄存器間接尋址。寄存器間接尋址以符號“”指明。,其尋址范圍: (1)以R0,R1為地址指針,尋址內部RAM 007FH 和外RAM的低256B;如:MOV A,R0 (2)以DPTR,或R0、R1(須用P2指定高8位地址)為地址指針,尋址外部RAM空間和擴展I/O口。 如:MOVX A,R0 ;訪問外部RAM 00HFFH MOVX DPTR,A ;訪問外部RAM 0000HFFFFH,41,5、變址尋址,以基址寄存器(PC、 DPTR)和變址寄存器(A)的內容作無符號數(shù)相加,形成16位地址,該地址就是操作數(shù)所在的地址,這種尋址方式就是變址尋址。變址尋址常用來訪問程序存儲器,完成查詢表格功能。兩種形式: MOVC A,A+PC ;(A)(A)+(PC) MOVCA,A+DPTR ;(A)(A)+(DPTR),例: MOVC A,A+DPTR,42,6、相對尋址,指令中給定地址的相對偏移量rel,以PC當前值為基地址,加上rel所得結果為操作數(shù)實際地址的尋址方式為相對尋址。用于程序存儲器訪問,常出現(xiàn)在相對轉移指令中。 當前PC值=PC源地址+轉移指令字節(jié)數(shù) 目的地址=當前PC值+rel。 rel:有符號數(shù),單字節(jié)補碼,-128+127。負數(shù)表示向上轉移,正數(shù)表示向下轉移。 例如:JZ 08H,表示累加器A 為零時,從源地址(設為:2050H) 向下轉移10個字節(jié)。,43,7、位尋址,MCS-51中具有一些可以直接尋址的位,并且可以對這些位進行操作,指令中直接給出位的地址的尋址方式為位尋址。位尋址空間是:內部RAM中的20H2FH共16個字節(jié)128個位和SFR中的93個位。 例如: SETB PSW.3 ; (PSW.3) 1 其功能是將PSW中的RS0置為1。指令代碼為:D2H D3H,其中的第2個字節(jié)D3H就是PSW.3的位地址。,44,(二)程序存儲器訪問的有關指令-ROM查表指令,(1) DPTR內容為基址,程序存儲器除存放程序外,還可存放一些常數(shù),這些常數(shù)的數(shù) 據結構一般稱為表格。查表指令就是把存放在程序存儲器(ROM)中的表格數(shù)據讀出,傳送到累加器A 的指令。查表指令采用變址尋址方式,共有2條指令,這兩條指令都是單字節(jié)雙周期指令。,MOVC A,A+DPTR ;A (A)+(DPTR),45,(2) PC 內容為基址,MOVC A,A+PC ;A (A)+(PC),取出該單字節(jié)指令后PC的內容增1,以增1后的當前值去執(zhí)行16位無符號數(shù)加法,將獲得的基址與變址之和作為16位的程序存儲器地址。然后將該地址單元的內容傳送到累加器A。指令執(zhí)行后PC的內容不變。,優(yōu)點: 不改變PC的狀態(tài),根據A的內容取表格常數(shù)。 缺點:(a)表格只能存放在查表指令以下的256個單元內。,(b)當表格首地址與本指令間有其他指令時,須用調整偏移量,調整量為下一條指令的起始地址到表格首址之間的字節(jié)數(shù)。,46,補充:單片機非線性運算快速實現(xiàn)的基本方法,(1)查表法,查表是非線性運算和非數(shù)值計算數(shù)據處理中常用的方法之一。利用查表可以免去復雜的計算,節(jié)省時間,具有靈活性強、運行速度高及實時性好的特點。表分為有無序表和有序表;一維表、二維表、三維表及多維表等。常用的表格一般是線性表,這種表中的數(shù)據元素具有線性一維關系。查表就是根據變量x,在表格中查找函數(shù)值y,使得y = f(x)。換句話說,查表就是根據輸入值來確定表的地址,然后從該地址中找出相應的函數(shù)值。 采用這種方法首先要根據自變量的變化范圍和精度要求制作一個表格,把有關數(shù)據固化在程序存儲器中,一旦表格內容確定之后就不能再改變。然后編寫查表程序,通過輸入值來尋找表格中的相應值。這樣就使運算量變的較少,甚至完全不用進行運算,就可獲得滿足精度要求的輸出。因此在數(shù)字信號處理中,特別是在智能化測試儀表和數(shù)字發(fā)動機控制應用中,查表法是經常使用的一種操作。,47,(2)查表法舉例,【例3.5 】累加器A中存有壓縮的BCD碼,將其轉化為八段顯示碼,并將結果送至P1口(送高位)和P2口(送低位)。如A中數(shù)據為48H,則P1口連接的數(shù)碼管顯示4,P2口連接的數(shù)碼管顯示8(假設所使用的數(shù)碼管都是共陽極數(shù)碼管)。,分析:這是一個典型的查表程序。所顯示數(shù)字與所輸出的二進制數(shù)(顯示碼)之間的關系為:,48,參考程序為: ORG 0000h SJMP START ORG 0030H START: MOV R0,A ;備份BCD數(shù) ANL A,#0FH ;取低位 MOV DPTR,#TABLE MOVC A,A+DPTR ;取低位顯示碼 MOV P2,A ;從P2口輸出顯示碼 MOV A,R0 ;恢復BCD數(shù) ANL A,#0F0H ;取高位 SWAP A MOVC A,A+DPTR ;取高位顯示碼 MOV P1,A ;從P1口輸出顯示碼 SJMP $ TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END,49,(2)插值法,在智能儀表和數(shù)字發(fā)動機控制應用中,表格插值是經常要做的一種操作,對一些計算精度要求不高但運行速度要求較高的場合,應避開復雜的計算,盡量采用通用性強、實時性好的分段線性插值法或二次拋物線插值法來逼近真實函數(shù)值。,50,分段線性插值法:,假設:已知函數(shù)Y= f(X)的曲線如右圖 所示。按一定要求將X軸分為x0、x1、 xi、xi+1、 xn,則對應的函數(shù)輸出為y0、y1、 yi、yi+1、 yn,它們都是已知的。把曲線上兩兩相臨的分段點用直線連接起來,如圖中虛線所示,當n取得足夠大時,這些虛線可以近似的代替原曲線,這就是一般分段線性插值法的原理。顯然,對于落在(xi,xi+1)區(qū)間內的輸入x,有相應的輸出近似值:,Y =yi + (x-xi) =yi + ki(x-xi),51,因此,可將n點輸入輸出對照值儲存在程序存儲器內,當輸入量x落在第i段內時,可通過三個步驟算出相應的輸出值, 第一步:查表,在區(qū)間xi,xi+1上找到點x的位置,計算x-xi ; 第二步:計算ki; 第三步:求得結果y= yi+ ki(x- xi)。 顯然,采用線性插值逼近法時,只要分段數(shù)n取得足夠大,就可以獲得要求的精度。一般的,只要分段點取得合理,分段數(shù)愈多,則逼近精度愈高,但同時所要求的計算機內存容量也將增加。 因此,應該根據精度要求和函數(shù)曲線的斜率及曲率大小來決定分段點的選取。只要給定了允許誤差和函數(shù)的理論計算公式,就可以求得合理的分段點,使得既滿足精度要求又盡可能地減少分段數(shù)目。,52,線性插值節(jié)點選取的一般方法,采用分段線性插值近似算法時,首先要考慮如何選取插值節(jié)點的問題。解決這一問題的出發(fā)點是:在滿足精度要求的前提下,使插值節(jié)點數(shù)目減至最少,從而使表格存儲器的容量減少,節(jié)省硬件資源,同時使插值搜索過程加快。,(a)固定步長選取法 固定步長選取法就是沿X軸等距離地選取插值節(jié)點,又稱為等距選取法。采用固定步長的插值節(jié)點時,可以減少表格的長度,僅存儲xmin、xmax、n值以及縱坐標上各節(jié)點的函數(shù)yi值。 該方法的主耍缺點是,當被逼近函數(shù)的曲率或斜率變化較大時,為了使曲率或斜率較大的區(qū)域不超差,插值間距需取得較小。因而插值節(jié)點數(shù)將大大增加,使表格變長,運行也變長。所以,固定步長插值法適用于非線性程度不大的函數(shù)。,53,(b)非固定步長選取法 非固定步長選取法根據函數(shù)曲線形狀的變化而修正插值間距的大小,又稱為非等距選取法。對于非線性程度較大的函數(shù),插值節(jié)點數(shù)可以大大減少,但是在表格中,需要對每個節(jié)點存放三個常教xi 、yi 和ki ,顯然,表格的長度較長,占用的存儲單元較多。當然也可以在表格中只存儲xi 、yi這兩個常數(shù),然后在插值過程中再去計算ki值,但這樣作增加了運算量,使運行速度減慢,這在某些應用場合是不允許的。,54,55,(三)外部數(shù)據存儲器訪問的有關指令,MCS-51單片機CPU對片外擴展的數(shù)據存儲器RAM或I/O接口進行數(shù)據傳送的指令。采用寄存器間接尋址,通過累加器A來完成。 片外數(shù)據的傳送是通過P0口和P2口配合來完成的,其中P2口輸出高8位地址,P0口分時輸出低8位地址和數(shù)據。這類數(shù)據傳送指令共有4條指令,其中2條讀指令,2條寫指令,這4條指令都是單字節(jié)雙周期指令。,56,(四)堆棧操作指令,棧頂?shù)奈恢茫ǖ刂罚┯蓷V羔楽P指示(即SP的內容是棧頂?shù)牡刂罚T?0C51中,堆棧的生長方向是向上的(地址增大)。系統(tǒng)復位時,SP的內容為07H。通常用戶應在系統(tǒng)初始化時對SP重新設置(SP的值越小,堆棧的深度越深) 。 堆棧操作有進棧和出棧操作,即壓入和彈出數(shù)據。常用于現(xiàn)場保護和恢復。這類指令共有2條,這2條指令都是雙字節(jié)雙周期指令。,57,六、MCS-51單片機的匯編指令簡介,(一)指令分類,1、按指令字節(jié)數(shù)分類,MCS-51指令含有的操作碼和操作數(shù)都有相應的二進制代碼,根據指令包含的字節(jié)數(shù)的多少不同,單片機指令系統(tǒng)(共111條指令)分成單字節(jié)指令(49條) 、雙字節(jié)指令(45條)和三字節(jié)指令(17條) 。,2、按指令的執(zhí)行時間分類,單片機指令系統(tǒng)(共111條指令)根據指令執(zhí)行的時間長短分類,可以分成: (1) 單周期指令(64條) (2) 雙周期指令(45條) (3) 四周期指令(只有乘除2條)。,58,3、按指令的功能分類,單片機指令系統(tǒng)(共111條指令)根據指令所完成的功能分類,可以分成: (1) 數(shù)據傳送類指令(28條) (2) 算術運算類指令(24條) (3) 邏輯運算及移位類指令(25條) (4) 控制轉移類指令(17條) (5) 位操作(布爾操作)類指令(17條),59,(二)指令簡介,1、數(shù)據傳送類指令,數(shù)據傳送類指令一般不影響程序狀態(tài)字PSW寄存器。只有在往累加器A中傳送數(shù)時有可能影響PSW的奇偶位P,其它位不受影響。當然,往PSW寄存器里面?zhèn)魉蛿?shù)據肯定影響PSW。 傳送類指令可以分成兩大類。一是采用MOV操作符,稱為一般傳送指令;二是采用非MOV操作符,稱為特殊傳送指令。,60,61,MCS-51單片機一般數(shù)據傳送指令數(shù)據傳遞關系圖,62,立即數(shù)可以為累加器A、寄存器Rn和DPTR、直接尋址或間接尋址的RAM賦初值,只能作為源操作數(shù),不能作為目的操作數(shù)。 累加器A可以和寄存器Rn、直接尋址或間接尋址的RAM之間相互賦值,既可以作為源操作數(shù),也可以作為目的操作數(shù)。 直接尋址的RAM可以和累加器A、寄存器Rn、直接尋址或間接尋址的RAM之間相互賦值,既可以作為源操作數(shù),也可以作為目的操作數(shù)。 間接尋址的RAM可以和累加器A、直接尋址的RAM之間相互賦值,既可以作為源操作數(shù),也可以作為目的操作數(shù)。但不能和寄存器Rn與間接尋址的RAM之間相互賦值。 寄存器Rn可以和累加器A、直接尋址的RAM之間相互賦值,既可以作為源操作數(shù),也可以作為目的操作數(shù)。但不能和寄存器Rn與間接尋址的RAM之間相互賦值。,63,特殊數(shù)據傳送指令,64,2、算術運算類指令,包括、加1、減1、十進制調整指令,共有24條。,65,66,算術運算類指令一般影響PSW中的CY、AC、OV、P 標志位。進位(借位)標志CY為無符號整數(shù)的多字節(jié)加法、減法、移位等操作提供了方便;溢出標志OV可方便的控制補碼運算;輔助進位標志AC用于BCD碼運算。,67,加減 1 指令僅 INC A、 DEC A 影響P標志(即使有進位或借位,CY也不變)。其余指令都不影響標志位的狀態(tài)。,DA A指令的功能是對累加器A中剛進行的兩個BCD碼的加法的結果進行十進制調整(加6修正) ,只影響CY位。該指令的使用條件:,(1)只能緊跟在加法指令(ADD/ADDC)后進行 (2)兩個加數(shù)必須已經是BCD碼 (3)只能對累加器A中結果進行調整,68,DIV AB指令的功能是將累加器A中的無符號8位二進制數(shù)除以寄存器B中的無符號8位二進制數(shù) ,商的整數(shù)部分存放在累加器A中,余數(shù)部分存放在寄存器B中。當除數(shù)為0時,則結果的A和B的內容不定,且溢出標志位(OV)=1。而標志CY總是被清0。,MUL AB指令的功能是將累加器A與寄存器B中的無符號8位二進制數(shù)相乘 ,乘積的低8位留在累加器A中,高8位存放在寄存器B中。當乘積大于FFH時,溢出標志位(OV)=1。而標志CY總是被清0。,69,3、邏輯運算和循環(huán)移位類指令,70,71,邏輯“與”指令常常用于屏蔽字節(jié)中的某些位。若清除某位,則用“0”與該位進行邏輯“與”,若保留某位,則用“1”與該位進行邏輯“與”。,邏輯“或”指令常常用于使字節(jié)中的某些位置“1”。若置“1”某位,則用“1”與該位進行邏輯“或”,若保留某位,則用“0”與該位進行邏輯“或”。,邏輯“異或”指令常用于使字節(jié)中的某些位取反。若用“1”與某位進行邏輯“異或”則該位取反 ,若保留某位,則用“0”與該位進行邏輯“異或”。還可以利用異或指令對某個單元進行自身異或,以實現(xiàn)清零操作。,邏輯運算指令(共18條)可以完成與、或、異或、清0和取反操作,當以累加器A為目的操作數(shù)時,對P標志有影響。,72,A7,A0,A7,A0,CY,RR A,RRC A,A7,A0,A7,A0,CY,RL A,RLC A,右移:,左移:,使累加器A的各位逐位左移1位相當于原內容乘2;使累加器A的各位逐位右移1位相當于原內容除2;預先清零CY,采用帶進位位的左移和右移,能夠保留乘除產生的進位和余數(shù) 。,73,4、控制轉移類指令,控制程序的轉移要利用轉移指令。MCS-51的轉移指令(共17條)分無條件轉移、條件轉移及子程序調用與返回等。利用這些控制轉移類指令可以方便地實現(xiàn)程序的向前、向后跳轉,并根據條件分支運行、循環(huán)運行、調用子程序等。,74,75,AJMP指令的轉移范圍為AJMP下面一條指令的存儲地址相同的2KB區(qū)間內,可以向前也可以向后,指令的執(zhí)行不影響PSW的狀態(tài)標志位。,SJMP rel ,rel 是一個帶符號的偏移字節(jié)數(shù)(2的補碼),取值范圍為 128 127 (00H7FH對應表示0 127,80HFFH對應表示1281)。負數(shù)表示反向轉移,正數(shù)表示正向轉移。,JMP A+DPTR指令具有散轉功能,可以代替許多判別跳轉指令。其轉移地址由數(shù)據指針DPTR的16位數(shù)作為基址和累加器A的8位數(shù)作為相對偏移量進行無符號數(shù)相加形成,并將相加結果直接裝入PC。該指令執(zhí)行時對標志位無影響。 該指令常用于多分支轉移。,76,散轉程序舉例:,【例3.21】 根據R0的值轉向7個分支程序。 R0=60,轉向SUB6;,分析:,程序流程如下圖所示。,77,參考程序如下: ORG 2000H MOVDPTR,#TAB;取轉移指令表首地址 MOV A,R0 ;取數(shù) MOV B,#10 DIV AB ;A10,商在A中 CLR C RLC A ;A2A JMP A+DPTR ;PC A+DPTR TAB: AJMP SUB0 ;轉移指令表 AJMP SUB1 AJMP SUB2 AJMP SUB6,78,RET指令的功能是從堆棧中彈出由調用指令壓入堆棧保護的斷點地址,并送入指令計數(shù)器PC,從而結束子程序的執(zhí)行。程序返回到斷點處繼續(xù)執(zhí)行。,RETI指令是專用于中斷服務程序返回的指令,除正確返回中斷斷點處執(zhí)行主程序以外,并有清除內部相應的中斷狀態(tài)寄存器(以保證正確的中斷邏輯)與中斷優(yōu)先,開放低級中斷的功能。,79,5、位操作類指令,80,【例3.18】利用位邏輯指令,模擬下圖3.11所示的邏輯電路功能。,位操作程序舉例:,實現(xiàn)該功能的程序如下: PR2: MOV C,P1.1 ;(CY) (P1.1) ORL C, P1.2 ;(CY) (P1.1)V (P1.2) ,得出A點邏輯狀態(tài) ANL C, P1.0 ;(CY) (P1.0)A點狀態(tài) CPL C ; 取反,得出B點邏輯狀態(tài) MOV F0, C ;F0內暫存B點狀態(tài) MOV C,P1.3 ;(CY) (P1.3) ANL C, P1.4 ;(CY) (P1.3)(P1.4) CPL C ; 取反,得出C點邏輯狀態(tài) ORL C, F0 ;B點狀態(tài)與C點狀態(tài)進行邏輯或 MOV P1.5, C ;運算結果送入P1.5 RET,81,七、MCS-51單片機的輔助電路,單片機的復位狀態(tài),82,上電復位電路和開關復位組合電路,83,單片機的時鐘電路 內部時鐘方式 、外接時鐘方式,84,八、MCS-51單片機的最小系統(tǒng),85,8051/8751最小應用系統(tǒng)的特點是: (1)全部I/O口線均可作為并行口供用戶使用。 (2)內部存儲器容量有限(只有128B的RAM和4KB地址 空間)。 (3)應用系統(tǒng)開發(fā)具有特殊性。因為P0和P2口在開發(fā)系統(tǒng) 時作為數(shù)據、地址總線,而在應用系統(tǒng)中如果作為普 通I/O口,調試時不方便硬件調試,只能用模擬的方法 調試。,86,第二章 中斷、定時計數(shù)器、串行接口,87,一、定時,MCS-51有幾個定時器/計數(shù)器? MCS-51有2個定時器/計數(shù)器T0和T1 在單片微機控制系統(tǒng)中為什么要使用它們? 在單片微機控制系統(tǒng)中,常要求一些外部實時時鐘,以實現(xiàn)定時或延時;也常要求有一些外部計數(shù)器,以實現(xiàn)對外部事件進行計數(shù)。 T0/T1是幾位的計數(shù)器/定時器? T0/T1是16位的計數(shù)器/定時器,通過編程的方式可以用來設定為定時器或者為計數(shù)器。,(一)、MCS-51定時器/計數(shù)器,88,計數(shù)器/定時器本質區(qū)別是什么? 計數(shù)器/定時器的基本核心是一個加1計數(shù)器 加1計數(shù)器的脈沖有兩個來源: 外部脈沖源; 內部的時鐘振蕩器。 * 定時器 對內部的時鐘振蕩器標準脈沖計數(shù) * 計數(shù)器 對外部脈沖計數(shù),89,與計數(shù)器/定時器相關的特殊功能寄存器有哪幾個? 工作方式控制寄存器,90,GATE:門控位的作用:,當GATE=0時,定時計數(shù)器的啟動不受外部中斷信號的影響,只要用軟件使TR0(或TR1)置1就能啟動定時器T0(或T1)。 當GATE=1時,由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳 INT0 (P3.2)或INT1 (P3.3)信號和TR0共同控制。當TR0=1時,外中斷引腳信號引腳INT0(P3.2) 或INT1(P3.3)的高電平啟動計數(shù),外中斷引腳信號引腳的低電平停止計數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。,91,定時器控制寄存器 用于用于T-用于中斷控制 溢出中斷標志:溢出自動置,硬件自動清或 供軟件查詢和清 定時器運行控制位,由軟件置或清 用于中斷控制,92,、功能 : 寄存計數(shù)初值,均可以通過軟件賦值,系統(tǒng)復位時,均為 討論,當工作于方式時,是的高位,是的低位,組成的位計數(shù)器,加到后,再加便溢出,置為“” 當工作于方式時,是的高位,是的低位,組成的位計數(shù)器,加到后,再加便溢出,置為“”; 當工作于方式時,是的計數(shù)初值寄存器,是的位計數(shù)器,組成的位計數(shù)器,加到后,再加便溢出,置為“”,同時將中的計數(shù)初值裝入,于是又在的新值基礎上計數(shù),周而復始。(自動裝入常數(shù)),93,當工作于方式時,只使用于定時器,把分成兩個獨立的位定時器計數(shù)器,位定時器,位定時器計數(shù)器,94,定時器工作方式的選擇 定時器有4種工作方式,選擇哪一種,首先要看這幾種工作方式所允許的最大時間間隔。 當時鐘為6MHz時,一個機器周期為2s由于定時器是對機器周期計數(shù)的,所以: 8位定時器最大定時間隔 =282S=512s 13位定時器最大定時間隔 =2132S=16.384ms 16位定時器最大定時間隔 =2162S=131.07ms,95,定時器定時常數(shù)的選擇,定時器定時時長與裝入TL0、TH0或TL1、TH1的常數(shù)有關,定時常數(shù)TC的計算公式為: 其中,f為單片機應用系統(tǒng)的晶體頻率;X與系統(tǒng)采用的定時方式有關,方式0、1、2、3的X分別是13、16、8、8。 例:當 =6MHz,采用方式1,求定時10ms的定時常數(shù)。T=10ms=10,000us,X=16,根據方式公式可以得到: TC=216-10000*f/12=60536=0EC78H,即: TL0=78H,TH0=ECH,96,我們可以將定時器/計數(shù)器的編程要點概括如下: 確定方式控制字 MOV TMOD,#DATA 予置時或計數(shù)初值 MOV THX,#DATAH MOV TLX,#DATAL 啟動定時/計數(shù)器工作 SETB TRx 查詢 WAIT:JBC TFX NEXT SJMP WAIT 允許定時/計數(shù)中斷,相應命令為: SETB EA SETB ETx 重新裝入定時/計數(shù)初值 NEXT : MOV THX,#DATAH MOV TLX,#DATAL,定時器/計數(shù)器的編程要點,97,(二)、實時時鐘及其軟硬件實現(xiàn)方法,單片機的實時時鐘通常由兩種方法實現(xiàn): (1)通過內部的定時/計數(shù)器,結合軟件的方式實現(xiàn),這種方式一般適合于定時時間精度要求不高的場合。 (2)通過采用時鐘芯片,比較典型的有:Motorola公司的MC146818,Dallas公司的DS12887和DS1302和Philips公司的PCF8563、PCF8583。早期的時鐘芯片一般采用并行接口的方式:如MC146818 ,現(xiàn)在流行的則是采用SPI、I2C總線等接口的串行芯片,如DS1302 和PCF8563 。這種實現(xiàn)方式精度較高,還能節(jié)省大量的單片機CPU指令周期,所以廣泛被人們使用。,98,1、DS1302芯片簡介,實時時鐘DS1302芯片內部除了有時鐘管理外,還有31B的RAM,使用SPI串行接口僅需用到三個口線( RES 復位、 I/O 數(shù)據線和SCLK)與單片機進行通信??梢蕴峁┟?、分、時、日、月、年的信息,每月和閏年的天數(shù)還可以自動進行調整,可以選擇12小時或24小時工作方式。DS1302 工作時功耗很低,保持數(shù)據和時鐘信息時功率小于1mW。 DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。,99,DS1302外部引腳結構如下圖所示:,DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc10.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。 RST是復位/片選線當RST為高電平時,所有的數(shù)據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。 I/O為串行數(shù)據輸入輸出端(雙向)。SCLK始終是輸入端。,100,2、DS1302芯片與單片機的連接,3、DS1302芯片的控制字節(jié),DS1302的控制字如下圖所示。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據,為1表示存取RAM數(shù)據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。,101,4、DS1302芯片的數(shù)據輸入輸出(I/O),在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據被寫入DS1302,數(shù)據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據,讀出數(shù)據時從低位0位到高位7。,102,5、DS1302芯片的內部寄存器,DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數(shù)據位為BCD碼形式,其日歷、時間寄存器及其控制字見下表:,103,104,二、串行口,MCS-51有一個可編程的全雙工串行通信接口,可作為通用異步接收/發(fā)送器UART,也可作為同步移位寄存器。它的幀格式有8位、10位和11位,可以設置為固定波特率和可變波特率,給使用者帶來很大的靈活性。,105,一、MCS-51串行口的結構,106,MCS-51單片機的串行口主要由2個物理上獨立的串行數(shù)據緩沖器SBUF、輸入移位寄存器和控制器等組成。還有2個SFR寄存器SCON和PCON,用于串行口的初始化編程。,SCON 是一個特殊功能寄存器,用以設定串行口的工作方式,控制數(shù)據的接收和發(fā)送,并標示串行口的工作狀態(tài)等。該寄存器的字節(jié)地址為98H,可位尋址,其位格式為:,SM0、SM1:串行口工作方式控制位,兩位對應四種工作方式,如下表所示(fosc是晶振頻率):,107, SM2,多機通信控制位,主要用于方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB80時不激活RI,收到的信息丟棄;RB81時收到的數(shù)據進入SBUF,并激活RI,進而在中斷服務中將數(shù)據從SBUF讀走)。當SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據進入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現(xiàn)多機通信。,在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1。,REN,允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據;若軟件置REN=0,則禁止接收。,108,TB8,在方式2或方式3中,是發(fā)送數(shù)據的第九位,可以用軟件規(guī)定其作用。可以用作數(shù)據的奇偶校驗位,或在多機通信中,作為地址幀/數(shù)據幀的標志位。 在方式0和方式1中,該位未用。,RB8,在方式2或方式3中,是接收到數(shù)據的第九位,作為奇偶校驗位或地址幀/數(shù)據幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。,TI,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數(shù)據結束時,或在其它方式,串行發(fā)送停止位的開始時,由內部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。,RI,接收中斷標志位。在方式0時,當串行接收第8位數(shù)據結束時,或在其它方式,串行接收停止位的中間時,由內部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務程序中,用軟件將其清0,取消此中斷申請。,109,PCON主要是為CHMOS型單片機的電源控制而設置的專用寄存器,該寄存器中只有一位SMOD與串行口工作有關,它的位格式為:,SMOD GF1 GF0 PD 1DL,PCON (97H),D7 D6 D5 D4 D3 D2 D1 D0, SMOD:波特率倍增位。串行口工作在方式1、方式2、方式3時,若SMOD=1,則波特率提高一倍;若SMOD=0,則波特率不提高一倍。單片機復位時,SMOD=0。,110,一、方式0,方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據,低位在先,高位在后。波特率固定為fosc/12。,1、方式0輸出,111,發(fā)送:當一個數(shù)據寫入SBUF后,串行數(shù)據將由RxD逐位移出;TxD輸出移位時鐘,頻率=fosc1/12; 每送出8位數(shù)據 TI就自動置1; 再次發(fā)送前需要用軟件清零 TI。,112,2、方式0 輸入,113,接收:串行數(shù)據由RxD逐位移入SBUF中; TxD輸出移位時鐘,頻率=fosc1/12; 每接收 8位數(shù)據RI就自動置1; 再次接收前需要用軟件清零 RI。,114,例:利用串行口工作方式0擴展出8位并行I/O口,驅動共陽LED數(shù)碼管顯示09。,AB,CLK,h g f e d c b a,CLR,+5V,VCC,TxD,RxD,51單片機,74LS164,共陽LED數(shù)碼管,115,二、方式1,方式1是8位數(shù)據的異步通信口。TXD為數(shù)據發(fā)送引腳,RXD為數(shù)據接收引腳,傳送一幀數(shù)據的格式如圖所示。其中1位起始位,8位數(shù)據位,1位停止位。 8位UART(1+8+1位)波特率可變。,116,波特率可變 用定時器T1作波特率發(fā)生器: 公式:波特率 =(2SMOD/32)T1的溢出率, 溢出率:T1溢出的頻繁程度 即:T1溢出一次所需時間的倒數(shù)。, 初值 X = 2n -,2SMOD fosc 32 波特率 12, 波特率 =,2SMOD fosc 32 12(2n - X),其中:X 是定時器初值,117, 例已知晶振頻率=6MHz,SMOD=0,要求用T1工作于方式2來產生波特率1200,求出T1的初值:,初值 X = 28 -,20 6106 32 1200 12,= 256 - = 256 - 13.02,6106 460800, 243 = 0F3H,118,T1作波特率發(fā)生器時初始化包括: 選定時器工作方式2(TMOD選8位自動重裝); 將計算(或查表)出的初值X賦給TH1,TL1; 啟動T1 (SETB TR1); 對T1不要開中斷 !,串行口的初始化包括: 對SCON選工作方式 對PCON設波特率加倍位“SMOD”(缺省值=0) 如果是接收數(shù)據,仍要先置“1”REN位,119,1、方式1輸出,串行口以方式1發(fā)送數(shù)據時,數(shù)據位由TXD端輸出,發(fā)送一幀信息為10位,其中1位起始位,8位數(shù)據位(先低位后高位),1位停止位。 CPU執(zhí)行1條寫入發(fā)送緩沖器的指令后,就會啟動發(fā)送器發(fā)送,當發(fā)送完數(shù)據后,就置中斷標志TI為1。,120,2、方式1輸入,用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據的前8位數(shù)據裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。,121,三、方式2

注意事項

本文(《片機系統(tǒng)設計》PPT課件)為本站會員(san****019)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!