简易函数发生器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:**********
单片机课程设计
题 目: 函数发生器设计
学院(系):机械与电子工程学院
专业年级: 电信122
学生姓名: **
指导教师: XXXXXX
完成日期: 2015年7月
目录
1、设计任务及要求 (1)
1.1设计任务 (1)
1.2 设计要求 (1)
2、系统方案设计 (1)
2.1 系统方案选择 (1)
2.2 系统方案设计 (2)
3、系统硬件设计 (3)
3.1单片机最小系统 (3)
3.2 D/A转换电路 (4)
3.3 键控电路 (4)
3.4整体电路图 (4)
4、系统软件设计 (5)
4.1 系统主程序设计 (5)
4.2 子程序软件设计 (6)
4.2.1初始化程序设置 (6)
4.2.2波形设计子程序设计 (7)
5、系统调试结果 (8)
5.1 proteus 仿真结果 (8)
5.2 实物示波器测量结果 (10)
6、总结 (11)
参考文献 (12)
附录1 (13)
附录2 (14)
1、设计任务及要求
1.1设计任务
本系统采用AT89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、按键电路,通过按键可控制切换正弦波、三角波、方波及频率大小。
1.2 设计要求
本系统是基于AT89C52单片机的数字式简易低频信号发生器。用程序产生正弦波、三角波、方波信号,并在Proteus电子设计平台上对方案进行仿真,具体要求如下:
1)用程序产生不同函数(正弦波、三角波、方波);
2)使用波形选择开关、频率调节按钮,实现波形切换及频率变换;
3)使用DAC0832模拟输出波形。
2、系统方案设计
2.1 系统方案选择
方案一:采用函数信号发生器ICL8038集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。
图1 方案一设计框图
方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。
方案三:采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。 经比较,方案三既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,且实验室器件可寻,所以采用该方案。
2.2 系统方案设计
本系统是基于AT89C52处理器设计一套低频信号发生器系统,并通过DAC0832数模转换芯片输出信号,示波器观测信号波形的功能。系统采用按键控制信号波形切换及频率变换。系统总体框图如图2。
图2 系统总体框图
3、系统硬件设计
3.1单片机最小系统
3.1.1 时钟电路
对于MCS-51常用的晶振在1.2MHZ—12MHZ之间选择,这时电容C可以对应的选择10pf-30Pf。本设计中的电容C使用电容值30pF,晶振选用11.0592MHz。时钟电路采用常用的晶振电路,一条引脚接在XTAL1,另一条接在XTAL2。电路图如图2所示:
图3 时钟电路
3.2.2 复位电路
复位是单片机的初始化工作,复位后中央处理器CPU和单片机内的其它功能部件都处在一定的初始状态,并从这个状态开始工作。为了防止程序执行过程中失步或运行紊乱,此处我们采用了上电复位及手动复位电路,电路图如图4所示:
图4 复位电路
3.2 D/A 转换电路
DAC0832为一个8位D/A 转换器,单电源供电,在+5 ~+15V 范围内均可正常工作,基准电压的范围为±10V,电流建立时间为1us ,CMOS 工艺,低功耗20mW 。
本设计中ILE=1,CS ̅̅̅=WR1̅̅̅̅̅̅̅=0,此时LE 1,允许数据输入;WR2̅̅̅̅̅̅̅=XFER
̅̅̅̅̅̅̅=0,此时LE 2=0,允许D/A 转换。DAC0832引脚连接如图5。
图5 DAC0832引脚图
3.3 键控电路
设置3个独立的弹性按键开关,分别与单片机P1^0,P1^1,P1^2相连。当对应的开关按下时,P1口低三位对应串口跳变低电平,从程序上看,即该串口赋值“0”,以此实现单片机与外部键盘的外部控制,其电路图如图6。
图6 键控电路模块
3.4整体电路图
系统整体包括单片机最小系统、D/A 电路、按键电路,系统总体电路图见附录1.
4、系统软件设计
4.1 系统主程序设计
在本设计中,对正弦信号进行采样,通过查表来实现输出不同的幅度值。采样点越密,信号失真度也就越小。对于三角波,就是实现2次循环,通过由最小值到最大值和由最大值到最小值的循环来实现三角波的输出。方波的输出时间间隔由键盘输入,然后由软件通过定时、计数器来控制,设置P2^0口输出方波波形。
程序设计中,通过外部按键开关来控制计数初值及波形切换。因此,通过控制对应按键就可以控制整个信号的频率,其计数初值=65 536-输入值。本程序设定寄存器T0作定时器,T1作计数器。设定初值917,此时中断初始时间50ms。程序运行中T0/T1被调用后开始计数,总定时时间到,输出一个点,反复循环,从而在一个周期内输出完整波形。系统主程序设计流程图如图7。
图7 系统主程序设计框图