兩顆8051的傳送接收!!! |
缺席
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
抱歉~各位大大~~我又來打擾嚕><"~~
真不好意思~~~請大家見諒~"~
這次需要用兩個8051來進行傳送接收動作嚕!!
小D我邊看書邊寫出了一組傳送發射的程式!!
可是....都不會動作呢??? 該連的線我都連上了ㄚ~~(10~11~20)
程式不是寫一個寫判斷~一個寫動作ㄇ????
真是把我的腦袋搞糊塗了~~~~
下面是我寫的程式~~請大大給點指教吧~~拜託拜託!! ((傳送))
ORG 00H JMP START ORG 30H START: MOV P0,#FFH MOV P1,#00H MOV P2,#00H STARTS: MOV TMOD,#00100001B ANL PCON,#01111111B ;設定鮑率為9600 BIT/SEC MOV TH1,#FDH SETB TR1 ;啟動TIMER1 MOV SCON,#01000000B ;串列埠MODE1 設定為傳送 ;========== 讀取串列埠資料 ==================== LOOP: MOV A,#05H MOV SBUF,A KLOOP: JBC TI,SENSOR ;等待資料傳送完畢執行感測器程式 JMP KLOOP SENSOR: JNB P0.5,LOOP CALL DELAY JMP START ;========== 延遲副程式 ================= DELAY: MOV TMOD,#01 ;設定Timer1為16位元計時模式 ;5ms秒產生溢位 MOV TL0,#<(65536-4608) ;儲存16位元之低8位元 MOV TH0,#>(65536-4608) ;儲存16位元之高8位元 SETB TR0 ;啟動計時器 WAIT: JBC TF0,OVERFLOW ;測試是否計時完畢產生溢位 JMP WAIT ;否, 則持續測試溢位之發生 OVERFLOW: CLR TR0 ;關閉計時器 DJNZ R3,DELAY RET END((接收)) ORG 00H JMP START ORG 30H START: MOV P0,#00H MOV P1,#00H MOV P2,#00H STARTS: MOV TMOD,#00100001B ANL PCON,#01111111B ;設定鮑率為9600 BIT/SEC MOV TH1,#FDH SETB TR1 ;啟動TIMER1 MOV SCON,#01000000B ;串列埠MODE1 設定為接收 ;================ 接收串列埠資料 ====================== LOOP: CLR RI WAIT: JBC RI,LIGHT JMP WAIT OK: MOV A,SBUF XRL A,#05H ;啟動UART的讀入接收資料動作資料 JZ LIGHT JMP START LIGHT: MOV P1,#00001010B CALL DELAY JMP START ;================ 延遲副程式 =========================== DELAY: MOV TMOD,#01 ;設定Timer1為16位元計時模式 ;5ms秒產生溢位 MOV TL0,#<(65536-4608) ;儲存16位元之低8位元 MOV TH0,#>(65536-4608) ;儲存16位元之高8位元 SETB TR0 ;啟動計時器 WAIT: JBC TF0,OVERFLOW ;測試是否計時完畢產生溢位 JMP WAIT ;否, 則持續測試溢位之發生 OVERFLOW: CLR TR0 ;關閉計時器 DJNZ R3,DELAY RET END |
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
foreman
高階會員 發表:3 回覆:124 積分:190 註冊:2004-09-10 發送簡訊給我 |
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 可是我找到的書都沒有2個8051做動的程式丫><" 書本的都只有一段程式~沒有兩段低~"~ 所以才自己寫ㄌ一遍呀= = 唉~卡住不能動的感覺真差~~你都摸熟了嗎?它一段的程式你都摸熟了嗎? 都試過可以動了,了解了~再去寫兩段互動的程式. 一段的會,兩個51互動根本不是問題..... 想要一步登天當然會卡住........
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
big_eyes
一般會員 發表:28 回覆:52 積分:16 註冊:2005-03-22 發送簡訊給我 |
很難溝通耶
不是一開始 是每次發送前都要
先CLR RI 再把資料給SBUF
引言:接收時REN旗標要設定 改成下面這樣MOV SCON,#01000000B ;串列埠MODE1 設定為接收 MOV SCON,#01010000B ;串列埠MODE1 設定為接收嗯嗯~報告阿信版主! 我程式都有先清除了呀~在傳送給SBUF呢! 可是他還是沒訊號呢! ;串列埠MODE1 設定我也改過嚕阿!! 我有試著用示波器~~但是! 因為不太會用~所以也不知道他出現什麼波形才是正確低~ 波形式有些改變~不過好像都是雜訊耶~ 真奇怪~~ |
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |