微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于C8051F单片机信号发生器设计与应用

基于C8051F单片机信号发生器设计与应用

时间:04-06 来源:互联网 点击:
4 软件设计

系统软件设计部分包括单片机端和人机交互端两个部分。单片机端主要是通过串口接受来自采集系统的信号,保存到存储器中,输出电压信号;人机交互端主要通过Visual Basic软件编写图形界面,接受和传送数据,并且通过改变信号的幅值、脉宽、频率、持续时间等来实现对整个系统的控制。

4.1单片机端实现程序

单片机端软件采用C51编写,使用Keil uVision集成开发环境。主要完成单片机的初始化、串口通信和DAC输出设置,单片机的初始化主要是单片机的串口中断打开和系统配置初始化。单片机的串口通信模块主要完成单片机和上位机的通信,把系统需要的信息交由上位机进行处理。由于C8051F121单片机具有片内的UART,凶而只要设置适当的奇仔器使单片机工作起来,设计中串口通讯方式使用了效率高的中断方式接受和发送数据。

程序由一个主程序和三个中断服务程序组成,如图4所示。三个中断程序包括T0中断服务程序、外部中断服务程序和串口中断服务程序。


图3单片机端软件操作流程图

4.2人机交互界面

应用Visual Basic软件的通信控件MSComm,实现了与单片机系统的串行通信。VB提供了具有强大功能的通信控件MSComm,该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。该串口是一个标准的十位串口通信,包括8位标准数据和数据的起始位和停止位。这些串口在Pc和单片机之间充当解释器的角色。当数据从PC传送给单片机时,字符数据会被转换成串行比特流;而当接收数据时,比特流数据会转换成字符数据传递到PC机。

采用VB6.0编程可以实现便于操作的可视化界面,并且对整个系统进行实时的控制.交互界面如图4(a)所示。


图4 VB交互界面

工具栏中文件下拉菜单中设置了读取数据,保存数据,新建及页面设置等一些基本的交互功能选项;工具下拉菜单中有测量获取数据和绘图设置的选项,通过这个选项可以准备的获得曲线上某一点的准确值,绘图设置中可以选择绘图方式、绘图色彩及捕捉网格的大小设置,如图4佑1所示。


图5信号发生器采集的弹道侵彻过载曲线

DSP中可以选择对弹道曲线的滤波方式,软件给出了低通滤波等三种滤波方式,通过滤波可以得到更加光滑无毛刺的曲线。以低通滤波为例,软件设计了三种滤波器的选择,包括切比雪夫I型、切比雪夫II型和巴特沃兹型。可以通过调整滤波器的参数如阶数、归一化频率和阻带衰减值,得到需要的过载曲线。

图5给出了实际侵彻过程中测到的两条过载曲线,其中下图是某条曲线中的一段,并且经过滤波处理过。

5 结束语

本文利用C8051F121单片机具有的片内12位电压方式数/模转换器和内部集成化的数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件,设计了可以获取任意波形的信号发生器。采用了串口通信和D/A转换,在Visual Basic可视化操作界面下方便地读取和保存数据、编辑曲线,并且可以进行一些必要的信号处理和优化。而且电路简单清晰,功能明确。

本文作者创新点:针对整体项目的实际要求,以较低的成本实现了弹道存储测试需要的各种信号,经过仿真和电路测试,完全达到了设计的要求。设计的人机交互平台功能强大,使用方便,具有很好的推广和使用价值。

项目经济效益:预计可产生经济效益110万。

作者:王世虎,刘明杰,李晓峰      来源:《微计算机信息》(嵌入式与SOC)2009年第3-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top