線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:969
推到 Plurk!
推到 Facebook!

請問各位先進.....8051傳輸到電腦上的問題

缺席
ilovepachaya
一般會員


發表:1
回覆:1
積分:0
註冊:2005-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-06 00:15:35 IP:210.64.xxx.xxx 未訂閱
我有3筆資料經由8051設定包率,傳到電腦上,我想請問我如何在8051上將傳送的資料前設旗標,好讓電腦判別這是第一筆‧第二筆或是第三筆.....謝謝...因為是第一次寫8051麻煩各位高手多多包含...

版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-06 00:43:04 IP:220.134.xxx.xxx 未訂閱
可以把要傳送的資料改為" 0, 第一筆資料, 1, 第二筆資料, 2, 第3筆資料 再由PC去判斷即可.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
阿信
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-06 08:53:45 IP:61.66.xxx.xxx 未訂閱
每一筆資料都用兩個Byte送 比如先送 C1H 再接 第一筆資料 C2H 接 第二筆資料 C3H 接 第三筆資料 電腦端也做同樣的判斷 C1H後面的是第一筆...
ilovepachaya
一般會員


發表:1
回覆:1
積分:0
註冊:2005-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-06 15:53:52 IP:140.130.xxx.xxx 未訂閱
謝謝各位先進的回答...我寫的程式大致如下,現在我遇到一個問題就是,我旗標只能送出一次....
        org         0000h
        acall         boud
        mov        scon,#70h ;set series port mode1
;-------------------------------
loop1:        clr        ti
        mov        sbuf,#'1'
        jnb        ti,$
        ajmp        main
;-------------------------------------        
main:        clr         p1.7      ;start a/d converter
        mov        p1,#00000000b                
        setb        p1.7      ;        
wait:        jb        p1.6,wait ;wait transform complate
        mov        a,p2      ;put (port2_data) to reg_A
        mov        r0,a          ;put A to r0
;-------------------------------
        clr        ti          ;ready to transmite data
        mov        sbuf,r0   ;
wait1:        jnb        ti,wait1  ;waitting for data transmite ok
        acall        delay     ;        
        ajmp        loop2          ;transmite new Port2_data continue    ;---------------------------------------------
loop2:        clr        ti
        mov        sbuf,#'2'
        jnb        ti,$
        ajmp        main1
;--------------------------------
main1:        clr         p1.7      ;start a/d converter
        cpl        p1.4
        setb        p1.7      ;        
wait2:        jb        p1.6,wait2 ;wait transform complate
        mov        a,p2      ;put (port2_data) to reg_A
        mov        r0,a          ;put A to r0
;-------------------------------
        clr        ti          ;ready to transmite data
        mov        sbuf,r0   ;
wait3:        jnb        ti,wait3   ;waitting for data transmite ok
        acall        delay         ;        
        ajmp        loop3          ;transmite new Port2_data continue    ;-------------------------------
loop3:        clr        ti
        mov        sbuf,#'3'
        jnb        ti,$
        ajmp        main2
;---------
main2:        clr         p1.7      ;start a/d converter
        cpl        p1.5
        setb        p1.7      ;        
wait4:        jb        p1.6,wait ;wait transform complate
        mov        a,p2      ;put (port2_data) to reg_A
        mov        r0,a          ;put A to r0
;-------------------------------
        clr        ti          ;ready to transmite data
        mov        sbuf,r0   ;
wait5:        jnb        ti,wait1  ;waitting for data transmite ok
        acall        delay     ;        
        ajmp        loop1          ;transmite new Port2_data continue
        
;-------------------------------
boud:        mov        tmod,#20h ;work mode2
        mov        th1,#FDH  ;boudrate=9600 bps        
        mov        tl1,#FDH 
        setb        tr1          ;start timmer1
        ret
;------------------------------        
delay:  mov        r7,#200  ;
aa:        mov        r6,#200
bb:        djnz        r6,bb
        djnz        r7,aa
        ret
        end
在電腦端接到的資料,收到資料大致如下:50,2,51,50,6,51,...... 50和51是旗標"2"和"3",我想請問一下49也就是旗標"1"不見了.....真傷腦經也..... P.S:po程式碼,請加code指令. 發表人 - ㊣ 於 2005/07/06 17:44:21

版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-06 17:48:48 IP:211.22.xxx.xxx 未訂閱
1>看通訊協定與baut rate有沒有一樣 2>pc端接收的buffer看是不是overflow了
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-05-04 11:25:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!