新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)串行口接收和發(fā)送數(shù)據(jù)的過程簡(jiǎn)述

單片機(jī)串行口接收和發(fā)送數(shù)據(jù)的過程簡(jiǎn)述

作者: 時(shí)間:2013-04-07 來源:網(wǎng)絡(luò) 收藏

的過程簡(jiǎn)述

答:在發(fā)送過程中,當(dāng)執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF(99H)的指令時(shí),把SBUF中8位數(shù)據(jù)以fosc/l2的波特率從RXD(P3.0)端輸出,發(fā)送完畢置中斷標(biāo)志TI=1。寫SBUF指令在S6P1處產(chǎn)生一個(gè)正脈沖,在下一個(gè)機(jī)器周期的S6P2處,數(shù)據(jù)的最低位輸出到RXD(P3.0)腳上;再在下一個(gè)機(jī)器周期的S3、S4和S5輸出移位時(shí)鐘為低電平時(shí),在S6及下一個(gè)機(jī)器周期的Sl和S2為高電平,就這樣將8位數(shù)據(jù)由低位至高位一位一位順序通過RXD線輸出。并在TXD腳上輸出fosc/12的移位時(shí)鐘。在“寫SBUF”有效后的第10個(gè)機(jī)器周期的SlPl將發(fā)送中斷標(biāo)志TI置位。

時(shí),用軟件置REN=1(同時(shí),RI=0),即開始。當(dāng)使SCON中的REN=1(RI=0)時(shí),產(chǎn)生一個(gè)正的脈沖,在下一個(gè)機(jī)器周期的S3P1~S5P2,從TXD(P3.1)腳上輸出低電平的移位時(shí)鐘,在此機(jī)器周期的S5P2對(duì)P3.0腳采樣.并在本機(jī)器周期的S6P2通過內(nèi)的輸入移位寄存器將采樣值移位接收。在同一個(gè)機(jī)器周期的S6P1到下一個(gè)機(jī)器周期的S2P2,輸出移位時(shí)鐘為高電平。于是,將數(shù)據(jù)字節(jié)從低位至高位接收下來并裝入SBUF。在啟動(dòng)接收過程(即寫SCON,清RI位),將SCON中的RI清0之后的第l0個(gè)機(jī)器周期的SlPl將RI置位。這一幀數(shù)據(jù)接收完畢,可進(jìn)行下一幀接收。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉