基于单片机波形发生器的设计
陈李仁+彭森
摘 要:波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本文所研究的信号发生器采用单片机和DAC0832结合起来,通过数字电子电路向模拟电路转化,该系统虽然性能指标不如标准产品,但是它体积小,成本低,便于携带等特点,亦可作为电子随身设备之一。本次实验将由AT89C51单片机和DAC0832数模转换器构成波形发生器,此波形发生器可产生方波、三角波、锯齿波、梯形波、阶梯波等多种波形,波形的幅值可以用程序进行改变,并可根据需要选择单极性输出,具有线路简单、结构紧凑、价格低廉、性能优越等优点。在本设计的基础上,加上按键用来更改不同波形之间的切换,实现不同波形的输出。
关键词:波形发生器;数模转换;波形输出
1 引言
波形的产生是通过AT89C51单片机执行某一波形发生程序,向DAC0832转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
AT89C51单片机的最小系统有三种联接方式。一种是两级缓冲器型,即输入数据经过两级缓冲器型,即输入数据经过两级缓冲器后,送D/A转换电路。第二种是单级缓冲器型,输入数据经输入寄存器直接送入DAC寄存器,然后送D/A转换电路。第三種是两个缓冲器直通,输入数据直接送D/A转换电路进行转换,本设计采用单缓冲方式。
2 系统硬件及组成
2.1 系统硬件设计
本系统提供了五种不同的波形输出,通过五个按键控制相应的方波,锯齿波,三角波、梯形波和阶梯波。每次只能有一个键按下,没有按键按下时没有波形产生,按键输入信号给单片机,单片机对按键的情况进行处理,例如第一个按键按下时,系统需要产生一个方波,那么单片机循环输出0和1,那么通过DAC0832就通过运放循环输出高低电平,这样系统就能够输出方波,同样的道理,锯齿波、三角波、梯形波和阶梯波的产生也可以采用相似的道理。
本设计的硬件系统分为三个模块:单片机系统模块,DA转换模块,软件设计模块。
3 系统软件设计原理框图
3.1 原理框图如图1所示:
3.2 方波的实现过程
此波形的实现只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。
3.3 三角波的实现过程
三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作。此程序输入的VREF的电压是+5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,且步数为1,这样输出的波形是最大的。
3.4 锯齿波的实现过程
锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。在本程序中初值为00H.最大值为OFFH。
4 结论
1、晶振电路实现了模拟时钟信号的输出。
2、复位电路实现了电路的手动复位和按键复位的结合。
3、DAC0832数模转换电路实现了电压的输入与模拟波形的产生。
4、单极性缓冲电路实现了波形的输出。
5、通过调节变阻器的分压将电压输入VREF端口,进行特定波形的幅值调节。
6、实验程序完成了五种波形的产生,通过按键的切换进行各个波形的输出,每当一次按键被按下,相应的波形输出。
参考文献
[1] 江世明,黄同成. 单片机原理及应用[M].北京:中国铁道出版社, 2010.
[2] 江世明. 单片机原理及应用实验教程[M].北京:中国铁道出版社, 2010.
[3].周润景. 基于proteus的电路及单片机设计与仿真[M].北京:北京航空航天大学出版社, 2010
[4].郭天祥. 51单片机C语言教程[M].北京:电子工业出版社, 2009
作者简介
陈李仁, 邵阳学院魏源国际学院电子科学与技术专业学生
彭森, 邵阳学院信息工程系教师
摘 要:波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。本文所研究的信号发生器采用单片机和DAC0832结合起来,通过数字电子电路向模拟电路转化,该系统虽然性能指标不如标准产品,但是它体积小,成本低,便于携带等特点,亦可作为电子随身设备之一。本次实验将由AT89C51单片机和DAC0832数模转换器构成波形发生器,此波形发生器可产生方波、三角波、锯齿波、梯形波、阶梯波等多种波形,波形的幅值可以用程序进行改变,并可根据需要选择单极性输出,具有线路简单、结构紧凑、价格低廉、性能优越等优点。在本设计的基础上,加上按键用来更改不同波形之间的切换,实现不同波形的输出。
关键词:波形发生器;数模转换;波形输出
1 引言
波形的产生是通过AT89C51单片机执行某一波形发生程序,向DAC0832转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
AT89C51单片机的最小系统有三种联接方式。一种是两级缓冲器型,即输入数据经过两级缓冲器型,即输入数据经过两级缓冲器后,送D/A转换电路。第二种是单级缓冲器型,输入数据经输入寄存器直接送入DAC寄存器,然后送D/A转换电路。第三種是两个缓冲器直通,输入数据直接送D/A转换电路进行转换,本设计采用单缓冲方式。
2 系统硬件及组成
2.1 系统硬件设计
本系统提供了五种不同的波形输出,通过五个按键控制相应的方波,锯齿波,三角波、梯形波和阶梯波。每次只能有一个键按下,没有按键按下时没有波形产生,按键输入信号给单片机,单片机对按键的情况进行处理,例如第一个按键按下时,系统需要产生一个方波,那么单片机循环输出0和1,那么通过DAC0832就通过运放循环输出高低电平,这样系统就能够输出方波,同样的道理,锯齿波、三角波、梯形波和阶梯波的产生也可以采用相似的道理。
本设计的硬件系统分为三个模块:单片机系统模块,DA转换模块,软件设计模块。
3 系统软件设计原理框图
3.1 原理框图如图1所示:
3.2 方波的实现过程
此波形的实现只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。
3.3 三角波的实现过程
三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作。此程序输入的VREF的电压是+5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,且步数为1,这样输出的波形是最大的。
3.4 锯齿波的实现过程
锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。在本程序中初值为00H.最大值为OFFH。
4 结论
1、晶振电路实现了模拟时钟信号的输出。
2、复位电路实现了电路的手动复位和按键复位的结合。
3、DAC0832数模转换电路实现了电压的输入与模拟波形的产生。
4、单极性缓冲电路实现了波形的输出。
5、通过调节变阻器的分压将电压输入VREF端口,进行特定波形的幅值调节。
6、实验程序完成了五种波形的产生,通过按键的切换进行各个波形的输出,每当一次按键被按下,相应的波形输出。
参考文献
[1] 江世明,黄同成. 单片机原理及应用[M].北京:中国铁道出版社, 2010.
[2] 江世明. 单片机原理及应用实验教程[M].北京:中国铁道出版社, 2010.
[3].周润景. 基于proteus的电路及单片机设计与仿真[M].北京:北京航空航天大学出版社, 2010
[4].郭天祥. 51单片机C语言教程[M].北京:电子工业出版社, 2009
作者简介
陈李仁, 邵阳学院魏源国际学院电子科学与技术专业学生
彭森, 邵阳学院信息工程系教师