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

兩顆8051的傳送接收!!!

缺席
big_eyes
一般會員


發表:28
回覆:52
積分:16
註冊:2005-03-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-16 17:35:11 IP:218.164.xxx.xxx 未訂閱
抱歉~各位大大~~我又來打擾嚕><"~~ 真不好意思~~~請大家見諒~"~ 這次需要用兩個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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-16 19:07:14 IP:61.66.xxx.xxx 未訂閱
1.把大問題拆成小問題 逐一檢查 (0)8051是不是開始工作了(我的習慣是用一個Test Out送1KHz方波) (1)用示波器量有沒有發射信號    2.你發送前沒CLR TI
        CLR        TI
        MOV        SBUF,#05H
        JNB        TI,$
------------------- 美好的事物 稍縱即逝

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-16 22:36:55 IP:220.134.xxx.xxx 未訂閱
1>先檢查,線有沒有接錯.51A 的pin10 接到 51B的pin11,51A 的pin11 接到
  51B的pin10    2>建議用中斷的方式寫,兩顆51都寫中斷服務程式.51A傳送,51B接收.書上一
  定有範例,請把它摸熟再分別寫進去.    
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
foreman
高階會員


發表:3
回覆:124
積分:190
註冊:2004-09-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-17 10:20:51 IP:218.164.xxx.xxx 未訂閱
每次傳送delay一些 發表人 - foreman 於 2005/05/17 10:22:50
big_eyes
一般會員


發表:28
回覆:52
積分:16
註冊:2005-03-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-17 22:34:35 IP:218.164.xxx.xxx 未訂閱
線沒接錯阿~ ri tu一開始也清除了~ 還是沒有信號傳送接收~~ 唉~~ 真是懊惱阿~~><"

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-17 23:59:37 IP:220.134.xxx.xxx 未訂閱
引言: 線沒接錯阿~ ri tu一開始也清除了~ 還是沒有信號傳送接收~~ 唉~~ 真是懊惱阿~~><"
書本一定有範例,請先摸清它的模式,鮑率以及如何傳送與接收. 確定都ok了,再去寫你要的程式,OK? 可以先測試書本的程式.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
big_eyes
一般會員


發表:28
回覆:52
積分:16
註冊:2005-03-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-18 02:15:45 IP:218.164.xxx.xxx 未訂閱
可是我找到的書都沒有2個8051做動的程式丫><" 書本的都只有一段程式~沒有兩段低~"~ 所以才自己寫ㄌ一遍呀= = 唉~卡住不能動的感覺真差~~

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-18 08:18:05 IP:220.134.xxx.xxx 未訂閱
引言: 可是我找到的書都沒有2個8051做動的程式丫><" 書本的都只有一段程式~沒有兩段低~"~ 所以才自己寫ㄌ一遍呀= = 唉~卡住不能動的感覺真差~~
你都摸熟了嗎?它一段的程式你都摸熟了嗎? 都試過可以動了,了解了~再去寫兩段互動的程式. 一段的會,兩個51互動根本不是問題..... 想要一步登天當然會卡住........
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-18 13:58:09 IP:211.21.xxx.xxx 未訂閱
引言:線沒接錯阿~ ri tu一開始也清除了~ 還是沒有信號傳送接收~~ 唉~~ 真是懊惱阿~~><"
很難溝通耶 不是一開始 是每次發送前都要 先CLR RI 再把資料給SBUF
引言:
        MOV     SCON,#01000000B              ;串列埠MODE1 設定為接收
接收時REN旗標要設定 改成下面這樣
        MOV     SCON,#01010000B              ;串列埠MODE1 設定為接收
你用示波器量過了嗎? ------------------- 美好的事物 稍縱即逝
big_eyes
一般會員


發表:28
回覆:52
積分:16
註冊:2005-03-22

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-18 14:38:41 IP:218.164.xxx.xxx 未訂閱
很難溝通耶 不是一開始 是每次發送前都要 先CLR RI 再把資料給SBUF    
引言:
        MOV     SCON,#01000000B              ;串列埠MODE1 設定為接收
接收時REN旗標要設定 改成下面這樣
        MOV     SCON,#01010000B              ;串列埠MODE1 設定為接收
嗯嗯~報告阿信版主! 我程式都有先清除了呀~在傳送給SBUF呢! 可是他還是沒訊號呢! ;串列埠MODE1 設定我也改過嚕阿!! 我有試著用示波器~~但是! 因為不太會用~所以也不知道他出現什麼波形才是正確低~ 波形式有些改變~不過好像都是雜訊耶~ 真奇怪~~
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-05-18 16:56:39 IP:211.21.xxx.xxx 未訂閱
1.把你現在的程式碼po出來 2.描述示波器的波形 High/Low多久 或是旋波 週期為何 ------------------- 美好的事物 稍縱即逝

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-05-18 19:09:20 IP:211.22.xxx.xxx 未訂閱
無力..... 基礎先學好,一步一步來,ok? 書本的你都ok了嗎?
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-04-30 3:58:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!