版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第四章串行接口與定時計數(shù)器1.
串行接口的一般概念單片機與外界進行信息交換稱之為通訊(Communication)。單片機的通訊方式有兩種:并行通訊:數(shù)據(jù)的各位同時發(fā)送或接收。串行通訊:數(shù)據(jù)一位一位順序發(fā)送或接收。參看下圖:一、串行接口及應(yīng)用(一).異步通訊以字符為傳送單位用起始位和停止位標識每個字符的開始和結(jié)束。字符間隔不固定,只需字符傳送時同步。異步通訊常用格式:一個字符幀一.串行通訊的基本方式
D0D1D2D3D4D5D6D7停止位起始位異步通訊的雙方需要兩項約定:1.字符格式一幀字符位數(shù)的規(guī)定:數(shù)據(jù)位,校驗位,起始位和停止位。2.波特率(位/秒)——對傳送速率的規(guī)定波特率:每秒鐘傳送的位數(shù),記為bps(bit/sec)。例:要求每秒傳送120個字符,每幀為10位。解:B=120×10=1200波特 每位0.83ms數(shù)據(jù)位傳輸率=120×8=960位/秒(二)同步通訊: 數(shù)據(jù)塊傳遞開始要用同步字符來指示,要求由時鐘來實現(xiàn)發(fā)送端與接收端之間的同步,故硬件較復(fù)雜。串行通信的校驗方法
目的:保證高效而無差錯的傳送數(shù)據(jù)。校驗位:可以奇校驗、偶校驗或沒有校驗位。奇偶校驗:主要用于對一個字符的傳輸過程進行校驗。通常把數(shù)據(jù)位和校驗位中1的個數(shù)為奇數(shù)個稱為奇校驗。通常把數(shù)據(jù)位和校驗位中1的個數(shù)為偶數(shù)個稱為偶校驗。異步傳輸信息冗余較大,例如:1+8+1+2中有效位數(shù)只有8位。 串行傳輸中的數(shù)據(jù)傳輸方向 如果在通信過程的任意時刻,信息只能由一方A傳到另一方B,則稱為單工。(無線電對講機) 如果在任意時刻,信息既可由A傳到B,又能由B傳A,但只能由一個方向上的傳輸存在,稱為半雙工傳輸。 如果在任意時刻,線路上存在A到B和B到A的雙向信號傳輸,則稱為全雙工。(電話)1.數(shù)據(jù)緩沖器SBUF發(fā)送SBUF和接收SBUF共用一個地址99H 。 1)發(fā)送SBUF存放待發(fā)送的8位數(shù)據(jù),寫入SBUF將同時啟動發(fā)送。 發(fā)送指令: MOV SBUF,A2)接收SBUF存放已接收成功的8位數(shù)據(jù),供CPU讀取。 接收指令: MOVA,SBUF一.串行接口控制字2.串行口控制/狀態(tài)寄存器SCON(98H)SM0,SM1:選擇串行口4種工作方式。SM2:多機控制位,用于多機通訊。REN:允許接收控制位,REN=1,允許接收;REN=0,禁止接收。TB8發(fā)送的第9位數(shù)據(jù)位,可用作校驗位和地址/數(shù)據(jù)標識位RB8:接收的第9位數(shù)據(jù)位或停止位TI:發(fā)送中斷標志,發(fā)送一幀結(jié)束,TI=1,必須軟件清零RI:接收中斷標志,接收一幀結(jié)束,RI=1,必須軟件清零3.節(jié)電控制寄存器PCONSMOD(PCON.7):波特率加倍控制位。SMOD=1,波特率加倍,SMOD=0,則不加倍。串行口的工作方式
方式0:同步方式(移位寄存器方式) 要想移位寄存器工作,需要向其時鐘輸入端CLK送去移位脈沖,接收一個脈沖便移動一位。該脈沖由TXD提供(移位脈沖),參與發(fā)送或接收的數(shù)據(jù)均出入于RXD端??捎糜跀U展8位并行輸入輸出口
輸出:將8位數(shù)據(jù)以fos/12的固定波特率從RXD輸出,低位在前,高位在后。發(fā)送完一幀數(shù)據(jù)后,發(fā)送中斷標志TI由硬件置位。
輸入:
置位允許接收控制位REN=1。當(RI)=0和(REN)=1同時滿足時,開始接收。當接收到第8位數(shù)據(jù)時,將數(shù)據(jù)移入接收寄存器,并由硬件置位RI。
方式1:波特率可變的10位異步通訊接口發(fā)送或接收一幀信息,包括1個起始位0,8個數(shù)據(jù)位和1個停止位1。輸出:串行數(shù)據(jù)從TXD引腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬件置位TI。
輸入:在(REN)=1時,串行口采樣RXD引腳,當采樣到1至0的跳變時,確認是開始位0,就開始接收一幀數(shù)據(jù)。只有當(RI)=0且停止位為1或者(SM2)=0時,停止位才進入RB8,8位數(shù)據(jù)才能進入接收寄存器,并由硬件置位中斷標志RI;否則信息丟失。所以在方式1接收時,應(yīng)先用軟件清零RI和SM2標志。
方式2:固定波特率的11位UART方式 它比方式1增加了一位可程控為1或0的第9位數(shù)據(jù)。
輸出:它可作為多機通訊中地址/數(shù)據(jù)信息的標志位,也可以作為數(shù)據(jù)的奇偶校驗位。
輸入:
在接收到附加的第9位數(shù)據(jù)后,當(RI)=0或者(SM2)=0時,第9位數(shù)據(jù)才進入RB8,8位數(shù)據(jù)才能進入接收寄存器,并由硬件置位中斷標志RI;否則信息丟失。且不置位RI。
再過一位時間后,不管上述條件時否滿足,接收電路即行復(fù)位,并重新檢測RXD上從1到0的跳變。
(4)方式3:異步第9位方式
方式3為波特率可變的11位UART方式。除波特率外,其余與方式2相同。當時鐘頻率選用11.0592MHZ時,取易獲得標準的波特率,所以很多單片機系統(tǒng)選用這個看起來“怪”的晶振就是這個道理。右表列出了定時器T1工作于方式2常用波特率及初值。常用波特率Fosc(MHZ)SMODTH1初值1920011.05921FDH960011.05920FDH480011.05920FAH240011.05920F4h120011.05920E8h串口的電平轉(zhuǎn)換電路RS232使EIA(ElectronicsIndustriesAssociation)組織推薦的、目前最常用的一種串行通訊接口標準。采用25芯連接器或9芯連接器。常用電平為-12V~+12V邏輯“1”為-3V~-25V,邏輯“0”為+3V~+25VTTL與EIA之間需要用接口電路進行轉(zhuǎn)換為什么需要電平轉(zhuǎn)換電路
單片機使用的是TTL電平,單片機的串口輸出信號也是如此,串行通信中一般使用的是RS232通信協(xié)議需要外接接口進行電平匹配MAX232和單片機串口連接的典型電路單片機和單片機之間的串行通信也需要電平轉(zhuǎn)換芯片嗎?對于兩個單片機而言,二者都是TTL電平,所以不需要電平轉(zhuǎn)換芯片。定時/計數(shù)器中的核心部件為可預(yù)置初值計數(shù)器。預(yù)置初值后開始計數(shù),直至計數(shù)值歸0或產(chǎn)生溢出,可申請中斷。K1K2可預(yù)置初值計數(shù)器中斷請求功能選擇啟動控制內(nèi)部時鐘脈沖(定時)外部輸入脈沖(計數(shù))溢出信號計數(shù)脈沖計數(shù)初值二.定時/計數(shù)器的工作原理
例:設(shè)CTC中為8位加1計數(shù)器。按要求選擇功能和初值。1.要求檢測到100個脈沖,發(fā)中斷請求,通知CPU。選計數(shù)功能,計數(shù)初值為156。2.要求定時每隔100s時間,發(fā)一次中斷請求。設(shè)內(nèi)部時鐘周期1s選定時功能,計數(shù)初值為156。一.定時/計數(shù)器的應(yīng)用1.計數(shù)功能:生產(chǎn)線上產(chǎn)品計數(shù)。每個產(chǎn)品通過得到一個脈沖信號,計數(shù)器記錄脈沖個數(shù),當計數(shù)值與設(shè)定值相等,啟動包裝機器。檢測轉(zhuǎn)速。電機轉(zhuǎn)動一圈發(fā)出一個脈沖,計數(shù)器記錄一秒時間內(nèi)脈沖個數(shù),顯示轉(zhuǎn)速。2.定時功能:用于實時控制,定時采樣、定時啟動等。當定時時間與設(shè)定值相等,執(zhí)行規(guī)定操作。3 定時/計數(shù)器電路CTC3-2-1 MCS-51定時/計數(shù)器2個可獨立控制的16位定時器/計數(shù)器:T0、T1定時器初始化編程:1.功能選擇(定時/計數(shù)) 2.位數(shù)選擇(8/13/16位)3.啟動方式選擇(內(nèi)部啟動/外部啟動)4.啟動控制(啟動/停止)5.恢復(fù)初值方式(自動重裝/軟件重裝)1)功能選擇位C/T:=0,定時功能,計數(shù)內(nèi)部機器周期脈沖;=1,計數(shù)功能,計數(shù)引腳T0(T1)輸入的負脈沖。1.TMOD定時器方式寄存器(89H)T1T0一.定時器控制、狀態(tài)寄存器2)方式選擇位M1、M0:4種工作方式:13/16/8位3)門控方式選擇位GATE:=0,非門控方式(內(nèi)部啟動):
TRx=1,啟動定時器工作;
TRx=0,停止定時器工作。=1,門控方式(外部啟動):TRx=1且引腳INTx=1才啟動。確定定時器工作方式指令:MOVTMOD,#方式字例:設(shè)T0用方式2非門控定時,T1用方式1門控計數(shù)。 MOV TMOD,#2.TCON定時器控制/狀態(tài)寄存器1)啟動控制位TR0、TR1=0,停止定時器工作=1,啟動定時器工作例:啟動T0: SETB TR02)溢出中斷標志位TF0、TF1定時器溢出使TFx=1,引起中斷請求,CPU響應(yīng)Tx中斷后,自動清0TFx??捎密浖z測TFx,必須軟件清0。
WAIT:JBCTF0,NEXT;檢測T0是否溢出
SJMP WAIT ;未溢出,繼續(xù)檢測
NEXT:… ;溢出,TF0清0,處理溢出3.可預(yù)置初值的16位加1計數(shù)器TH0、TL0、TH1、TL1預(yù)置T0初值指令: MOV TH0,#XH
MOV TL0,#XL二.
定時器工作方式
由方式選擇位M1、M0設(shè)定1.方式013位定時/計數(shù)器。THx8位和TLx低5位組成13位加1計數(shù)器計數(shù)外部脈沖個數(shù):1~8192(213)定時時間(T=1s):1s~8.19ms2.方式116位定時/計數(shù)器。THx8位和TLx8位組成16位加1計數(shù)器計數(shù)外部脈沖個數(shù):1~65536(216)定時時間(T=1s):1s~65536×T=65.54ms3.
方式2自動恢復(fù)初值8位定時/計數(shù)器。TLx為8位加1計數(shù)器,THx為8位初值暫存器。用于需要重復(fù)定時和計數(shù)的場合。最大計數(shù)值:256(28)最大定時時間(T=1s):256s4.方式3T0分成2個8位定時器:TL0定時/計數(shù)器和TH0定時器TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1,TF1。T1不能使用方式3工作5.計算時間常數(shù)X(計算初值)計數(shù)功能:X=2n-計數(shù)值 n:8/13/16定時功能:X=2n-t/T t:定時時間、T:機器周期定時器初始化編程:使用定時器工作之前,先寫入控制寄存器,確定好定時器工作方式1.按實際需要選擇定時/計數(shù)功能2.按時間或計數(shù)長度選擇方式3.計算時間常數(shù)初始化編程格式:MOVTMOD,#方式字;選擇方式MOVTHx,#XH ;裝入Tx時間常數(shù)MOVTLx,#XL(SETBEA ) ;開Tx中斷(SETBETx )SETBTRx ;啟動Tx定時器
三.MCS-51定時器的應(yīng)用4.溢出處理編程格式:1)查詢方式:先查詢定時器溢出標志,再進行溢出處理。 … ;定時器初始化
WAIT:JBC TFx,PT;檢測溢出標志
SJMP WAIT PT: MOV THx,#XH;重裝時間常數(shù)
MOV TLx,#XL
… ;溢出處理
SJMP WAIT2)中斷方式:初始化后執(zhí)行其他任務(wù),中斷服務(wù)程序處理溢出。
ORG 0000H LJMP MAIN ORG 000BH(001BH);Tx中斷入口
LJMP PTS MAIN: … ;初始化后執(zhí)行其他程序
PTS: … ;溢出中斷服務(wù)程序
MOV THx,#XH ;重裝時間常數(shù)
MOV TLx,#XL RETI四.舉例由P1.0輸出方波信號,周期為2ms,
設(shè)fosc=12MHz。2ms解:每隔1ms改變一次P1.0的輸出狀態(tài)。用T0非門控方式1定時。計算時間常數(shù):X=216-t/T=216-1000/1=FC18H(1)查詢方式:
ORG0000h
JMPSTART ORG 1000H START: MOV TMOD,#01H MOV TL0,#18H MOV TH0,#0FCH SETB TR0 LOOP: JBC TF0,PTF0 SJMP LOOP PTF0: CPL P1.0 MOV TL0,#18H MOV TH0,#0FCH SJMP LOOPEND(2)中斷方式
ORG 0000H AJMP MAIN ORG 000BH AJMP PT0INT ORG 0100H MAIN: MOV SP,#60H MOV TMOD,#01H MOV TL0,#18H MOV TH0,#0FCH SETB EA SETB ET0 SETB TR0 HERE: SJMP HERE PT0INT:CPL P1.0 MOV TL0,#18H MOV TH0,#0FCH RETIEND長定時方法:增加一個軟件計數(shù)器或一個硬件計數(shù)器。硬件方式:T0定時,T1計數(shù)T0的定時跳變信號P1.0的負跳變次數(shù),計滿5個跳變?yōu)?秒。P1.0P1.7編制程序使P1.7驅(qū)動LED亮1秒滅1秒地閃爍。設(shè)時鐘頻率為6MHzT0方式1定時,T1方式2計數(shù)T1計數(shù)值為5,初值為#0FBH;設(shè)置T0的定時值為100ms,初值為#3CH;T0溢出后(每100ms),P1.0反轉(zhuǎn)一次同時P1.0每下跳變一次(反轉(zhuǎn)兩次),T1計數(shù)一次累計5次,P1.7反轉(zhuǎn)一次START: MOVTMOD,#61H;T0方式1定時,T1方式2計數(shù)
MOVTL1,#0FBH;差5個負跳變就溢出,同時自動重裝
MOVTH1,#0FBH;T1計數(shù)值為5
CLRP1.0 SETBTR1;T1開始計數(shù)LOOP1: CPLP1.7LOOP2: MOVTL0,#3CH;設(shè)置T0的定時值為100ms, MOVTH0,#0B0H;每100ms作一次反相跳變
SETB TR0;T0開始計數(shù)LOOP3: JBC TF0,LOOP4;T0溢出后(每100ms),P1.0反轉(zhuǎn)一次
SJMP LOOP3;同時P1.0每下跳變一次(反轉(zhuǎn)兩次),LOOP4: CPL P1.0;T1計數(shù)一次
JBC TF1,LOOP1;累計5次,P1.7反轉(zhuǎn)一次
SJMP LOOP2例定時器外部引腳T0(T1)用作外部中斷信號輸入端。外部負脈沖引起中斷請求,選計數(shù)方式,時間常數(shù)為FFH。例:門控方式測量正脈沖寬度解:INT1引腳輸入被檢測信號,記錄在正脈沖的時間內(nèi)包含機器脈沖個數(shù)。TR1=1 T1啟動
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《子網(wǎng)掩碼的計算》課件
- 第6單元 科技文化與社會生活(B卷·能力提升練)(解析版)
- 百貨商店電器城保安工作總結(jié)
- 集裝箱散貨轉(zhuǎn)化公路運輸代理協(xié)議三篇
- 2023-2024年員工三級安全培訓(xùn)考試題附參考答案【典型題】
- 乘除法應(yīng)用題課件
- 2023年-2024年企業(yè)主要負責(zé)人安全培訓(xùn)考試題附解析答案
- 教育資源整合研究報告
- 《督脈與腧穴》課件
- 云平臺下的供應(yīng)鏈協(xié)同-洞察分析
- 2024-2025學(xué)年華東師大新版八年級上冊數(shù)學(xué)期末復(fù)習(xí)試卷(含詳解)
- 《praat使用入門》課件
- 醫(yī)藥銷售主管市場規(guī)劃
- 測量應(yīng)急管理方案
- 2024-2025學(xué)年深圳市初三適應(yīng)性考試模擬試卷語文試卷
- DB22JT 147-2015 巖土工程勘察技術(shù)規(guī)程
- 杵針療法課件
- 期末測試卷-2024-2025學(xué)年語文四年級上冊統(tǒng)編版
- 期末復(fù)習(xí)試題(試題)-2024-2025學(xué)年三年級上冊數(shù)學(xué)蘇教版
- 2024美容院規(guī)章制度(31篇)
- 《咳嗽的診斷與治療指南(2021)》解讀課件
評論
0/150
提交評論