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

正文內(nèi)容

單片機(jī)原理及應(yīng)用(c語(yǔ)言版)7串口通信(編輯修改稿)

2025-01-19 16:48 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 操作 。外接串入 /并出或并入 /串出器件,可 實(shí)現(xiàn) I/O口的擴(kuò)展 。 例 12 用 89C52串行口外接 164串入 /并出移位寄存器擴(kuò)展 8位并行輸出口,外接 165并入 /串出移位寄存器擴(kuò)展 8位并行輸入口。 8位并行輸出口的每位都接一個(gè)發(fā)光二極管,要求從 8位并行輸入口讀入開(kāi)關(guān)的狀態(tài)值,使閉合開(kāi)關(guān)對(duì)應(yīng)的發(fā)光二極管點(diǎn)亮。如圖 113所示。 8 9 C 5 2R X DT X DP 1 . 0P 1 . 1 AB 7 4 H C 1 6 4C L K C L R QH 7 4 H C 1 6 5C L K S H I F T 同步方式應(yīng)用 圖 113 方式 0擴(kuò)展輸入輸出電路 解: 數(shù)據(jù)的輸入輸出通過(guò) RXD接收和發(fā)送,移位時(shí)鐘通過(guò) TXD送出, 14HC164用于串 /并轉(zhuǎn)換,14HC165用于并 /串轉(zhuǎn)換。 C語(yǔ)言程序清單 : include sbit P1_0=P1^0。 sbit P1_1=P1^1。 unsigned char data1。 void main() { SCON=0x10。 //串行口方式 0,允許接收 ES=1。 EA=1。 //允許 串行口中斷 同步方式應(yīng)用 P1_0=0。 //關(guān)閉并行輸出 P1_1=1。 //并行置入數(shù)據(jù) P1_1=0。 //開(kāi)始串行移位 SBUF=0。 //送入串行數(shù)據(jù) while(1)。 //等待中斷 } void s_srv() interrupt 4 //中斷服務(wù)程序 { if(TI) //發(fā)送中斷 { TI=0。 P1_0=1。 //打開(kāi)并行輸出 } 同步方式應(yīng)用 else //接收中斷 { RI=0。 data1=SBUF。 //讀取接收的數(shù)據(jù) P1_0=0。 //關(guān)閉并行輸出 SBUF=~data1。 //送入串行數(shù)據(jù) P1_1=1。 //為接收下一次 P1_1=0。 //數(shù)據(jù)做準(zhǔn)備 } } 匯編語(yǔ)言程序清單: ORG 0000H SJMP MAIN ORG 23H SJMP S_SRV 。串行口中斷服務(wù)程序 同步方式應(yīng)用 MAIN: MOV SCON,10H 。串行口方式 0初始化 SETB ES SETB EA MOV A,0 CLR 。關(guān)閉并行輸出 MOV SBUF,A 。開(kāi)始串行輸出 SETB CLR SJMP $ 。等待中斷 同步方式應(yīng)用 S_SRV: JBC TI,SEND CLR RI MOV A,SBUF CLR CPL A MOV SBUF,A SETB CLR RETI SEND: SETB RETI 同步方式應(yīng)用 異步方式應(yīng)用 串行口方式 1與方式 3很近似, 波特率設(shè)置一樣 ,不同之處在于方式 3比方式 1多了一個(gè)數(shù)據(jù)附加位。 方式 2與方式 3基本一樣(只是 波特率設(shè)置不同 ),接收 /發(fā)送 11位信息:開(kāi)始為 1位起始位( 0),中間 8位數(shù)據(jù)位.?dāng)?shù)據(jù)位之后為 1位程控位(由用戶置 SCON的 TB8決定),最后是 1位停止位( 1)。只比 方式 1多了一位程控位 。 例 13 將片內(nèi) RAM 50H~ 5FH中的數(shù)據(jù)串行發(fā)送,用第 9個(gè)數(shù)據(jù)位作奇偶校驗(yàn)位,設(shè)晶振為 2MHz,波特率為 2 400b/s,編制串行口方式 3的發(fā)送程序。 解: 用 TB8作奇偶校驗(yàn)位,在數(shù)據(jù)寫入發(fā)送緩沖器之前.先將數(shù)據(jù)的奇偶位 P寫入 TB8,這時(shí),第 9位數(shù)據(jù)作奇偶校驗(yàn)用,發(fā)送采用中斷方式。 異步方式應(yīng)用 C語(yǔ)言程序清單: include unsigned char i=0。 unsigned char array[16] _at_ 0x50。 //發(fā)送緩沖區(qū) void main() { SCON=0xc0。 //串行口初始化 TMOD=0x20。 //定時(shí)器初始化 TH1=0xf4。 TL1=0xf4。 TR1=1。 ES=1。 EA=1。 //中斷初始化 ACC=array[i]。 //發(fā)送第一個(gè)數(shù)據(jù)送 TB8=P。 //累加器 ,目的取 P位 SBUF=ACC。 //發(fā)送一個(gè)數(shù)據(jù) while(1)。 //等待中斷 } 異步方式應(yīng)用 void server() interrupt 4 //串行口中斷服務(wù)程序 { TI=0。 //清發(fā)送中斷標(biāo)志 ACC=array[++i]。 //取下一個(gè)數(shù)據(jù) TB8=P。 SBUF=ACC。 if(i==16) //發(fā)送完畢, ES=0。 //禁止串口中斷 } 異步方式應(yīng)用 匯編語(yǔ)言程序清單: ORG 0000H SJMP MAIN 。上電,轉(zhuǎn)主程序 ORG 23H SJMP SERVER 。轉(zhuǎn)中斷服務(wù)程序 MAIN: MOV SCON,0C0H 。串行口方式 3初始化 MOV TMOD,20H 。定時(shí)器 1工作在方式 2 MOV TH1,0F4H MOV TL1,0F4H SETB TR1 SETB ES 。允許串行口中斷 SETB EA 。CPU開(kāi)中斷
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1