vb与单片机语言串行通信技术
VB与单片机语言串行通信技术
长沙电力学院计算机系(4l0007) 陈倩诒
摘要:介绍Windows环境下VB语言与单片机语言的串行通信技术。
关键词:VB缟程单片机编程串行通信
在工业自动化系统中,单片机通常用作前端处理器,
深入现场采集各种数据。数据经处理后再以串行通信方式
送至由微机构成的中央处理器。并执行微机下达的命令,
实施现场控制:因而,微机与单片机的通信十分频繁。
当前,在Windows环境下,VB语言是最流行的语言
之一:实现VB与单片机的通信问题,实际上就是解决VB
语言与单片机语言的接...
VB与单片机语言串行通信技术
长沙电力学院计算机系(4l0007) 陈倩诒
摘要:介绍Windows环境下VB语言与单片机语言的串行通信技术。
关键词:VB缟程单片机编程串行通信
在工业自动化系统中,单片机通常用作前端处理器,
深入现场采集各种数据。数据经处理后再以串行通信方式
送至由微机构成的中央处理器。并执行微机下达的命令,
实施现场控制:因而,微机与单片机的通信十分频繁。
当前,在Windows环境下,VB语言是最流行的语言
之一:实现VB与单片机的通信问题,实际上就是解决VB
语言与单片机语言的接口问题。下面介绍VB语言如何与
单片机进行串行通信。
1在VB中编写串行通信程序的方法及步骤
VB中有许多控件.为编程提供了方便。VB图形功能
强大,具有良好的人机界面。VB编程过程分为2部分:(1)
控件的词入及其属性的设置。(2)编写程序部分。由于控件
的调人与设置,使得编程变得简单。
1.1添加控件并设置控件属性
下面以VB5.0为例介绍其编程过程。在Windows环
境下启动VB5.0后,即进入VB5.0集中开发环境界面
(即主界面)。本例选用最简单的界面,共使用4个控件:2
个命令按钮(“运行”键和“结束”键)、1个文本框、1个串
行口一前3个控件都可以从工具箱中添加,然后修改其属
性值.
在工具箱内没有串行口,须临时引入。点击.主菜单
的“
/部件”,在部件界面的控件页中点击Microsoft
CommControl5.0前面的方框,在T具箱中就添人了串
口控件(电话机模型)。在窗体内添加串口挣件,并在其属
性窗口将Commport设置为2(COM2口),将Settings串
行数据设置为“1200、n、8、1”。至此4个控件均已完成。
(接上页)
应当基于WebService的体系架构,形成开放性的数据
体系和服务层次。其中,InterOPStack所提供的5层协
议/
,将作为基础的体系架构,有着广泛的应用前景。
参考文献
I AribaInc.UDDITechnicalWhitePaper.IBMCorpora-
tionandMicrosoftCorporation,2000
—30—
1.2编写程序代码
“运行”键和“结束”键代码程序如下。
PrivateSubCommandl-Click()“‘运行”键
DimistAsString ’变量及数组设置
Dimaz(50)AsString
MSComml.PortOpen=True
MSComml.Output=Chr(128
Forn=0To42
Do
开串口
送密码80H
DoEvents ’无信号输入,等待
LoopUntilMSCommI.InBufferCount)=l
ist=MSComml.Input’有信号输入,输至变量Ⅲ
IfLen(istl(>0Thenc=Asc(ist】
IfLen(ist)=0Thenc=O
dd=Hex(c)
az(n)=dd7变量经处理后存人数组
Nextn
Forn=OTo42 ’数据显示
Text2Text=Text2.Text十””+az(n1
Nextn
MSCommlPortopen=False’结束,荚串1:3
EndSub
PrivateSubCommand2一Click()“结束”键
End
EndSub
2用汇编语言编写串行通信程序
8位机MCS51系列和16位机MCS96(196)系列是
2 SOAP:SimpleObjectACCessProtocolSpecification
1.1.IBMMicrosoftDevelopMentor,2000
3 ExtensibleMarkupLanguage(XMl.)1.0(SecondEdition).
W3C,2000
4 WebServiceDescriptionLanguage(WSDLl1.0.IBM
Corporation,2000
(收稿日期:200I一05—31)
《微型机与应用》2001年第11期
万方数据
Inte[公司的产品.其功能完善,如串口、定时器、中断、片
内程序存储器等一应俱全.单片机中最基本的浯苦是汇
编,具有代码效率高、运行速度快等特点。与上血的VB程
宇相应的ASM51单片机程序如下:
0RG0000H
MOVTMOD.#20H
MOVrfll.#OE8H
MOVSCON.#50}
SETBr竹I
STA: J、BR1,STA
(:LRRI
MOVA.SBUF
CJNEA.#80H,STA
MOVA.#00H
MOVB.#2AH
ST~1:MOVSBUF.A
STA2:JNBTl,STA2
CLRTI
INCA
DJNZB.STAl
SJMPSTA
END
设置定时器i
晶振:f_-l1 0592MHz.
;波特率:B=1200
串口设置
开定时器1
串If是否有信号输入,
;若无则等待
若有则输出毛A
密码不正确。返回等待
密码正确置初值为0
共42次
发送散据至微机
数值加1
次数减1
返扫f
必须指出,单片机波特牢的没置与晶振的频率f和定
时器THl的取值(即程序的第2条指令)有密切关系。对
51系列单片机而占,晶振频率通常采用:f=110592MHz,
这样设置的波特率为整倍数,精度高,波特率与THl的取
值有如图I所示的关系。
THI值l州)AOHf#ODOHl#OE8Hl#OE4Hl#OEAHl#OEDII
图1波特率与THI的取值关系
该程序对上位机下达的密码有自动校对功能,若密
码不正确,程序返刨等待。这样就可以防止某些干扰信号
造成的误操作,本稃序是将OOH~2AH的42个数据回送
到上位机并在微机界面上显示:读者可以根据需要自行
改编(CJNEA.#80H,STA语句以下部分)。
3用PL/M语言编写串行通信程序
除使用汇编语言外,还可用如C语言、PL/M浯言等
高级语言对单片机编程。PI,/tel语言是Intel公司为开发
单片机而专门
的一种高级程序设计语言。它既有高
级语言的特点,叉与单片机内部的硬件有联系,因而具有
极强的针对性与打一编语言相比,PL/N语言易于编写,可
凄性强,缩短了软件的开发周期.特别是在繁琐的数据处
理押运算上明显优于汇编语言。目前PL/M语占已成为单
片机软件开发的主流语言。
PL/M语言最常用的是PI./M5I(用于MCS51单片
机)和PL/M96(用于MCS96单片机)一以下是PL/M96与
、B5.0的串行通信程序:
(饿型机与应用》2001年第11期
P96:DO;
$IC(C196.REC)
DECLAREfAl,A2.A3)BYTF:
10C1=IOClOR20H;
RAUD=7【H:/4/_-12MHz.B:1200t/
BAUI)=82H:
SPS=09H; /+串rI没置+/
STA: A3=0;
A3=A3ORSPS;
iFBITTST(A3.6)=0THENG()T0STA:
A1=SBUF:
lFAI<>80HT|tENGOTOSTA;
A1=O:
A2=2AH:
STAJ: SBUF;A1;
STA2:A3=O;
A3=A3ORSPS:
IFBITTST(A3.51=0THENCOT()STA2.
A1=Ai+l:
A2=A2—1;
IFA2<>OTHENGO’lOSTAl:
G010STA;
END;
该程序运行的结果也是将0~2AH的42个数送往傲
机显示。本单片机采用目前最流行的16悔机80C196系
列。品振采用12MHz,没置值分2次写人同一寄存器
BAuD中。波特率与BAUD值的关系如图2所示。
l帔特率l300 1200 2400i 4800 9600
BAUD值f#89CAI!J#8271Hl#8138Hl#809CHf#81MEH
图2被特率与BAUD值的关系
4运行并改进程序
VB程序运行的操作过程银简单,点击t某单的“运
行/启动”,进人vB的执行界面;点击”运行”键,文本框
中轻示单片机送上来的数据;点击“退_l{;”键,程序结求,
并退回剑代码窗u一
以上3个程序都采用原码串行通信,即啦片机送仆么
样的数据微机就显示什么样的数据。若要采用ASCIl码通
信,nnX将程序稍做改动:在VB50程序中.去掉第11至
第14行,改用a(z)=ist。在ASM5l程序巾,在标号州Ai
后面增加1条指令ADDA,#30H。确:PL/M96程序中,标
号sTAl后面增加1条语句A1=A1+30H.单片机将字符
变为ASCll码48~90送出后.微机将显示0-9、郭分字符
及A—z共43个字符。
参考文献
I 陈伟人.单片微型计算机原理及应用北京:清华大学出版
社,1989
2陈力钧,刘英单片机高级程序设i|语言两安:西安电子科
技大学出版社,1994
(收稿H期:2001~06—06)
一3l一
万方数据
VB与单片机语言串行通信技术
作者: 陈倩诒
作者单位: 长沙电力学院计算机系,
刊名: 微型机与应用
英文刊名: MICROCOMPUTER & ITS APPLICATIONS
年,卷(期): 2001,20(11)
引用次数: 1次
参考文献(2条)
1.陈伟人 单片微型计算机原理及应用 1989
2.陈力钧.刘英 单片机高级程序设计语言 1994
相似文献(0条)
引证文献(1条)
1.黄建华 基于Turbo C语言的通讯程序设计[期刊
]-兰州石化职业技术学院学报 2001(02)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_wxjyyy200111012.aspx
下载时间:2010年1月12日
本文档为【vb与单片机语言串行通信技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。