下面是MSComm控件的初始化程序、部分数据发送和接受程序
4调试与结论
该系统目前已调试成功,完成了PC机与51单片机之间的串行通信。并且实现了下列功能:1)在VB界面上发送任一数字在51单片机的数码管上都能成功的接收 2)同样通过向51单片机内写入的程序,在VB界面上可以接收到相对应的内容且运行良好。
调试过程如下:
硬件方面:
该系统的硬件调试主要是排查单片机印刷电路板的问题和连接上的一些问题。在该系统中,首先通过了仔细地推敲系统原理,确认无误;其次对照设计图纸查印制电路板,看是否有粘接等工艺现象;最后,检查外围连接是否有误,通过这几个方面的反复调试,可确保电路板的无误性。
在本系统的硬件调试过程中,出现了下列两种情况
1)电压不稳定而导致程序无法写入的情况,使电压稳定的方法是改用新的电池,或者是再次设计电源方案,在这里是用电源接通教学实验板,然后再把教学实验板与本系统相 连接,这样,就可以得到稳定的电压了。
2)还出现的一个问题是数码管不显示,检查后是焊接上出现了一点的失误。
软件方面:
本系统在软件调试方面也没有规律可循,调试时更多的是凭经验。软件调试的主要任务是排查错误。通过在Wave E2000编译器下调试程序,有两种错误,一种逻辑错误,也就是语法错误,是很容易被发现的,另一种是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。调试过程中出现的问题主要有以下四个方面:
1)用其它串口调试软件能够很好的实现两者之间的串行通信,成功的接收和发送数据,但使用我们的VB程序却不能实现,要么只能实现接收功能,要么只能实现发送功能。之后通过对VB程序做多次的改动与测试才达到理想的结果。
2)在VB界面上发送的数据与单片机的数码管上显示的数字不相符,这个问题是我们汇编程序的问题,由于汇编语言符号的繁多加上我们的粗心在输入代码的过程中难免出现一些看不见的问题,造成调试过程中出现意外。借此我想提醒大家的是搞设计搞研究必须做到细心,要有一颗敬业的心对待我们接受的任务,有耐心面临出现的困难。
3)由于要实现上下位机的串行通信,所以两者之间的波特率是否一致也是一个不容忽视的问题,在开始我并没有太注意这个方面的情况,到各方面的准备工作都做好要进行调试的时候,才发现有个二者波特率设置是否相同将影响到整个通信过程,我赶紧作了修改才免遭一次调试失败。
4)还有最后一点注意的地方是,利用MSComm控件比较方便地开发串行通信程序,实现串行通讯原理已经得到实验结果验证,考虑到将来对系统实时性的要求,采用了MSComm控件的查询处理机制,避免了中断处理机制的不稳定和不连续性,而且还可以很方便地控制多个串口,只需插入多个MSComm控件,并为每个MSComm控件编写OnComm()函数。但是我们也清楚的体会到MSComm控件在VB中的使用较为复杂。这一点是我们以后在运用中需要加强的地方。
伴随着单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。希望通过大家的共同努力能在PC机与单片机这方面取得新的成绩有突出的表现,能够很好的将学到知识运用到实际生活中,比如上面提到的利用单片机实现对温度的实时检测与控制已经得到广泛的应用。另外我们还可以在单片机的接口上再加接显示器,这样就更能方便的对系统进行操作与控制。
通过这次毕业设计,我深刻体会到专业知识、专业技能分析和解决问题的能力在实际生活中是多么的重要,在完成设计任务的同时我这些方面的能力有了一个全面的提高和锻炼。具体表现在对单片机与PC机的串行通信的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(汇编语言与VB)的掌握方面都向前迈了一大步,为日后使我能成为合格的应用型人才打下了良好的基础。
采用本系统实现PC机与单片机串行通信与一般其它系统的比较:一般的PC机与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。相对而言通讯速率不是很理想,在一些要求通讯传输速率比较快的地方,普通的PC机与单片机之间的串行通信显然是不能满足其要求的。利用VB6.0 的事件驱动方式可以很方便地开发数据采集与监控系统,用单台PC 机可以测量和监控多路控制信号,整控制系统设计方便,对小型测控系统的设计具有很大的实用性。且传输数据的速率要比普通的串行通信要快些。
对于目前广泛应用的Windows环境下实现PC机与单片机之间的通信问题,希望大家能提出宝贵的意见。
[1]蔡美琴等.MCS-51系列单片机系统及其应用(第二版).高等教育出版社,2004.
[2]杨毓,李明.Visual Basic6.0实用开发教程[M].成都:电子科技大学出版社,2001.
[3]刘新民,蔡琼等.VB6.0程序设计.北京:清华大学大学出版社,2004.
[4]李华.单片机通用接口技术[M].北京:北京航空航天大学出版社,1999
[5]魏庆福,姚亦鸣,等STD总线工业控制机的设计与应用[M].北京:科学出版社,1992
[6]何立民,单片机应用系统设计.北京:航空航天大学出版社,1992
[7]美Jan Axelson 著,串行端口大全,精英科技译,2001.5四
[8]刘瑞新等. Visual Basic程序设计教程,北京:机械工业出版社, 2002
[9]傅扬烈 单片机原理与应用教程,电子工业出版社, 2002.1
[10]余锡存 曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000.7
[11]David Jung等著.前导工作室译. Visual Basic6.0开发人员参考手册. 北京:机械工业出版社, 2000