2024年 12月31日。
波形发生器的设计。
邓立新。湖南城市学院通信与电子工程学院,益阳,413000)
1设计目的。
通过对本课题的设计,掌握a/d、d/a转换的应用,用单片机通过编程产生各种波形的方法。熟悉单片机应用系统的设计以及软硬件的调试。单片机本身并没有开发能力,必须借助开发工具即硬件开发环境才能进行开发。
单片机的硬件开发环境有pc机、编程器和**机等。
2设计的主要内容和要求。
设计一个简易波形发生器,要求该系统能通过开关或按钮有选择性的输出方波、锯齿波、三角波及正弦波等四种波形,并且这四种波形的频率均可在一定范围内调节,电压的幅度也可以通过电位器在一定范围内进行调节。
对于四种波形的切换,用四个开关的四种状态来表示(或用按钮)。选用d/a转换器选用dac0832来输出波形。通过拨码开关来调节频率。
3 整体设计方案。
本方案直接采用atmel公司的at89c51作为波形发生器。波形的具体产生是通过dac来产生,atmel公司的at89c51在这方面的设计为我们提供了极大的方便,用它实现的好处在于,外围电路极其简单,另外在dac的编程方面又提供及其便利的编程环境。外围电路的设计包括三大部分,第一是键盘控制电路的设计,这里采用4个独立按键,由p1.
0、p1.1、p1.2、p1.
3的进行控制。通过p0口输出数字波形信号,经过dac0832转换为模拟信号进行输出。在波形输出的同时利用按键(拨码开关)来进行频率调节,通过对dac0832的vref参考电压的控制来调节输出波形的幅度。
另外由于atmel公司的at89c51接dac输出,为保证电流的输出在p0口接上上拉电阻,保证驱动电路正常驱动。本设计的特点是全面采用数字电路方案,因而工作稳定可靠。利用单片机控制管理,使频率设置和占空比调整等操作可用键盘输入,十分方便。
通过按键的控制来调节输出波形的形式、频率和幅度,如图3.1所示。
图3.1 整体设计方框图。
4 硬件电路的设计。
根据设计要求,可以考虑四种波形切换,用四个开关的四种状态来实现。波形频率的改变是通过p2口来控制实现。波形输出是通过d/a转换器实现的,可以选用d/a专用芯片0832来完成。
通过控制dac0832的参考电压来调节输出波形的幅度,采用一个1k的电位器来调节。这样系统的主要器件就确定了。其系统的硬件电路原理图如图4.
1所示。
系统选用12mhz晶振,如用8mhz晶振,则输出波形的频率可得到相应降低。a/d转换器芯片的地址按图中所示接线为7000h,采样通道为in0,三个通道地址选择端add-a,add-b及add-c接在数据线上,也可以接到p2口线上,只是按图所示接线,在启动a/d转换器时,累加器a中应送通道值。当然,按设计要求也可将这三根地址线接地,但这样不利于系统扩展,0809eoc端在a/d转换结束后会产生一个上跳变,将其接到p3.
2口,这样当a/d转换结束时可按等待及查询两种方式读取数据,编程较为灵活,若采取中断方式读取结果,从eoc输出的信号应加反相器后再送到p3.2口,以便与单片机的中断逻辑相匹配。分频器74als74将1mhz的地址锁存信号四分频,变为250khz脉冲后,提供给0809作为其工作脉冲。
d/a转换器芯片dac0832将单片机输入的数字量转变为电流信号并以差分方式送给运算放大器lm324,后者将其变为电压信号输出。若要得到正负电压,则应该为运算放大器提供正负电源。按途中所示,接线0832地址为8000h。
图4.1系统的硬件电路原理图。
5 软件设计。
根据硬件设计,系统用按钮切换波形,可考虑采用查询或中断方式进行,这两种方式比较起来后者效率更高。若采用查询方式检测按钮,则系统需花费时间去定期检测p3.3口管脚电位,这样就增加了软件开销,降低了效率,因此采用中断方式编程比较理想。
其编程思想是安排一个存储单元存放按钮次数,初值设为0,对应于某种波形,每中断一次数据加1,以对应另一种波形。因此中断程序的任务仅仅是通过改变按钮的次数来存放单元的数据而已,波形转换在主程序中进行。各种波形的输出频率是通过改变两次输出数据之间的时间间隔来实现的。
具体做法是首先对模拟量进行采样,得到相应的a/d值用这个a/d值作为延时基数进行延时,这样输出波形的频率就和模拟电压联系起来,只要调整电位器旋钮改变输入电压模拟量,就可以改变波形频率。
主程序框图如图5.1所示。
图5.1 主控制器程序流程图。
6 系统**。
在proteus的isis 7.7sp2软件环境下画出电路原理图,接下来就是将设计的程序在keil c51 μvision4开发集成环境上编译成机器语言,进入proteus的isis,鼠标左键点击菜单“debug”, 选中“use romote debuger monitor”,便可实现keilc与proteus连接调试。首先在proteus中双击单片机at89c51,将keilc下编程生成的 .
hex文件导入到at89c51中,可在proteus中单击全速**运行按钮,进行现象的查看,能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平;如果现象不正确,则在keilc中单步调试程序,并在proteus观察现象,那一步不正确则对该段的程序进行修改,调试直到**完全成功为止,**现象如图6.1所示。
图6.1 单片机波形发生器**图。
该**验证的过程为,首先按开始按,然后按下与p1.0相连的独立按键,这时在输出端通过示波器显示一个方波。调节拨动开关,可使方波的频率发生变化,调节电位器rv1,可使波形的幅度发生变化。
**结果如图6.2所示。
图6.2 方波波形输出**结果图。
按下与p1.1相连的独立按键,这时在输出端通过示波器显示一个锯齿波。调节拨动开关,可使方波的频率发生变化,调节电位器rv1,可使波形的幅度发生变化。
**结果如图6.3所示。
图6.3 锯齿波波形输出**图。
按下与p1.2相连的独立按键,这时在输出端通过示波器显示一个三角波。调节拨动开关,可使方波的频率发生变化,调节电位器rv1,可使波形的幅度发生变化。
**结果如图6.4所示。
图6.4三角波输出波形**图。
按下与p1.3相连的独立按键,这时在输出端通过示波器显示一个正弦波。调节拨动开关,可使方波的频率发生变化,调节电位器rv1,可使波形的幅度发生变化。
**结果如图6.5所示。
图6.5正弦波输出波形**图。
7 使用说明。
在设计的波形发生器中,可以通过与p1口相连的4个按键来选择输出的波形,按键p1.0为方波输出,按键p1.1为锯齿波输出,按键p1.
2为三角波输出,按键p1.3为正弦波输出。通过对和dac0832相连的电位器rv1可以调节输出波形的幅度。
在和单片机p2口相连的有一组拨码开关,通过这组拨码开关可以调节输出波的频率。
8 设计总结。
通过这段时间的课程设计,我加深了对单片机的了解与应用,学会了如何把理论应用于实际,如何用我们所学的知识去解决正常生活中的问题。在程序设计时时有不懂的地方需时时翻书,说明了对单片机技术掌握的并不是很熟悉,有待进一步提高对其的深入了解,同时在做这个课程设计的过程中我们了解到了更多有关于单片机的应用,像老师所说的那样,什么东西都可以用单片机做出来,只是看你钻没钻进去,还有就是意识到了学好模拟电路基础和数字电路基础是十分重要的,那是做单片机应用知识所必备的。
在当今科技发展如此迅速的时代,计算机已经成为了必不可少的工具,它无处不在,学习掌握计算机的技能已成为一项必修课,想要在这个社会有一立足之处,就必须学好计算机,能准确的掌握计算机知识,并熟练的贯彻到生活之中。
参考文献。1] 何立民。单片机应用系统设计[m].北京:北京航空航天大学,1996.
2] 李华。mcs—51系列单片实用接**术[m].北京:北京航空航天大学出版社,1993.
3] 何立民。单片机应用技术选编(一)[m].北京:北京航空航天大学出版社,1993.
4] 邬宽明。单片机外围器件实用手册(数据传输接口器件分册)[m].北京:北京航空航天大学出版社,2002.
5] 李胡育。单片机原理及接**术[m].北京:北京航空航天大学出版社,1994.
6] philips. 80c51-based 8-bit microcontrollers[m].1994.
7] 李建忠。单片机原理及应用[m].西安:西安电子科技大学出版,2002.
8] 张俊谟。单片机中级教程[m].北京:北京航空航天大学出版,2000.
附件:程序清单。
org 0000h
ljmp main
org 0100h
main: jnb p1.0,p10
jnb p1.1,p11
jnb p1.2,p12
jnb p1.3,p13
ljmp main
p10: mov r7,#00h
lcall squ
ljmp main
p11: mov r7,#01h
lcall saw
ljmp main
p12: mov r7,#02h
lcall tri
ljmp main
p13: mov r7,#03h
lcall sin
ljmp main
squ: jnb p1.1,n1
jnb p1.2,n2
jnb p1.3,n3
ljmp ssqu
n1: mov r7,#01h
ljmp tc0
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...