freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

串口通信(編輯修改稿)

2025-01-16 10:06 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 例 3 單片機(jī)串行口按雙工方式收發(fā) ASCII字符,最高位用來作奇偶校驗(yàn)位,采用奇校驗(yàn)方式,要求傳送的波特率為 1200bps,編寫有關(guān)的通信程序。 解: 7位 ASCII碼加 1位奇校驗(yàn)共 8位數(shù)據(jù),故可采用串行口方式 1。 單片機(jī)的奇偶校驗(yàn)位 P是當(dāng)累加器 A中 1的數(shù)目為奇數(shù)時(shí), P=1。如果直接把 P值放入 ASCII碼的最高位,恰好成了偶校驗(yàn),與要求不符。因此,要把 P的值取反后,放入 ASCII碼的最高位,才是要求的奇校驗(yàn)。 雙工通信要求收、發(fā)能同時(shí)進(jìn)行。實(shí)際上,收發(fā)操作主要是在串行接口進(jìn)行,CPU只把數(shù)據(jù)從接收緩沖器讀出和把數(shù)據(jù)寫入發(fā)送緩沖器。數(shù)據(jù)傳送用中斷方式進(jìn)行,響應(yīng)中斷以后,通過檢測(cè)是 RI置位還是 TI置位來決定 CPU是進(jìn)行發(fā)送操作還是接收操作。發(fā)送和接收都通過調(diào)用子程序來完成,設(shè)發(fā)送數(shù)據(jù)區(qū)的首地址為 20H,接收數(shù)據(jù)區(qū)的首地址為 40H, fosc為 6MHz,通過計(jì)算初裝值 x=256fosc*( SMOD+1) /( 384*波特率),可知定時(shí)器的初裝值為 F3H。定時(shí)器 T1采用工作方式 2,可以避免計(jì)數(shù)溢出后用軟件重裝定時(shí)初值的工作。 3/2/2023 39 主程序: MOV TMOD,20H 。 定時(shí)器 1設(shè)為工作方式 2 MOV TL1,0F3H 。 定時(shí)器初值 MOV TH1, 0F3H 。 8位重裝值 SETB TR1 。 啟動(dòng)定時(shí)器 1 MOV SCON,50H 。 將串行口設(shè)置為方式 1, REN=1 MOV R0,20H 。 發(fā)送數(shù)據(jù)區(qū)首地址 MOV R1,40H 。 接收數(shù)據(jù)區(qū)首地址 ACALL SOUT 。 先輸出一個(gè)字符 SETB ES SETB EA LOOP:SJMP $ 。 等待中斷 3/2/2023 40 中斷服務(wù)程序如下: ORG 0023H 。 串行口中斷入口 AJMP SBR1 。 轉(zhuǎn)至中斷服務(wù)程序 ORG 0100H SBR1: JNB RI,SEND 。 TI=1,為發(fā)送中斷 ACALL SIN 。 RI=1,為接收中斷 SJMP NEXT 。 轉(zhuǎn)至統(tǒng)一的出口 SEND:ACALL SOUT 。 調(diào)用發(fā)送子程序 NEXT:RETI 。 中斷返回 發(fā)送子程序: SOUT: CLR TI MOV A,R0 。 取發(fā)送數(shù)據(jù)到 A MOV C,P 。 奇偶標(biāo)志賦予 C CPL C 。 奇校驗(yàn) MOV ,C 。 加到 ASCII碼高位 INC R0 。 修改發(fā)送數(shù)據(jù)指針 MOV SBUF,A 。 發(fā)送 ASCII碼 RET 。 返回 3/2/2023 41 接收子程序: SIN: CLR RI MOV A,SBUF 。 讀出接收緩沖區(qū)內(nèi)容 MOV C,P 。 取出校驗(yàn)位 CPL C 。 奇校驗(yàn) ANL A,7FH 。 刪去校驗(yàn)位 MOV R1,A 。 讀入接收緩沖區(qū) INC R1 。 修改接收數(shù)據(jù)指針 RET 。 返回 在主程序中已初始化 REN=1,則允許接收。以上程序基本上具備了全雙工通信的能力,但還不夠完善,可以在此基礎(chǔ)上逐步完善。 3/2/2023 42 例 4 單片機(jī)與單片機(jī)的通信 R 2 I NT 2 O U TT X DR X DM A X 2 3 2 AT 1 I NG N DR 2 O U TT 1 O U T8 9 S 5 1T X DR X D8 9 S 5 1G N DR 1 I NT 2 O U TM A X 2 3 2 AG N DR 2 I NR 1 O U T系 統(tǒng) 1 系 統(tǒng) 2T 2 I N3/2/2023 43 程序流程圖 3/2/2023 44 設(shè) 1號(hào)機(jī)是發(fā)送方, 2號(hào)機(jī)是接收方。當(dāng) 1號(hào)機(jī)發(fā)送時(shí),先發(fā)送一個(gè)“ E1”聯(lián)絡(luò)信號(hào), 2號(hào)機(jī)收到后回答一個(gè)“ E2”應(yīng)答信號(hào),表示同意接收。當(dāng) 1號(hào)機(jī)收到應(yīng)答信號(hào)“ E2”后,開始發(fā)送數(shù)據(jù),每發(fā)送一個(gè)數(shù)據(jù)字節(jié)都要計(jì)算“校驗(yàn)和”,假定數(shù)據(jù)塊長(zhǎng)度為 16個(gè)字節(jié),起始地址為 40H,一個(gè)數(shù)據(jù)塊發(fā)送完畢后立即發(fā)送“校驗(yàn)和”。 2號(hào)機(jī)接收數(shù)據(jù)并轉(zhuǎn)存到數(shù)據(jù)緩沖區(qū),起始地址也為 40H,每接收到一個(gè)數(shù)據(jù)字節(jié)便計(jì)算一次“校驗(yàn)和”,當(dāng)收到一個(gè)數(shù)據(jù)塊后,再接收 1號(hào)機(jī)發(fā)來的“校驗(yàn)和”,并將它與 2號(hào)機(jī)求出的校驗(yàn)和進(jìn)行比較。若兩者相等,說明接收正確, 2號(hào)機(jī)回答 00H;若兩者不相等,說明接收不正確, 2號(hào)機(jī)回答 0FFH,請(qǐng)求重發(fā)。 1號(hào)機(jī)接到 00H后結(jié)束發(fā)送。若收到的答復(fù)非零,則重新發(fā)送數(shù)據(jù)一次。雙方約定采用串行口方式 1進(jìn)行通信,一幀信息為 10位,其中有 1個(gè)起始位、 8個(gè)數(shù)據(jù)位和一個(gè)停止位;波特率為 2400波特, T1工作在定時(shí)器方式 2,振蕩頻率選用 ,查表可得 TH1=TL1=0F4H,PCON寄存器的 SMOD位為 0。 3/2/2023 45 發(fā)送程序清單如下: ASTART: CLR EA MOV TMOD, 20H ;定時(shí)器 1置為方式 2 MOV TH1, 0F4H ;裝載定時(shí)器初值,波特率 2400 MOV TL1, 0F4H MOV PCON, 00H SETB TR1 ;啟動(dòng)定時(shí)器 MOV SCON, 50H ;設(shè)定串口方式 1,且準(zhǔn)備接收應(yīng)答信號(hào) ALOOP1: MOV SBUF, 0E1H ;發(fā)聯(lián)絡(luò)信號(hào) JNB TI, $ ;等待一幀發(fā)送完畢 CLR TI ;允許再發(fā)送 JNB RI, $ ;等待 2號(hào)機(jī)的應(yīng)答信號(hào) CLR RI ;允許再接收 MOV A, SBUF ; 2號(hào)機(jī)應(yīng)答后,讀至 A XRL A, 0E2H ;判斷 2號(hào)機(jī)是否準(zhǔn)備完畢 JNZ ALOOP1 ; 2號(hào)機(jī)未準(zhǔn)備好,繼續(xù)聯(lián)絡(luò) ALOOP2: MOV R0, 40H ; 2號(hào)機(jī)準(zhǔn)備好,設(shè)定數(shù)據(jù)塊地址指針初值 MOV R7, 10H ;設(shè)定數(shù)據(jù)塊長(zhǎng)度初值 MOV R6, 00H ;清校驗(yàn)和單元 3/2/2023 46 ALOOP3: MOV SBUF, R0 ;發(fā)送一個(gè)數(shù)據(jù)字節(jié) MOV A, R6 ADD A, R0 ;求校驗(yàn)和 MOV R6, A ;保存校驗(yàn)和 INC R0 JNB TI, $ CLR TI DJNZ R7, ALOOP3 ;整個(gè)數(shù)據(jù)塊是否發(fā)送完畢 MOV SBUF, R6 ;發(fā)送校驗(yàn)和 JNB TI, $ CLR TI JNB RI, $ ;等待 2號(hào)機(jī)的應(yīng)答信號(hào) CLR RI MOV A, SBUF ; 2號(hào)機(jī)應(yīng)答,讀至 A JNZ ALOOP2 ; 2號(hào)機(jī)應(yīng)答“錯(cuò)誤”,轉(zhuǎn)重新發(fā)送 RET ; 2號(hào)機(jī)應(yīng)答“正確”,返回 3/2/2023 47 接收程序清單如下: BSTART: CLR EA MOV TMOD, 20H MOV TH1, 0F4H MOV TL1, 0F4H MOV PCON, 00H SETB TR1
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1