1樓:
沒大問題,就是貼過來少了一些空格,
另外 倒數
第四行檢測ti後忘記清零ti了,
修改後的**如下:
*** 0000h
ljmp main
*** 0100h
main:
mov sp,#60h
mov tmod, #20h
mov th1, #0fdh
mov tl1, #0fdh
mov scon, #50h
mov pcon, #00h
setb tr1
mainloop:
setb p1.7
jb p1.7,mainloop
send$:
mov sbuf, #41h
jnb ti, $
clr ti
ajmp mainloop
;end
執行後如果把接到p1.7和地之間的開關接通讓p1.7為低電平,串列埠就以9600的波特率不斷髮送字元a,如圖所示:
2樓:匿名使用者
*** 0000h
ljmp main
*** 0100h
main:
mov sp,#60h
mov tmod, #20h
mov th1, #0fdh
mov tl1, #0fdh
mov scon, #50h
mov pcon, #00h
setb tr1
mainloop:
setb p1.7
jb p1.7,mainloop
send:
mov sbuf, #41h
jnb ti, $
ajmp mainloop
;end
;只改了錯誤,程式本身流程沒有改。
微控制器rs232串列埠通訊實驗中,微控制器與微控制器之間如何進行序列口間通訊?
3樓:檔案—學習
r接t ,t接r;波特率一樣,通訊協議一樣
微控制器中的做rs232串列埠通訊時,我的資料總是無法傳到微控制器實驗板上,我用的線是usb轉串列埠線
4樓:
程式沒問題
就從連線方面幫你分析下
1.除錯助手通訊協議,波特率(還是該對應程式版檢查下),埠號
2.線的問題:權rs232的2,3口短接看看3.也可以更改下除錯助手的收發格式:有可能是hex格式 點點試試
5樓:匿名使用者
感覺在確認
1:微控制器程式
2:串列埠助手使用
正確後;
再確認一下:
從串列埠傳送出去的資料格式是否是你程式中認為的資料格式(可以在串列埠助手中設定)
比如,微控制器是以char定義接收,而你傳送是以asc碼的形式。
6樓:匿名使用者
教你個最簡單bai的方法,把微控制器du的tx,rx這兩個引腳短zhi接了,看
你的「串列埠除錯dao助手v2.2.exe」是回不是有接到你從「串答口除錯助手v2.
2.exe」傳送出來的資料,如果有是你的微控制器電路或程式有問題,如沒有接到,說明你的usb轉串列埠線,或是驅動等方面有問題,先查下是哪出問題再來解決!!!
7樓:匿名使用者
微控制器晶振,程式設計熔絲位,用外部晶振
微控制器和pc機通過rs232進行串列埠通訊 100
8樓:瀋陽_大偉
利用電腦上的串列埠助手,向微控制器傳送資料,微控制器原封不動的再反饋回來
若滿意,請記得采納,謝謝
//串列埠波特率 9600 ,微控制器晶振 11.0592
#include //通用89c52標頭檔案
char aa,fe=0;
void ms***m(void)//串列埠初始化
void main(void)//主函式}}
void ser() interrupt 4//串列埠接收,中斷方式
微控制器通過rs232與pc進行簡單的串列埠通訊
9樓:煙火夜空
3處:①波特率
bai發生器 使用du
的是 t1定時器zhi,把t0 的引數dao 轉到 t1定時器。
②按鍵掃描函式無內效,while(p3!容=0xf0) 該語句是等待鬆手,一旦鬆手,p3 的按鍵值 就會 丟失,返回 0xf0,lz 再進行 switch (p3) 的操作,根本無效。
③串列埠初始化函式 inti() 是 一次性的,不應該 也不能放在 主 函式的 while 裡面,重複的呼叫初始化,會導致 定時器 無法 產生中斷,波特率就也無法產生。
10樓:楊奉武
tmod=0x20;//定時器工作方式2
th1=0xfd;//設定波特率為9600tl1=0xfd;
tr1=1;
這樣試一試 好像預設用的是t1定時器
關於微控制器通過rs232與pc機進行串列埠通訊 30
11樓:匿名使用者
1、給你一個copy
試試:#include
unsigned char flag,a;
void main()
*/if(flag==1)}}
void ser() interrupt 42、如果不行,交叉9針插座的2、3兩線,再試
12樓:匿名使用者
1.檢檢視波特率對了沒有
2.串列埠是好的沒?把232的tx與rx對接,pc機傳送資料看是否能接收。
3.檢查微控制器工作沒,晶振
13樓:
我也遇到了這個問題,還在除錯程式,可惜今天電腦又中毒了,留個名了再來看,你可以用protus加虛擬串列埠,以及你的串列埠除錯軟體來測試一下。我是這麼弄的
14樓:匿名使用者
1.可以在程式中新增一段程式,使某一空閒的埠進行高低變化,頻率為1hz左右,程式執行後
回,用表答量的該口有高低電平的變化,說明程式在電路內是能夠執行的。否則要查晶振、電源等硬體方面的問題;
2.用protenus進行模擬**,檢驗程式編制是否正確,模擬通過之後再進行電路試驗。這樣可大大提高效率
15樓:匿名使用者
max232是國產的?要用美信原裝的才好,尤其是波特率高的時候
關於微控制器rs232串列埠無法通訊的問題
16樓:匿名使用者
微控制器+rs232通訊模組實現modbus rtu串列埠通訊
17樓:匿名使用者
應該是電源問題造成的,穩壓不好,在220v電壓變化時紋波太大。
18樓:匿名使用者
微控制器通過rs232串列埠 與pc 通訊,一般來說應該不成問題的,現在的微控制器應該抗干擾也是不成問專題的,屬你可以 先試試 不接 強電,光控制繼電器,和其它的所有正常操作,如果這樣正常,
才能說明干擾問題,否則可能是軟體問題。用排除法找到問題的所在。
19樓:匿名使用者
微控制器的du微控制器通過序列zhirs232 pc通訊,一般來說,dao不應該是一個專問題屬,應該抗干擾性是沒有問題的,
如果這是正常的,你可以嘗試不接強電的光控繼電器,和所有其他的正常工作,
來說明干擾問題,也可能是一個軟體問題。消除使用過程中發現問題出在**。
20樓:
微控制器的微來控制器通過序列rs232 pc通訊,源一般bai來說,不應該是一個問題,du應該抗干擾性是沒zhi有問題的,dao
如果這是正常的,你可以嘗試不接強電的光控繼電器,和所有其他的正常工作,
來說明干擾問題,也可能是一個軟體問題。消除使用過程中發現問題出在**。
21樓:匿名使用者
微控制抄器的微控制器通過序列rs232 pc通訊,一般來說,不應該是一個問題,應該抗干擾性是沒有問題的,
如果這是正常的,你可以嘗試不接強電的光控繼電器,和所有其他的正常工作,
來說明干擾問題,也可能是一個軟體問題。消除使用過程中發現問題出在**。
22樓:匿名使用者
可以bai用排除法試驗一下du,先把光耦拔掉,看看微控制器給zhi導通電壓後dao,通訊是否正常,如果正回常則說明答程式沒問題;
把光耦插上,去掉繼電器,如果光耦導通後通訊仍正常,則可能是強電干擾問題
此時可以把通訊速率調低一下再試試(速率低了抗干擾能力也會增強),資料線也不要太長,同時最好把弱電和強電用地線隔開,強弱電距離要儘量遠,以增加電路抗干擾能力.
51微控制器進行rs232串列埠通訊程式設計程式如下: 誰能幫忙解釋一下它是怎麼實現串列埠通訊的?謝謝!
23樓:匿名使用者
你這不是51程式語言,是vhdl硬體描述語言,應用於fpga上的
24樓:
這個問題你都沒搞清楚啊!這是可程式設計邏輯語言,將rs232功能編輯在一個器件內,然和該器件通過這個部分進行rs232通訊。至於如何通訊你是需要時序分析還是功能?
我看你就也不清楚啊!
25樓:匿名使用者
誰告訴你這是51程式的?
你學過可程式設計邏輯器件嗎?
基於RS 232的微控制器與PC機的序列通訊,用MAX232轉
在proteus中選好所需元器件,按照電路搭出 電路。proteus大致在左手邊這一側有個叫虛擬儀器模式的按鈕這裡面有個叫virtual terminal的可以顯示串列埠資訊 另外你還可以找一款叫做虛擬串列埠的軟體結合proteus 串列埠除錯助手進行 我認為proteus自帶的工具就很好了!對串列...
怎麼用RS232實現微控制器多機通訊
rs232無法實現多機通訊,你可以用max485晶片設計485通訊就能實現多機通訊了。232的硬體標準無法實現多機通訊,你可以檢視相關檔案,用485 有 連線 bai 多個 rs232 的 模組 請看du 武漢鴻偉光電zhi e232h4 4路rs 232高速隔離集線轉換器特點dao 實現一個串內口...
微控制器序列口是怎麼進行解碼的,關於微控制器序列口的一個問題
串列埠通訊bai是直接發原始du資料或指令的,最多加上zhi啟動位 dao。結束位或校驗位內 所以不用解碼,有錯重發容 收到資料時有中斷,直接去buff讀取就可以了 看來要講詳細一點,在uart序列通訊中,微控制器把資料01000000b送到buff 當啟動傳送時buff會自動把資料序列移出,即把資...