APP下载

基于8086的波形发生器设计与proteus电路仿真

2017-10-21魏凤旗李军红洪镇南

科技风 2017年19期
关键词:子程序锯齿波形

魏凤旗 李军红 洪镇南

摘要: 以8086CPU为控制核心,选用8255A和DAC0832等集成芯片设计了一种简易的波形发生器。该波形发生器能产生频率可调的脉冲波、三角波、锯齿波、正弦波等,电路简单,应用方便;并运用了Proteus对系统进行了仿真,仿真实验结果表明:系统运行效果良好,符合预期,验证了设计方案的合理性和有效性。

关键词:8086CPU;Proteus;波形发生器

波形发生器是一种常用的信号源,能产生不同频率的脉冲波、三角波、锯齿波、正弦波等,广泛应用于电子电路测量与设计、自动控制系统和实验教学等领域[1]。从电路形式来看,波形发生器可以由运放和分立元器件构成,也可由微处理器和少许外围电路构成,后者通过软件和硬件结合,充分利用软件的优点,尽可能地减少硬件开销,性能稳定,方便灵活[2]。

本文采用微处理器8086和DAC0832设计波形发生器,可产生脉冲波、三角波、锯齿波、正弦波等,波形的频率可用程序改变,具有电路简单、结构紧凑、性能优越等特点。

1 硬件设计

系统硬件结构如图1 所示,以8086CPU为核心进行电路设计,包括输入模块、8086控制模块、数模转换与运放模块等三大部分组成。输入模块由3个按键和8255A构成,实现波形的切换和频率的步进调节,其中按键K1、K2分别实现频率的增加和减小的调节,K0实现“脉冲波、三角波、锯齿波、正弦波”的选择,每按一次向下一种波形切换,并循环进行下去。数模转换模块选用8位的D/A 转换集成芯片DAC0832,将数字量转换成模拟量输出,再由运算放大器将电流输出转换为电压输出,产生各种波形。

2 软件設计

本系统软件采用模块化程序设计方法,功能模块各自独立,由主程序和产生波形的子程序组成。 频率的改变可采用插入延时子程序的方法来实现。系统主程序流程如图2所示。

2.1 脉冲波产生子程序

8086CPU先向DAC0832输送00H,D\A转换器将转化一个低电平;延时一段时间后,再传送0FFH,D\A转换器将输出一个高电平。

2.2 三角波产生子程序

8086CPU向DAC0832输送的数据从最小值开始逐渐上升,到达最大值之后再逐渐减小到最小,每输出一个数据中间插入一定延时。

2.3 锯齿波产生子程序

与三角波类似,只是锯齿波到达最大值之后,直接跳到最小值。

2.4 正弦波产生子程序

采用查表法,先把正弦值按顺序做好表格,然后依次发送给D/A 转换器,每输出一个数据中间插入一定延时。

3 proteus电路仿真

Proteus是英国Lab Center Electronics公司研发的电路分析与仿真的多功能工具[3],Proteus7.5以上的版本新增了最小模式下8086微处理器的仿真。本文在Proteus平台下,添加了外部汇编语言编译器MASM32,实现软硬件联调。Proteus软件中设计的系统硬件电路如图3所示,利用Proteus软件中的虚拟示波器观察电路输出的波形如图4~7所示。波形效果良好,符合预期,验证了电路设计的正确性。

4 结语

本设计以8086CPU为控制核心,选用8255A和DAC0832等集成芯片设计了多功能波形发生器,并在Proteus环境下,对系统进行了仿真,仿真实验结果表明:系统运行效果良好,符合预期,验证了设计方案的合理性和有效性。

参考文献:

[1]孙克楠.基于8086的多功能波形发生器的设计[J].科技向導, 2014,21.

[2]洪惠宇.基于单片机的简易波形发生器电路的设计[J].南京工程学院学报(自然科学版),2012,4.

[3]陈辉,陈梅,等.基于AT89C51单片机波形发生器的Proteus设计[J].自动化与仪器仪表,2012,3.

*通信作者:李军红(1971),男,汉族,湖南耒阳人,硕士,副教授,主要从事电力电子技术、电机控制、智能控制及应用等方面的研究工作。

猜你喜欢

子程序锯齿波形
猛犸杀手——锯齿虎
伤口多了就是锯
通用6T系列变速器离合器鼓失效的解决方案
应用子程序车削梯形螺纹方法
在数控车床上加工软轴零件
数控车床加工螺纹编程方法探讨
一波三“折” 巧用“波形”来解题
伤口多了就是锯
任意波形编辑软件中手动任意绘制功能的设计
趣味数独4则