999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C#實現PC機與單片機(89C51)的串行通訊

2008-12-31 00:00:00夏春飛
網絡與信息 2008年9期

摘要:本文主要論述PC機與單片機之間實現異步串行通訊需要解決的問題以及如何利用C#提供的串行通訊SerialPort類來實現PC機與51單片機的通訊。

關鍵詞: SerialPort;串行通訊;波特率

1 引言

PC機具有強大的監控和管理功能,而單片機則具有快速及靈活的控制特點,通過PC機的RS-232串行接口與外部設備進行通訊,是許多測控系統中常用的一種通信解決方案。

在Microsoft.Net技術廣泛應用的今天人們采用了許多方法在Visual Studio.Net中來編寫串口通訊程序:第一種方法是通過采用Visual Studio 6.0中原來的MSComm控件,這是最簡單、最方便的方法,但需要注冊;第二種方法是自己用API寫串口通信;第三種方法是采用微軟推出的最新版本Visual Studio 2005開發工具,NET Framework 2.0類庫中包含的SerialPort類,方便地實現了所需要串口通訊的多種功能。本文著重討論了Visual Studio 2005開發工具中SerialPort類的設計方法。

2 SerialPort類常用屬性、方法和事件

2.1 命名空間

System.IO.Ports命名空間包含了控制串口重要的SerialPort類,該類提供了同步I/O 和事件驅動的I/O、對管腳和中斷狀態的訪問以及對串行驅動程序屬性的訪問。

2.2 串口的通訊參數

①通訊端口號:

[PortName]屬性獲取或設置通信端口,包括但不限于所有可用的COM端口,該屬性返回類型為String。

②通訊格式:

SerialPort類分別用[BaudRate]、[Parity]、[DataBits]、[StopBits]屬性設置通訊格式中的波特率、校驗位、數據位和停止位。

2.3 串口的打開和關閉

SerialPort類中打開關閉串口相應的是調用類的Open()和Close()方法。

2.4 數據的發送和讀取

SerialPort類調用重載的Write和WriteLine方法發送數據,其中WriteLine可發送字符串并在字符串末尾加入換行符。讀取串口緩沖區的方法有許多,其中除了ReadExisting和ReadTo,其余的方法都是同步調用,線程被阻塞直到緩沖區有相應的數據或大于ReadTimeOut屬性設定的時間值后,引發ReadExisting異常。

2.5 DataReceived事件

DataReceived事件在接收到了[ReceivedBytesThreshold]設置的字符個數或接收到了文件結束字符并將其放入了輸入緩沖區時被觸發。

3 PC機與8051實現串行通訊需要解決的問題

3.1 TTL電平與RS232電平的轉換

89C51單片機采用的是TTL電平且采用正邏輯[1],而PC機采用RS232與外部設備進行通訊,RS232采用負邏輯,因此MCS51單片機串行口與PC機的RS232接口相連進行通訊時必須進行電平的轉換。通常采用MAX232電平轉換芯片。

3.2 單片機與PC機通訊時波特率的設定

PC機與51單片機雙方進行通訊時必須采用相同的波特率,PC機的波特率默認為9600b/s, 51系列單片機有兩個定時/計數器,四種工作方式,一般用定時器工作于方式2(可重新裝載的8位定時器/計數器)作為定時波特率發生器。因此單片機與PC機進行異步通訊時的波特率可由公式3.1得出:

其中SMOD是單片機電源控制寄存器(PCON)中的位7,開機(RESET)時,SMOD的設定值為0,亦可用指令“ANL PCON,#7FH”清除為0。fosc為單片機的晶振頻率。根據需要的波特率即可得計數初值TH1。

4 單片機與PC機通訊時通訊協議的約定及部分初始化程序

在單片機與PC機的通訊中,單片機一般作為下位機負責從控制對象采集數據(如壓力、流量等),上位機則進行現場可視化檢測。傳輸數據采用二進制數據,上位機與下位機之間采用主從式通訊。以下給出單片機和VC# 環境下部分的通訊程序。

4.1 串口通訊協議約定

波特率為9600b/s,無奇偶校驗位,傳輸的數據位為8位,停止位為1位,用串行口工作于方式1。單片機的晶振頻率fosc=11.059MHz,定時器T1工作于方式2作為波特率發生器,根據計數初值的計算公式(3.1)可得計數初值TH1為0FDH 。

4.2 單片機的串行通訊程序

單片機串行通訊程序,給出了初始化程序:

ORG0000H

AJMP START;轉到初始化程序

ORG0023H

AJMP PGUART ;轉到串行中斷服務子程序

START: MOVSP,#60H ;堆棧指針初始化

MOVP0,#0FFH ;端口初始化

MOVP1,#0FFH

MOVP2,#0FFH

MOVP3,#0FFH

MOVTMOD,#20H;定時器T1工作于模式2,自動重裝載

MOVTH1,#0FDH;TH1、TL1初值為\"0FDH\",9600bps

MOVTL1,#0FDH

MOVSCON,#50H;串行口工作于方式1,允許接收

SETB TR1 ;啟動定時器T1

SETB ES ;允許串行口中斷

SETB EA ;開總中斷

MAIN:...... ;主程序處理其他任務,等待串口中斷

AJMP MAIN

PAUSE:...... ;串口中斷服務子程序,接收處理數據

RETI

END

4.3 上位機的串行通訊程序

例:發送及接收數據的程序:

private void button1_Click(object sender, EventArgs e)

{

string a;

SerialPort Ser1 = new SerialPort(\"com1\", 9600, Parity.None, 8, StopBits.One);

Try

{

Ser1.Open();

}

catch (InvalidOperationException ex)

{

MessageBox.Show(ex.ToString());

}

if (textBox1.Text == \"\")

{

MessageBox.Show(\"Err\");

Ser1.Close();

}

else

{

a=textBox1.Text;

try

{

//p.WriteLine(a);

p.Write(a);

}

catch(InvalidOperationException ex)

{

MessageBox.Show(ex.ToString());

}

textBox2.Text = Ser1.ReadByte().ToString();

Ser1.Close();

}

}

5 結束語

單片機與上位機的通訊在工業現場中應用的比較廣泛,本文對C#提供的串行通訊SerialPort類來實現PC機與51單片機的通訊進行了探討。實踐證明,這種方案是可行的,能保證雙方通訊正常。

參考文獻

[1]蔡朝洋.單片機控制實習與專題制作.北京航空航天大學出版社.

[2]張洪潤,易濤.單片機應用技術教程.清華大學出版社.

主站蜘蛛池模板: 国产成人禁片在线观看| 伊人久热这里只有精品视频99| 亚洲精品视频网| 国产96在线 | 欧美成人午夜视频免看| 亚洲成人高清在线观看| 五月激激激综合网色播免费| 亚洲91在线精品| 色综合成人| 毛片视频网| 99久久99视频| 天堂va亚洲va欧美va国产| 国产尤物jk自慰制服喷水| 伊人成色综合网| 91青青草视频在线观看的| av天堂最新版在线| 91亚洲免费视频| 日韩精品成人在线| 老司机精品一区在线视频| 国产爽爽视频| 好吊日免费视频| 成人在线观看一区| 久久毛片免费基地| 久久精品中文无码资源站| yjizz国产在线视频网| 一级爱做片免费观看久久| 永久免费av网站可以直接看的| 日韩无码视频播放| 亚洲天堂网视频| 91精品专区国产盗摄| 国产尤物在线播放| 亚洲高清无在码在线无弹窗| 亚洲一区色| 亚洲最黄视频| 日本午夜视频在线观看| 国产一区二区三区免费观看| 国产香蕉国产精品偷在线观看| 天天躁狠狠躁| 国产福利小视频在线播放观看| 精品综合久久久久久97| 草草线在成年免费视频2| 中文字幕永久在线看| 国产va视频| 无码一区二区波多野结衣播放搜索| a毛片免费在线观看| 人妻一区二区三区无码精品一区 | 无码专区国产精品一区| 国产浮力第一页永久地址| 伊人久久青草青青综合| 性色一区| 欧美无专区| 97人人做人人爽香蕉精品| 多人乱p欧美在线观看| 伊人查蕉在线观看国产精品| 国产极品粉嫩小泬免费看| 亚洲综合欧美在线一区在线播放| 亚洲一区二区三区国产精华液| 亚洲丝袜中文字幕| 99久久精彩视频| 毛片免费在线| 国产精品一线天| 欧美视频在线第一页| jizz亚洲高清在线观看| 五月婷婷丁香综合| 亚洲日本www| 国产精品吹潮在线观看中文| 国产大片喷水在线在线视频| 欧美另类第一页| 99ri精品视频在线观看播放| 免费看美女自慰的网站| 国产精品香蕉在线| 国产靠逼视频| 奇米影视狠狠精品7777| 不卡网亚洲无码| 国产美女在线免费观看| 日韩在线1| 夜夜爽免费视频| 亚洲男人的天堂网| 中文字幕久久波多野结衣| 毛片久久网站小视频| 欧美成人二区| 好吊色妇女免费视频免费|