全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1103
推到 Plurk!
推到 Facebook!

8051接收12位元的資料

答題得分者是:if8051
az3456789
一般會員


發表:5
回覆:4
積分:1
註冊:2012-07-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-08-09 20:40:40 IP:120.113.xxx.xxx 訂閱
我要用8051接收12位元的資料
再將接收的資料,用LED燈顯現出來
以下是我的程式碼
我想問一下8051能接收8個bit的資料,所以12bit資料我分兩次接收這樣寫可以嗎?
還有可以在電腦上模擬串列傳輸嗎?
#include
main()
{
TMOD = 0x20;
TH1 = 230;
TL1 = 230;
TR1 = 1;
SCON = 0x50;
while(1)
{
RI = 0;
while(TI == 0);
P1 = SBUF;
RI = 0;
while(TI == 0);
P2 = SBUF;
}
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-08-25 17:55:55 IP:114.40.xxx.xxx 訂閱
8051 不能接收 12 bit data,因為 8051 硬體 UART 僅設計成 8 or 9 bit data,
RS-232 通信是 protocol 8 N 1 當成一個 frame 一筆資料傳送一次,這是 core
已設計好的;就連 ATMEL AVR ATmega16A USART ( 比 AT89S52 更高檔的
產品 ) data bit 也僅支援 5,6,7,8, 9 bit,也無法支援 12 bit。

有一個辦法是先將 12 data bit 改裝成 8 data bit 送出後再還原本尊 12 data bit。
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
az3456789
一般會員


發表:5
回覆:4
積分:1
註冊:2012-07-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-08-26 09:48:15 IP:120.113.xxx.xxx 訂閱
 非常感謝大大幫我解答

我原本是用買來的RF (http://www.wenshing.com.tw/china/Products/RF_Module/ASK_RX_Module/RWS-375/ )

做8051的無線傳輸 這是我參考的範例( http://a-luroom.blogspot.tw/2011/07/rf-315mhz-8051attiny2313.html )
但一直無法成功

可是我用編碼器 (HT12E) 跟解碼器 (HT12D) 可以作動
我用示波器量傳出來的是12bit訊號
所以我想說用8051取代解碼器 (HT12D) 看是否有接收到訊號再讓led燈表示
可是都沒有反應
原來是這個8051不能接收12bit的原因

謝謝你幫我解開這個疑惑











系統時間:2017-12-18 14:55:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!