新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 防盜用太陽能LED照明系統(tǒng)的開發(fā)

防盜用太陽能LED照明系統(tǒng)的開發(fā)

作者: 時間:2011-08-29 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/200650.htm

  而從機只能向主機發(fā)送數(shù)據(jù),而不能在從機之間交換數(shù)據(jù)。多機通信的實現(xiàn)需要主,從機對相關(guān)的控制位SM2,TB8進(jìn)行正確的設(shè)置。

圖2 單片機多機通信結(jié)構(gòu)圖

圖2 單片機多機通信結(jié)構(gòu)圖

  為更好的實現(xiàn)多機通信,首先對各從機進(jìn)行編號,編號作為該機地址,如本系統(tǒng)的:0x00,0x01,0x02等。當(dāng)主機需要發(fā)送指令給特定的從機時,要先發(fā)送目標(biāo)從機的地址信號,這個地址用于從機判斷是否準(zhǔn)備接收指令。地址數(shù)據(jù)和指令可以用第九位來區(qū)別。所以主機發(fā)送地址幀時,地址/數(shù)據(jù)標(biāo)志位TB8應(yīng)該設(shè)置為1,以表示是地址幀。如本系統(tǒng)主機中:SCON=0xd8;//串行口工作在方式3,TB8設(shè)置為1,允許接收;此時從機初始化時均設(shè)置SM2為1,使其只處于接收地址幀的狀態(tài)。如:SCON=0xf0;//串行口工作在方式3,TB8設(shè)置為1,允許接收;當(dāng)從機接收到主機發(fā)來的數(shù)據(jù)后,若第九位為1,進(jìn)入串口中斷。中斷后將主機發(fā)來的地址與本機地址進(jìn)行比較,如果相同,那么該從機清除其SM2位標(biāo)志,準(zhǔn)備接收即將從主機發(fā)來的指令。如果不同,該從機SM2位依然為1,由于主機在發(fā)送指令時,TB8為0,不會進(jìn)入串口中斷,直到新的地址到來。主機在通信過程中以調(diào)用子程序的形式發(fā)送數(shù)據(jù),發(fā)送完后執(zhí)行其他工作。從機在串口中斷程序中接收數(shù)據(jù)。這樣實現(xiàn)了主機向特定的從機發(fā)送數(shù)據(jù),也可接收該從機的數(shù)據(jù),實現(xiàn)數(shù)據(jù)交換。



評論


相關(guān)推薦

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

關(guān)閉