1樓:匿名使用者
串列埠通訊參考程式如下:
#include
unsigned char uart_rx; //定義串列埠接收資料變數
unsigned char rx_flag; //定義穿行接收標記
函式名:uart串列埠初始化函式
調 用:uart_init();
參 數:無
返回值:無
結 果:啟動uart串列埠接收中斷,允許串列埠接收,啟動t/c1產生波特率(佔用)
備 注:振盪晶體為12mhz,pc串列埠端設定 [ 4800,8,無,1,無 ]
void uart_init (void)
函式名:uart串列埠接收中斷處理函式
調 用:[sbuf收到資料後中斷處理]
參 數:無
返回值:無
結 果:uart串列埠接收到資料時產生中斷,使用者對資料進行處理(併傳送回去)
備 注:過長的處理程式會影響後面資料的接收
void uart_r (void) interrupt 4 using 1
函式名:uart串列埠傳送函式
調 用:uart_t (?);
參 數:需要uart串列埠傳送的資料(8位/1位元組)
返回值:無
結 果:將引數中的資料傳送給uart串列埠,確認傳送完成後退出,採用非中斷方式
備 注:
void uart_t (unsigned char uart_data)
函式名:uart串列埠傳送字串函式
調 用:uart_s (?);
參 數:需要uart串列埠傳送的資料(8位/1位元組)
返回值:無
結 果:將引數中的資料傳送給uart串列埠,確認傳送完成後退出,採用非中斷方式
備 注:
void uart_s(unsigned char *str)
函式名:主函式
調 用:main();
參 數:
返回值:無
結 果:
備 注:
void main()
;uart_init();
uart_s(buf_data);
while(1)}}
祝願樓主馬到功成
2樓:
12 和11腳接 mcu 51 的p3,0 p3.1
3樓:萍水e相逢
微控制器 板上有 db9 嘛?其實 就是 max232?
有的 話,和 電腦 可以直接 連
否則 用 e232ttl rs232/ttl電平無源轉換器請看 武漢鴻偉光電 有 連線示意圖
4樓:匿名使用者
rs232,max232,好好看,網上有
怎麼實現51微控制器與電腦串列埠之間的通訊?
5樓:匿名使用者
首先,微控制器和微機通訊的電氣標準要一致,微機串列埠一般是rs232電氣標準,所以要加電平轉版換晶片權,大多用max232,一般微控制器實驗板上都提供這樣的標準串列埠。
其次,要分別編寫上位機和下位機軟體程式,微控制器程式參照例程、教科書進行編寫;上位機微機可採用vb,組態軟體,labview等軟體編寫,一般若是簡單的通訊,上位機程式編寫很簡單,例如vb中學會使用ms***m控制元件,有vb最基礎知識的一天就能學會。
最後,大可以沒有微控制器,沒有max232,沒有序列介面這些硬體就可以實現學習並掌握微控制器與微機之間的串列埠通訊。proteus可以**微控制器,也是主流軟體。另外,如今的膝上型電腦幾乎都沒有保留串列埠,而用usb介面取而代之,不過沒關係,有了虛擬串列埠和串列埠除錯助手,這些都解決了。
你可以搜尋一下虛擬串列埠,真的很不錯的。
6樓:匿名使用者
微控制器和電腦之間要加個ttl-rs232電平轉換,一般用max232晶片及外圍電路實現。
然後通過串列埠線,3芯即可,連線與電腦的串列埠連線。
利用串列埠,51微控制器與電腦間的通訊怎麼做?
7樓:匿名使用者
用uart非同步序列通訊方
bai式
51序列口有
du4種工作zhi方式,在序列口的dao4種工作方式中,方版式0主要用於擴權展並行i/o口,方式1、2、3則主要用於序列通訊。
pc機的序列介面為rs232形式的介面,其高低電平的規定與微控制器所規定的ttl電平不同,所以微控制器上也必須有232介面,可直接選用232介面晶片例如max232,還要準備"串列埠除錯助手"這一軟體。
max232是一個電平轉換晶片。微控制器的txd端接max232的11腳,rxd端接max232的12腳。電腦上rs232的2腳接max232的14腳,3腳接max232的13腳,rs232的5腳接地。
8樓:靳溪黎
串列埠的電平和微控制器的電平不一樣,一般要做一個電平轉換器.另在51裡編一程式,就可把51裡的相關資料傳送給電腦了.
51微控制器與pc機之間的硬體串列埠連線???? 具體的怎樣連線????
9樓:匿名使用者
51微控制器與pc機之間的硬體串列埠連線,
如果 pc 機有 *** 串列埠 用 rs232轉換ttl 與微控制器 rxd txd 連線,
如果 pc 機沒有 *** 串列埠 用 usb轉換ttl 與微控制器 rxd txd 連線,
硬體連線後 就是 微控制器 軟體 與 pc機軟體 vb 的 程式設計問題了,
還有設計一個 微控制器 與 vb 的 通訊協議。
10樓:匿名使用者
微控制器和微機通訊的電氣標準要一致,微機串列埠一般是rs232電氣標準,所以要加電平轉換晶片,大多用max232,一般微控制器實驗板上都提供這樣的標準串列埠。
要分別編寫上位機和下位機軟體程式,微控制器程式參照例程、教科書進行編寫;上位機微機可採用vb,組態軟體,labview等軟體編寫,一般若是簡單的通訊,上位機程式編寫很簡單,例如vb中學會使用ms***m控制元件,有vb最基礎知識的一天就能學會。
大可以沒有微控制器,沒有max232,沒有序列介面這些硬體就可以實現學習並掌握微控制器與微機之間的串列埠通訊。proteus可以**微控制器,也是主流軟體。
如今的膝上型電腦幾乎都沒有保留串列埠,而用usb介面取而代之,不過沒關係,有了虛擬串列埠和串列埠除錯助手,這些都解決了。你可以搜尋一下虛擬串列埠,真的很不錯的。
11樓:
微控制器通過txd和rxd兩條線 連線max232晶片後,轉換電平,連線pc串列埠,一般是2、3腳,5腳是地線。一共三根線。
微控制器的txd接電腦的rxd,微控制器的rxd接電腦的txd。地線接地線。
vb中要用ms***m控制元件,設定相同的波特率,起始、結束位、校驗位,資料位等。
vb的ms***m控制元件設定好埠號,然後portopen= true
就可以接收微控制器資料了。
簡單的就是用查詢的辦法,用一個定時器,不斷的查詢ms***m控制元件的input屬性和inbufferlen屬性。
ms***m控制元件有個接收模式,文字或者二進位制,如果簡單的,建議用文字的,比較好處理。
二進位制的,就用位元組陣列接收。也簡單。
檢測溫度的,直接把溫度轉換成數字字元,傳給電腦就ok了,單工的就ok了。
呵呵,女孩也學微控制器?哈哈,時代不同了。
12樓:匿名使用者
微控制器一般是3.3v或5v的電平,電腦串列埠要高點,大概是十幾伏,具體數值記不清楚了,所以要連線到電腦,就要進行電平轉換,用rs232系列的晶片就可以。
13樓:匿名使用者
可以通過pc的串列埠和usb口與微控制器連線,之間都需要電平轉換處理
51微控制器用串列埠跟pc通訊進行收發資料
14樓:匿名使用者
//**來
來自 微控制器
自小精靈v1.3
//波特率9600 11.0592晶振 方式2#include
void inituart(void)
void sendonebyte(unsigned char c)void main(void)
void uartinterrupt(void) interrupt 4
else
ti = 0;}
15樓:匿名使用者
程式中是19200.
通訊不上有很多原因,你的電路不對、甚至是連線不對,也會導致通訊不上內.
你可以試試跟蹤你的容程式,看看可否正確地接收到pc發過去的資料,先把接收程式調好,然後再調傳送部分,這樣才有目標.
16樓:windy_諾
樓主試試只傳送一個字元,1或者2,不要12一起傳送。如果硬體,連線沒有問題應該是傳送什麼pc就接收到什麼。
17樓:音悅
我提下問題,你看下是不是:
1、***口對不對
2、波特率在燒錄程式的時候有的,你看下是否相同
兩片51微控制器之間的串列埠通訊
18樓:匿名使用者
1、不要忘了把兩個單bai片機的地也連du上,因為zhi這是單端訊號,必須連地。dao同時訊號線專不要超過1
米(如果你使用
屬3v的電壓,還要短些)。
2、首先,你要設定一個主機,可以主動傳送訊號,比如傳送『?』,然後從機接到訊號後返回'>',便可實現握手,隨後可以實現通訊。這種握手模式是很多微控制器在序列程式設計中使用了,可以拿來參考。
最後,不要忘了使能scon中的 ren位,主機和從機的波特率和格式一定要一致。實驗時候先從較低的波特率試驗,比如2400-9600。
19樓:匿名使用者
兩片微控制器可以直接交叉連上就行吧,但是傳輸距離會很近,實踐檢驗一下吧
握手就像暗號,在對應的位置收到對應的資訊再返回相應的資訊,否則返回另一資訊
20樓:做而論道
可參考:
再找找,還有很多同類回的題目。答
21樓:匿名使用者
交叉連就行,2片微控制器電源要共地,傳送和接收通過判斷ti,ri標誌位,去書上看看序列口的工作方式吧
51微控制器與pc機之間的硬體如何串列埠連線?
22樓:匿名使用者
微控制器和微機bai
通訊du的電氣標準zhi要一致,微機串列埠一般是rs232電氣標準dao,所以要加電平轉換晶片,版大多權用max232,一般微控制器實驗板上都提供這樣的標準串列埠。
要分別編寫上位機和下位機軟體程式,微控制器程式參照例程、教科書進行編寫;上位機微機可採用vb,組態軟體,labview等軟體編寫,一般若是簡單的通訊,上位機程式編寫很簡單,例如vb中學會使用ms***m控制元件,有vb最基礎知識的一天就能學會。
大可以沒有微控制器,沒有max232,沒有序列介面這些硬體就可以實現學習並掌握微控制器與微機之間的串列埠通訊。proteus可以**微控制器,也是主流軟體。
如今的膝上型電腦幾乎都沒有保留串列埠,而用usb介面取而代之,不過沒關係,有了虛擬串列埠和串列埠除錯助手,這些都解決了。你可以搜尋一下虛擬串列埠,真的很不錯的。
23樓:
單片抄機通過txd和rxd兩條線 連線max232晶片後襲,轉換電平,連線pc串列埠,一般是2、3腳,5腳是地線。一共三根線。
微控制器的txd接電腦的rxd,微控制器的rxd接電腦的txd。地線接地線。
vb中要用ms***m控制元件,設定相同的波特率,起始、結束位、校驗位,資料位等。
vb的ms***m控制元件設定好埠號,然後portopen= true
就可以接收微控制器資料了。
簡單的就是用查詢的辦法,用一個定時器,不斷的查詢ms***m控制元件的input屬性和inbufferlen屬性。
ms***m控制元件有個接收模式,文字或者二進位制,如果簡單的,建議用文字的,比較好處理。
二進位制的,就用位元組陣列接收。也簡單。
檢測溫度的,直接把溫度轉換成數字字元,傳給電腦就ok了,單工的就ok了。
呵呵,女孩也學微控制器?哈哈,時代不同了。
怎麼實現51微控制器與電腦串列埠之間的通訊
首先,微控制器和微機通訊的電氣標準要一致,微機串列埠一般是rs232電氣標準,所以要加電平轉版換晶片權,大多用max232,一般微控制器實驗板上都提供這樣的標準串列埠。其次,要分別編寫上位機和下位機軟體程式,微控制器程式參照例程 教科書進行編寫 上位機微機可採用vb,組態軟體,labview等軟體編...
51微控制器串列埠傳送資料,51微控制器串列埠同時傳送文字和資料
程式採用了查詢copy式傳送,for i 0 i 6 i 共發bai送了6個字元。再去查詢收到否du。這種方法zhi,就是有問題的,發 dao送6個字元時,就可能收到了好幾個字元,而沒有及時儲存,完全可能丟失資訊。應該採用中斷方式接收 傳送,也可以用查詢,也可以用中斷。方法弄清楚了,程式就容易編寫 ...
51微控制器串列埠通訊問題
c51微控制器的程式 1 初始化程式 tmod 0x20 th1 0xfd tl1 0xfd 0 0 1 1 ren 1 tr1 1 ea 1 es 1 2 傳送程式 void data send 串列埠傳送資料3 接收資料 void data receive interrupt 4 include...