51單片機教程PPT資料_第1頁
51單片機教程PPT資料_第2頁
51單片機教程PPT資料_第3頁
51單片機教程PPT資料_第4頁
51單片機教程PPT資料_第5頁
已閱讀5頁,還剩112頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、江西環(huán)境工程職業(yè)學院機械與電子分院 張小波時 間:2011年9月51單片機原理及應用第一講 單片機結構及原理第二講 中斷系統(tǒng)第三講 定時/計數(shù)器第四講 串口通信第五講 工具軟件介紹、流水燈實驗51單片機原理及應用什么是單片機單片機能做什么單片機 在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機。 單片機能做什么工業(yè)控制 用于各種物理量的采集與控制。電流、電壓、溫度、液位、流量等物理參數(shù)的采集和控制均可以利用單片機方便地實現(xiàn)。在這類系統(tǒng)中,利用單片機作為系統(tǒng)控制器,可以根據(jù)被控對象的不同特征采用不同的智能算法,實現(xiàn)期望的控制指標,從而提高生產(chǎn)效率和產(chǎn)

2、品質量。典型應用如電機轉速控制、溫度控制、自動生產(chǎn)線等 。智能儀器儀表提高了儀器儀表的使用功能和精度,使儀器儀表智能化,同時還簡化了儀器儀表的硬件結構。如各種智能電氣測量儀表、智能傳感器等。機電一體化產(chǎn)品機電一體化產(chǎn)品是集機械技術、微電子技術、自動化技術和計算機技術于一體,具有智能化特征的各種機電產(chǎn)品。單片機在機電一體化產(chǎn)品的開發(fā)中可以發(fā)揮巨大的作用。典型產(chǎn)品如機器人、數(shù)控機床、自動包裝機、點鈔機、醫(yī)療設備、打印機、傳真機、復印機等。分布式系統(tǒng)的前端模塊 在較復雜的工業(yè)系統(tǒng)中,經(jīng)常要采用分布式測控系統(tǒng)完成大量的分布參數(shù)的采集。在這類系統(tǒng)中,采用單片機作為分布式系統(tǒng)的前端采集模塊,系統(tǒng)具有運行可

3、靠,數(shù)據(jù)采集方便靈活,成本低廉等一系列優(yōu)點。家用電器家用電器是單片機的又一重要應用領域,前景十分廣闊。如空調器、電冰箱、洗衣機、電飯煲、高檔洗浴設備、高檔玩具等。1.2 單片機的發(fā)展概況1.2.1 單片機的發(fā)展過程 單片機技術發(fā)展過程可分為三個主要階段: 單芯片微機形成階段 1976年,Intel公司推出了MCS-48系列單片機 。8位CPU、1K字節(jié)ROM、64字節(jié)RAM、27根I/O線和1個8位定時/計數(shù)器。 特點是:存儲器容量較小,尋址范圍小(不大于4K),無串行接口,指令系統(tǒng)功能不強。 性能完善提高階段 1980年,Intel公司推出了MCS-51系列單片機:8位CPU、4K字節(jié)ROM

4、、128字節(jié)RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K,并有控制功能較強的布爾處理器。 特點是:結構體系完善,性能已大大提高,面向控制的特點進一步突出?,F(xiàn)在,MCS-51已成為公認的單片機經(jīng)典機種 。 微控制器化階段 特點是:片內(nèi)面向測控系統(tǒng)外圍電路增強,使單片機可以方便靈活地用于復雜的自動測控系統(tǒng)及設備?!拔⒖刂破鳌钡姆Q謂更能反應單片機的本質。 1982年,Intel推出MCS-96系列單片機。 芯片內(nèi)集成:16位CPU、8K字節(jié)ROM、232字節(jié)RAM、5個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K。片上還有8路10位ADC、1路

5、PWM輸出及高速I/O部件等。1.2.2 單片機產(chǎn)品近況 ATMEL公司融入Flash存儲器技術的AT89系列; Philips公司的80C51、80C552系列; * 深圳宏晶科技有限公司的 STC89C/S系列 ; ADI公司的ADC8xx高精度ADC系列; Maxim公司的DS89C420高速(50MIPS)系列; 80C51系列單片機產(chǎn)品繁多,主流地位已經(jīng)形成,近年來推出的與80C51兼容的主要產(chǎn)品有:2-1 MCS-51單片機的組成2-2 MCS-51單片機的引腳及其功能2-3 MCS-51單片機的存儲器配置2-4 振蕩器與時鐘電路及CPU時序2-5 并行I/O端口2-6 MCS-5

6、1單片機基本工作系統(tǒng)的組成MCS-51單片機結構原理2-1 MCS-51單片機的組成與結構8位中央處理單元(CPU)128B/256B的數(shù)據(jù)存儲器RAM4KB/8KB的片內(nèi)ROM/EPROM4個8位并行I/O口P0-P32個定時器/計數(shù)器5個中斷源1個全雙工的UART(通用異步接收、發(fā)送器)片內(nèi)振蕩與時鐘產(chǎn)生電路1、中央處理單元 CPU(8位)用于數(shù)據(jù)處理、位操作(位測試、置位、復位)2、只讀存儲器 ROM(4KB或8KB)用于永久性存儲應用程序,掩膜ROM、EPROM、EEPROM3、隨機存取存取器 RAM(128B/256B)用于程序運行中存儲工作變量和數(shù)據(jù)用作系統(tǒng)總線、擴展外存、I /

7、O接口芯片4、并行輸入/輸出口 I/O(32線)5、串行輸入/輸出口 UART(二線)串行通信、擴展I / O接口芯片6、定時/計數(shù)器 T/C(16位增量可編程)它與CPU之間各自獨立工作,當它計數(shù)滿時向CPU中斷7、時鐘電路分為內(nèi)部振蕩器、外接振蕩電路五源中斷、兩級優(yōu)先,可編程進行控制8、中斷系統(tǒng)P0驅動器P2驅動器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器 緩沖器PC增1PCDPTR中斷、串行口和定時器PSWP1鎖存器P1驅動器P3鎖存器P3驅動器定時控制指令寄存器指令譯碼器OSCALUP0.0-P0.7P2.0-P2.7

8、P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARESET8051單片機內(nèi)部結構圖運算器存儲器I/O接口控制器中央處理器(CPU) 包含運算器和控制器兩部分(1)8位的ALU:(2)8位累加器ACC(A):(3)8位寄存器B:(4)8位程序狀態(tài)寄存器PSW:(5)布爾處理器:(6)2個8位暫存器:運算器 可對4位(半字節(jié)),8位(單字節(jié))和16位(雙字節(jié))數(shù)據(jù)進行操作,數(shù)據(jù)來自兩個暫存器。累加器,它是最繁忙的8位特殊功能寄存器,用A表示,ALU的運算結果存在此處。8位程序狀態(tài)字寄存器,用于存放指令執(zhí)行后的狀態(tài)信息,供程序查詢和判別。布爾操作器8位寄存器,在乘除運算時

9、,用來存放另一個操作數(shù),并存放一部分結果。(1)程序計數(shù)器(PC)(2)指令寄存器(IR)(3)指令譯碼器(ID)(4)振蕩器及定時與控制電路控制器中央處理器(CPU)控制器 由兩個8位的計數(shù)器(PCL,PCH)組成,PC存儲將要執(zhí)行的下一條指令的地址,16位可容納的最大數(shù)值為65535,為64KB,因此,MCS-51可尋址64KB的程序存儲器。改變PC內(nèi)的值,就可改變程序執(zhí)行的方向。16位程序計數(shù)器-PC 由PC內(nèi)容指定的ROM地址單元中取出的指令,經(jīng)指令寄存器送至指令譯碼器進行譯碼,進而CPU產(chǎn)生相應的控制信號,執(zhí)行指令所規(guī)定的操作。指令存儲器及指令譯碼器 MCS-51片內(nèi)有振蕩器OSC,

10、通過單片機的XTAL1,XTAL2連接片外的石英晶體及兩個頻率微調電容,產(chǎn)生單片機工作所需要的基本時鐘節(jié)拍。振蕩器及定時控制電路 1、電源管腳: Vcc,Vss2、時鐘電路管腳: XTAL1,XTAL23、控制信號腳: RST/VPD, ALE/PROG PSEN及Vpp/EA4、I/O管腳 P0,P1,P2,P32-2 MCS-51單片機的引腳及其功能電源管腳 Vcc:電源端,為5V,允許電源有偏差;GND(VSS):地。 注:為了防止電源脈沖對單片機的影響,一般在VCC和GND之間接上一個1uF的電容。時鐘電路管腳 XTAL1:芯片內(nèi)部反相放大器輸入端,使用外部振蕩器時需接地。XTAL2:

11、 芯片內(nèi)部反相放大器輸出端,使用外部振蕩時接振蕩器輸 入的信號。 XTAL2XTAL1內(nèi)部振蕩方式XTAL2XTAL1外部振蕩器外部振蕩方式控制線 ALE/PROG ALE: 地址鎖存信號端,頻率為晶體振蕩器的1/6正脈沖信號。當CPU訪問片外擴展存儲器時,該信號作為鎖存低8位地址的控制信號。PROG: 當片內(nèi)有EPROM時,該管腳提供編程寫入時的編程脈沖信號輸入端。 控制管腳 RST/VPD RST: 復位信號輸入端,高電平有效。保持兩個機器周期以上,并變?yōu)榈碗娖剑瑔纹瑱C開始從0000地址執(zhí)行,即可完成單片機復位。單片機復位不改變片內(nèi)RAM的值。VPD: 備用電源。+5VRESET10uF控

12、制管腳 PSEN PSEN: 程序存儲器允許輸出信號端。在訪問片外程序存儲器時,CPU控制該端輸出負脈沖作為外部存儲器的選通信號,允許CPU讀出EPROM中被選中單元中的指令碼。該管腳一般連程序存儲器的選通信號端(OE)??刂乒苣_ EA/Vpp EA: 外部程序存儲器地址允許輸入端/固化編程電壓輸入端。程序存儲器允許輸出信號端。當EA接高時,前4KB或8KB程序在單片機內(nèi),當EA接地時,所有程序均在外存儲器。Vpp: 對單片機內(nèi)程序存儲器編程時施加的高電平輸入端。2-3 MCS-51單片機的存儲器配置計算機存儲結構: 哈佛結構:程序存儲與數(shù)據(jù)存儲分開單片機 馮.諾依曼結構:程序與數(shù)據(jù)存儲在一起

13、通用計算機單片機的存儲器結構(ROMRAM): ROM:常用于存放程序和需要長時間存放的數(shù)據(jù),掉電不丟失; RAM:隨時可讀可寫的存儲器,掉電后數(shù)據(jù)立即丟失。00HFFH1、單片機的存儲器結構 采用哈佛結構,存在4個物理上相互獨立的存儲器空間: 片內(nèi)程序存儲器 片外程序存儲器 片內(nèi)數(shù)據(jù)存儲器 片外數(shù)據(jù)存儲器0FFFH0000H片內(nèi)4KROM0000HFFFFH片外64KROM片外64KRAM(I/O)0000HFFFFHSFR片內(nèi)RAM7FH80H0FFFHEA引腳=0訪問片內(nèi)與片外RAM靠指令區(qū)分MOV與MOVXEA引腳=12、單片機的程序存儲器 常用單片機的程序存儲器容量:型號ROMRAM

14、8031/320128B/256B8051/524KB/8KB128B/256B8751/524KB/8KB EPROM128B/256B89X51/524KB/8KB FLASH128B/256B 隨著單片機制造技術的發(fā)展,現(xiàn)在內(nèi)部ROM有64KB,RAM達幾KB的都有。在進行單片機應用系統(tǒng)開發(fā)時,應注意選擇,能不擴展的盡量不擴展。(片內(nèi)128B不包含SFR區(qū))單片機的程序存儲器 單片機的程序存儲器的應用:上電復位時,PC=0000;程序存儲器有保留單元:入口單元地址預留目的存儲單元范圍0000H復位后初始化引導程序00H-02H0003H外部中斷0服務程序(INT0)03H-0AH000B

15、H定時器/計數(shù)器0溢出中斷服務程序0BH-12H0013H外部中斷1服務程序(INT0)13H-1AH001BH定時器/計數(shù)器1溢出中斷服務程序1BH-22H0023H串行口中斷服務程序23H-2AH002BH定時器/計數(shù)器2溢出中斷服務程序2BH-3、單片機的數(shù)據(jù)存儲器 單片機的數(shù)據(jù)存儲器最大尋址為64KB,地址為:0000FFFFH片內(nèi)為128B的數(shù)據(jù)存儲器,片外為64KB,地址有重疊,靠指令區(qū)分00H07H08H0FH10H17H18H1FH2FH30H20H7FH用戶RAM區(qū)位尋址區(qū)3組2組1組0組通用工作寄存器R0R7低128B的數(shù)據(jù)RAM高128B的特殊寄存器區(qū)SFR區(qū)80HFFH

16、單片機的數(shù)據(jù)存儲器 數(shù)據(jù)存儲器中的堆棧:堆棧用于保護中斷時程序的斷點地址,以便中斷返回時程序的繼續(xù)執(zhí)行;堆棧的特點是先進后出,后進先出;堆棧的指令是:PUSH(壓入)和POP(彈出)堆棧寄存器叫SP,其內(nèi)部的數(shù)值叫棧底,初始值為07H,一般應進行設置到50H或60H。MOV SP,#60HPUSH A.PUSH B07H60H61H7FH07HSP60HSPA61HSPB單片機的數(shù)據(jù)存儲器低128B的分區(qū):工作寄存器區(qū),R0-R7,共四組,由PSW中的RS1,RS0決定;位尋址區(qū)20H-2FH,位地址為:00H-7FH;一般數(shù)據(jù)存儲區(qū);堆棧區(qū)(由用戶進行設置,初始值為07H)高128B的分區(qū):

17、特殊功能寄存器(SFR): ACC,B,PSW,P0,P1,P2,P3,IP,IE,TCON,SCON可位尋址(11個) SP,DPTR,TMOD,TH0,TL0,TH1,TL1,SBUF,PCON不可位尋址(共9個) 特殊功能寄存器(SFR)的初始值除P0,P1,P2,P3為FFH,SP為07外,其余均為00H。單片機的特殊功能寄存器(SFR) D7D6D5D4D3D2D1D0CYACF0RS1RS0OV/PPSWPSW(Program State Word)程序狀態(tài)字;CY進位位標志位或借位位標志位;AC半字節(jié)進位位標志位或半字節(jié)借位標志位; F0用戶標志位;RS1,RS0工作寄存器組選擇

18、位,00-0區(qū),01-1區(qū),10-2區(qū),11-3區(qū);OV溢出標志位,當進行補碼運算時,如有溢出,超出-128127范圍時置位; /未定位位,在52中為F1,用戶標志位; P奇偶標志位,每條指令執(zhí)行完后,跟蹤指示A內(nèi)的1 的個數(shù),如為奇數(shù), 則P=1,否則為0,常用于校驗串行通信中的數(shù)據(jù)傳送是否出錯。2-4 振蕩器與時鐘電路及CPU時序1. 振蕩器與時鐘電路:單片機內(nèi)部的增益反向放大器通過XTAL1、XTAL2兩個引腳外接的反饋石英晶體元件構成自激振蕩器。時鐘發(fā)生器把振蕩器的信號進行二分頻,向CPU提供了兩相時鐘脈沖信號P1和P2。時鐘信號的周期稱為S,它是振蕩周期的2倍,在每個時鐘周期S的前半

19、周期,P1有效,后半周期,P2有效。2-4 振蕩器與時鐘電路及CPU時序(續(xù))2. 機器周期和指令周期:單片機的一個機器周期由6個S狀態(tài)周期組成,即S1-S6,每個狀態(tài)又持續(xù)兩個振蕩周期,即P1和P2兩拍,故一個機器周期包含12個振蕩周期,即S1P1,S1P2,S2, P1,S2P2,S6P1,S6P2共12個狀態(tài)拍。若采用12MHz晶振,則每個機器周期為1us。單片機的指令長度分為1B、2B和3B三種,按CPU執(zhí)行每條指令的時間分為單周期指令、雙周期指令和四周期指令三種。每一條指令的執(zhí)行包括取指、執(zhí)指兩個階段。在每個機器周期內(nèi)ALE兩次有效,第一次出現(xiàn)在S1P2和S2P1之期間,第二次出現(xiàn)在

20、S4P2和S5P1期間。2-4 振蕩器與時鐘電路及CPU時序(續(xù))3. 取指、執(zhí)指的時序:2-5 并行輸入/輸出端口8051單片機有四個8位的I/O端口,分別稱為P0,P1,P2,P3,每個端口均為準雙向口,共占32只引腳,每個端口可作為8位的總線使用,也可作為單獨的I/O應用。每個端口都包含一個鎖存器(即特殊寄存器P0-P3),一個輸出驅動器和輸入緩沖器。作輸出線時數(shù)據(jù)可以鎖存,作輸入時可以緩沖。當有外部擴展的存儲器時,P0作為地址的低8位,P2作為高8位組成16位地址總線,而P0復用為8位的數(shù)據(jù)總線。P0P2P3P12-5 并行輸入/輸出端口1、P0口 無外擴存儲器時,P0可作為I/O應用

21、。CPU執(zhí)行傳送或改寫位內(nèi)容的指令時,硬件使C=0,開關MUX處于圖示位置,P0作為通用I/O口。此時,T1處于截止狀態(tài),輸出極變?yōu)槁O開路,此時需加上拉電阻。VCCP0口結構 (1)P0用作輸出口時,當CPU執(zhí)行輸出指令時,寫脈沖加在D鎖存器的CP上,輸出數(shù)據(jù)經(jīng)過鎖存器的D端,反相輸出在Q非,然后加到T2上,到數(shù)據(jù)為1是,T2導通,P0.i輸出為0,當數(shù)據(jù)為0時,T2截止,P0.i的數(shù)據(jù)經(jīng)上拉電阻拉高,為1。VCC 特殊的單片機“讀運算(修改)寫”輸出指令,其執(zhí)行過程為先讀出鎖存器的數(shù)據(jù),然后運算再鎖存到鎖存器,然后輸出到引腳,讀鎖存器中的數(shù)據(jù)時,Q端數(shù)據(jù)經(jīng)過控制開通的三態(tài)緩沖器1送入內(nèi)部數(shù)

22、據(jù)總線。P0口結構 (2)P0用作輸入口時,讀引腳的指令將三態(tài)緩沖器2打開,端口引腳上的數(shù)據(jù)經(jīng)上圖藍色的線輸入內(nèi)部數(shù)據(jù)總線。 在讀引腳時,由于T2并接在引腳上,如果T2導通它會把引腳上的高電平拉成低電平,從而產(chǎn)生誤讀。因此,在讀端口之前,應先向端口鎖存器寫“1”,從而是Q非為“0”,使T2截止。VCCP0口結構 P0口用作數(shù)據(jù)/地址總線使用時,芯片外部有鎖存器: (1)P0口先送出低8位地址再送出數(shù)據(jù) 此時C=1,MUX打到上方,地址/數(shù)據(jù)位驅動T1,其反相驅動T2,當?shù)刂?數(shù)據(jù)位為“1”時,T1導通,T2截止,P0.i輸出為“1”;當?shù)刂?數(shù)據(jù)位為“0”時,T1截止,T2導通,P0.i為“0

23、”。 (2)P0口先送出低8位地址再輸入數(shù)據(jù) 送出地址與上相同,但讀入數(shù)據(jù)時,打開緩沖器2,引腳數(shù)據(jù)經(jīng)緩沖器2進入內(nèi)部數(shù)據(jù)總線。VCCP1口結構 P1口為準雙向口,用作通用I/O口(開關量輸入/輸出),輸出驅動有上拉電阻(實質為由兩個場效應管構成的),其余與P0作為I/O口相同。P2口結構 P2口可作為地址高8位,也可作為通用I/O口。 (1)作為高8位地址總線:MUX打向上方,使地址與反相器3連接,由P2.X輸出地址信息;(2)作為通用I/O口時:MUX打向下方,輸入/輸出與P0口相同。 P3口結構 (1)P3口作為通用I/O口:當CPU執(zhí)行對P3口的I/O操作時,W被置1,P3口變?yōu)橥ㄓ肐

24、/O口,與P0、P1、P2作為I/O時的工作原理一致。P3口除了具有準雙向I/O口以外,各引腳還具有另外一項功能,即第二功能。P3口結構P3口的第二功能:口 線第二功能P3.0RXD(串行口通信數(shù)據(jù)輸入線)P3.1TXD(串行口通信數(shù)據(jù)輸出線)P3.2INT0(外部中斷0信號輸入)P3.3INT1(外部中斷1信號輸入)P3.4T0(計數(shù)器0的外部信號輸入端)P3.5T1(計數(shù)器1的外部信號輸入端)P3.6WR(CPU至片外數(shù)據(jù)存儲器的“寫選通控制”輸出)P3.7RD(CPU至片外數(shù)據(jù)存儲器的讀寫選通控制”輸出) (2)P3口用作第二功能時,鎖存器的輸出Q由硬件設置為1。 P3口輸出時,數(shù)據(jù)由W

25、線經(jīng)反相器3輸出; P3口輸入時,經(jīng)同相器4輸入至第二功能線。端口的負載能力和接口要求 P0口:可驅動8個LS型TTL負載; P1-P3:可驅動4個TTL型負載; ALE端:可驅動8個LS型TTL負載; PSEN:可驅動8個LS型TTL負載。2、端口接口要求1、端口的驅動能力 作為輸入口時,任何TTL或NMOS電路都能以正常的方式驅動8051單片機(HMOS)的P1-P3口,由于其輸出級具有上拉電阻,故可被OC門的電路所驅動,無需上拉電阻; 注意:由于單片機的端口只提供幾毫安的輸出電流,因而,當輸出口去驅動一個普通晶體管的基極(或TTL電路輸入端)時,應在端口與晶體管的基極之間串聯(lián)一個電阻,以

26、限制高電平輸出時的電流。2-6 單片機的基本工作系統(tǒng)組成洗衣機控制電路板2-6 單片機的基本工作系統(tǒng)組成復讀機控制電路板2-6 單片機的基本工作系統(tǒng)組成排隊機控制電路板第二講 80C51的中斷系統(tǒng) 一、80C51的中斷系統(tǒng)結構 中斷的概念 看電視中斷處理中斷請求實際生活中斷返回電話鈴響接聽電話看電視主程序計算機事件發(fā)生事件處理主程序執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應執(zhí)行中斷處理程序中斷返回中斷的概念:IE0TF0IE1TF1TIRI中斷請求標志EX0ET0EX1ET1ES1PX0PT0PX1PT1PS高級低級MCS-51單片機的中斷系統(tǒng)內(nèi)部查詢內(nèi)部查詢?nèi)肟诘刂啡肟诘刂稩NT0I

27、NT1T0T1TXRX中斷允許控制中斷優(yōu)先級EA中斷源1.中斷源 共有五個中斷源,分別是外部中斷兩個、定時中斷兩個和串行中斷一個,它們是:外部中斷0-INT0,由P3.2提供,外部中斷1INT1,由P3.3提供,外部中斷有兩種信號方式,即電平方式和脈沖方式。(IT0、IT1)T0溢出中斷; 由片內(nèi)定時/計數(shù)器0提供T1溢出中斷; 由片內(nèi)定時/計數(shù)器1提供串行口中斷RI/TI; 由片內(nèi)串行口提供二、中斷源2、中斷源入口地址具體入口如下:中斷源 入口地址INT0 0003T0 000BHINT1 0013HT1 001BHRI/TI 0023H在這些單元中往往是一些跳轉指令,跳到真正的中斷服務程序

28、,這是因為給每個中斷源安排的空間只有8個單元。 三、 中斷控制的寄存器 與中斷控制有關的控制寄存器有四個:TCON-定時控制寄存器, IE-中斷允許控制寄存器,IP-中斷優(yōu)先級控制寄存器,SCON-及串行口控制寄存器。 定時控制寄存器TCON D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中斷請求標志觸發(fā)方式選擇0 低電平1 下降沿串行口控制寄存器SCON D7D6D5D4D3D2D1D0TIRI串行中斷請求標志中斷允許控制寄存器IE D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0中斷優(yōu)先級控制寄存器(IP) D7D6D5D4D3D2D1D0

29、PSPT1PX1PT0PX00 禁止,1允許0 低級別,1高級別同一優(yōu)先級的優(yōu)先權排隊如下表:IP=09H=0000 1001PT1、PX0高INT0、T1、T0、INT1、串行口IP=55H=0101 0101PS、PX1、PX0 同級別,都為1PT0、PT1 同級別,都為0處理順序為 PX0 PX1 PS PT0 PT1 INT0 INT1 RX / TX T0 T1例:D7D6D5D4D3D2D1D0PSPT1PX1PT0PX01、中斷請求標志 IT0,外中斷0觸發(fā)方式控制位。 =0,電平觸發(fā)方式。 =1,邊沿觸發(fā)方式(下降沿有效)。 IE0,外中斷0中斷請求標志位。 TF0,T0溢出中

30、斷請求標志位。 IT1 、IE1、 TF1類同 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON (88H) TCON的中斷標志 2、SCON的中斷標志 RI,接收中斷標志位。 TI,發(fā)送中斷標志位。 TI RISCON (98H)注意:RI和TI由硬件置位、由軟件清除。 3、中斷允許控制 EX0,外中斷0允許位;ET0,T0中斷允許位; EX1,外中斷0允許位;ET1,T1中斷允許位;ES ,串口中斷允許位;EA , CPU中斷允許(總允許)位。 EA ES ET1 EX1 ET0 EX0 IE (A8H) 4、中斷優(yōu)先級控制 PX0,外中斷0優(yōu)先級設定位;PT0,T0

31、優(yōu)先級設定位;PX1,外中斷0優(yōu)先級設定位;PT1,T1優(yōu)先級設定位;PS ,串口優(yōu)先級設定位。 PS PT1 PX1 PT0 PX0 IP (B8H)中斷優(yōu)先級三條原則: 同時收到幾個中斷時,響應優(yōu)先級別最高的 中斷過程不能被同級、低優(yōu)先級所中斷 低優(yōu)先級中斷服務,能被高優(yōu)先級中斷有2個優(yōu)先級狀態(tài)觸發(fā)器: 高優(yōu)先級狀態(tài)觸發(fā)器 低優(yōu)先級狀態(tài)觸發(fā)器 中斷響應條件 有中斷請求; 對應中斷允許位為1,開中斷(即EA=1)同時滿足時,才可能響應中斷。一、中斷響應條件和時間 80C51單片機中斷處理過程 硬件受阻,不產(chǎn)生LCALL的幾種情況: 正在處理同級或高優(yōu)先級中斷; 當前查詢的機器周期不是所執(zhí)行指

32、令的最后一個機器周期。 正執(zhí)行的指令為RET、RETI或任何訪問IE或IP的指令(只有在這些指令后面至少再執(zhí)行一條指令時才能接受中斷請求)。 受阻未得到響應的中斷,若條件消失時該中斷標志已不再有效,該中斷將不被響應。 相應優(yōu)先級狀態(tài)觸發(fā)器置1 執(zhí)行硬件LCALL指令 把PC的內(nèi)容入棧 相應中斷服務程序的入口送PC 執(zhí)行中斷服務程序。二、 中斷響應過程 中斷響應過程的前兩步是由中斷系統(tǒng)內(nèi)部自動完成的,而中斷服務程序則要由用戶編寫程序來完成。 三、中斷程序舉例 例1:單外中斷源P1口外部中斷信號INT0數(shù)據(jù)80C51char Data;void main() EA=1;EX0=1;while(1)

33、 - - - 主程序: void IRQ () interrupt 0 Data =P1; 中斷服務程序: 第三講 80C51的定時/計數(shù)器實現(xiàn)定時常用的三種方法:軟件定時:占用CPU時間,效率低。用555電路:不可編程??删幊绦酒汗δ軓?,需要另外擴展。 單片機內(nèi)部有2個16位的定時/計數(shù)器:使用靈活,編程方便。1、定時/計數(shù)器的結構和工作原理 加1計數(shù)器(高8位、低8位) TMOD,工作方式設置; TCON,啟動、停止及設置溢出標志。 一、定時/計數(shù)器的結構 2、定時/計數(shù)器的工作原理計數(shù)器脈沖來源:振蕩器脈沖經(jīng)過12分頻T0或T1引腳的外部脈沖計數(shù)功能-計數(shù)脈沖來自相應的外部輸入引腳,T

34、0為P3.4,T1為P3.5。定時功能-計數(shù)輸入信號是內(nèi)部時鐘脈沖,每個機器周期使寄存器的值加1。所以,計數(shù)頻率是振蕩頻率的1/12。TMOD中,各有一個控制位(CT),分別用于控制定時/計數(shù)器T0和T1工作在定時器方式還是計數(shù)器方式。 定時模式,對內(nèi)部機器周期計數(shù) 定時時間 t 計數(shù)值N x Tcy 計數(shù)模式,對外部事件脈沖計數(shù) 計數(shù)脈沖周期要大于2 Tcy 計數(shù)值:溢出時計數(shù)器值計數(shù)初值。 計數(shù)器全1時,再輸入1個脈沖就回零,并發(fā)生 溢出(TCON中TF0或TF1置1), 發(fā)中斷請求。二、定時器計數(shù)器的控制寄存器 與定時器計數(shù)器有關的控制寄存器有:定時器控制寄存器TCOND7D6D5D4D

35、3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中斷請求標志觸發(fā)方式選擇啟動定時/計數(shù)器0 低電平1 下降沿0 停止1 啟動工作方式控制寄存器TMOD T1控制T0控制M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7GATE門控位C/T計數(shù)/定時選擇M1 M0工作方式選擇計數(shù)脈沖輸入三、定時器計數(shù)器的工作方式 1. 方式013位方式。由TL0的低5位和TH0的8位組成。TH0溢出時,置位TF0標志,向CPU發(fā)出中斷請求。TF0T0TR0GATEINT011&C/T=1振蕩器1/12C/T=0TL0 TH08位低5位13位計數(shù)器定時器計數(shù)器定時= (21

36、3 X)*12*1/fosc 8*10-3=(213-x)*12*1/(12*106)X = 213 8000 =192 =0 xC0計數(shù)初值:X213N2. 方式116位方式 振蕩器1/12TL0 TH0TF011&T0TR0/TR1GATEINT0C/T=0C/T=18位8位16位計數(shù)器16位計數(shù),由TL0作為低8位、TH0作為高8位 。16位計數(shù),由TL1作為低8位、TH1作為高8位初值:X216N定時= (216 X)*12*1/fosc1*10-3=(216-X)*12*1/(6*106)1000=(65536-X)*2X=65036 FE0CH 3. 方式28位自動裝入時間常數(shù)方式

37、 TF0振蕩器1/1211&T0TR0GATEINT0C/T=0C/T=1TL0 TH0自動重裝初值的8位計數(shù)方式 ,適合于用作較精確的脈沖信號發(fā)生器。初值:X28N4. 方式32個8位方式 僅T0可以工作在方式3,T1處于方式3時停止計數(shù)。此時T0分成2個獨立的計數(shù)器TL0和TH0 ,前者用原來T0的控制信號(TR0、TF0),后者用原來T1的控制信號(TR1、TF1)。 (1) TH0由TR1啟動/停止,溢出TF1(2)TL0由TR0啟動/停止,溢出TF0(3)TH0只能定時,TL0可以定時/計數(shù),且都是8位定時T=(28)*12foscTL0計數(shù)初值28 設計數(shù)器最大計數(shù)值為M,選擇不同

38、的工作方式最大計數(shù)值不同。12MHZ方式0:M=213=8192 , 8.192ms方式1:M=216=65536, 65.536ms方式2:M=28=256, 256us方式3:M=28=256, 256us四、應用舉例計算計數(shù)器的計數(shù)初值: 編程時將計數(shù)初值送THi、 TLi; 可編程器件在使用前需要進行初始化:確定TMOD控制字:編程時將控制字送TMOD; 開中斷(如果使用中斷方式): 編程實置位EA、ETi TRi位置位控制定時器的啟動和停止。 【例】若單片機晶振為12MHz,要求產(chǎn)生500s的定時,試計算X的初值。解:采用方式0:500*10-6=(213-X)*12*1/foscx

39、=7692=1E0CH=1 1110 000 0 1100 F0H 0CH即將F0H裝入TH0,0CH裝入TL0。TMOD=GATE C/T M1M0 GATE C/T M1M0 0 0 0 0 0 0 00 00H 采用方式1:500*10-6=(216-X )*12*1/foscx=65036=FE0CH即將FEH裝入TH1,0CH裝入TL1。TMOD=GATE C/T M1M0 GATE C/T M1M0 0 0 01 0 0 0 0 10Hmain()函數(shù)中:TMOD=0 x01;/設置定時器0為工作方式1TH0=0 xFE; /定時器0高8位給初值TL0=0 xC0; /定時器0低8

40、位給初值EA=1; /開總中斷ET0=1; /開定時器0中斷TR0=1; /啟動定時器0程序編寫中斷服務程序中重新裝入定時初值void timer0() interrupt 1 TH0=0 xFE; /定時器0高8位給初值TL0=0 xC0; /定時器0低8位給初值 51單片機的串口通信 51單片機的串行接口 一、 串行通信的基本概念 并行 和 串行 并行通信的優(yōu)點是速度快,效率高,確點是不適合遠距離通信。串行通信剛好相反。單工:信息只能沿著一個方向傳播半雙工:信息沿一條線雙向傳播,不能同時實 現(xiàn)雙向傳播。全雙工:使用兩條獨立的數(shù)據(jù)通道,收發(fā)可同時進行。單工、半雙工 和 全雙工 同步方式和異步

41、方式 (1) 同步方式是將一大批數(shù)據(jù)分成幾個數(shù)據(jù)塊, 數(shù)據(jù)塊之間用同步字符予以隔開, 而傳輸?shù)母魑欢M制碼之間都沒有間隔。 其基本特征是發(fā)送與接收時鐘始終保持嚴格同步。 (2)異步通信是按幀傳送數(shù)據(jù), 它利用每一幀的起、止信號來建立發(fā)送與接收之間的同步,每幀內(nèi)部各位均采用固定的時間間隔, 但幀與幀之間的時間間隔是隨機的。其基本特征是每個字符必須用起始位和停止位作為字符開始和結束的標志, 它是以字符為單位一個個地發(fā)送和接收的。 同步方式和異步方式二、 與串行口有關的特殊功能寄存器 1. 數(shù)據(jù)緩沖器SBUF 串行口緩沖器SBUF是可直接尋址的特殊功能寄存器, 其內(nèi)部RAM字節(jié)地址是99H。在物理上

42、, 它對應著兩個獨立的寄存器, 一個發(fā)送寄存器, 一個接收寄存器。發(fā)送時, 就是CPU寫 SBUF的時候; 接收時, 就是讀取SBUF的過程, 接收寄存器是雙緩沖的, 以避免在接收下一幀數(shù)據(jù)之前, CPU未能及時響應接收器的中斷, 沒有把上一幀數(shù)據(jù)讀走, 而產(chǎn)生兩幀數(shù)據(jù)重疊的問題。 2. 串行口控制寄存器SCON SCON用于控制和監(jiān)視串行口的工作狀態(tài), 其各位定義如圖 5.3 所示。相應的各位功能介紹如下: SM0、SM1: 用于定義串行口的操作模式, 兩個選擇位對應 4 種模式,見表6.2。其中fOSC是振蕩器頻率, UART為通用異步接收和發(fā)送器的英文縮寫。 SM2: 多機通信時的接收允

43、許標志位。 在模式 2 和 3 中, 若SM2 = 1, 且接收到的第 9 位數(shù)據(jù)(RB8)是 0, 則接收中斷標志(RI)不會被激活。在模式1中, 若SM2=1 且沒有接收到有效的停止位, 則 RI不會被激活。 在模式 0 中, SM2 必須是 0。 SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI 特殊功能寄存器PCON中, 只有一位(最高位)SMOD與串行口的工作有關, 該位是串行口波特率系數(shù)的控制位: SMOD=1 時, 波特率加倍, 否則不加倍。 PCON的地址為 87H, 不可位尋址, 因此初始化時需要字節(jié)傳送。 SCOND7D6D5D4D3D2

44、D1D0SMOD0-GF1GF0PDIDL 3. 電源控制寄存器PCON串行口操作模式選擇 SM0 SM1 模式 功 能 波特率 0 00 11 01 10101同步移位寄存器 8位UART 9位UART 9位UART fOSC/12 可變(T1溢出率) fOSC/64 或fOSC/32 可變(T1溢出率) 三、 串行口的 4 種工作模式 模式 0 同步移位寄存器輸入輸出模式,可外接移位寄存器,以擴展I/O口。 2. 模式 1 串行口工作于模式 1 時, 為波特率可變的 8 位異步通信接口。數(shù)據(jù)位由 P3.0 (RXD)端接收, 由P3.1(TXD)端發(fā)送。 傳送一幀信息為 10 位: 一位起

45、始位(0), 8 位數(shù)據(jù)位(低位在前)和一位停止位(1)。波特率是可變的, 它取決于定時器 T1 的溢出速率及SMOD的狀態(tài)。 模式 1 發(fā)送過程。 用軟件清除 TI后, CPU執(zhí)行任何一條以 SBUF為目標寄存器的指令, 就啟動發(fā)送過程。數(shù)據(jù)由 TXD引腳輸出, 此時的發(fā)送移位脈沖是由定時器 /計數(shù)器 T1 送來的溢出信號經(jīng)過 16 或 32 分頻而取得的。一幀信號發(fā)送完時, 將置位發(fā)送中斷標志TI=1, 向CPU申請中斷, 完成一次發(fā)送過程。 (2) 模式 1 接收過程。 用軟件清除 RI后, 當允許接收位 REN被置位 1 時, 接收器以選定波特率的 16 倍的速率采樣 RXD引腳上的電平, 即在一個數(shù)據(jù)位期間有 16 個檢測脈沖, 并在第 7、 8、9 個脈沖期間采樣接收信號, 然后用三中取二的原則確定檢測值, 以抑制干擾。 并且采樣是在每個數(shù)據(jù)位的中間, 避免了信號邊沿的波形失真造成的采樣錯誤。當檢測到有從“1”到“0”的負跳變時, 則啟動接收過程, 在接收移位脈沖的控制下, 接收完一幀信息。 當最后一次移位脈沖產(chǎn)生時能滿足下列兩個條件: RI=0; 接收到的停止位為 1 或 SM2=0。 則停止位送入RB8

溫馨提示

  • 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

提交評論