时间:2022-04-01 08:46:29
序论:在您撰写大学毕业设计时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。
一、论文印装
毕业论文要用我校统一的太原理工大学毕业设计(论文)用纸(印刷厂可提供),并用计算机打印。排版用word文件,版面上空3.3cm,下空2.3cm,左空2.8cm(用于装订),右空2.3cm。打印正文用宋体或楷体小四号字(英语用Times New Roman 12),单倍行距(英语用1.5倍行距),页码用小五号字底端居中。
二、论文结构及要求
1.太原理工大学统一封面
2.毕业设计任务书
任务书由指导老师填写,内容、时间与工作日志中任务书相符,经教研室主任、系主任签字后生效。
3.毕业设计(论文)中英文摘要、关键词
中文摘要300字左右(样式见附件一)
英文摘要300字左右(样式见附件二)
关键词(3-5个)
1.1 设计的目及意义
一般的PC与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。相对而言比较的烦琐,而本文着重用VB具有面向对象的设计方法,友好的用户来探讨在VB环境下来实现PC机与51单片机之间串行通讯的方法。实现起来要简捷方便。
随着计算机系统的应用和微机网络的发展,各种控制设备之间的通信功能越来越显得重要。尤其是伴随着单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。在本系统中,下位机采用一片AT89S51单片机,用于对发送的数据实施控制,为了实现对输入数据的接收,上位机采用便携式PC机,上、下位机之间通过MAX232芯片实现串行数据通信。PC 机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
本文将论述在VB 环境下PC 机与单片机之间实现串行通讯的软硬件方案。实现单片机与 PC 机的相互通信。单片机部分由汇编语言实现,PC 机的通讯程序使用Visual Basic 编写,VB 是Microsoft 公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM 控件。因此如何实现PC 机与单片机之间的通讯具有非常重要的现实意义。
利用VB6.0 的事件驱动方式可以很方便地开发数据采集与监控系统,用单台PC 机可以测量和监控多路控制信号,整控制系统设计方便,对小型测控系统的设计具有很大的实用性。
1.2 设计实现的功能
实现单片机与 PC 机的相互通信。具体要求有以下两点:
①单片机发固定编好的代码,在用 VB 编好的界面上接收;
②在 VB 编好的界面上发送数字,在单片机板上的数码管上显示出来。
2 硬件设计方案
为了实现PC机与单片机之间的串行通信,我们首先要清楚了解整个系统所采用的原理图。原理图就象一根红线贯穿于整个系统设计,通过此图我们就能很清楚的看到系统所涉及的内容,然后鉴于此,我们将在以后的章节中依次对所牵涉的内容作详细的论述。下面对原理图作一点说明:从MAX232芯片中的两路发送接收中任选一路作为接口,要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。如选他T1IN接单片机的发送端TXD,则PC机、的RS—232的接收端RD一定要对应接T1OUT引脚。同时,R1OUT接单片机的接受端RXD引脚,则PC机的RS—232的发送端TD一定要对应接R1IN引脚。
上图为采用MAX232芯片接口的PC机与51单片机串行通信接口原理图
2.1 AT89S51单片机
2.1.1 AT89S51单片机简介
AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器, 128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2.1.2 AT89S51单片机的功能
AT89S51主要功能列举如下:
1)为一般控制应用的8位单芯片
2)晶片内部具有时钟振荡器
3)内部程式存储器(ROM)为 4KB 4)内部数据存储器(RAM)为 128B
5)外部程序存储器可扩充至 64KB
6)外部数据存储器可扩充至 64KB
7)32 条双向输入输出线,且每条均可以单独做 I/O 的控制
8)5个中断向量源
9)2组独立的 16 位定时器
10)1个全多工串行通信端口
11)8751 及 8752 单芯片具有数据保密的功能
12)单芯片提供位逻辑运算指令
2.1.3 AT89S51各引脚功能介绍:
VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:AT89S51的重置引脚,高电平动作。
EA/Vpp:存取外部程序代码,低电平动作。
ALE/PROG:地址锁存器启用信号。
PSEN:程序储存启用,通常这支脚是接到EPROM的OE脚。
PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。
本系统所采用的AT89S51芯片如下图所示:
2.1.4 AT89S51 ISP
ISP为在线编程接口。ISP在线编程接口为89S51单片机提供了方便的在线编程方法,使用时将ISP下载线一端与PC并口相连接,一端与ISP接口相连,使用ISP下载软件即可实现MCU在线编程。
下载线插接说明:两排十针下载口,板图上都有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角,这一点一定要切记,不然的话程序下载不进去。
本系统中所用AT89S51 ISP原理图如下示:
AT89S51 ISP
2.2串行通讯
2.2.1串行通讯的概念
串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传送按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。串行通讯的距离可以从几米到几千米。
分类:根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
2.2.2 RS-232C 串口通讯原理
RS-232C是目前最常用的串行接口标准,用来实现计算机与计算机之间,计算机与外设之间的数据通信。
RS-232C串行接口总线适用于设备之间的通信距离不大于15米,传输速率最高为19.2kb/s的场合。RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、和19200b/s。RS-232C属单端信号传送,存在共地噪声和不能抑制的共模干扰等问题,因此一般用于短距离通信。
1) RS-232C接口信号
一个完整的RS-232C接口有22根线,采用标准的25芯连接器。
2) RS-232C 典型应用
用RS-232C总线连接系统时,有近程通信方式和远程通信方式之分。近程通信是指传输距离小于15米的通信,这时可以用RS-232C电缆直接连接。15米以上的长距离通信,需要采用调制解调器。
下图a)是计算机与终端之间利用RS-232C直接通信的最常用的交叉连线图。图中“发送数据”与“接收数据”是交叉相连的,使得两台设备都能正确地发送和接收。“数据终端变绪”与“数据装置就绪”两根线也是交叉相连的,使得两设备都能检测出对方是否已经准备好。
在最简单的全双工系统中,公用发送数据、接收数据和信号地三根即可。对MCS-51单片机来说,利用RXD(串行数据接收端)线、TXD(串行数据发送端)线以及一根地线,就可以构成符合RS-232C接口标准的全双工串行通信口。(见图b)
(a)直接连接
(b)最简单的RS-232C数据通信连接
3) RS-232C接口电平转换
RS-232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平对地是对称的,完全与TTL、CMOS逻辑电平不同。
RS-232C采用负逻辑,即:
逻辑1:-5V~-15V。 逻辑0:+5V~+15V。
由于MCS-51采用TTL电平,若用RS-232C标准接口通信必须进行电平转换。目前RS-232C与TTL电平转换最常用的集成电路芯片是传输线驱动器MC1488传输线接收器MC1489。其内部结构和引脚如下图(c)所示。
MC1488可完成TTL电平到RS-232C的电平转换,输入为TTL电平,输出为RS-232C电平。其内部有3个与非门和1个反相器。采用±12V或±15V电源供电。
MC1489可完成由RS-232C到TTL电平转换,输入为RS-232C电平,输出为TTL电平。其内部有4个反相器,采用+5V电源供电。MC1489中每个反相器都有一个控制端,高电平有效,可作为RS-232C操作的控制端。图(d)给出了RS-232C接口电路原理图。
(c)RS-232C电平转换芯片MC1488和MC1489
(d) RS-232C接口电路
MAX232芯片
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。它的内部结构基本可分三个部分;
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分就是供电。15脚DNG、16脚VCC(+5v)。
2.2.3 串行接口
控制串行接口的寄存器有两个,即特殊功能寄存器PCON和SCON。
1)PCON中的波特率选择位
PCON是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为87H。其中D7位(SMOD)为波特率选择位。其他位均无意义。复位时的SMOD值为0。可用MOV PCON。#80H或MOV 87H,#80H指令使该位置1。当SMOD=1时,在串行接口方式1、2或3情况下,波特率提高一倍。
D7 D0
PCON
SMOD
波特率选择位 | 无定义位 |
2)串行接口控制寄存器 SCON
特殊功能寄存器SCON用于定义串行接口的操作方式和控制它的某些功能。其字节地址为98H。寄存器中各位内容如下:
SCON
位 D7 D6 D5 D4 D3 D2 D1 D0
位地址
9F
9E
9D
9C
9B
9A
99
98
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0,SM1 串行接口操作方式选择位。两个选择位对应于四种状态,所以串行接口能以四种方式工作。
SM2 允许方式2和3的多机通信使能位。
REN 允许串行接收位。由软件置位或清0,使允许接收或禁止接收。
TB8 是在方式2和3中要发送的第9位数据可按需要由软件置位或复位
RB8 是方式2和3中已接收到的第9位数据。
TI 发送中断标志。
RI 接收中断标志。
串行接口工作方式
串行接口的操作方式由SM0、SM1定义,编码和功能如下表所示
串行接口方式选择
SM0 SM0
方式
功能说明
波特率
0 0
移位寄存器方式
Fosc/12
0 1
1
8位UART
可变
1 0
2
9位UART
Fosc/64或fosc/32
1 1
3
9位UART
可变
2.2.4 TMOD介绍
定时器/计数器T0、T1 的方式寄存器TMOD
字节地址为89H。TMOD的格式如下:低4位用来定义T0,高4位用来定义T1D7
D7 D6 D5 D4 D3 D2 D1 D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
| T1 | T0 |
各位的意义如下:
1、 GATE——门控位。
GATE=1时,由外部中断引脚、和TR0、TR1共同来启动定时器。当引脚为高电平时,TR0置位启动定时器T0;当引脚为高电平时,TR1置位,启动定时T1。
GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。
2、 C/T——功能选择位。
C/T=1时,选择计数功能;
C/T=0时,选择定时功能。
T0、T1 的计数、定时功能是通过TMOD中的位来选择的。
3、 M1、M0——工作方式选择位。
由于有M1和M0两位,可以有四种工作方式,如下表所示。
定时器/计数器的工作方式
M1 M0
工作方式
计数器配置
0 0
方式0
13位计数器
0 1
方式1
16位计数器
1 0
方式2
自动重载的8位计数器
1 1
方式3
T0分为两个8位计数器,T1停止计数
3 串行数据通信程序设计
3.1 通信协议
本系统串行通信采用异步通信方式。协议如下:
1.一帧数据由1位起始位、8位数据位、无奇偶校验位、1位停止位共10位组成。
2.波特率设为9600bps。单片机串行口按方式1工作,波特率由定时器T1控制,PC机串口波特率通过VB通讯控件的Settings属性设置,为保证数据传送的准确性,两者的波特率必须一致。
本次通讯中,我们以一个测控系统的上位机和下位机之间的通信为背景,给出单片机部分和VB 环境下的通信程序实例,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用异步串行通信方式,通过RS232 的RTS 信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。
3.2 下位机(单片机)串行通信及程序设计
平台介绍及编程方法
汇编语言
汇编语言是针对一类(甚至几类)计算机,抽象出来的一种符号语言并把这些符号加以统一规定,使得使用同类计算机的人都了解这些符号的意义,这样,使得用汇编语言编写的程序可以在这一类型的任何一台计算机上使用。这就有了极大的灵活性,当然不同类型的计算机的汇编语言也不同。它们都必须由生产厂家提供的汇编语言来编写。另外.汇编语言还增加了宏指令的功能。汇编语言是计算机卫程控制中最常用的语言。
汇编语言的主要优点就是可以直接控制计算机硬件,可以编写在时间和空间两方面更有效的程序。这些优点使得汇编语言在程序设计中占有重要的地位。是不可取代的。
但汇编语言的缺点也是明显的,它与处理器密切相关,要求程序员熟悉计算机硬件系统,考虑许多细节问题,所以程序繁琐,调试、维护、交流和移植困难。因此,有时可以采用高级语言和汇编语言混合编程的方怯,互相取长补短,更好地解决实际间题。
汇编语言生要应用场合有以下几种:
l)程序要具有较短的运行时问,或者只能占用较小的存储客量。例如操作系统的核心 程序段,实时控制系统的软件等。
2)程序与计算机硬件密切相关,程序要直接控制硬件。例如to接口电路的初始化程序段,外部设备的底层驱动程序等。
3)大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动态链接库等。
4)没有适合的高级语言的时候。例如开发最新的处理器程序时。
伟福软件介绍:
伟福系列仿真器伟福仿真品种多、功能强,特点如下:
1)主机+POD组合,通过更换POD,可以对各种CPU进行仿真。
2) 双平台:DOS版本,WINDOWS版本。其中WINDOWS版本功能强大。
3) 双工作模式:a.软件模拟仿真(不要仿真器也能模拟仿真)。 硬件仿真。
4) 双CPU结构,100% 不占用户资源。
5) 双集成环境:编辑、编译、下载、调试全部集中在一个环境下。多种仿真器,多类CPU仿真全部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。为了跟上形势,现在很多工程师需要面对和掌握不同和项目管理器、编辑器、编译器。伟福 WINDOWS调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、Build和调试工具并提供一个与第三方编译器的接口。
6) 强大的逻辑分析仪综合调试功能:随着科学技术的发展,单片机通讯方面的运用越来越多。有了逻辑仪,用它可以分别或者同时对发送方、接收方的输入或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在。从而极大地方便了调试。
7) 强大的追踪器功能:追踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件,其触发条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计软件运行时间。
编程方法
本系统中传输协议为9600,8,N,1,即波特率为9600b/s,传送8个数据位。没有校验位,一个停止位。在PC机中也设置为相同的协议。1)控制寄存器SCON的设置为:SM0、SM1为0、1,即为串行工作方式1,REN为1,即允许接收。这样SCON中的值是0X50H,(使用汇编语言是MOV SCON,#50H。)2)TMOD寄存器的设置为:使用定时器1。M0=0,M1=1,工作于方式2,自动重新载入计数值。TMOD=0X20H。(使用汇编语言是MOV TMOD,#20H)3) 波特率的设置:本系统上的工作时钟为11.0592MHz, 波特率为9600b/s,对TH1的重载入计数器值由下式计算可得:TH1=256-11059200/384*9600=253=FDH TH1=0XFDH(使用汇编语言是MOV TH1,#0FDH)。
串口初始化
流程图如右:
根据以上设置汇编语言编写串行端口的初始化程序:
接收程序:
发送数据
MAIN: MOV TMOD,#20H ;
MOV TH1,#0FDH;
MOV TL1,#0FDH;
SETB TR1;
MOV SCON,#50H;
LOOP: JBC RI,DISP
SJMP LOOP
DISP: MOV A,SBUF
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
SJMP LOOP
TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
发送程序:
ORG 0000H
START: MOV TMOD,#20H;
MOV TL1,#0FDH
MOV TH1,#0FDH;
SETB TR1
MOV SCON,#40H
MOV R0,#20H
MOV R7,#32
MOV A,#40
LOOP1:
MOV @R0,A
INC A
INC R0
DJNZ R7,LOOP1
MOV R0,#20H
MOV R7,#32
LOOP: MOV A,@R0
ACALL YANSHI
ACALL SPOUT
INC R0
DJNZ R7,LOOP
SJMP START
SPOUT:
MOV SBUF,A
JNB TI,$
CLR TI
RET
YANSHI: MOV R6,#250
D1: MOV R5,#250
DJNZ R5,$
DJNZ R6,D1
RET
END
3.3上位机(PC机)串行通信及程序设计
3.3.1 平台介绍及编程方法
VB语言简介
在本系统中PC机采用Visual Basic(简称VB)编程。VB已成为WINDOWS系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件,而且可以十分简便地作出良好的人机界面。
用VB6.0开发串行通信程序有两种法,一种是利用Windows的API函数;另一种是采用VB6.0的通信控件MSComm。利用API函数编写串行通信程序较为复杂,需要掌握大量的通信知识,其优点是可实现的功能更丰富、应用面更广泛,适合于编写较为复杂的低层次通信程序。而VB6.0的MSComm通信控件提供了标准的事件处理函数、事件、方法,并通过控件属性对串口参数进行设置,比较容易地解决了串口通信问题。该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。这是一个标准的十位串口通信,包括8位标准数据和数据的起始位和停止位。在发送或接收数据过程中触发OnComm事件,通过编程访问 CommEvent属性了解通信事件的类型,分别进行各自的处理。每个通信控件对应一个串口,可以设计多个通信控件来访问多个通信口。
PC机程序设计流程图如下示
数据正确
NO
YES
校验数据
校验正确
NO
清标志位
YES
置标志位
返回信息
3.3.2 VB6.0的通信控件及通信方式
MSComm通讯控件简介
MSComm是VB6.0提供的ActiveX控件,使用前需将该控件添加到VB工具 栏。MSComm控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式,事件驱动方式:由MSComm控件的OnComm事件捕获并处理通讯错误及事件;查询方式:通过检查CommEvent属性的值来判断事件和错误。
1)MSComm控件的主要属性和方法
a. CommPort:设置或返回串行端口号,其取值范围为1—99,缺省为1
b. Setting: 设置或返回串行端口的波特率、奇偶校验位、数据位数、停位。如:MSComm.Setting="9600, n, 8, 1”。
c. PortOpen:打开或关闭串行端口。
d. RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml--OnComm事件。
e. Input:从接收缓冲区移走一串字符。
f. Output:向发送缓冲区传送一字符串。
2)CommEvent属性 :
如果在通讯过程中发生错误或事件,就会引发OnComm事件并由CommEvent 属性代码反映错误类型,可根据该属性值来执行不同的程序操作或数据处理。以下是部分属性常数值及其含义:
a. ComEvSend:其值为1,发送缓冲区的内容少于SThreshold指定的值。
b. ComEvReceive:其值为2,接收缓冲区内字符数达到RThreshold值,该事件在缓冲区中数据被移走前将持续产生。
c. ComEventRxParity:其值为1009,奇偶校验。
d. ComEvEOF:其值为7,接收数据中出现文件结束字符。
本系统采用事件驱动方式进行串口通信设计,下图2为上位机通信界面,设计了2个命令按扭,分别为发送、清空数据;两个文本框,Text1用于输入需从下位机读取的数,Text2用于显示下位机发送来的数据;3个Frame控件,一个Label控件,当然还需要一个MSComm控件。
MSComm控件属性设置如图1示:
(图2)
下面是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
1.1 设计的目及意义
一般的PC与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。相对而言比较的烦琐,而本文着重用VB具有面向对象的设计方法,友好的用户来探讨在VB环境下来实现PC机与51单片机之间串行通讯的方法。实现起来要简捷方便。
随着计算机系统的应用和微机网络的发展,各种控制设备之间的通信功能越来越显得重要。尤其是伴随着单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。在本系统中,下位机采用一片AT89S51单片机,用于对发送的数据实施控制,为了实现对输入数据的接收,上位机采用便携式PC机,上、下位机之间通过MAX232芯片实现串行数据通信。PC 机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
本文将论述在VB 环境下PC 机与单片机之间实现串行通讯的软硬件方案。实现单片机与 PC 机的相互通信。单片机部分由汇编语言实现,PC 机的通讯程序使用Visual Basic 编写,VB 是Microsoft 公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM 控件。因此如何实现PC 机与单片机之间的通讯具有非常重要的现实意义。
利用VB6.0 的事件驱动方式可以很方便地开发数据采集与监控系统,用单台PC 机可以测量和监控多路控制信号,整控制系统设计方便,对小型测控系统的设计具有很大的实用性。
1.2 设计实现的功能
实现单片机与 PC 机的相互通信。具体要求有以下两点:
①单片机发固定编好的代码,在用 VB 编好的界面上接收;
②在 VB 编好的界面上发送数字,在单片机板上的数码管上显示出来。
2 硬件设计方案
为了实现PC机与单片机之间的串行通信,我们首先要清楚了解整个系统所采用的原理图。原理图就象一根红线贯穿于整个系统设计,通过此图我们就能很清楚的看到系统所涉及的内容,然后鉴于此,我们将在以后的章节中依次对所牵涉的内容作详细的论述。下面对原理图作一点说明:从MAX232芯片中的两路发送接收中任选一路作为接口,要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。如选他T1IN接单片机的发送端TXD,则PC机、的RS—232的接收端RD一定要对应接T1OUT引脚。同时,R1OUT接单片机的接受端RXD引脚,则PC机的RS—232的发送端TD一定要对应接R1IN引脚。
上图为采用MAX232芯片接口的PC机与51单片机串行通信接口原理图
2.1 AT89S51单片机
2.1.1 AT89S51单片机简介
AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器, 128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2.1.2 AT89S51单片机的功能
AT89S51主要功能列举如下:
1)为一般控制应用的8位单芯片
2)晶片内部具有时钟振荡器
3)内部程式存储器(ROM)为 4KB 4)内部数据存储器(RAM)为 128B
5)外部程序存储器可扩充至 64KB
6)外部数据存储器可扩充至 64KB
7)32 条双向输入输出线,且每条均可以单独做 I/O 的控制
8)5个中断向量源
9)2组独立的 16 位定时器
10)1个全多工串行通信端口
11)8751 及 8752 单芯片具有数据保密的功能
12)单芯片提供位逻辑运算指令
2.1.3 AT89S51各引脚功能介绍:
VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:AT89S51的重置引脚,高电平动作。
EA/Vpp:存取外部程序代码,低电平动作。
ALE/PROG:地址锁存器启用信号。
PSEN:程序储存启用,通常这支脚是接到EPROM的OE脚。
PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。
本系统所采用的AT89S51芯片如下图所示:
2.1.4 AT89S51 ISP
ISP为在线编程接口。ISP在线编程接口为89S51单片机提供了方便的在线编程方法,使用时将ISP下载线一端与PC并口相连接,一端与ISP接口相连,使用ISP下载软件即可实现MCU在线编程。
下载线插接说明:两排十针下载口,板图上都有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角,这一点一定要切记,不然的话程序下载不进去。
本系统中所用AT89S51 ISP原理图如下示:
AT89S51 ISP
2.2串行通讯
2.2.1串行通讯的概念
串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传送按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。串行通讯的距离可以从几米到几千米。
分类:根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
转贴于
2.2.2 RS-232C 串口通讯原理
RS-232C是目前最常用的串行接口标准,用来实现计算机与计算机之间,计算机与外设之间的数据通信。
RS-232C串行接口总线适用于设备之间的通信距离不大于15米,传输速率最高为19.2kb/s的场合。RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、和19200b/s。RS-232C属单端信号传送,存在共地噪声和不能抑制的共模干扰等问题,因此一般用于短距离通信。
1) RS-232C接口信号
一个完整的RS-232C接口有22根线,采用标准的25芯连接器。
2) RS-232C 典型应用
用RS-232C总线连接系统时,有近程通信方式和远程通信方式之分。近程通信是指传输距离小于15米的通信,这时可以用RS-232C电缆直接连接。15米以上的长距离通信,需要采用调制解调器。
下图a)是计算机与终端之间利用RS-232C直接通信的最常用的交叉连线图。图中“发送数据”与“接收数据”是交叉相连的,使得两台设备都能正确地发送和接收。“数据终端变绪”与“数据装置就绪”两根线也是交叉相连的,使得两设备都能检测出对方是否已经准备好。
在最简单的全双工系统中,公用发送数据、接收数据和信号地三根即可。对MCS-51单片机来说,利用RXD(串行数据接收端)线、TXD(串行数据发送端)线以及一根地线,就可以构成符合RS-232C接口标准的全双工串行通信口。(见图b)
(a)直接连接
(b)最简单的RS-232C数据通信连接
3) RS-232C接口电平转换
RS-232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平对地是对称的,完全与TTL、CMOS逻辑电平不同。
RS-232C采用负逻辑,即:
逻辑1:-5V~-15V。 逻辑0:+5V~+15V。
由于MCS-51采用TTL电平,若用RS-232C标准接口通信必须进行电平转换。目前RS-232C与TTL电平转换最常用的集成电路芯片是传输线驱动器MC1488传输线接收器MC1489。其内部结构和引脚如下图(c)所示。
MC1488可完成TTL电平到RS-232C的电平转换,输入为TTL电平,输出为RS-232C电平。其内部有3个与非门和1个反相器。采用±12V或±15V电源供电。
MC1489可完成由RS-232C到TTL电平转换,输入为RS-232C电平,输出为TTL电平。其内部有4个反相器,采用+5V电源供电。MC1489中每个反相器都有一个控制端,高电平有效,可作为RS-232C操作的控制端。图(d)给出了RS-232C接口电路原理图。
(c)RS-232C电平转换芯片MC1488和MC1489
(d) RS-232C接口电路
MAX232芯片
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。它的内部结构基本可分三个部分;
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分就是供电。15脚DNG、16脚VCC(+5v)。
2.2.3 串行接口
控制串行接口的寄存器有两个,即特殊功能寄存器PCON和SCON。
1)PCON中的波特率选择位
PCON是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为87H。其中D7位(SMOD)为波特率选择位。其他位均无意义。复位时的SMOD值为0。可用MOV PCON。#80H或MOV 87H,#80H指令使该位置1。当SMOD=1时,在串行接口方式1、2或3情况下,波特率提高一倍。
D7
D0
PCON
SMOD
波特率选择位
|
无定义位
|
2)串行接口控制寄存器 SCON
特殊功能寄存器SCON用于定义串行接口的操作方式和控制它的某些功能。其字节地址为98H。寄存器中各位内容如下:
位
D7
D6
D5
D4
D3
D2 D1
D0
位地址
9F
9E
9D
9C
9B
9A
99
98
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0,SM1 串行接口操作方式选择位。两个选择位对应于四种状态,所以串行接口能以四种方式工作。
SM2 允许方式2和3的多机通信使能位。
REN 允许串行接收位。由软件置位或清0,使允许接收或禁止接收。
TB8 是在方式2和3中要发送的第9位数据可按需要由软件置位或复位
RB8 是方式2和3中已接收到的第9位数据。
TI 发送中断标志。
RI 接收中断标志。
串行接口工作方式
串行接口的操作方式由SM0、SM1定义,编码和功能如下表所示
串行接口方式选择
SM0
SM0
方式
功能说明
波特率
移位寄存器方式
Fosc/12
1
1
8位UART
可变
1
2
9位UART
Fosc/64或fosc/32
1
1
3
9位UART
可变
2.2.4 TMOD介绍
定时器/计数器T0、T1 的方式寄存器TMOD
字节地址为89H。TMOD的格式如下:低4位用来定义T0,高4位用来定义T1D7
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
|
T1
|
T0
|
各位的意义如下:
1、 GATE——门控位。
GATE=1时,由外部中断引脚、和TR0、TR1共同来启动定时器。当引脚为高电平时,TR0置位启动定时器T0;当引脚为高电平时,TR1置位,启动定时T1。
C/T=1时,选择计数功能;
C/T=0时,选择定时功能。
T0、T1 的计数、定时功能是通过TMOD中的位来选择的。
3、 M1、M0——工作方式选择位。
由于有M1和M0两位,可以有四种工作方式,如下表所示。
定时器/计数器的工作方式
M1
M0
工作方式
计数器配置
方式0
13位计数器
1
方式1
16位计数器
1
方式2
自动重载的8位计数器
1
1
方式3
T0分为两个8位计数器,T1停止计数
3 串行数据通信程序设计
3.1 通信协议
本系统串行通信采用异步通信方式。协议如下:
1.一帧数据由1位起始位、8位数据位、无奇偶校验位、1位停止位共10位组成。
2.波特率设为9600bps。单片机串行口按方式1工作,波特率由定时器T1控制,PC机串口波特率通过VB通讯控件的Settings属性设置,为保证数据传送的准确性,两者的波特率必须一致。
本次通讯中,我们以一个测控系统的上位机和下位机之间的通信为背景,给出单片机部分和VB 环境下的通信程序实例,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用异步串行通信方式,通过RS232 的RTS 信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。
3.2 下位机(单片机)串行通信及程序设计
平台介绍及编程方法
汇编语言
汇编语言是针对一类(甚至几类)计算机,抽象出来的一种符号语言并把这些符号加以统一规定,使得使用同类计算机的人都了解这些符号的意义,这样,使得用汇编语言编写的程序可以在这一类型的任何一台计算机上使用。这就有了极大的灵活性,当然不同类型的计算机的汇编语言也不同。它们都必须由生产厂家提供的汇编语言来编写。另外.汇编语言还增加了宏指令的功能。汇编语言是计算机卫程控制中最常用的语言。
汇编语言的主要优点就是可以直接控制计算机硬件,可以编写在时间和空间两方面更有效的程序。这些优点使得汇编语言在程序设计中占有重要的地位。是不可取代的。
但汇编语言的缺点也是明显的,它与处理器密切相关,要求程序员熟悉计算机硬件系统,考虑许多细节问题,所以程序繁琐,调试、维护、交流和移植困难。因此,有时可以采用高级语言和汇编语言混合编程的方怯,互相取长补短,更好地解决实际间题。
汇编语言生要应用场合有以下几种:
l)程序要具有较短的运行时问,或者只能占用较小的存储客量。例如操作系统的核心 程序段,实时控制系统的软件等。
2)程序与计算机硬件密切相关,程序要直接控制硬件。例如to接口电路的初始化程序段,外部设备的底层驱动程序等。
3)大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动态链接库等。
4)没有适合的高级语言的时候。例如开发最新的处理器程序时。
伟福软件介绍:
伟福系列仿真器伟福仿真品种多、功能强,特点如下:
1)主机+POD组合,通过更换POD,可以对各种CPU进行仿真。
2) 双平台:DOS版本,WINDOWS版本。其中WINDOWS版本功能强大。
3) 双工作模式:a.软件模拟仿真(不要仿真器也能模拟仿真)。 硬件仿真。
4) 双CPU结构,100% 不占用户资源。
5) 双集成环境:编辑、编译、下载、调试全部集中在一个环境下。多种仿真器,多类CPU仿真全部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。为了跟上形势,现在很多工程师需要面对和掌握不同和项目管理器、编辑器、编译器。伟福 WINDOWS调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、Build和调试工具并提供一个与第三方编译器的接口。
6) 强大的逻辑分析仪综合调试功能:随着科学技术的发展,单片机通讯方面的运用越来越多。有了逻辑仪,用它可以分别或者同时对发送方、接收方的输入或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在。从而极大地方便了调试。
7) 强大的追踪器功能:追踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件,其触发条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计软件运行时间。
编程方法
本系统中传输协议为9600,8,N,1,即波特率为9600b/s,传送8个数据位。没有校验位,一个停止位。在PC机中也设置为相同的协议。1)控制寄存器SCON的设置为:SM0、SM1为0、1,即为串行工作方式1,REN为1,即允许接收。这样SCON中的值是0X50H,(使用汇编语言是MOV SCON,#50H。)2)TMOD寄存器的设置为:使用定时器1。M0=0,M1=1,工作于方式2,自动重新载入计数值。TMOD=0X20H。(使用汇编语言是MOV TMOD,#20H)3) 波特率的设置:本系统上的工作时钟为11.0592MHz, 波特率为9600b/s,对TH1的重载入计数器值由下式计算可得:TH1=256-11059200/384*9600=253=FDH TH1=0XFDH(使用汇编语言是MOV TH1,#0FDH)。
流程图如右:
接收程序:
MAIN: MOV
TMOD,#20H ;
MOV
TH1,#0FDH;
MOV
TL1,#0FDH;
SETB TR1;
MOV
SCON,#50H;
LOOP: JBC
RI,DISP
SJMP
LOOP
DISP: MOV
A,SBUF
MOV
DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
SJMP LOOP
TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
发送程序:
ORG 0000H
START: MOV
TMOD,#20H;
MOV
TL1,#0FDH
MOV
TH1,#0FDH;
SETB
TR1
MOV
SCON,#40H
MOV
R0,#20H
MOV
R7,#32
MOV
A,#40
LOOP1:
MOV
@R0,A
INC
A
INC
R0
DJNZ
R7,LOOP1
MOV
R0,#20H
MOV
R7,#32
LOOP:
MOV
A,@R0
ACALL YANSHI
ACALL SPOUT
INC
R0
DJNZ
R7,LOOP
SJMP
START
SPOUT:
MOV
SBUF,A
JNB
TI,$
CLR
TI
RET
YANSHI: MOV
R6,#250
D1:
MOV
R5,#250
DJNZ
R5,$
DJNZ
R6,D1
RET
END
3.3上位机(PC机)串行通信及程序设计
3.3.1 平台介绍及编程方法
VB语言简介
在本系统中PC机采用Visual Basic(简称VB)编程。VB已成为WINDOWS系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件,而且可以十分简便地作出良好的人机界面。
用VB6.0开发串行通信程序有两种法,一种是利用Windows的API函数;另一种是采用VB6.0的通信控件MSComm。利用API函数编写串行通信程序较为复杂,需要掌握大量的通信知识,其优点是可实现的功能更丰富、应用面更广泛,适合于编写较为复杂的低层次通信程序。而VB6.0的MSComm通信控件提供了标准的事件处理函数、事件、方法,并通过控件属性对串口参数进行设置,比较容易地解决了串口通信问题。该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。这是一个标准的十位串口通信,包括8位标准数据和数据的起始位和停止位。在发送或接收数据过程中触发OnComm事件,通过编程访问 CommEvent属性了解通信事件的类型,分别进行各自的处理。每个通信控件对应一个串口,可以设计多个通信控件来访问多个通信口。
转贴于 PC机程序设计流程图如下示
3.3.2 VB6.0的通信控件及通信方式
MSComm通讯控件简介
MSComm是VB6.0提供的ActiveX控件,使用前需将该控件添加到VB工具 栏。MSComm控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式,事件驱动方式:由MSComm控件的OnComm事件捕获并处理通讯错误及事件;查询方式:通过检查CommEvent属性的值来判断事件和错误。
1)MSComm控件的主要属性和方法
a.
CommPort:设置或返回串行端口号,其取值范围为1—99,缺省为1
b.
Setting: 设置或返回串行端口的波特率、奇偶校验位、数据位数、停位。如:MSComm.Setting="9600, n, 8, 1”。
c.
PortOpen:打开或关闭串行端口。
d.
RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml--OnComm事件。
e.
Input:从接收缓冲区移走一串字符。
f.
Output:向发送缓冲区传送一字符串。
2)CommEvent属性 :
如果在通讯过程中发生错误或事件,就会引发OnComm事件并由CommEvent 属性代码反映错误类型,可根据该属性值来执行不同的程序操作或数据处理。以下是部分属性常数值及其含义:
a.
ComEvSend:其值为1,发送缓冲区的内容少于SThreshold指定的值。
b.
ComEvReceive:其值为2,接收缓冲区内字符数达到RThreshold值,该事件在缓冲区中数据被移走前将持续产生。
c.
ComEventRxParity:其值为1009,奇偶校验。
d.
ComEvEOF:其值为7,接收数据中出现文件结束字符。
本系统采用事件驱动方式进行串口通信设计,下图2为上位机通信界面,设计了2个命令按扭,分别为发送、清空数据;两个文本框,Text1用于输入需从下位机读取的数,Text2用于显示下位机发送来的数据;3个Frame控件,一个Label控件,当然还需要一个MSComm控件。
MSComm控件属性设置如图1示:
(图2)
下面是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
论文关键词:集美大学,毕业设计,毕业论文,任务书,示例
一、 毕业设计(论文)题目: 360与qq的竞争战略分析
二、 毕业设计(论文)工作规定进行日期: 2010 年 12 月 22 日起至 20011 年 6 月 10 日止
三、 毕业设计(论文)进行地点: 集美大学诚毅学院
四、 任务书的内容:
目的: 1. 培养学生综合运用所学的基础理论与专业知识,在指导教师指导下,提出有一定理论意义与实用价值的问题,分析并解决问题。2. 培养学生独立检索、翻译本专业外文资料的能力。3. 初步具备搜集、整理、筛选信息资料的能力,初步掌握科学研究的基本方法,了解科学研究论文的写作技巧与规范化要求,受到科学研究的初步训练。4.通过该论文的撰写,对360与qq的竞争战略有一个较全面的了解,并搜集相关案例进行实证分析,加深对360与qq的竞争战略进一步分析。
任务:
1)提出选题《360与qq的竞争战略分析》的初步设想。
2)搜集、整理与论文有关的、充分的、准确的文献资料,扩充查阅范围。
3)构思论文框架,编写论文提纲,向指导教师提出开题报告。
4)分析、筛选已有的信息资料,提出研究设想与计划。
5)撰写论文初稿,反复修改,提交初、定稿及打印稿。
6)该文选题有一定的挑战性,要求作者尽量挖掘已有的文献资料,同时根据需要多阅读有关激励理论和人力资源管理的书籍期刊,在论文撰写过程中提高自身科学素养,通过案例分析能对中国电信现行激励机制的现实指导意义作出较有启发的论述。
7)完成外文资料的翻译。
(三)撰写步骤与时间安排
1.2011.1.7前:按毕业论文写作要求进行选题,并与指导教师进行沟通,对选题进行分析并汇报与选题相关资料的占有情况。指导教师下达“毕业论文任务书”,对毕业论文提出明确要求。
2. 2011.1.8-3.8:完成开题报告,就所选课题明确写作的意义和目的、研究方法和主要研究内容、预期写作进度等。
3. 2011.3.9-3.13:形成毕业论文写作粗纲,并提交指导教师审阅。粗纲应反映出论文的基本轮廓、基本观点及写作思路。
4.2011.3.14-3.18:根据指导教师意见,形成写作细纲,并再次提交指导教师审阅。细纲应能较详细地反映出论题所包含的论点、论据及相关数据资料。
5.2011.3.19-4.6:完成外文文献资料的翻译及不少于2万字的读书笔记的撰写。
6.2011.3.19-5.6:以细纲为基础,写作完成初稿,提交指导教师审阅。
7.2011.5.7-5.22:根据指导教师对初稿的修改意见,形成毕业论文正稿,交指导教师批阅。
8.2011.5.23-5.26:定稿并按规范化要求完成装袋并上交指导教师;进行答辩准备工作。
9.2011.5.27-6.10:进行毕业论文答辩。完成导师评语、评审意见、答辩评语及成绩评定、汇总上报等工作。
(四)成果要求
毕业论文要写出300字左右的中文摘要及相应的外文摘要,毕业论文全文不得少于6000字。论文应有一定的理论深度和现实指导意义,结构严谨,语言流畅,相关数据和专业术语运用准确。论文内容组成与打印规范按《集美大学本科学生毕业论文撰写规范》的要求执行。
参 考 文 献
1波特, 竞争论(新版),中信出版社, 2009
2陈明哲 ,动态竞争,北京大学出版社,2009
3李斯,劳斯特 ,22条商规,山西人民出版社 ,2009
4黄晓斌,网络环境下的竞争情报,经济管理出版社,2006
5布里金肖,网络公司价值评估 ,经济管理,2005
6 陈墨,网络营销应该这样做,机械工作出版社,2011
指导教师签名:
年 月 日
教研室主任签名:
年 月 日
学生签名:
关键词:大学毕业生;毕业设计(论文);积极性
毕业设计(论文)是培养大学生进行工程设计或科学研究的重要环节,是培养其进行知识创新的有效手段,是实现教学、科研、创新和社会实践相结合的综合训练过程[1-3]。然而,当前高校大学生毕业设计(论文)的质量却有逐年下降的趋势,降低了社会对学校所培养毕业生的认可程度[2-5]。因此,有必要对造成大学毕业生参与毕业设计(论文)不高的原因进行分析,为改善大学毕业生参与毕业设计(论文)的积极性提供改进基础。
1对指导模式的抵触是造成大学生参与毕业设计(论文)积极性不高的重要原因
一般四年制高校毕业设计(论文)都安排在第八学期进行,而这段时间正是学生找工作以及考研复试的关键阶段。因此,部分专家和学者认为大学生参与毕业设计(论文)积极性不高的直接原因是时间冲突[2,3,5]。实际并非如此。一般而言,学校的双选会或企业的招聘会均安排在第七学期进行,大部分学生在毕业前半学期就基本落实了工作意向。另外,考研复试则基本集中在3月末到4月中旬。因此,导致大学生参与毕业设计(论文)积极性不高的重要原因并不是时间上的冲突。根据笔者多年从事高校教育工作的经历以及和毕业班学生的交流来看,导致大学生参与毕业设计(论文)积极性不高的罪魁祸首在于学生对毕业设计(论文)的重视程度不够。而造成学生重视程度不够的重要原因是很多学生对毕业设计(论文)的指导模式存在抵触心理。以实验为主的工科毕业生为例,毕业设计(论文)的基本流程包括:指导老师确定选题,布置学生进行相关的文献检索并撰写文献综述。在此基础上,在指导老师主导下进行实验方案的制定并由学生进行实施。然后学生对实验所得到的数据和图表进行整理与分析并撰写学位论文。最后组织学生参加学位论文答辩并评定成绩。也就是说,学生应该是毕业设计(论文)工作的主体。然而事实却远非如此。由于大多数参与指导大学生毕业设计(论文)的老师同时又在指导若干个研究生,因此,大多数大学生的毕业设计(论文)是在研究生的带领下进行的。这本无可厚非。但现实情况是,大多数在研究生带领下进行毕业设计(论文)的大学生认为是在为研究生白白劳动,所做的事情其实与自己关系不大,完全是在被动进行毕业设计(论文)工作,因而大学生的重视程度不够。即便部分大学生对毕业设计(论文)在最初能够充分重视,但因自己很少能够有机会与指导老师直接交流,而只能与研究生进行交流,导致自己的工作往往不被指导老师认可和理解,使得指导老师或研究生成了大学生毕业设计(论文)的主体,而大学生则完全处于被动状态。以金属材料工程专业为例,由于不同指导老师的专业方向不同,有的方向甚至与学生所具有的知识体系完全没有关联。在确定大学生的毕业设计(论文)选题时,指导老师通常从自己的研究方向或科研课题中进行选题,然后布置学生在3周左右的时间进行文献检索并撰写文献综述。在这么短的时间内,即使排除学生可能的找工作或研究生复试时间,学生也无法对指导老师布置的选题给出充分理解和消化。基本上采用的“Ctrl-C+Ctrl-V”模式敷衍了事,否则无法在规定的时间内完成文献综述和相关的英文翻译工作。其结果是,开始做实验时,学生对自己需要做什么、怎么做、所作的目的和意义完全没有认识。其结果是被动地在指导老师引导下或研究生的带领下进行实验,并机械地记录,实际上大脑一片空白。导致部分毕业生认为毕业论文就是抄抄,就是为指导老师做苦力,就是在帮助研究生完成实验任务。而毕业设计(论文)对自己能力的培养和训练几乎毫无帮助,简直是浪费时间,还不如洗洗睡觉。针对毕业生对毕业设计(论文)重视不够这一现象,许多高校通过加强宣传教育的方式对毕业生进行引导,但收效甚微。特别是近年来学校扩招导致的毕业生人数增加,有的高校老师甚至要在半学期内指导超过10名以上的大学生完成毕业设计(论文)工作,而且设计(论文)选题又不能重复,交叉也不能太多。加上专业老师还需要承担较为繁重的教学和科研工作,因此,给毕业设计(论文)指导老师造成了很大的工作压力,使得毕业设计(论文)指导老师没有充分的时间把毕业设计(论文)的选题思路和目的与学生进行交流[6]。上述毕业设计(论文)指导模式导致许多大学生参与毕业设计(论文)工作的积极性不高甚至有抵触情绪。其结果造成了指导老师和大学生之间相互埋怨,大学生和研究生之间相互推脱,最终导致大学生参与毕业设计(论文)的积极性不高进而影响了毕业设计(论文)的质量。
2对目标结果的过分强调是大学生参与毕业设计(论文)积极性不高的主要原因之一
综上所述,由于各指导老师的专业方向或科研课题存在较大差异,导致大学生毕业设计(论文)的选题存在很大差异。以金属材料工程专业的大学毕业设计(论文)的特点来看,毕业设计(论文)的选题几乎决定了最终的评价结果。如果某一大学生毕业设计(论文)的选题平泛,其实验结果也必然平泛,但如果该大学生能根据自己的努力认真完成了选题内容并能做出非常好的论述,那么该如何对其毕业论文的成绩进行评定?从目前来看,该生的成绩通常会比选题且有前沿性的大学生的差,即使他们参与毕业设计(论文)的过程相当,所运用的基本理论与基本技能相当。究其原因是另一名大学生的选题具有前沿性且结果看似“惊艳”,而该生却因为选题平泛且结果也平泛而无法获得相当的好评。但就笔者来看,一个看似平泛的选题,对于一个刚刚学完专业课的大学生而言,其对该选题的理解可能并不简单。如果他能通过自身努力给出对于该选题的认识和理解,就应当给予肯定的评价。但如上所述,事实往往并非如此。试想,他参与毕业设计(论文)的积极性又怎能提高呢?虽然对选题和结果的强调与大学生毕业设计(论文)的目标相一致,而且看上去可以提高大学生的创新思维和创新意识,但现实却远非如此。试想,在短短的半学期内,一个刚刚学完专业课的大学生,怎能够在有限的一学期内实现上述目标?答案显而易见。
3现有的管理与评价体系是大学生参与毕业设计(论文)积极性不高的另一主要原因
国内高校大学生学位论文成绩评定大多采用传统方法进行,即根据选题、文献综述、外文翻译、学术水平与实际动手能力、综合应用基本理论与技能的能力、文字表述与图表质量和规范要求等,综合指导老师、评阅老师和答辩委员会三方面给出优、良、中、及格和不及格的评定。该评价体系存在主观性强、评价指标单一等诸多不足[1]。此外,由于高校之间的竞争越来越激烈,是否有优良且充足的生源是各高校必须考虑的重要课题。而就业率又是社会衡量高校好坏的最直接因素之一。为此,学校在大学生毕业设计(论文)的管理上处于左右为难的境地。为控制毕业设计(论文)质量,学校希望严格把关。但为了不影响学生的就业和升学,学校又希望灵活处理大学生的毕业设计(论文)。在这种体制下,许多大学生对指导老师的从严管理可以不予理睬。在他们看来,不管如何对待毕业设计(论文)工作,最后肯定会顺利通过毕业答辩[4]。也正是如此,许多学生在毕业设计(论文)过程中以消极的态度对待毕业设计(论文),不能按时按质按量地完成老师安排的任务,直到临近答辩的时刻才在慌乱中参考别人的设计(论文)工作,套用别人的论文模板。如此完成的毕业设计(论文),其质量可想而知。
作者:侯清宇 斯松华 单位:安徽工业大学
参考文献:
[1]周科峰,赵锋军,李宇峙.提高工程类本科学生毕业设计质量途径研究[J].教育教学论坛,2013(8):206-208.
[2]吴益锋,张淑敏,田夏.上海交通大学提升本科毕业设计(论文)质量的改革与实践[J].实验技术与管理,2014(7):193-195.
[3]孙承志,熊田忠.采用“多位一体”方法提高毕业设计质量[J].中国校外教育,2012(27):76-77.
[4]钱骥.工科专业毕业设计现状及对策分析[J].科技创新导报,2015(10):218.
关键词:“90后”;本科毕业设计;就业压力;改进
中图分类号:G642 文献标志码:A 文章编号:1674-9324(2014)20-0130-02
一、前言
大学常被比喻成象牙塔,那么毕业设计就是本科生登上象牙塔顶峰的最后一层楼。然而,很多大学生一心急翔,却忽略了大学中此层楼的重要性。毕业设计在学校和社会的衔接上有着不可替代的桥梁作用。它结合了大学四年的理论知识和实际应用,使本科生综合理论知识向着工程实践延伸,并在踏上工作岗位时能够快速适应。随着当前社会就业观念的变化,就业方式的灵活转变以及就业环境的激烈竞争,培养具有交流能力、实际动手能力、创新能力及能适应社会发展的人才是当前社会的发展趋势[1]。以电子类本科毕业生为例,毕业设计的题目必须针对某项应用项目的设计或是提出独立的见解,会考察学生在外语、数学、电路分析和设计、计算机应用以及动手能力方面的综合应用。作者是即将毕业的电子类专业本科生,正在毕业设计这个环节,因此将结合自身在毕业设计过程中遇到的问题及周边同学的情况,以一个本科生的角度探讨本科毕业设计中存在的问题,给即将进入毕业设计环节的学弟学妹们提供一定的参考意见。
二、毕业设计中存在的问题
1.学生自身的问题。这两年,社会将迎来首批“90后”本科应届毕业生。众所周知,“90后”是颇具争议的一代。一方面“90后”大多是独生子女,家中长辈视为掌上明珠,家庭条件普遍较为优越,很容易养成依赖的性格;另一方面,身处网络信息高度发展的时代,“90后”接受新事物能力强,但其接触的各类信息良莠不齐,可能衍生出很多负面问题。
受上述大环境的影响,个别“90后”从未思索过上大学的目标和意义,只为应付混一张学位文凭而已。而不少部分学生对毕业设计认识不足,不愿多花精力,巨大的择业压力又使得学生把主要精力放在找工作上,因此毕业设计仅当作一项任务来完成[2,3]。作者在做毕业设计时也遇到了上述问题。在选题期间,忙于参加各家公司的应聘,同时还到其中一家参与了实习。在确定课题查阅资料后才发现,课题除了对大学四年所学知识的综合运用外,还有很多新的内容要自学,如果边实习边做毕业设计,肯定赶不上计划进度。
2.指导教师出题的创新性。随着技术的发展,大学教师在工程和实际生产方面的阅历也越来越成熟,在毕业设计出题时也越来越跟着技术发展的潮流走。然而,在课题的创新性和学生总体水平的平衡上对教师来说是个需要斟酌的难点。相对简单的课题都是已经非常成熟的课题,学生一看题目就知道做什么,课题到处都能找到参考资料,这样“炒冷饭”的课题,学生和老师处理起来都会比较轻松。而创新性课题在毕业设计过程中,能锻炼学生的独立思考能力和实践能力,极富有挑战性,但若难度过高超出学生的能力范围,效果也可能适得其反。
3.外界因素的影响。据统计,2013年被称为“史上最难就业季”,全国高校毕业生达到了699万,而2014年预计将突破700万人[4]。在如此大的就业压力下,不论是学生还是学校都空前重视毕业生的就业问题。高校里无形中流传着这样一种说法:只要找到了工作,毕业设计大多是会通过的。这虽然是一种本末倒置的说法,不过也可以看出就业压力确实对毕业设计有着非常严重的影响。其直接导致了学生和教师对毕业设计重视程度进一步降低,学生和教师甚至学校都觉得只要保证了就业率,剩下的毕业设计等也就是走个过场。
另外,文章开头也说到,网络是一把双刃剑。一方面,学生可以很快捷、高效地查到所需的各种资料。但另一方面,网络上也出现了更为“快捷”完成毕业设计的方法,例如代做设计、论文等。随着毕业季的到来,淘宝等网站上毕业设计代做店铺的成交量也是直线上升[1],在网上公开并且形成了完整的产业链,可见网络已经慢慢成了毕业设计和论文代做的温床了。
三、改进建议
1.提倡创新,产学结合。为了更有效地使学生从毕业设计中有所收获,教师除了给出的课题要有实践性和创新性外,也要在选题内容上尽量详细地描述课题的设计指标和参数。这样学生可以选择自己感兴趣的课题,通过抓住创新点,在教师的指导下锻炼自己的思维方式。这种创新的、积极的思维方式将使学生在以后的工作和生活中终生受益。
以作者的毕业设计选课为例,课题为《准谐振车载逆变器的设计与实现》。现在市面上车载逆变器大多是PWM型的,而准谐振开关技术与PWM型相比具有高效率、低EMI等优点。故该课题的目的就是验证与探究准谐振模式设计的优点,有一定的创新性。而暑期期间作者正好在一家电源驱动公司实习,对课题内容以及产品应用有一定的了解。选择该课题正好与实习内容相结合,并且通过毕业设计可以提早熟悉工作内容。作者在毕业设计期间,做到了将理论基础模型与创新实践方案相结合,不仅有助于毕业设计的完成,对以后工作也有较大帮助。
2.改进模式,引导就业。既然现阶段就业形势非常严峻,学校就需要根据形势,改进毕业设计的模式,把就业与毕业设计这两个环节相结合。可以将毕业设计的方式灵活化,让已经实习的学生将毕业设计真正带到实际工作中,在多方权衡后给学生出一个与工作比较切合的课题。毕业设计的课题不仅可以出自指导教师,也可以参考学生的想法。这样可以相对减轻教师时间和精力的投入,还可以给学生提供更好的学业和事业衔接的机会。
3.完善机制,严格把关。据教育局数字分析,在接下来几年里就业形势依旧严峻,所以在毕业设计的机制上学校有必要进行适当的整改。学校可以提前加强毕业设计的培训,让学生提前做好毕业设计的准备,这可以提高学生自主平衡学业和就业的能力。而在监管方面,教师要明确自己的责任,把握学生在毕业设计各个阶段的进度,积极帮助解决学生在设计过程中遇到的问题。对不认真、抄袭、作假的行为认真把关,要求学生独立完成毕业设计,鼓励学生的求实性和创新性。
四、结语
在“90后”毕业生的严峻就业形势下,本科毕业设计面对着前所未有的挑战。本文简单分析了毕业设计中存在的问题,结合作者自身在毕业设计中碰到的问题,提出了一些改进意见和建议。毕业设计不仅是对本科生在大学四年所学的综合检验,也直接反映了本科生的能力。所以各大高校也要与时俱进,采取一些新的对策。
参考文献:
[1]林弥,刘国华.浅析电子类本科毕业设计中存在的问题[J].教育教学论坛,2013,(41):101-102.
[2]朱静,唐建峰,刘杨,王武昌.本科毕业设计中存在的问题及对策[J].中国科技信息,2011,(24):214-214,223.
[3]陈明.高校本科毕业设计中存在的问题与探讨[J].大众科技,2008,(12):186-188,194.
[4]贺宝庆,陈博宜.中国高校毕业生感受2014就业压力[EB/OL].