采用高级语言编程实现单片机控制

采用高级语言编程实现单片机控制

ID:14602224

大小:498.00 KB

页数:5页

时间:2018-07-29

采用高级语言编程实现单片机控制_第1页
采用高级语言编程实现单片机控制_第2页
采用高级语言编程实现单片机控制_第3页
采用高级语言编程实现单片机控制_第4页
采用高级语言编程实现单片机控制_第5页
资源描述:

《采用高级语言编程实现单片机控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、采用PC机实现单片机优化控制采用PC机实现单片机优化控制狄金海作者简介:狄金海,男,吉林松原人,助讲.(浙江工贸职业技术学院电子工程系温州325003)〔摘要〕文章介绍了采用PC机实现单片机的优化控制的实现方法。它能够很好的实现单片机和计算机的通信,并且控制操作简单、控制界面良好。〔关键词〕PC机单片机串行通信〔中图分类号〕TP368.1〔文献标识码〕A一、用PC机实现单片机优化控制的必要性目前,单片机的控制很广泛。但是对于复杂的现场控制,大多数单片机的控制程序都是采用单一的汇编语言编写。其缺点有:1

2、.由于汇编语言功能的限制,不能形成友好的控制界面。不能很好的反映出控制现场的实时变化情况。2.对于不同的单片机CPU芯片,还要有不同的汇编语言,可移植性差,增加了编程的难度。3.当被控对象的工艺条件变化时,单片机很难跟着变化。除非重新编制程序,再一次的固化,这样操作起来就比较困难。笔者采用了PC机高级语言编程和单片机汇编语言编程相结合解决上述的缺点。二、实现过程PC机将各种予置信号通过串行口送给单片机控制系统,再由单片机系统通过D/A变换产生实际的模拟信号送到现场;予置数值可以显示在PC机的软件窗口上

3、。同时,现场由传感器实测的信号通过A/D转换送到单片机分析处理,通过和予置的数值比较得到误差数据,误差数据被送到控制现场进行精度调整,这样就形成了一个闭环控制系统。同时,单片机将实测的准确数据通过串行口送到PC机,显示在软件窗口上,供操作人员查看、记录和调整控制。关键是如果控制对象的工艺条件改变时,只需在PC上把予置数据改变为要求的数据即可。在后面地系统示例中笔者采用的是自己开发的温度控制系统。(一)单片机汇编语言部分在设计好了控制电路之后,用传统的汇编语言完成了单片机控制的初始化部分。初始化包括串行

4、口接收和发送数据、A/D、D/A等功能。其余的由PC机来完成。这个部分,大多数读者都比较清楚,在此不在赘述,具体的可以见后面的实例论证部分。要注意的是在初始化程序里要留有串行通信的程序接口和实现过程。(二)PC机高级语言部分在PC机高级语言编程中,笔者采用了VISUALBASIC高级语言。VISUALBASIC(VB)是MICROSOFT公司推出的面向对象编程的高级语言,它以编程简单、ActiveX控件丰富、可移植性好、功能强大而受到广大编程人员的欢迎。因此本系统高级语言编程采用了VB。1.控制界面的

5、完成91采用PC机实现单片机优化控制本系统以温度控制系统为例进行阐述说明的。使用高级语言编程可以在PC机上编制非常友好、直观的人机控制界面。把原来的人体直接控制变成了鼠标、键盘的间接控制;并且通过直观的控制界面可以很容易的实现控制,对现场的控制情况一目了然,增加了操作人员的视觉感、安全感,简化了操作。控制界面包括:现场数据显示、予置数据输入、现场数据上下限数值、报警提示、数据记录、时间和日期、数据打印、本程序使用密码等。2.PC机对外通信这个部分是本系统的重要部分,PC机的数据都可以设置,但要把PC机

6、的数据送到串行端口上以及怎样才能把串行端口上数据接收进来,是PC机编程中的关键部分。在VB的大量控件中,有一个MSCOmm控件,是专门用来实现串行端口数据的传输和接收的,为应用程序提供了串行通信功能,是一个标准的十位串口通信。本次设计就使用了该控件。下面就介绍一下该控件的使用方法。控件属性:lcommport设置并返回通信端口号。语法为:object.comport[=value]value是一个整型值,表明使用的端口号说明:在设计时,value可以设成从1—16的任何数,在打开端口之前必须设置端号。

7、lsettings设置并返回波特率、奇偶校验、数据位、停止位等参数语法为:object.settings[=value]value是一字符串表达式,说明端口的设置值,由四个设置值组成,格式如下:“BBBB,P,D,S”其中,BBBB为波特率;P为奇偶校验;D为数据位;S为停止为数。要值得注意的是此处的设置值一定要和单片机系统的串行口波特率设置值一致。lportooen设置并返回通讯端口的状态;语法为:object.portopen[=value]value为一布尔表达式,说明通讯端口的状态;value

8、=true:端口开;value=false:端口关要注意的地方是如果在端口打开之前,DTREnable或RtsENable属性设为true;当端口关闭时一定要将这两个属性设置为false.lInput返回并删除接收缓冲区中的数据流语法为:object.input说明:inputlen属性确定被input属性读取的字符数。设置inputlen为0,则input属性读取缓冲区中全部的内容。Inputmode属性确定被input读取的数据类型。如果inputm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。