版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章 I/O接口電路,7-1單片機(jī)并行接口PIO,7-2定時(shí)/計(jì)數(shù)器電路CTC,7-3可編程并行接口芯片,7-5串行I/O接口SIO,7-1 單片機(jī)并行接口PIO,PIO:并行I/O接口 用于微型機(jī)與外部設(shè)備之間并行傳送數(shù)據(jù)。,7-1-1MCS-51的并行接口 4個(gè)8位雙向并行IO接口: P0.0P0.7、P1.0P1.7、P2.0P2.7、P3.0P3.7。 均為多功能I/O接口,CPU按當(dāng)前操作自動(dòng)進(jìn)行功能切換。,片內(nèi)接口寄存器在SFR中的映象地址:1I/O數(shù)據(jù)鎖存器:P0、P1、P2、P3、SBUF2I/O控制/狀態(tài)寄存器: IE、IP、TCON、TMOD 、SCON、PCON,一PI
2、O接口內(nèi)部結(jié)構(gòu),輸出鎖存器、輸出驅(qū)動(dòng)器、輸入緩沖器及多路功能切換電路。 1)輸出操作:輸出數(shù)據(jù)經(jīng)過內(nèi)部總線暫存到輸出鎖存器中,經(jīng)過輸出驅(qū)動(dòng)器送到I/O引腳上。輸出鎖存器的內(nèi)容可讀入修改。 2)輸入操作:I/O引腳輸入數(shù)據(jù)經(jīng)過輸入緩沖器送到內(nèi)部總線上。,二PIO接口的三種操作,1.輸出鎖存:輸出將使數(shù)據(jù)寫入輸出鎖存器。 輸出指令:MOVP1,A MOVP1.0,C,2.輸入三態(tài):輸入從I/O引腳上輸入信號(hào),讀信號(hào)打開,引腳信號(hào)通過下三態(tài)門進(jìn)入內(nèi)部總線。為保證可靠輸入,先寫入“1” 。 MOVP1,#0FFH;使輸出驅(qū)動(dòng)器截止 MOVA,P1;輸入 P0P3的復(fù)位狀態(tài)均為FFH,自動(dòng)處于輸入狀態(tài)。
3、,3.讀-修改-寫: 修改輸出鎖存器的內(nèi)容。鎖存器中的數(shù)據(jù)通過上三態(tài)門進(jìn)入內(nèi)部總線,修改后再寫入到鎖存器中。 讀-修改-寫指令:PIO為目的操作數(shù)的指令 ANL P1,A,三.PIO的使用 1. P0口:并行雙向接口或系統(tǒng)總線DB07/AB07,2.P1口:稱為用戶I/O接口。對(duì)片內(nèi)EPROM編程時(shí),用作EPROM低8位地址信號(hào)線。,四.接口負(fù)載能力 P0驅(qū)動(dòng)8個(gè)TTL電路,P1,P2,P3可驅(qū)動(dòng)4個(gè)TTL電路,3. P2口:雙向I/O接口或高8位地址總線AB815 對(duì)讀寫片外存儲(chǔ)器后,引腳仍恢復(fù)輸出鎖存器的內(nèi)容??捎糜谧x寫片外數(shù)據(jù)存儲(chǔ)器:MOV P2,#20H MOV R0,#00 MOVX
4、 A,R0,4. P3口:雙向并行接口和第二功能: 串行接口引腳:TXD、RXD 中斷輸入引腳:INT0、INT1 定時(shí)器輸入引腳:T0、T1 讀寫控制線:RD、WR,P1、P2和P3為準(zhǔn)雙向口。,五. 應(yīng)用舉例,例:用4個(gè)發(fā)光二極管對(duì)應(yīng)顯示4個(gè)開關(guān)的開合狀態(tài)。 如P1.0合則P1.4亮。,1.無條件傳送方式:指示燈立即反映開關(guān)狀態(tài)。,ORG 0000H AJMP MAIN ORG 0100H MAIN:ORL A,#0FH MOV P1,A MOV A,P1 SWAP A MOV P1,A SJMP MAIN,2.中斷傳送方式:先設(shè)好開關(guān)狀態(tài),然后發(fā)出中斷請(qǐng)求信號(hào),改變指示燈亮滅狀態(tài)。,OR
5、G 0000H AJMP MAIN ORG 0003H AJMP IOINT ORG 0100H MAIN:SETB IT0 SETB EX0 SETB EA HERE:SJMP HERE ORG 0500H IOINT:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A RETI,7-2定時(shí)/計(jì)數(shù)器電路CTC,一定時(shí)/計(jì)數(shù)器的應(yīng)用 1計(jì)數(shù)功能: 生產(chǎn)線上產(chǎn)品計(jì)數(shù)。每個(gè)產(chǎn)品通過得到一個(gè)脈沖信號(hào),計(jì)數(shù)器記錄脈沖個(gè)數(shù),當(dāng)計(jì)數(shù)值與設(shè)定值相等,啟動(dòng)包裝機(jī)器。 檢測(cè)轉(zhuǎn)速。電機(jī)轉(zhuǎn)動(dòng)一圈發(fā)出一個(gè)脈沖,計(jì)數(shù)器記錄一秒時(shí)間內(nèi)脈沖個(gè)數(shù),顯示轉(zhuǎn)速。,二定時(shí)/計(jì)數(shù)器的工作原理
6、定時(shí)/計(jì)數(shù)器中的核心部件為可預(yù)置初值計(jì)數(shù)器。預(yù)置初值后開始計(jì)數(shù),直至計(jì)數(shù)值歸0或產(chǎn)生溢出,可申請(qǐng)中斷。 計(jì)數(shù)器有加 1 計(jì)數(shù)或減1計(jì)數(shù)兩種形式。,例:設(shè)CTC中為8位加1計(jì)數(shù)器。按要求選擇功能和初值。 1.要求檢測(cè)到100個(gè)脈沖,發(fā)中斷請(qǐng)求,通知CPU。 選計(jì)數(shù)功能,計(jì)數(shù)初值為156 。 2.要求定時(shí)每隔100s時(shí)間,發(fā)一次中斷請(qǐng)求。設(shè)內(nèi)部時(shí)鐘周期1s 選定時(shí)功能,計(jì)數(shù)初值為156 。,2定時(shí)功能:用于實(shí)時(shí)控制,定時(shí)采樣、定時(shí)啟動(dòng)等。當(dāng)定時(shí)時(shí)間與設(shè)定值相等,執(zhí)行規(guī)定操作。,7-2-1 MCS-51定時(shí)/計(jì)數(shù)器,2個(gè)可獨(dú)立控制的16位定時(shí)器/計(jì)數(shù)器:T0、T1,定時(shí)器初始化編程: 1.功能選擇(
7、定時(shí)/計(jì)數(shù)) 2.位數(shù)選擇(8/13/16位) 3.啟動(dòng)方式選擇(內(nèi)部啟動(dòng)/外部啟動(dòng)) 4.啟動(dòng)控制(啟動(dòng)/停止) 5.恢復(fù)初值方式(自動(dòng)重裝/軟件重裝),一.定時(shí)器控制、狀態(tài)寄存器 1.TMOD定時(shí)器方式寄存器(89H),1)功能選擇位C/T: =0,定時(shí)功能,計(jì)數(shù)內(nèi)部機(jī)器周期脈沖; =1,計(jì)數(shù)功能,計(jì)數(shù)引腳T0(T1)輸入的負(fù)脈沖。,2)方式選擇位M1、M0:4種工作方式:13/16/8位,3)門控方式選擇位GATE : =0,非門控方式(內(nèi)部啟動(dòng)): TRx=1,啟動(dòng)定時(shí)器工作; TRx=0,停止定時(shí)器工作。 =1,門控方式(外部啟動(dòng)):TRx=1且引腳INTx=1才啟動(dòng)。,確定定時(shí)器工
8、作方式指令:MOV TMOD,#方式字 例:設(shè)T0用方式2非門控定時(shí),T1用方式1門控計(jì)數(shù)。MOVTMOD,#,2.TCON定時(shí)器控制/狀態(tài)寄存器,1)啟動(dòng)控制位TR0、TR1 =0,停止定時(shí)器工作 =1,啟動(dòng)定時(shí)器工作 例:?jiǎn)?dòng)T0:SETBTR0,2)溢出中斷標(biāo)志位TF0、TF1 定時(shí)器溢出使TFx=1,引起中斷請(qǐng)求,CPU響應(yīng)Tx中斷后,自動(dòng)清0 TFx。,3可預(yù)置初值的16位加1計(jì)數(shù)器TH0、TL0、 TH1、TL1 預(yù)置T0初值指令:MOVTH0,#XH MOVTL0,#XL,可用軟件檢測(cè)TFx,必須軟件清0。 WAIT:JBC TF0,NEXT;檢測(cè)T0是否溢出 SJMPWAIT
9、;未溢出,繼續(xù)檢測(cè) NEXT: ;溢出,TF0清0,處理溢出,二. 定時(shí)器工作方式由方式選擇位M1、M0設(shè)定,1.方式0 13位定時(shí)/計(jì)數(shù)器。 THx 8位和TLx低5位組成13位加1計(jì)數(shù)器,計(jì)數(shù)外部脈沖個(gè)數(shù):18192(213) 定時(shí)時(shí)間(T=1s):1s 8.19ms,2.方式1 16位定時(shí)/計(jì)數(shù)器。 THx8位和TLx8位組成16位加1計(jì)數(shù)器,計(jì)數(shù)外部脈沖個(gè)數(shù):165536(216) 定時(shí)時(shí)間(T=1s):1s 65536T= 65.54ms,3. 方式2,自動(dòng)恢復(fù)初值8位定時(shí)/計(jì)數(shù)器。TLx為8位加1計(jì)數(shù)器,THx為8位初值暫存器。,用于需要重復(fù)定時(shí)和計(jì)數(shù)的場(chǎng)合。 最大計(jì)數(shù)值:256
10、(28) 最大定時(shí)時(shí)間(T=1s): 256s,4.方式3,T0分成2個(gè)8位定時(shí)器:TL0定時(shí)/計(jì)數(shù)器和TH0定時(shí)器 TL0占用T0控制位:C/T,TR0,GATE; TH0占用T1控制位:TR1。 T1不能使用方式3工作,5.計(jì)算時(shí)間常數(shù)X(計(jì)算初值),計(jì)數(shù)功能:X= 2n -計(jì)數(shù)值n:8/13/16 定時(shí)功能:X= 2n - t/T t:定時(shí)時(shí)間、T:機(jī)器周期,三. MCS-51定時(shí)器的應(yīng)用 定時(shí)器初始化編程:使用定時(shí)器工作之前,先寫入控制寄存器,確定好定時(shí)器工作方式 初始化編程格式:,MOV TMOD,# 方式字;選擇方式 MOV THx,#XH;裝入Tx時(shí)間常數(shù) MOV TLx,#XL
11、 (SETB EA) ;開Tx中斷 (SETB ETx) SETB TRx ;啟動(dòng)Tx定時(shí)器 1. 按實(shí)際需要選擇定時(shí)/計(jì)數(shù)功能 2. 按時(shí)間或計(jì)數(shù)長(zhǎng)度選擇方式 3. 計(jì)算時(shí)間常數(shù),4. 溢出處理編程格式:,1)查詢方式:先查詢定時(shí)器溢出標(biāo)志,再進(jìn)行溢出處理。 ;定時(shí)器初始化 WAIT:JBC TFx,PT ;檢測(cè)溢出標(biāo)志 SJMP WAIT PT:MOVTHx,#XH ;重裝時(shí)間常數(shù) MOVTLx,#XL ;溢出處理 SJMPWAIT,2)中斷方式:初始化后執(zhí)行其他任務(wù),中斷服務(wù)程序處理溢出。 ORG0000H LJMPMAIN ORG000BH(001BH);Tx中斷入口 LJMPPTS
12、MAIN:;初始化后執(zhí)行其他程序 PTS:;溢出中斷服務(wù)程序 MOVTHx,#XH;重裝時(shí)間常數(shù) MOVTLx,#XL RETI,四. 應(yīng)用舉例,例:由P1.0輸出方波信號(hào),周期為2ms,設(shè)fosc=12MHz。,解:每隔1ms改變一次P1.0的輸出狀態(tài)。用T0非門控方式1定時(shí)。 計(jì)算時(shí)間常數(shù):X = 216 - t/T = 216 -1000/1 = FC18H,(1)查詢方式: START:MOVTMOD,# MOVTL0,# MOVTH0,# SETBTR0 LOOP:JBCTF0,PTF0 SJMPLOOP PTF0: CPLP1.0 MOVTL0,# MOVTH0,# SJMPLOO
13、P,(2)中斷方式,ORG0000H AJMPMAIN ORG000BH AJMPPT0INT ORG0100H MAIN:MOVSP,#60H MOVTMOD,# MOVTL0,# MOVTH0,# SETBEA SETBET0 SETBTR0 HERE:SJMPHERE PT0INT:CPLP1.0 MOVTL0,# MOVTH0,# RETI,例P1.7驅(qū)動(dòng)LED亮1秒滅1秒地閃爍,設(shè)時(shí)鐘頻率為6MHz。,長(zhǎng)定時(shí)方法:增加一個(gè)軟件計(jì)數(shù)器或一個(gè)硬件計(jì)數(shù)器。,硬件方式: T0定時(shí),T1計(jì)數(shù)T0的定時(shí)跳變信號(hào)P1.0的負(fù)跳變次數(shù),計(jì)滿5個(gè)跳變?yōu)?秒。,START:MOV TMOD,#61H M
14、OV TL1,#0FBH MOV TH1,#0FBH CLR P1.0 SETB TR1 LOOP1:CPL P1.7 LOOP2 :MOV TL0,#3CH MOV TH0,#0B0H SETBTR0 LOOP3:JBCTF0,LOOP4 SJMPLOOP3 LOOP4:CPLP1.0 JBCTF1,LOOP1 SJMPLOOP2,例定時(shí)器外部引腳T0(T1)用作外部中斷信號(hào)輸入端。,外部負(fù)脈沖引起中斷請(qǐng)求,選計(jì)數(shù)方式,時(shí)間常數(shù)為FFH。,例:門控方式測(cè)量正脈沖寬度 解: INT1引腳輸入被檢測(cè)信號(hào),記錄在正脈沖的時(shí)間內(nèi)包含機(jī)器脈沖個(gè)數(shù)。 1)設(shè)脈寬小于65.5ms 等待查詢INT0,正脈沖
15、過后,讀出TH1TL1。,START:MOV TMOD,#90H MOV TL1,#0H MOV TH1,#0H WAIT1:JBP3.3,WAIT1 SETB TR1 WAIT2 :JNBP3.3,WAIT2 WAIT3 : JBP3.3,WAIT3 CLRTR1 MOVR2,TL1 MOVR3,TH1 ,2)設(shè)脈寬大于65.5ms,中斷方式記錄TH1TL1溢出中斷次數(shù)。,SETBTR1 SETBET1;開T1中斷 SETBEA WAIT2:JNBP3.3,WAIT2;等待正脈沖到來 WAIT3:JBP3.3,WAIT3;等待正脈沖結(jié)束 CLRTR1;關(guān)閉T1 MOVIE,#00;關(guān)閉中斷
16、MOVR2,TL1;讀出T1 MOVR3,TH1 LCALL PPS;計(jì)算脈寬 HERE:SJMPHERE;其他任務(wù) PRIC:INCR4;記錄溢出次數(shù) RETI PPS:;計(jì)算脈寬子程序,計(jì)算脈寬的子程序的計(jì)算式如下: 脈寬t = (R4 216 + R3 R2 ) T(T為機(jī)器周期),7-3可編程并行接口芯片8255用于擴(kuò)展單片機(jī)并行I/O接口。,7-3-1結(jié)構(gòu)與引腳 一.結(jié)構(gòu),1.數(shù)據(jù)線 D07:傳送計(jì)算機(jī)與8255之間的數(shù)據(jù)、控制字和狀態(tài)字。 PA07 PB 07 PC07:傳送8255與外設(shè)之間的數(shù)據(jù)和聯(lián)絡(luò)信息,PC07可用作數(shù)據(jù)線或聯(lián)絡(luò)線,1.3個(gè)8位并行I/O接口PA、PB和PC
17、 包含I/O數(shù)據(jù)鎖存器,控制寄存器和狀態(tài)寄存器。 2.2組控制 A組:PA和PC03、B組:PB和PC47 3.3種工作方式: 基本I/O:輸出鎖存,輸入三態(tài),不用聯(lián)絡(luò)信號(hào)。 應(yīng)答式I/O:輸入/輸出均鎖存,C口用于傳送聯(lián)絡(luò)信號(hào),讀C口可了解外設(shè)當(dāng)前狀態(tài)。 應(yīng)答雙向式:A口為雙向I/O,C口用作A口雙向傳送的聯(lián)絡(luò)信號(hào)線,二. 引腳,2.地址線 CS:片選線 A1,A0:口選線,尋址 PA,PB,PC數(shù)據(jù)口和控制口。,例求8255口地址: 解: A口(7F00H), B口(7F01H), C口(7F02H), 控制口(7F03H),(三)讀寫控制線 RD,WR控制計(jì)算機(jī)與8255之間的信息傳送和
18、流向 (四)復(fù)位線 RESET高電平復(fù)位,使內(nèi)部寄存器全部清零。,7-3-2 8255編程規(guī)定8255初始化編程:往控制口寫入控制字,確定8255工作方式。,方式選擇控制字:D7=1 C口置位/復(fù)位控制字:D7=0,例:8255PA口方式0輸出單片機(jī)片內(nèi)RAM數(shù)據(jù),PB口方式1輸入。,PIOS:MOVDPTR,#7F03H;控制口地址 MOVA,#86;寫控制字 MOVXDPTR,A;設(shè)工作方式 MOVDPTR,#7F00H;PA數(shù)據(jù)口地址 MOVA,R0;取RAM的數(shù)據(jù) MOVXDPTR,A;由PA口輸出 ,7-4可編程多功能接口芯片8155256字節(jié)RAM,3個(gè)并行口PA07、PB07、P
19、C05,1個(gè)14位定時(shí)器。,7-4-1 結(jié)構(gòu)和引腳 一.引腳功能 1.數(shù)據(jù)線 AD07:傳送8155與計(jì)算機(jī)之間的數(shù)據(jù),控制字,狀態(tài)字。 PA07、PB07、PC05 :傳送8155與外設(shè)之間的信息。,2.地址線 CE: IO/M:選擇口/RAM單元 AD07:6個(gè)I/O口和256字節(jié)RAM地址。,3.控制線 ALE:地址鎖存 RD、WR:讀寫控制 4.定時(shí)器輸入/輸出線:TIMERIN、TIMEROUT 5.復(fù)位線RESET,7-5 串行I/O接口SIO,一.串行通訊的基本方式 (一).異步通訊 以字符為傳送單位用起始位和停止位標(biāo)識(shí)每個(gè)字符的開始和結(jié)束字符間隔不固定,只需字符傳送時(shí)同步。 異
20、步通訊常用格式:一個(gè)字符幀,異步通訊的雙方需要兩項(xiàng)約定: 1.字符格式 一幀字符位數(shù)的規(guī)定:數(shù)據(jù)位,校驗(yàn)位,起始位和停止位。,2.波特率(位/秒)對(duì)傳送速率的規(guī)定 例:要求每秒傳送120個(gè)字符,每幀為10位。 解: B=12010=1200波特每位0.83ms 數(shù)據(jù)位傳輸率=1208=960位/秒,(二).同步通訊 以一串字符為一個(gè)傳送單位,字符間不加標(biāo)識(shí)位,在一串字符開始用同步字符標(biāo)識(shí),硬件要求高,通訊雙方須嚴(yán)格同步。,二.串行接口功能,1.發(fā)送器:并串?dāng)?shù)據(jù)格式轉(zhuǎn)換,添加標(biāo)識(shí)位和校驗(yàn)位,一幀發(fā)送結(jié)束,設(shè)置結(jié)束標(biāo)志,申請(qǐng)中斷。 2.接收器:串并數(shù)據(jù)格式轉(zhuǎn)換,檢查錯(cuò)誤,去掉標(biāo)識(shí)位,保存有效數(shù)據(jù),
21、設(shè)置接收結(jié)束標(biāo)志,申請(qǐng)中斷。 3.控制器:接收編程命令和控制參數(shù),設(shè)置工作方式:同步/異步、字符格式、波特率、校驗(yàn)方式、數(shù)據(jù)位與同步時(shí)鐘比例等。,三.串行數(shù)據(jù)傳送方向 單工通訊:數(shù)據(jù)單向傳送。,半雙工通訊:數(shù)據(jù)可分時(shí)雙向傳送。,全雙工通訊:可同時(shí)進(jìn)行發(fā)送和接收。,7-5-1 MCS-51串行接口 1個(gè)全雙工串行接口,可同時(shí)進(jìn)行發(fā)送和接收。,串行接口輸入/輸出引腳:TXD(P3.1)、RXD(P3.0) 數(shù)據(jù)格式(P.237圖):按不同方式,一幀位數(shù) 8/10/11發(fā)送/接收時(shí),數(shù)據(jù)皆低位在前。,一幀字符發(fā)送/接收結(jié)束,置位標(biāo)志位(TI/RI)并申請(qǐng)SIO中斷。 中斷控制:中斷允許位ES 中斷入
22、口:0023H,一.串行接口控制,1.數(shù)據(jù)緩沖器SBUF 發(fā)送SBUF和接收SBUF共用一個(gè)地址99H。 1)發(fā)送SBUF存放待發(fā)送的8位數(shù)據(jù),寫入SBUF將同時(shí)啟動(dòng)發(fā)送。發(fā)送指令:MOVSBUF,A 2)接收SBUF存放已接收成功的8位數(shù)據(jù),供CPU讀取。讀取串行口接收數(shù)據(jù)指令: MOV A,SBUF,2.串行口控制/狀態(tài)寄存器SCON(98H),SM0,SM1:選擇串行口4種工作方式。 SM2:多機(jī)控制位,用于多機(jī)通訊。 REN:允許接收控制位,REN=1,允許接收;REN=0,禁止接收。 TB8發(fā)送的第9位數(shù)據(jù)位,可用作校驗(yàn)位和地址/數(shù)據(jù)標(biāo)識(shí)位 RB8:接收的第9位數(shù)據(jù)位或停止位 TI:
23、發(fā)送中斷標(biāo)志,發(fā)送一幀結(jié)束,TI=1,必須軟件清零 RI:接收中斷標(biāo)志,接收一幀結(jié)束,RI=1,必須軟件清零,3.節(jié)電控制寄存器PCON SMOD(PCON.7):波特率加倍控制位。 SMOD=1,波特率加倍, SMOD=0,則不加倍。,二. 串行接口的工作方式SM0,SM1選擇四種工作方式。,(1) 方式0:同步移位寄存器方式。用于擴(kuò)展并行I/O接口。 1.一幀8位,無起始位和停止位。 2.RXD:數(shù)據(jù)輸入/輸出端。 TXD:同步脈沖輸出端,每個(gè)脈沖對(duì)應(yīng)一個(gè)數(shù)據(jù)位。 3.波特率B = fosc/12 如: fosc=12MHz,B=1MHz,每位數(shù)據(jù)占1s。 4.發(fā)送過程:寫入SBUF,啟動(dòng)
24、發(fā)送,一幀發(fā)送結(jié)束,TI=1。 接收過程:REN=1且RI=0,啟動(dòng)接收,一幀接收完畢,RI=1。,(2) 方式1 8位數(shù)據(jù)異步通訊方式。,1.一幀10位:8位數(shù)據(jù)位,1個(gè)起始位(0),1個(gè)停止位(1)。 2.RXD:接收數(shù)據(jù)端。 TXD:發(fā)送數(shù)據(jù)端。 3.波特率:用T1作為波特率發(fā)生器,B=(2SMOD/32)T1溢出率。 4.發(fā)送:寫入SBUF,同時(shí)啟動(dòng)發(fā)送,一幀發(fā)送結(jié)束,TI=1。 接收:REN=1,允許接收。接收完一幀,若RI=0且停止位為1 (或SM2=0),將接收數(shù)據(jù)裝入SBUF,停止位裝入RB8,并使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。,當(dāng)REN=1,CPU開始采樣RXD引腳
25、負(fù)跳變信號(hào),若出現(xiàn)負(fù)跳變,才進(jìn)入數(shù)據(jù)接收狀態(tài),先檢測(cè)起始位,若第一位為0,繼續(xù)接收其余位;否則,停止接收,重新采樣負(fù)跳變。 數(shù)據(jù)采樣速率為波特率16倍頻,在數(shù)據(jù)位中間,用第7、8、9個(gè)脈沖采樣3次數(shù)據(jù)位,并3中取2保留采樣值。,(3) 方式2和方式3,9位數(shù)據(jù)異步通訊方式。 1.一幀為11位:9位數(shù)據(jù)位,1個(gè)起始位(0),1個(gè)停止位(1)。第9位數(shù)據(jù)位在TB8/RB8中,常用作校驗(yàn)位和多機(jī)通訊標(biāo)識(shí)位。 2.RXD:接收數(shù)據(jù)端,TXD:發(fā)送數(shù)據(jù)端。 3.波特率: 方式2:B=(2SMOD/64)fosc 。 方式3:B=(2SMOD/32)T1溢出率 。 4.發(fā)送:先裝入TB8,寫入SBUF并啟
26、動(dòng)發(fā)送,發(fā)送結(jié)束,TI=1。 接收:REN=1,允許接收。接收完一幀,若RI=0且第9位為1 (或SM2=0),將接收數(shù)據(jù)裝入接收SBUF,第9位裝入RB8,使RI=1;否則丟棄接收數(shù)據(jù),不置位RI。,(4)計(jì)算波特率,方式0為固定波特率:B=fosc/12 方式2可選兩種波特率: B=(2SMOD /64)fosc 方式1、3為可變波特率,用T1作波特率發(fā)生器。 B=(2SMOD/32)T1溢出率 T1為方式2的時(shí)間常數(shù): X = 28 - t/T 溢出時(shí)間: t= (28 -X)T = (28 -X)12/ fosc T1溢出率=1/t= fosc /12(2n -X) 波特率B=(2SM
27、OD /32)fosc/12(28-X) 串行口方式1、3,根據(jù)波特率選擇T1工作方式,計(jì)算時(shí)間常數(shù)。 T1選方式2: TH1=X= 28-fosc/122SMOD/(32B) T1選方式1用于低波特率,需考慮T1重裝時(shí)間常數(shù)時(shí)間。,7-5-2串行口的應(yīng)用,串行口初始化編程格式: SIO:MOV SCON,#控制狀態(tài)字;寫方式字且TI=RI=0 (MOV PCON,#80H) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率發(fā)生器 ( MOV TH1,#X ) ;選定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;開串行口中斷 ( SETB
28、 ES),發(fā)送程序:先發(fā)送一個(gè)字符,等待TI=1后再發(fā)送下一個(gè)字符。,1.查詢方式: TRAM:MOV A,R0 ;取數(shù)據(jù) MOVSBUF,A ;發(fā)送一個(gè)字符 WAIT:JBCTI,NEXT ;等待發(fā)送結(jié)束 SJMPWAIT NEXT:INCR0 ;準(zhǔn)備下一次發(fā)送 SJMPTRAM,2.中斷方式: ORG 0023H ;串行口中斷入口 AJMP SINT MAIN: ;初始化編程 TRAM: MOV A,R0 ;取數(shù)據(jù) MOV SBUF,A ;發(fā)送第一個(gè)字符 H:SJMP H ;其它工作 SINT:CLR TI ;中斷服務(wù)程序 INC R0 MOV A,R0 ;取數(shù)據(jù) MOV SBUF,A ;
29、發(fā)送下一個(gè)字符 RETI,接收程序:REN=1、RI=0等待接收,當(dāng)RI=1,從SBUF讀取數(shù)據(jù)。,1.查詢方式: WAIT:JBCRI,NEXT;查詢等待 SJMPWAIT NEXT:MOVA,SBUF ;讀取接收數(shù)據(jù) MOVR0,A;保存數(shù)據(jù) INCR0 ;準(zhǔn)備下一次接收 SJMPWAIT,2.中斷方式: ORG0023H AJMPRINT MAIN: ;初始化編程 H:SJMPH ;其它任務(wù) RINT:CLRRI ;清中斷標(biāo)志 MOVA,SBUF ;讀取接收數(shù)據(jù) MOVR0,A;保存數(shù)據(jù) INCR0 RETI,(一)串行口方式0 用于擴(kuò)展單片機(jī)的并行I/O接口。,串行口實(shí)現(xiàn):并行串行的數(shù)據(jù)轉(zhuǎn)換 74LS165/74LS164實(shí)現(xiàn):串行并行的數(shù)據(jù)轉(zhuǎn)換。,(二)異步通訊程序舉例 1.發(fā)送程序:將片內(nèi)RAM 50H起始單元的16個(gè)數(shù)由串行口發(fā)送。要求發(fā)送波特率為系統(tǒng)時(shí)鐘的32分頻,并進(jìn)行奇偶校驗(yàn)。,MAINT: MOV SCON,#80H;串行口初始化 MOV PCON,#80H;波特率 SETBEA SETBES;開串行口中斷 MOV R0,#50H ;設(shè)數(shù)據(jù)指針 MOV R7,#10H ;數(shù)據(jù)長(zhǎng)度 LOOP: MOV A,R0 ;取一個(gè)字符 MOV C,P ;加奇偶校驗(yàn) MOV TB8,C MOV SBUF,A ;啟動(dòng)一次發(fā)送 H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026吉林松原市生態(tài)環(huán)境局所屬事業(yè)單位選拔10人參考考試題庫(kù)及答案解析
- 2026山東青島西海岸新區(qū)部分事業(yè)單位招聘8人筆試備考試題及答案解析
- 飛機(jī)氣源系統(tǒng)培訓(xùn)課件
- 2026浙江杭州市廣播電視監(jiān)測(cè)中心招聘編外工作人員1人參考考試題庫(kù)及答案解析
- 2026山東聊城市眼科醫(yī)院引進(jìn)博士研究生3人備考考試試題及答案解析
- 全場(chǎng)珠寶活動(dòng)策劃方案(3篇)
- 獸醫(yī)質(zhì)量管理制度圖片(3篇)
- 分管工程的管理制度(3篇)
- 國(guó)家衛(wèi)健委管理制度(3篇)
- 涂娃娃活動(dòng)策劃方案(3篇)
- 2025-2030半導(dǎo)體缺陷檢測(cè)設(shè)備行業(yè)運(yùn)營(yíng)模式與供需趨勢(shì)預(yù)測(cè)研究報(bào)告
- GB/T 46755-2025智能紡織產(chǎn)品通用技術(shù)要求
- 2023年廣西區(qū)考公務(wù)員錄用考試《行測(cè)》真題及答案解析
- GB/T 23444-2024金屬及金屬?gòu)?fù)合材料吊頂板
- 應(yīng)用麻醉鎮(zhèn)痛技術(shù)施行負(fù)壓吸宮術(shù)技術(shù)規(guī)范
- 國(guó)家電網(wǎng)公司招聘高校畢業(yè)生應(yīng)聘登記表
- 見證取樣手冊(cè)(智能建筑分部)
- DZ∕T 0353-2020 地球化學(xué)詳查規(guī)范(正式版)
- 醫(yī)療衛(wèi)生輿情課件
- 2023-2024學(xué)年宜賓市高一數(shù)學(xué)上學(xué)期期末質(zhì)量監(jiān)測(cè)試卷附答案解析
- 實(shí)用的標(biāo)準(zhǔn)氧化還原電位表
評(píng)論
0/150
提交評(píng)論