音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請教:單片機232通訊問題

作者:lxguang231 欄目:單片機
請教:單片機232通訊問題
怎么單片機可以收到PC的數(shù)據(jù),但是就是PC收不到單片機的數(shù)據(jù),只是在單片機上電或者是重新打開串口時PC會收到“00”,莫名其妙的。請高手賜教。下邊是我的程序:


;***************************************************
RCV_RDY BIT 10H                ;接收標志位
;---------------------------------------------------
        ORG 0000H
        AJMP START
        ORG 30H
;---------------主程序---------------------------------

START:  CLR RCV_RDY
INIT_SERIAL:
        mov SP,#5fh            ;初始化串口,
        mov TMOD,#20h          ;T1: 工作模式2
        mov PCON,#00h          ;SMOD=0
        mov TH1,#0FDH          ;初始化波特率  9600
        MOV TL1,#0FDH
        mov SCON,#50h          ; 方式1:  8 ,1 , N
        SETB REN               ;允許接收
        SETB TR1               ;T1開始工作
WAIT:   JBC RCV_RDY,SEND       ;若接收完畢標志位為1,則轉(zhuǎn)SEND
        JBC RI,RECEIVE         ;RI為1則先清零RI,再轉(zhuǎn)RECEIVE       
           AJMP WAIT              ;若RI為0,繼續(xù)等待
;===========串口子程序開始==============================
RECEIVE:MOV A,SBUF             ;接收數(shù)據(jù)
        MOV P1,A
        MOV R0,A
        SETB RCV_RDY
        AJMP WAIT
SEND:   MOV A,R0               ;發(fā)送數(shù)據(jù)
        MOV SBUF,A
        JNB TI,$
        CLR TI
        AJMP WAIT
;============串口子程序結(jié)束===============================
        END



* - 本貼最后修改時間:2005-9-16 12:26:42 修改者:lxguang231

2樓: >>參與討論
zw820506
我認為應該是MOV @R0,A
后面的是MOV A,@R0

3樓: >>參與討論
bighill
沒什么問題啊
我覺得沒什么問題啊,怎么收不到?

4樓: >>參與討論
z41992929
程序沒問題!

  考慮檢查哈電路,主要在發(fā)送那條路上。。。

5樓: >>參與討論
sdyxm21
沒看出問題來
   

6樓: >>參與討論
diannaoza
我看也沒問題
是不是你的硬件沒接對呀!

7樓: >>參與討論
dengm
應該為硬件問題
;***************************************************
RCV_RDY BIT 10H                ;接收標志位
;---------------------------------------------------
        ORG 0000H
        AJMP START
        ORG 30H
;---------------主程序---------------------------------

START:  CLR RCV_RDY
INIT_SERIAL:
        mov SP,#5fh            ;初始化串口,
        mov TMOD,#20h          ;T1: 工作模式2
        mov PCON,#00h          ;SMOD=0
        mov TH1,#0FDH          ;初始化波特率  9600
        MOV TL1,#0FDH
        mov SCON,#50h          ; 方式1:  8 ,1 , N
        SETB REN               ;允許接收
        SETB TR1               ;T1開始工作
        SETB TI  ; TX buffer empty
; ==================================================
WAIT:   JBC RCV_RDY,SEND       ;若接收完畢標志位為1,則轉(zhuǎn)SEND
        JBC RI,RECEIVE         ;RI為1則先清零RI,再轉(zhuǎn)RECEIVE       
           AJMP WAIT              ;若RI為0,繼續(xù)等待

;===========串口子程序開始==============================
RECEIVE:MOV A,SBUF             ;接收數(shù)據(jù)
        MOV P1,A
        MOV R0,A
        SETB RCV_RDY
        AJMP WAIT

SEND:   JBC TI, SEND_2
          SJMP SEND

SEND_2:
        MOV A,R0               ;發(fā)送數(shù)據(jù)
        MOV SBUF,A
        AJMP WAIT
;============串口子程序結(jié)束===============================
        END

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4
;NEW
;---------------------------------------------------
        STACK EQU 60H
        ORG 0000H
        AJMP START
        ORG 30H
;---------------主程序---------------------------------

START:  CLR RCV_RDY
INIT_SERIAL:
        mov SP,#(STACK-1)      ;初始化串口,
        mov TMOD,#20h          ;T1: 工作模式2
        mov PCON,#00h          ;SMOD=0
        mov TH1,#0FDH          ;初始化波特率  9600
        MOV TL1,#0FDH
        mov SCON,#50h          ; 方式1:  8 ,1 , N
        SETB REN               ;允許接收
        SETB TR1               ;T1開始工作

; ==================================================
WAIT:   JBC RI,RECEIVE         ;RI為1則先清零RI,再轉(zhuǎn)RECEIVE       
           SJMP WAIT              ;若RI為0,繼續(xù)等待

;===========串口子程序開始==============================
RECEIVE:
        PUSH SBUF             ;接收數(shù)據(jù)
        MOV P1, STACK         ; DISPLAY RXed DATA AT PINS OF P1
        POP SBUF              ;發(fā)送數(shù)據(jù)
        SJMP WAIT             ;LOOP

;============串口子程序結(jié)束===============================
        END



8樓: >>參與討論
lxguang231
問題找到啦
非常感謝各位,問題找出來了,是MAX232芯片壞了,換了一塊一切OK啦,

9樓: >>參與討論
孔令勝
請問:AT28C256空片子能編進去M27256內(nèi)部的程區(qū)嗎?怎么編?
 
10樓: >>參與討論
阿西西里
M27256?
 

11樓: >>參與討論
南方的老樹
應該在串口上掛2個燈,馬上就能定位故障!
 
12樓: >>參與討論
西安周公
AT28C256空片子能編進去M27256內(nèi)部的程序
 
13樓: >>參與討論
foxqiu
南方的老樹:
請問,怎么掛led燈?串接還是下拉led?

14樓: >>參與討論
南方的老樹
在TTL電平上是串接1K的電阻,上拉到VCC;
如果是RS232口線上,是串聯(lián)一個LED下拉到地。
因為TTL電平,0是0V電平;
RS232電平,0是+9V電平;1是-9V;

15樓: >>參與討論
xiaoyu9632
暈倒!
這個程序真的能執(zhí)行成功嗎?連串口中斷都沒有打開。問題實在太多

16樓: >>參與討論
foxfox
xiaoyu9632,你說為什么要打開串口中斷?
 
17樓: >>參與討論
lxguang231
沒中斷可以查詢啊,,
 
18樓: >>參與討論
南方的老樹
不使用中斷問題很多,除非你就干串口這一件事情
可是問題也很多。
要知道,串口有誤碼,丟失數(shù)據(jù),那么,難道您就在那里癡情等待?不見不散?啥也不做了?
常規(guī)的做法是,串口進入中斷子程序,收取一個數(shù)據(jù),放到數(shù)據(jù)緩沖區(qū)中,然后退出中斷,在主流程中根據(jù)協(xié)議分析數(shù)據(jù)。
這樣CPU的資源占用的最少,您還可以干點別的事情。

19樓: >>參與討論
javie
又學了一招
我是說接LED的

但是后面說的串口中斷什么的,我覺得說的并不好

20樓: >>參與討論
sdyxm21
接個LED比較好
   這個方法不錯!

21樓: >>參與討論
lxguang231
南方的老樹說的沒錯。
老樹說的沒錯,我現(xiàn)在也感覺到程序問題多多,
本來寫的程序是要按照一定的協(xié)議(自己定的)收到一組數(shù)據(jù):有3字節(jié)命令字,一個奇偶校驗位,一個波特率位,一個數(shù)據(jù)長度位,幾個數(shù)據(jù)。根據(jù)奇偶校驗位和波特率位自動設(shè)置波特率,結(jié)果總是莫名其妙的接收數(shù)據(jù)錯誤。我改了幾次程序都步行,郁悶中……
唉,看來還是改成中斷方式的好些,(第一次寫程序,)以后還要向大俠們多多請教。
對啦,老樹說的接LED我還不怎么明白,是不是接上后發(fā)送和接收數(shù)據(jù)時就會有顯示??

22樓: >>參與討論
南方的老樹
做電路板,小批量的都要接LEd作為開關(guān)量和串口的指示
便于定位程序流程和故障情況。
做數(shù)字電路,不需要示波器。就是靠LEd來觀察流程和硬件的輸入輸出。提高調(diào)試的效率。

當然會有顯示。LED嘛,有電流就會亮,通常讓它工作在5mA比較理想。
對于TTL電平,發(fā)光二極管LED上拉1K的電阻到VCC;電流大概在4mA;
對于232電平,發(fā)光二極管LED下拉3K的電阻到gnd;電流大概在3mA;不想把RS232的電平拉下來太多,但是又想直觀地看到RS232的數(shù)據(jù)的收發(fā)情況;

為什么TTL電平上拉電阻,而RS232電平卻是下拉電阻,你想想RS232電平就知道了。

如果是成熟產(chǎn)品,不欲讓人看到程序流程和降低成本和空間,一般就不再使用LED指示了。

開發(fā)階段使用LED尤其重要。


* - 本貼最后修改時間:2005-10-1 2:59:25 修改者:南方的老樹

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
U盤協(xié)議
討論,手機上的單鍵開關(guān)機時如何實現(xiàn)的!
緊急求救-關(guān)于28C265的問題!希望仁兄幫幫我!
關(guān)于I2C的問題
aduc831問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號