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]張洪潤,易濤.單片機應用技術教程.清華大學出版社.

主站蜘蛛池模板: 国产福利微拍精品一区二区| 精品成人一区二区| 午夜性爽视频男人的天堂| 九色91在线视频| 欧美日韩另类在线| 亚洲一区二区三区中文字幕5566| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲精品成人7777在线观看| 97久久精品人人做人人爽| 久久久久久久97| 国产精品欧美激情| www.亚洲一区| 日本欧美视频在线观看| 丰满人妻久久中文字幕| 欧美午夜视频| 免费欧美一级| 国产精品自在线拍国产电影 | 色精品视频| 99久视频| 亚洲无码熟妇人妻AV在线| 国产在线视频欧美亚综合| 久久久久久高潮白浆| 国产精品美人久久久久久AV| 日韩无码真实干出血视频| 国产91视频免费| 国产网站免费| 天天操精品| 免费高清毛片| 色悠久久久久久久综合网伊人| 中文国产成人精品久久一| 精品久久久久无码| 精品无码国产自产野外拍在线| 久久中文字幕不卡一二区| 久久人妻系列无码一区| 伊人天堂网| 国产无码在线调教| 久久精品66| 国产成人精品第一区二区| 美女一区二区在线观看| 91精品国产情侣高潮露脸| 日本精品视频| 国产农村妇女精品一二区| 一级成人a毛片免费播放| 最新国产你懂的在线网址| 美美女高清毛片视频免费观看| 亚洲Va中文字幕久久一区| 亚洲视频免| www.亚洲一区| 天堂网亚洲系列亚洲系列| 国产一级毛片yw| 青青青亚洲精品国产| 91精品啪在线观看国产91九色| 国产在线精品网址你懂的| 日韩免费毛片| 无码中文AⅤ在线观看| 四虎亚洲精品| 免费一级大毛片a一观看不卡| 青草视频在线观看国产| 久久精品视频一| 色悠久久综合| 99re视频在线| 国产成人精品免费av| 亚洲无码37.| 国产成人久久777777| 国产麻豆另类AV| 國產尤物AV尤物在線觀看| 91九色最新地址| 毛片在线看网站| 久久性妇女精品免费| 99热这里只有免费国产精品 | 国产主播一区二区三区| 日本不卡在线播放| 亚洲最大看欧美片网站地址| 久久永久免费人妻精品| 国产色婷婷| 91色在线观看| 亚洲手机在线| 免费一级毛片完整版在线看| 国产成人一区| 99精品福利视频| 日本精品视频| 91视频精品|