单片机课程设计基于单片机信号发生器设计.doc
《单片机课程设计基于单片机信号发生器设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计基于单片机信号发生器设计.doc(17页珍藏版)》请在三一办公上搜索。
1、 广东第二师范学院 单片机课程设计报告 物理 系 09 级 电子信息工程 专业 题目 单片机函数发生器设计 姓名 学号 指导教师 2011-4-5 目录引言3一 设计任务31设计内容32设计要求4二 芯片功能介绍4三 总体功能图和总原理图5四 程序流程图61 锯齿波程序流程图62 三角波程序流程图73 梯形波程序流程图84 方波程序流程图95 正弦波程序流程图116 整体程序流程图12五 程序设计13六 仿真测试16七 总结与体会19八 参考文献19九 致谢19引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。这次的设计分为五个模块:单片机控制及显示模块、数模转换模块、波
2、形产生模块、输出显示模块、电源模块。使用AT98C52作为主控台结合芯片DAC0832产生1HZ-10HZ频率可调的五种信号波(锯齿波、三角波、方波、梯形波、正弦波)。这几种波形有几个开关控制,可以随意进行切换,十分方便。另外,波形的频率和振幅也可以通过开关进行更改。可以说这次的设计操作简单,内容丰富,而且电路快捷明了。1设计任务1.1设计内容以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、梯形波等),且频率、幅度可变的函数发生器。1.2设计要求设计借口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图和仿真图,并编写出控制波形的程序。2芯片功能介绍 2.1、DA
3、C0832芯片介绍: DAC0832为一个8位D/A转换器,单电源供电,在+5+15V范围内均可正常工作。基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mW。DAC0832的内部结构框图如下图所示。图2.1 DAC0832的内部结构框图2.2 DAC0832的外部引脚及功能介绍图如下: 图2.2 DAC0832介绍 2.3 DAC0832的应用:DAC0832一是用作单极性电压输出,二是用作双极性电压输出,最后是用作程控放大器。 2.4 DAC0832与8031的连接方式: DAC0832的与单片机的连接方式有三种方式:(1)单缓冲;(2)双缓冲、(3)直通方式。本程序采
4、用的是方式一即单缓冲方式,ILE为高电平,CS、WR1、WR2、XFER为低电平。 图2.4 DAC0832引脚图3 总体功能图和总原理图函数发生器的设计 K2 键三角波 K3键梯形波 K4键方波 K5键正弦波 K6 调频调幅 K1 键 锯 齿 波 图3.1 总体功能图 图3.2 总原理图4 程序流程图4.1 锯齿波程序流程图锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。流程图如下所示:设置初值A MOV A,#00H DPT#8000HMOVX DPTR,A 加上设定的步数,
5、ADD A,步数判断A是否已经满了? 否 重新设置初值A 是 开 始 4.2 三角波程序流程图三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再进行减数,减到初值之后就再返回到先前的操作,这个操作跟锯齿波的实现是相似的。此程序输入的VREF的电压是5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,且步数为1,这样输出的波形是最大的。程序流程图如下图所示:给A设置初值 MOV DPTR,#8000H MOVX DPTR,AADD A,步数 判断A是否已满? 否 是 SUBB A,步数 判断是否等于初值? 否/是 开 始 4.3 梯形波程序流程图梯形波输出跟锯齿波和三角
6、波相似,只不过当加到顶峰后的一段时间内不改变A的值,过了一段时间后再将减少A的值,不过先后的步数可以一样也可以不一样。然后减到初始的值后也要持续一段时间,然后再进行加数,如此循环下去。程序流程图如下图所示:开 始 给A设置初值 MOV A,#00H 是 持续一段时间 SUBB A,步数2 判断是否等于初值? 否 是 持续一段时间 MOVX DPTR,A ADD A,步数1判断A是否已满? 否 4.4 方波程序流程图此波形的实现更加简单,只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样
7、才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。流程图如下图所示:开 始 给A设置初值 MOV DPTR,#8000H MOVX DPTR,A 设置输出的时间 再设置一个初值放入A中MOVX DPTR,A 输出一段时间 4.5 正弦波程序流程图正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出,不过这些值直接去网上下载下来使用就可以了。输出的数据刚好是256个数据,这样则可以直接相加就行了。流程图如下图所示:4.6 整体程序流程图如下图所示:开 始 判断P1.0是否为1? 判断P1.1是否为1? 判断P1.2是否为1? 判断P1.3
8、是否为1? 判断P1.4是否为1? 否 否 否 否 否 是 是 是 是 是 输出响应的波形 5 程序设计ORG 0000H ;程序开始MOV SP,#60H ;设置堆栈MOV DPTR,#7FFFH ;0832的地址SJMP LOPTPL: MOV R6,#04H ;切换频率和幅度(手动调节) MOV R5,#04H SJMP START LOP: JNB P1.5,TPL ;选择调频 MOV R6,#01H ;设置步长 MOV R5,#01H START: JNB P1.0,BX1 ;输出锯齿波 JNB P1.1,BX2 ;输出三角波 JNB P1.2,BX3 ;输出梯形 JNB P1.3,
9、BX4 ;输出方波 JNB P1.4,BX5 ;输出正弦波 SJMP LOP BX1: MOV A,#00H ;设置初值LOOP:MOVX DPTR,A ;把数据送到端口 ADD A,R6 ;通过步长改变上升波形 CJNE A,#00H,LOOP SJMP START ;返回检测开关情况BX2: MOV A,#00H ;设置初值LOOP3:MOVX DPTR,A ;把数据送到端口转换 ADD A,R6 ;通过步长改变上升波形 CJNE A,#00H,LOOP3 DEC A ;减少步长改变数据下降波形LOOP2:MOVX DPTR,A ;把数据送到端口转换 DEC A ;减少步长改变数据下降波形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 基于 信号发生器 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4147479.html