基于MATLAB用单片机制作波形发生器

点赞:18785 浏览:83073 近期更新时间:2024-01-24 作者:网友分享原创网站原创

摘 要 近年来,单片微型计算机以其强大的生命力飞速发展,在工业控制、智能仪器仪表、智能化设备和家用电器等领域得到了广泛的应用.本次设计制作一种波形发生器,采用MATLAB函数仿真出需要得到的波形,并将该波形进行抽样和模数变换后保存在6264存储器当中,然后利用C51语言控制单片机进行读取,最后模拟信号的输出是通过D/A转换和放大处理来实现的.


关 键 词 MATLAB;单片机;波形发生器

中图分类号TP36 文献标识码A 文章编号 1674-6708(2013)96-0208-02

在工业制造与日常研究过程里,往往需要一些可以灵活产生、周期与峰值等参数能方便调节、功能扩展性强的信号,这样的特定需求通常都难以实现.本次设计的系统利用MATLAB与C51语言制作的波形发生器,能很好地解决这些问题,而且费用不高、实用性强,实现了硬件电路软件化的设计.

1系统硬件设计

2.3.2“握手”通信处理程序

2.3.3接收子程序设计

2.3.4传送子程序设计

本系统发送数据是用串行模式1来进行的,由TXD端口一次送出10个位的数据.其中起始位和结束位分别位于一头一尾,夹在中间的是8个数据位(校验检查可选). 如果串口完成了初始化工作,CPU就能执行1条写入SBUF指令启动发送器来实施数据的传送.在传输过程中,当10个串行位完成输出,SCON的位1(TI)便会置为1,表明能够继续进行下一批数据的送出操作.在程序设计中当监控到TI等于1,便将数据写入SBUF寄存器,之后再将TI位清0.具体程序设计如下:

2.3.5波形输出子程序设计

3软件运行结果

本次设计的所用的matlab编程软件只用来生成波形数据,而波形的周期是使用单片机来控制的.在对单片机控制编程中c语言是一种强有力的程序设计语言,然而有些时候c语言程序还是无法完全控制程序的工作,遇到一些必须精确计算指令执行工作时间的控制问题,则一定得用汇编语言来设计了.