74 基于单片机的函数波形发生器设计

上传人:飞*** 文档编号:52130110 上传时间:2018-08-18 格式:PPT 页数:92 大小:3.44MB
返回 下载 相关 举报
74 基于单片机的函数波形发生器设计_第1页
第1页 / 共92页
74 基于单片机的函数波形发生器设计_第2页
第2页 / 共92页
74 基于单片机的函数波形发生器设计_第3页
第3页 / 共92页
74 基于单片机的函数波形发生器设计_第4页
第4页 / 共92页
74 基于单片机的函数波形发生器设计_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《74 基于单片机的函数波形发生器设计》由会员分享,可在线阅读,更多相关《74 基于单片机的函数波形发生器设计(92页珍藏版)》请在金锄头文库上搜索。

1、7.4 基于单片机的函数波形发 生器设计n7.4.1 设计(实习)任务n7.4.2 基于AT89S52的函数信号发生器设 计与仿真n7.4.3 电路PCB的设计与制作n7.4.4 单片机函数信号发生器的程序下载 和测试7.4.1 设计(实习)任务n1. 设计(实习)目的通过一个单片机应用系统设计,熟悉利用Keil软件 编写编译C51源程序,会应用Proteus进行单片机系统 的仿真,熟悉使用Protel软件设计PCB电路。学习 实物电路的制作装配、调试技术。学习利用万用表、 示波器、信号源、电源等设备调试硬件、软件的方法 。培养学生在单元电路设计、系统电路分析、整机联 调、计算机辅助设计和信息

2、处理等方面的综合能力。 培养和提高学生的科研素质、工程意识和创新精神。7.4.1 设计(实习)任务n2. 设计(实习)要求以AT89S52单片机和DA转换器为核心,设计并制 作一个多种波形的低频函数信号发生器,要求频率可 调,可以产生方波、正弦波、三角波、锯齿波等多种 波形,通过按键指定波形种类和频率增减,在数码管 上显示频率值及波形种类。电路的原理框图如图7-38 所示:7.4.1 设计(实习)任务图7-38函数信号发生器原理框图7.4.1 设计(实习)任务n3. 设计(实习)步骤n(1)明确系统设计任务和要求对设计任务分析,了解性能、指标、内容及要求 ,充分理解题目的要求、每项指标的含义,

3、这是完成 综合设计的前提。n(2)制订方案与构建总体框图对同一个题目,实现的方案可能是多种,实现的 途径和技术路线也可能是多方面的。可以将不同的方 案与途径加以对比。从中选择一种方案来实现。选择 的原则一般是“容易实现,设计巧妙,性价比高”。7.4.1 设计(实习)任务一旦方案选定,就着手构建总体框图,将系统分 解成若干模块,明确每个模块的大体内容和任务、各 模块之间的连接关系以及信号在各模块之间的流向等 等。总体方案与框图十分重要,有了总体方案与框图 ,再将总体指标分配给各个模块,指挥与协调各模块 的工作,以达到总体项目的设计要求。n(3)查找资料、选取核心芯片、设计单元电路、计算 参数。7

4、.4.1 设计(实习)任务器件尽量选用常见的、通用性好、价格相对低廉 、手头有的或容易买到的。在元器件选用中,必须注 意以下方面:电源电压范围;是单电源供电还是双电 源供电;元器件的主要指标,不外乎是速度和精度两 方面;元器件之间的电平匹配等。(推荐主要器件:单片机AT89S52、DAC0832、LM324 、四位一体阳数码管、三极管9012)单元电路设计:要注意考虑前后级的关系。各元件参数计算:电路电压、电流、阻抗、功率和标 称值。注意:尽量采用典型电路和成熟方案不需要每个R 、C都自己算。 7.4.1 设计(实习)任务n(4)编写程序,利用KEIL C51编译程序,用Proteus 构建电

5、路,进行系统仿真及程序测试。n(5)用PROTEL设计PCBn用Protel画出原理图、设计PCB(也可以用Proteus导出 的网表导入Protel)、要布局合理、美观、整齐。n(6)制作PCB电路板n(7)装配及焊接,注意器件极性,引脚顺序。n(8)通电前先检查:先看连接是否错误,电源是否正 常。然后再通电检查,加入正常电压,观察电路有无 异常。如遇打火、冒烟、高热等异常情况应立即断电 检查。7.4.1 设计(实习)任务n(9)下载、调试按顺序调试显示模块、键盘模块、输入模块、输 出模块的功能。要充分利用电子仪器来观察波形,利 用信号源或其他实验仪器判断各单元电路的工作状态 ,测量数据,发

6、现问题,解决问题,以达到最终的目 的。在系统电路板上调试完整的程序,记录实验数据 。从最前端到末级进行统调,检查各级动态信号工作 情况,分析是否满足设计要求。7.4.1 设计(实习)任务故障诊断与排除方法:信号寻迹,逐级检查;分 割测试,切断电路间的相互联系,查找原因;对比测 试,相同电路对比;用已知正常的电路、器件代替怀 疑的电路;静态测试法,确定单一故障元件;动态测 试法,观察动态工作情况。n(10)验收设计作品演示各项指标,回答老师提问,评定实验(实习 )成绩。7.4.1 设计(实习)任务n(11)撰写设计(实习)报告按(实习)报告模板整理设计文档:比较和选定设计的系统方案,画出系统方框

7、图; 单元电路设计、参数计算和器件选择;画出完整的电 路图,并说明工作原理;组装调试内容(主要调试仪 器、调试方法技巧、测试数据与分析、故障以及排除 方法);总结方案优缺点,指出实用价值并提出改进 方案。附上所有测试数据和曲线等等;总结分析实验 中发生的现象,遇到的问题和解决方法。分析系统中 存在的不足和改进方法。7.4.2 基于AT89S52的函数信号 发生器设计与仿真n1. 模块电路的设计参照前面章节的内容,选取了实验室推荐主要器 件:单片机AT89S52、DAC0832、LM324、四位一体 共阳极数码管、三极管9012,进行系统模块电路的设 计。n(1)按键接口及电源指示电路如图7-3

8、9用三个按键实现波形的切换和控制:S1 实现波形的切换,S2实现频率的增加,S3实现频率的 减小。7.4.2 基于AT89S52的函数信号 发生器设计与仿真图 7-39 按键接口电路7.4.2 基于AT89S52的函数信号 发生器设计与仿真n(2)单片机最小系统及ISP下载接口电路AT89S52单片机支持ISP技术,要用到其P1.5、 P1.6、P1.7和复位端。 7.4.2 基于AT89S52的函数信号 发生器设计与仿真图7-40 单片机最小系统7.4.2 基于AT89S52的函数信号 发生器设计与仿真n(3)数码显示模块电路如图7-41所示,数码显示电路采用共阳极四 位一体数码管设计实现,

9、在公共端增加三极管构成反 相驱动电路。7.4.2 基于AT89S52的函数信号 发生器设计与仿真图7-41 数码显示电路7.4.2 基于AT89S52的函数信号 发生器设计与仿真n(4)D/A转换及信号放大电路D/A转换电路采用DAC0832直通连接方式实现,运 放采用LM324,后级构成电压跟随器,C3和C6构成滤 波电路。7.4.2 基于AT89S52的函数信号 发生器设计与仿真图7-42 DA 转换及信号放大电路7.4.2 基于AT89S52的函数信号 发生器设计与仿真7.4.2 基于AT89S52的函数信号 发生器设计与仿真n2. 函数波形发生器的软件设计与Proteus仿真n(1)软

10、件设计主要思路:通过三个按键来完成波形的切换和频率的调整, 按键1完成波形的切换,按键2完成频率的增加,按键3 完成频率的减少。对方波主要采用交替输出0和255给DAC0832来实 现;对锯齿波和三角波采用加减计数(0-255)输出 给DAC0832来实现;7.4.2 基于AT89S52的函数信号 发生器设计与仿真对正弦波采用查表输出的方式,存储一个四分之 一周期,64点的正弦表查表输出实现。n(2)应用Proteus完成函数波形发生电路的设计如图7 -43所示:7.4.2 基于AT89S52的函数信号 发生器设计与仿真图7-43 函数信号发生器仿真电路7.4.2 基于AT89S52的函数信号

11、 发生器设计与仿真n(3)在Keil C下编写程序代码如下,用Keil编译并生成 Hex文件后,把Hex文件导入单片机中进行仿真。7.4.2 基于AT89S52的函数信号 发生器设计与仿真n#include /包含常用头文件n#includen#includen#includen#define uchar unsigned char /定义常用数据类型nvoid scan_key(void);nvoid treat_with_key(void);nvoid fun0(void);nvoid fun1(void);nvoid fun2(void);nvoid delay(int t);nvoid

12、 unit(void);nvoid give_led_data(void);7.4.2 基于AT89S52的函数信号 发生器设计与仿真nchar data seg3=0x7F,0xBF,0xDF;nchar data dis10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;n / 0 1 2 3 4 5 6 7 8 9nunsigned char code sine_data128=0x80,0x86,0x8D,0x93,0x99,0x9F,0xA5,0xAB,n 0xB1,0xB7,0xBC,0xC2,0xC7,0xCC,0xD1,0x

13、D6,n 0xDA,0xDF,0xE3,0xE7,0xEA,0xEE,0xF1,0xF4,n 0xF6,0xF8,0xFA,0xFC,0xFD,0xFF,0xFF,0xFF,n 0xFF,0xFF,0xFF,0xFE,0xFD,0xFB,0xF9,0xF7,n 0xF5,0xF2,0xEF,0xEC,0xE9,0xE5,0xE1,0xDD,n 0xD8,0xD4,0xCF,0xCA,0xC5,0xBF,0xBA,0xB4,n 0xAE,0xA8,0xA2,0x9C,0x96,0x90,0x89,0x83,n 0x80,0x79,0x72,0x6C,0x66,0x60,0x5A,0x55,n 0

14、x4E,0x48,0x43,0x3D,0x38,0x33,0x2E,0x29,n 0x25,0x20,0x1C,0x18,0x15,0x11,0x0E,0x0B, 7.4.2 基于AT89S52的函数信号 发生器设计与仿真n 0x09,0x07,0x05,0x03,0x02,0x00,0x00,0x00, n 0x00,0x00,0x00,0x01,0x02,0x04,0x06,0x08,n 0x0A,0x0D,0x10,0x13,0x16,0x1A,0x1E,0x22,n 0x27,0x2B,0x30,0x35,0x3A,0x40,0x45,0x4C,n 0x51,0x57,0x5D,0x6

15、3,0x69,0x6F,0x76,0x7C;nuchar key=0,wave_way=0,add_dec=1,nj=0,n=0,m=0,k=0,l=0,led_data0,led_data1,led_data2;nint i=0;7.4.2 基于AT89S52的函数信号 发生器设计与仿真nmain()nn unit();n give_led_data();n while(1)nn scan_key();n if(key!=0)nn treat_with_key();n n n7.4.2 基于AT89S52的函数信号 发生器设计与仿真nvoid unit(void)nIP=0xc2;nET0=0;nTR0=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号