基于单片机的函数信号发生器课程设计(毕业设计)完整版.doc
基于单片机的函数信号发生器设计

基于单片机的函数信号发生器设计1引言函数信号发生器是一种用于生成常用函数信号的仪器仪表,主要用于电子测试、数据采集和计算机仿真系统中。
由于仪器价格昂贵、操作复杂、生成信号精度一般,因此基于单片机来设计函数信号发生器就显得尤为重要和实用。
本文介绍以单片机(MCU)作为控制核心设计函数信号发生器的原理及其实现过程。
2相关技术使用单片机作为函数信号发生器的核心控制,就需要按照以下步骤实现:(1)主控芯片的选择:单片机有着多种型号,用来实现函数信号发生器时,应选择具有较丰富的资源和功能特性的以太网芯片,以保证其对复杂信号系统的支持。
(2)信号频率的控制:信号频率的控制是函数信号发生器的重要功能,主要利用单片机的定时中断和PWM模块实现,单片机的定时中断功能可以实现对定义频率的准确控制;PWM模块可以进行频率的精确控制,并能实现调频的模拟信号输出。
(3)信号特征的定义:函数信号发生器可以制定正弦、方波、三角波或矩形波等信号,其信号形式定义很精确,且可以任意调节信号幅度、频率、波形等特性,这就要求用单片机控制信号特征,实现对波形信号的可调控,进而实现任意设置周期内任意特征信号。
(4)模数转换:单片机通过AD转换模块,实现对外部信号的采样和转换,并将转换后的数据存入内部影象存储器,然后根据采样参数的设置改变信号,实现信号发生。
3系统设计根据以上技术步骤,确定了基于单片机的函数信号发生器的设计模式,并根据主控芯片的性能参数和功能要求,确定了STM32系列芯片作为控制主模块,由它完成函数信号发生器的主控制功能,具体实现步骤如下:(1)MCU主模块的选择:STM32系列芯片主要以ARM Cortex-M内核为核心,内部集成了DMA、多种定时器、CAN、USB、IIC、ADC/DAC 等功能,因此选用该系列的芯片即可大大提高系统结构的灵活性和效率。
(2)信号函数参数的确定:正弦波、三角波、矩形波和方波等信号波形参数可以根据信号源参数进行确定,可以分析出正弦波、三角波、矩形波和方波的频率,幅值和偏移量等参数。
基于单片机的函数信号发生器

基于单片机的波形发生器叶光显----2005.8.5一设计目标设计一台基于单片机的函数信号发生器,能实现以下基本功能:1、波形:方波、正弦波、三角波、锯齿波2、幅值电压:0V到5V3、频率:0K到10K4、输出极性:双极型。
使用操作如下:1、上电,系统初始化,数码管显示6个0,等待输入设置命令。
2、按“F”、“V”、“W”键,分别进入频率、幅值、波形设置,数码管显示“-”。
输入相应的参数,显示参数值,按“CL”键,清除所有已设定参数,参数设定完毕按“EN”键,数码管显示波形的编号、频率、电压幅值等。
3、波形发生器输出信号时,按下任意键可停止信号输出,等待重新设置参数。
4、要停止使用波形发生器,可按复位按键,将系统复位,然后关闭电源。
二方案选择1、MCU方案目前市场上的单片机种类繁多,各有长短。
其中51系列单片机技术成熟,价格低廉,是应用最广泛的单片机系列。
AT89C51单片机是51系列当中的一种,它是美国A TMEL 公司的8位Flash单片机,以MCS-51为内核,其内部具有4K FEPROM,可以满足一般的小应用系统的程序存储要求。
为了缩小硬件电路空间,这里可以选择20dip封装的AT89C2051单片机,这个CPU除了没有P0口、P2口及其它4个控制管脚外其他功能与AT89C51完全一样。
2、人机交互电路方案人机交互主要分为用户输入和系统输出两个部分(这里只讨论对用户输入数据的回显总分,波形的输出总分在后面讨论)。
最常用的用户输入工具是键盘,键盘和显示往往是紧密地联系在一起,成对出现的,市场上因此也就有多种键盘显示控制器。
人们通常的键盘选择方案有以下几种:1)用通用可编程并行接口芯片8255构成一个键盘显示控制器,这是一种常用的方案,因为8255使用简单,货源充足,尤其适用于简单的系统中。
2)专用可编程键盘显示控制器8279也是一种常用的键盘显示选择方案,8279与MCU的接口是通过并行数据口相联的,可以同时控制8位数码管显示和8×8键盘矩阵,由于数据的输入输出口都是并行数据口,因此线路连接比较复杂。
毕业设计基于单片机的函数信号发生器

目录1 绪论 (5)1.1 选题背景及意义 (5)1.1.1 本课题的研究现状 (5)1.1.2 选题目的及意义 (6)1.2 设计任务及要求 (6)1.2.1 设计的基本要求 (7)1.2.2 本文结构安排 (7)2 函数发生器系统设计 (8)2.1 设计方案的比较 (8)2.2 系统模块设计 (9)2.2.1 控制模块: (9)2.2.2 按键及其显示模块: (9)2.2.3 波形产生模块 (9)2.2.4 D/A转换 (10)2.3 系统总体框图 (12)2.4 理论分析 (12)2.4.1 电路的理论计算 (12)2.4.2 波形产生相关理论 (15)2.5 单片机软件开发系统 (15)3 系统硬件电路的设计 (17)3.1 单片机最小系统 (17)3.2 单片机的接口电路 (18)3.3 幅度控制模块 (23)3.3.1 单片机与DAC0832的接口 (23)3.3. 2DAC0832与运放的连接 (23)4 系统软件设计 (26)4.1 系统软件设计方案 (26)4.2 系统软件流程图 (26)4.3 信号产生程序 (27)4.3.1 正弦波产生 (28)4.3.2 三角波产生 (28)4.3.2 方波产生 (29)4.3.4 锯齿波的产生 (30)5 系统调试与测试 (32)5.1 调试 (32)5.2 测试 (35)6 结论与展望 (38)6.1 结论 (38)6.2 展望 (38)致谢 (39)参考文献 (51)附录 (40)附录一系统软件部分源程序 (40)附录二系统原理图 (49)附录三系统PCB图 (50)基于单片机的波形发生器的设计学生:李利刚指导老师:李敏(黄冈职业技术学院)摘要:函数发生器是一种用于产生标准信号的电子仪器,它广泛用于工业生产、科研和国防等各个领域中,所以论文选题具有一定的实用意义。
本文介在绍了函数发生器的基本概念及原理的基础上,采用AT89C51单片机为核心,完成了简易的DDS函数发生器的硬件设计和软件编程,并通过调试实现了其功能和主要技术指标。
基于单片机函数信号发生器设计-文档资料

仿真结果与分析
• 根据我的设计的要求,在Protues仿真软件运行下,我要对以下性能 做出测试:(1)拨码开关是否正确对应四种不同的波形。(2)当拨 码开关打开后能否正确输出波形 • 经过多次修改程序最后调试出来理想的效果后,正弦波如图:
正弦波形
4/10/2019
• 调试后的三角波如图 :
4/10/2019
4/10/2019
系统结构框图
显示 电路 数/模转 换电路 放大 电路
单 片 机
键盘 电路
复位 电路
波形 输出
4/10/2019
DAC0832引脚结构图
4/10/2019
软件设计
• 总体设计
• 本文中子程序的调用是通过按键的选择来实现,在取得拨码按键 开关相应的键值后,再直接查询程序中预先设置的函数值,通主函数 采用查询方式,通过不断扫描P1口的状态来确定调用不同的函数,产 生不同的波形,程序共有4个子函数,分别用来产生不同的波形。
三角波形
• 调试后的锯齿波如图 :
4/10/2019
锯齿4/10/2019
方波波形
• 问题及结果
• 问题:(1)这次实物设计在完成的过程中出现了虚焊的现象。需用 万用表检查具体的情况。该产品能用于日常实验测试工作中,所以产 品的实际使用情况还需要实践检验。(2)制作中出现了仿真中能够 通过,但是制作实物单片机却没有反应,最终更换了电阻解决了问题。 • 最后的实物如图 :
4/10/2019
方案论证
方案一:主控模块采用AT89S52单片机作为系统的控制器, 又有以下两种情况。 第一种为:AT89S52芯片中每一路模拟输出与DAC0832芯 片相连,构成多个DAC0832同步输出电路。 第二种:AT89S52芯片中只有一路模拟输出或几路模拟信 号非同步输出,这种情况下CPU对DAC0832 执行一次写操作, 则把一个数据直接写入DAC寄存器,DAC0832的输出模拟信号 随之对应变化。 方案二:采用单片函数发生器(如8038),8038可同时产 生正弦波、方波等。 鉴于方案一中第一种方法的信号频率不够稳定和方案二的 电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案 一中第二种方法的设计方案。
基于单片机的多功能函数信号发生器设计(可编辑)

毕业论文设计题目名称: 基于单片机的多功能函数信号发生器设计题目类型: 毕业设计院 (系): 电子信息学院专业班级:学生姓名:指导教师:辅导教师:时间:2013年3月至2013年6月目录长江大学毕业设计论文任务书I毕业设计(论文)开题报告III长江大学毕业论文设计指导教师评审意见X长江大学毕业论文设计评阅教师评语XI长江大学毕业论文设计答辩记录及成绩评定XII中文摘要XIII英文摘要XIV1 绪论11.1单片机概述 11.2函数发生器的分类 11.3 研究内容 22 方案的设计与选择3 2.1 方案的比较 32.2 设计原理 32.3 设计思想 42.4 设计功能 43 主要器件介绍 63.1 AT89C51简介 63.2 8255简介 83.3 DAC0832简介83.4 数码管显示原理9 4硬件设计114.1 硬件原理框图 114.2 主控电路114.3 数/模转换电路12 4.4 按键接口电路 134.5 时钟电路144.6 显示电路155 软件设计165.1 设计构思165.2 程序流程图165.3 波形图226 结论25参考文献27附录1 电路原理图28附录2 源程序 29附录3 器件清单40长江大学毕业设计论文任务书学院(系)电子信息学院专业电气工程及其自动化班级学生姓名指导教师/职称1.毕业设计论文题目:基于单片机的多功能函数信号发生器设计2.毕业设计论文起止时间:2013年3月11日~2013年6月10日3.毕业设计论文所需资料及原始数据(指导教师选定部分)1 王世虎,刘明杰,李晓峰.基于C8051F单片机信号发生器设计与应用[J].中国科技信息,20092 徐爱钧.智能化测量控制仪表原理与设计[M].电子工业出版社,20053 张洪涛,万红,杨述斌,数字信号处理[M].华中科技大学出版社,20064 徐爱钧.8051单片机实践教程[M].电子工业出版社,20055 CNKI中国知网上关于利用单片机设计信号发生器的期刊论文,硕士论文等4.毕业设计论文应完成的主要内容 (1)熟悉单片机开发方法,熟练掌握汇编语言; (3)探讨单片机产生方波,正弦波,三角波的方法;(3)研究产生任意波形的方法;(4)设计单片机和DA转换器的连接方法;(5)设计单片机驱动DA转换器的汇编语言程序,并调试5.毕业设计论文的目标及具体要求要求熟练掌握单片机的开发流程。
基于单片机的函数信号发生器设计

基于单片机的函数信号发生器设计所用元器件:基于单片机的函数信号发生器1.设计目的1.学习使用keil编程,使用Altium Designer绘制原理图;2.使用单片机产生正弦波、方波、三角波、锯齿波并可通过按键对波形切换、幅值和频率的调整;3.学习使用示波器显示波形;2.设计原理基于单片机的函数发生器原理以STC89C51为整个函数发生器的核心部分,通过编写程序和执行程序,运用示波器显示出四种波形,分别是正弦波、三角波、方波和锯齿波。
本设计拥有五个按键,分别实现波形的切换,改变波形的频率和幅值的大小。
芯片DAC0832将数字信号转换成模拟信号输出并通过外接运算放大器OP07实现电流向电压的转换,最后通过示波器显示出波形。
3.设计内容基本设计内容本次设计的主要内容是设计一个基于单片的函数信号发生器实现正弦波、三角波、方波和锯齿波。
利用单片机设计程序,使其能够通过按键有效切换四种波形,并且实现波形幅值和频率的调整满足本设计的要求,进行硬件系统和软件系统的设计,最后调试完成本次设计。
LCD1602液晶显示波形种类、幅值以及频率。
频率的可调范围在1—10HZ,幅值可调范围在1—5V。
显示屏上显示参数,第一行显示波形。
第二行左边显示波形频率,右边显示波形幅值。
本设计由五个功能按键,分别进行波形切换,加减幅值和加减频率。
电压在示波器上显示,硬件原理示意图,如图1.1所示。
图1.1 硬件原理设计图模块设计单片机最小系统模块本设计STC89C51为整个函数发生器的核心部分,单片机、时钟电路和复位电路构成单片机的最小系统,如图2.1所示。
图单片机最小系统模块原理图晶体谐振器是时钟电路的重要组成部分,将晶体谐振器放入电路,上电后它会产生机械振荡,单片机凭借晶体谐振器的频率运行所设计出来的频率,所以说晶体谐振器的频率是单片机操作时间规律,保证单片机平稳的工作。
晶体谐振器是控制CPU的时钟频率的。
频率控制运行速度。
晶体谐振器虽然是振荡电路的一部分,但是它自身不会产生震荡,它会有一个固定的频率,然后与外围电路发生谐振。
基于单片机的函数信号发生器—毕业设计

本科毕业设计题目基于单片机的函数信号发生器学院工学院专业农业电气化及自动化毕业届别二〇一一届姓名指导老师杨职称讲师北京农业大学教务处制二〇一一年六月目录第一章绪论 (4)1.1设计背景及意义 (4)第二章整体设计 (6)2.1设计思路 (6)2.2系统硬件设计 (7)第三章单片机AT89S51介绍 (8)3.1 单片机的选择 (8)3.2 AT89S51主要性能 (8)3.3 AT89S51主要特点 (9)第四章硬件设计 (10)4.1信号发生部分 (10)4.2频率计数器部分 (12)4.2.1利用AT89S51计数 (12)4.3放大电路 (13)4.4 LED显示器 (14)4.4.1 数码管的选择 (14)4.4.2数码管段驱动芯片74LS573 (14)4.4.3 键盘电路设计 (15)第五章程序设计 (17)5.1信号频率数据采集程序 (17)5.1.1程序设计的语言 (17)5.2 程序设计 (18)5.3 正弦波的产生 (18)5.4 方波的产生 (19)5.4.1 方波流程图 (19)5.4.2 程序设计 (19)5.5 锯齿波的产生 (20)5.5.1 锯齿波产生的流程图 (21)5.5.2 锯齿波程序设计 (21)5.6 键盘程序设计 (22)5.6.1 键盘扫描程序 (22)5.6.2 键盘处理程序设计 (23)5.7 数码管程序设计 (25)设计总结 (25)参考文献 (26)致谢........................................................ 错误!未定义书签。
基于单片机的函数信号发生器谁谁谁(北京农业大学工学院 2007级农业电气化与自动化)摘要:函数(波形)信号发生器能产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波和脉冲波等)信号。
它在军事方面,如航天飞机的飞行控制、卫星陀螺仪的控制以及导弹发射架的起降控制等。
基于单片机的函数信号发生器毕业设计完整版

源程序:ORG 0000HAJM MAINORG 000BHLJMP TC0ORG 0030HMAIN:MOV DPTR,#9FFFH 指向DAC0832(1)MOV A,70HMOVX @DPTR,A DAC0832(1)输出MOV DPTR,#7F00H 指向8155命令字端口地址MOV A,#06H 设置A口为输入,B口、C口为输出MOVX @DPTR,A 送命令字MOV DPTR,#7F01H 指向A口地址MOVX A,@DPTR 读入A口的开关数据JNB ACC.4,K10H 判断是否“4”号键,若是则转输出10Hz信号JNB ACC.5,K100H 判断是否“5”号键,若是则转输出100Hz信号JNB ACC.6,K500H 判断是否“6”号键,若是则转输出500Hz信号JNB ACC.7,K1K 判断是否“7”号键,若是则转输出1KHz信号AJMP MAINLED1:MOV R3,#06H 设置6个LED显示MOV R2,#01H 选通第一位LED数据MOV R1,#30H 送显示缓冲区首址GN1:MOV DPTR,#7F03H 指向C口地址MOV A,R2 位选通数据送AMOVX @DPTR,A 位选通数据送C口RL A 选通下一位MOV R2,A 位选通数据送R2中保存MOV A,@R1 取键值MOV DPTR,#TAB 送LED显示软件译码表首址MOVC A,@A+DPTR 查表求出键值显示的段码MOV DPTR,#7F02H 指向B口地址MOV @DPTR,A 段码送显示LCALL LOOP1 调延时子程序INC R1 指向下一位显示缓冲区地址DJNZ R3,GN1 循环显示6个LEDRETLOOP1:MOV R4,#08H 延时子程序LOOP:MOV R5,#0A0HDJNZ R5,$DJNZ R4,LOOPRETK10H:MOV 30H,#00H 显示10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV TL0,#15HMOV TH0,#9EHAJMP PDK100H:MOV 30H,#00H 显示100HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#01HMOV 34H,#00HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV TL0,#08HMOV TH0,#0F6HAJMP PDK500H:MOV 30H,#00H 显示500HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#05HMOV 34H,#00HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV TL0,#01HMOV TH0,#0FEHAJMP PDK1K:MOV 30H,#00H 显示1KHzMOV 31H,#00HMOV 32H,#01HMOV 33H,#00HMOV 34H,#00HMOV 35H,#00HLCALL LED1 调显示子程序MOV TMOD,#00HMOV TL0,#01HMOV TH0,#0FFHPD:JNB ACC.0,KE0 判断是否“0”号键按下,若是则转方波输出JNB ACC.1,KE1 判断是否“1”号键按下,若是则转正弦方波输出JNB ACC.2,KE2 判断是否“2”号键按下,若是则转三角波输出JNB ACC.3,KE3 判断是否“3”号键按下,若是则转锯齿波输出LJMP PDKE0:MOV R7,#00HLCALL LED1 调显示子程序MOV R6,#00HAJMP GNKE1:MOV R7,#02HLCALL LED1 调显示子程序MOV R6,#00HAJMP GNKE2:MOV R7,#02HLCALL LED1 调显示子程序MOV R6,#00HAJMP GNKE3:MOV R7,#02HLCALL LED1 调显示子程序MOV R6,#00HGN:SETB TR0SETB ET0SETB EALOP1:JNB ACC.4,K10H 判断是否“4”号键,若是则转输出10Hz信号JNB ACC.5,K100H 判断是否“5”号键,若是则转输出100Hz信号JNB ACC.6,K500H 判断是否“6”号键,若是则转输出500Hz信号JNB ACC.7,K1K 判断是否“7”号键,若是则转输出1KHz信号AJMP LOP1TC0:CJNE R7,#00H,TC1 发送方波程序MOV DPTR,#TAB1 送方波数据表首址MOV A,R6 发送数据寄存器MOVC A,@A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX @DPTR,A DAC0832(2)输出MOV A,R6INC ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC1:CJNE R7,#01H,TC2 发送正弦波程序MOV DPTR,#TAB2 送正弦波数据表首址MOV A,R6MOVC A,@A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX @DPTR,A DAC0832(2)输出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC2:CJNE R7,#02H,QL1 发送三角波程序MOV DPTR,#TAB3 送三角波数据表首址MOV A,R6MOVC A,@A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX @DPTR,A DAC0832(2)输出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC3::CJNE R7,#03H,QL1 发送锯齿波程序MOV DPTR,#TAB4 送锯齿波数据表首址MOVC A,@A+DPTRMOV DPTR,#0AFFFH 指向DAC0832(2)MOVX @DPTR,A DAC0832(2)输出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HQL1:RETITAB:DB 0C0H,0F9H,0A4H,0B0H,99H,82H,0F8H,80HTAB1:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HTAB2:DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB 96H,93H,90H,8DH,89H,86H,83H,80HDB 80H,7CH,79H,78H,72H,6FH,6CH,69HDB 66H,63H,60H,5DH,5AH,57H,55H,51HDB 4EH,4CH,48H,45H,43H,40H,3DH,3AHDB 38H,35H,33H,30H,2EH,2BH,29H,27HDB 25H,22H,20H,1EH,1CH,1AH,18H,16HDB 15H,13H,11H,10H,0EH,0DH,0BH,0AHDB 09H,08H,07H,06H,05H,04H,03H,02HDB 02H,01H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,01H,02HDB 02H,03H,04H,05H,06H,07H,08H,09HDB 0AH,0BH,0DH,0EH,10H,11H,13H,15HDB 16H,18H,1AH,1CH,1EH,20H,22H,25HDB 27H,29H,2BH,2EH,30H,33H,35H,38HDB 3AH,3DH,40H,43H,45H,48H,4CH,4EHDB 51H,55H,57H,5AH,5DH,60H,63H,66HDB 69H,6CH,6FH,72H,76H,79H,7CH,80H TAB3:DB 00H,02H,04H,06H,08H,0AH,0CH,0EHDB 10H,12H,14H,16H,18H,1AH,1CH,1EHDB 20H,22H,24H,26H,28H,2AH,2CH,2EHDB 30H,32H,34H,36H,38H,3AH,3CH,3EHDB 40H,42H,44H,46H,48H,4AH,4CH,4EHDB 50H,52H,54H,56H,58H,5AH,5CH,5EHDB 60H,62H,64H,66H,68H,6AH,6CH,6EHDB 70H,72H,74H,76H,78H,7AH,7CH,7EHDB 80H,82H,84H,86H,88H,8AH,8CH,8EHDB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ACH,0AEHDB 0B0H,0B2H,0B4H,0B6H,0B8H,0BAH,0BCH,0BEHDB 0C0H,0C2H,0C4H,0C6H,0C8H,0CAH,0CCH,0CEHDB 0D0H,0D2H,0D4H,0D6H,0D8H,0DAH,0DCH,0DEHDB 0E0H,0E2H,0E4H,0E6H,0E8H,0EAH,0ECH,0EEHDB 0F0H,0F2H,0F4H,0F6H,0F8H,0FAH,0FCH,0FEHDB 0FFH,0FEH,0FCH,0FAH,0F8H,0F6H,0F4H,0F2HDB 0F0H,0EEH,0ECH,0EAH,0E8H,0E6H,0E4H,0E2HDB 0E0H,0DEH,0DCH,0DAH,0D8H,0D6H,0D4H,0D2HDB 0D0H,0CEH,0CCH,0CAH,0C8H,0C6H,0C4H,0C2HDB 0C0H,0BEH,0BCH,0BAH,0B8H,0B6H,0B4H,0B2HDB 0B0H,0AEH,0ACH,0AAH,0A8H,0A6H,0A4H,0A2HDB 0A0H,09EH,9CH,9AH,98H,96H,94H,92HDB 90H,8EH,8CH,8AH,88H,86H,84H,82HDB 80H,7EH,7CH,7AH,78H,76H,74H,72HDB 70H,6EH,6CH,6AH,68H,66H,64H,62HDB 60H,5EH,5CH,5AH,58H,56H,54H,52HDB 50H,4EH,4CH,4AH,48H,46H,44H,42HDB 40H,3EH,3CH,3AH,38H,36H,34H,32HDB 30H,2EH,2CH,2AH,28H,26H,24H,22HDB 20H,1EH,1CH,1AH,18H,16H,14H,12HDB 10H,0EH,0CH,0AH,08H,06H,04H,02HTAB4:DB 00H,01H,02H,03H,04H,05H,06H,07HDB 08H,09H,0AH,0BH,0CH,0DH,0EH,0FHDB 10H,11H,12H,13H,14H,15H,16H,17HDB 18H,19H,1AH,1BH,1CH,1DH,1EH,1FHDB 20H,21H,22H,23H,24H,25H,26H,27HDB 28H,29H,2AH,2BH,2CH,2DH,2EH,2FHDB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,3AH,3BH,3CH,3DH,3EH,3FHDB 40H,41H,42H,43H,44H,45H,46H,47HDB 48H,49H,4AH,4BH,4CH,4DH,4EH,4FHDB 50H,51H,52H,53H,54H,55H,56H,57HDB 58H,59H,5AH,5BH,5CH,5DH,5EH,5FHDB 60H,61H,62H,63H,64H,65H,66H,67HDB 68H,69H,6AH,6BH,6CH,6DH,6EH,6FHDB 70H,71H,72H,73H,74H,75H,76H,77HDB 78H,79H,7AH,7BH,7CH,7DH,7EH,7FHDB 80H,81H,82H,83H,84H,85H,86H,87HDB 88H,89H,8AH,8BH,8CH,8DH,8EH,8FHDB 90H,91H,92H,93H,94H,95H,96H,97HDB 98H,99H,9AH,9BH,9CH,9DH,9EH,9FHDB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H,0A7HDB 0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFHDB 0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7HDB 0B8H,0B9H,0BAH,0BBH,0BCH,0BDH,0BEH,0BFHDB 0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7HDB 0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFHDB 0D0H,0D1H,0D2H,0D3H,0D4H,0D5H,0D6H,0D7HDB 0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0DFHDB 0E0H,0E1H,0E2H,0E3H,0E4H,0E5H,0E6H,0E7HDB 0E8H,0E9H,0EAH,0EBH,0ECH,0EDH,0EEH,0EFHDB 0F0H,0F1H,0F2H,0F3H,0F4H,0F5H,0F6H,0F7HDB 0F8H,0F9H,0FAH,0FBH,0FCH,0FDH,0FEH,0FFH END。
毕业设计--基于AT89S51单片机的数字信号发生器

基于AT89S51单片机的数字信号发生器【摘要】智能仪器的出现,极大地扩充了传统仪器的应用范围。
智能仪器凭借其体积小、功能强、功耗低等优势,迅速地在家用电器、科研单位和工业企业中得到了广泛的应用。
本系统是基于AT89S51单片机设计的数字式波形发生器。
采用AT89S51作为系统的控制核心,外围电路采用数字/模拟转换电路(DAC0832),运放电路(MC1458),按键,ISP接口等。
通过按键控制切换产生正弦波,锯齿波,三角波,方波,各类型信号的频率统一为100HZ,而幅值在-5V~+5V范围内可调。
本设计电路原理简单,性能较好,具有一定的实用性和参考价值。
【关键词】单片机 ,波形发生器,D/A电路DIGITAL SIGNAL GENERATOR DESIGN BASED ON AT89S51【ABSTRACT】The emergence of intelligent machines, which greatly expanded the scope of application of traditional instruments. Intelligent instrument, with its small size, powerful, low-power advantages of home appliances quickly, research institutes and industrial enterprises has been widely used.The system is a digital waveform generator based on single chip computer. AT89S51 is used as a control core. The system is composed by digital/analog conversion (DAC0832),imply circuit (MC1458),button ISP inferface and LED lights. It can generate square triangle and sine wave,with LED display .The frequency of various types of signal unity of 100HZ, but the amplitude in the-5V ~ +5 V range adjustable. The circuit design is simple, better performance, has some practical and reference value.【KEY WORDS】the single chip computer , the signal generator , D/A conversion目录绪论 (9)1. 波形发生器现状 (9)2. 单片机在波形发生器中的运用 (9)第一章系统设计 (10)1. 系统要求 (11)2. 系统方案选择与论证 (11)3. 系统设计原理与思路 (11)第二章硬件电路的设计 (12)1. AT89S51的介绍 (12)2. 资源分配 (15)3. 最小单片机系统的设计 (15)4. 各模块电路的设计 (17)5. ISP接口 (23)第三章软件设计 (24)1. 主程序的设计 (25)2. 锯齿波程序的设计 (25)3. 三角波程序的设计 (26)4. 正弦波程序的设计 (27)5. 方波程序的设计 (28)第四章测试仿真 (29)1. 软件仿真 (29)2. 仿真结论分析 (30)3. 硬件测试结论分析 (31)绪论1.波形发生器现状波形发生器作为一种常用的应用电子仪器设备,传统的波形发生器可以完全用硬件电路搭建,如应用555振荡电路可以产生正弦波,三角波,方波等波形,传统的波形发生器多采用这种方式设计,这种方式不应用单片机,但是这种方式存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点,在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟震动等领域往往需要低频信号源,而由硬件搭建的波形发生器效果往往达不到好的效果,而且低频信号源所需要的RC很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。
基于单片机的函数信号发生器课程设计(毕业设计)完整版.

综合实验课程报告课题名称基于单片机的函数信号发生器摘要本文介绍一种用AT89C51单片机构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。
文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。
关键词:单片机;DAC ;信号发生器目录摘要 ............................................................... 目录 ...............................................................第一章绪论 ..........................................................1.1单片机概述 ......................................................1.2信号发生器的分类 ................................................1.3研究内容 ........................................................第二章方案的设计与选择 ..............................................2.1方案的比较 ......................................................2.2设计原理 ........................................................2.3设计思想 ........................................................2.4设计功能 ........................................................第三章硬件设计 ......................................................3.1硬件原理框图 ....................................................3.2主控电路 ........................................................3.3数、模转换电路 ..................................................3.4按键接口电路 ....................................................3.5时钟电路 ........................................................3.6显示电路 ........................................................第四章软件设计 ......................................................4.1程序流程图 ......................................................第五章总结与展望 .................................................... 致谢 ............................................................... 参考文献 ............................................................. 附录1电路原理图 ..................................................... 附录2 源程序 . ........................................................ 附录 3 器件清单......................................................第一章绪论1.1单片机概述随着大规模集成电路技术的发展,中央处理器(CPU、随机存取存储器(RAM、只读存储器(ROM、(I/O接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。
基于单片机的函数信号发生器毕业设计完整版

基于单片机的函数信号发生器毕业设计完整版本毕业设计旨在设计一个基于单片机的函数信号发生器,以满足工程实践需求。
设计的信号发生器将具有以下特点:能够输出多种波形、具备可调频率和幅度的功能、具备稳定性和高精度等。
首先,信号发生器的硬件设计包括信号源、滤波电路、放大电路和输出电路。
信号源负责产生基本的信号波形,可以通过设置单片机的IO口电平高低来控制信号的波形。
滤波电路和放大电路主要负责对信号进行滤波和放大处理,以确保输出的波形质量和幅度稳定性。
输出电路则是将放大后的信号输出到外部设备上。
其次,信号发生器的软件设计主要是通过编程控制单片机的IO口来实现波形的生成和调节。
编程方面,可以使用C语言或者汇编语言来编写程序,实现波形的输出、频率和幅度的调节等功能。
在程序的运行过程中,需要通过控制IO口电平的高低来控制信号的形状。
同时,可以使用按键或旋钮等外部输入设备来实现对频率和幅度的调节,以满足用户的实际需求。
最后,在设计的过程中需要注意信号发生器的稳定性和精度。
稳定性主要包括信号的频率稳定性和幅度稳定性。
频率稳定性可以通过使用高精度的时钟源和精确的频率分频电路来实现。
幅度稳定性可以通过使用高精度的放大电路和自动增益控制电路来实现。
精度方面,则可以通过使用高精度的模拟数字转换芯片和时钟源来实现。
总的来说,基于单片机的函数信号发生器在工程实践中具有重要意义。
本设计旨在结合硬件和软件技术,实现一个功能完善、稳定性好、精度高的信号发生器。
通过合理的设计和优化,该信号发生器能够满足工程实践的需求,为相关领域的研究提供信号源支持。
基于单片机的函数信号发生器设计

基于单片机的函数信号发生器设计引言函数信号发生器是一种能够产生各种类型的电信号的仪器。
在电子学、通信工程等领域,函数信号发生器被广泛应用于信号测试、频率测量、波形生成等实验和工程应用中。
本文将介绍一种基于单片机的函数信号发生器设计方案。
一、设计目标本设计的目标是实现一个功能齐全、稳定可靠的函数信号发生器。
主要功能包括产生常见的波形,如正弦波、方波、三角波等;能够调节频率和幅度,以满足不同的实验需求;具备稳定性好、误差小等特点。
二、硬件设计1.单片机选择单片机作为该设计的核心,需要选择性能稳定、功能强大的型号。
常用的单片机型号有AT89C51、ATmega328P等。
选择单片机时,需要考虑到其定时器、ADC等外设功能是否满足要求,以及是否能够方便地编程和调试。
2.信号输出电路设计信号输出电路是函数信号发生器的重要组成部分。
一种常见的设计方案是使用DAC芯片将数字信号转换为模拟信号输出。
选择合适的DAC芯片时,需要考虑其分辨率、采样率、失真度等参数,以及是否支持SPI或I2C等通信接口。
除此之外,还需要考虑输出电路的放大和滤波设计,以确保信号质量。
3.控制电路设计函数信号发生器需要能够通过按键或旋钮控制参数,如频率、幅度等。
因此,设计中需要考虑如何选择合适的控制器件,如按钮开关、数码旋钮或触摸屏等,并设计相应的电路以实现参数调节功能。
4.电源设计函数信号发生器需要一个稳定可靠的电源供电。
一种常见的选择是使用交流电源适配器提供稳定的直流电源。
此外,还需要考虑到功耗问题,选择适当的电源容量以满足整个系统的工作需求。
三、软件设计1.程序框架设计函数信号发生器的软件设计需要考虑到以下几个方面:初始化、参数设置、波形生成和输出等。
程序的框架设计可以遵循一般的流程,如初始化硬件、获取用户输入、生成波形、输出信号等。
2.参数设置功能函数信号发生器需要具备参数设置功能,用户可以通过按键或旋钮调节频率、幅度等参数。
因此,在软件设计中需要考虑到相应的数值输入和显示界面设计。
基于单片机函数信号发生器的设计

基于单片机函数信号发生器的设计摘要:本文设计的函数发生器采用STC89C51 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和LED显示灯电路等。
电路采用AT89S51单片机和一片DAC0832数模转换器组成数字式低频信号发生器。
通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用LED 显示灯指示对应的波形。
所产生的波形幅度在一定范围内可调,波形准确并且平滑。
本文设计的函数信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。
由于采用了LM324运算放大器,使其电路更加具有较高的稳定性能,性能比高。
此电路清晰,出现故障容易查找错误,操作简单、方便。
关键词:单片机;信号发生器;运放器Signal generator established on The MCU function designAbstract:Function generator of this design uses STC89C51 microcontroller as the control core, the external D/A conversion circuit (DAC0832), op amp circuit (LM324), keyboard and LED display circuit etc.. The circuit uses AT89S51 microcontroller and a DAC0832 DAC digital low frequency signal generator. Through the button control can produce Fang Bo, sawtooth wave, triangle wave, sine wave, with LED display the corresponding waveform. The wave amplitude generated can be adjusted in a certain range, accurate and smooth waveform.Function signal generator is designed in this paper, it has the characteristics of low price, high performance and low frequency range, good stability, convenient operation, small size, less power consumption etc.. Due to the adoption of the LM324 operational amplifier, the circuit stability has more high, high performance. This circuit is clear, the fault is easy to find the error, simple operation, convenient.Keywords: Single chip microcomputer;Signal generator;Operational amplifier目录第一章绪论 (1)1.1单片机概述 (1)1.2课题研究的社会实用意义及应用领域 (1)1.3 研究内容 (1)第二章单元电路的设计 (2)2.1系统设计 (2)2.1.1系统方案的比较 (2)2.1.2芯片选择模块 (2)2.2单片机模块及电源模块的设计 (3)2.2.1单片机模块 (3)2.3D/A转换模块 (3)2.4显示模块的设计 (5)第三章硬件电路的设计 (6)3.1系统框图 (6)3.2资源分配 (6)3.3最小单片机系统设计 (6)3.3.1STC89C51的引脚图 (7)3.3.2管脚说明 (8)3.3.3STC89C51的晶振及其连接方法 (10)3.3.4STC89C51的复位 (11)3.3.5芯片擦除 (11)3.4各部分电路原理 (12)3.4.1DAC0832芯片原理 (12)3.4.2LM324工作原理 (14)第四章软件设计 (15)4.1主程序流程图 (15)4.2方波程序流程图 (16)4.3三角波程序流程图 (17)4.4锯齿波程序流程图 (17)4.5 正弦波程序流程图 (18)第五章系统测试及结论 (19)5.1产生各种波形电压输出范围及频率如下: (19)5.2示波器测试的波形 (19)5.3设计与实验中应注意的问题及解决问题的措施 (20)5.3.1安装与调试 (20)5.3.2遇到的问题与解决 (20)第六章结论与心得 (22)参考文献 (23)附录1 硬件电路元件装配图 (24)附录2 模拟组装和PC板连接线图 (25)附录3 波形发生器程序 (25)第一章绪论1.1单片机概述伴随着信息技术及集成电路技术的大规模快速发展,所谓单片机就是指“CPU即中央处理器、RAM即随机存取存储器、ROM只读存储器、(I/O)即输入输出接口、定时器/计数器,串行通信接口”,和其余一些关于计算机外部电路即外围等都可以聚集在相同的一块芯片上,从而组成了单片微型计算机”[1]。
基于单片机的函数信号发生器的设计

基于单片机的函数信号发生器的设计摘要本课题是采用低成本的MCS-51系列单片机构成具有高可靠性的函数信号发生器的应用设计。
本设计通过单片机运算产生二进制控制信号去控制AD9850进而实现函数波形的产生。
基于单片机的函数信号发生器抗干扰性强、功耗低、成本低、易实现,具有很高的实用价值。
本系统以51单片机为控制核心,由电源模块、单片机AT89S52最小系统模块、中断键盘模块、函数信号发生模块、MAX7219显示模块组成。
采用中断键盘扫描方式计算所需频率,用数控的方法控制DDS芯片AD9850产生100Hz-40MHz正弦信号,100Hz-5MHz方波信号,波形输出较稳定,且精度较高。
采用MAX7219驱动两个四位一体的八段LED数码管,显示出当前波形的频率。
系统用C语言编写模块化程序,增强可读性,便于AT89S52对各模块的控制,实现各功能的设置。
关键词:单片机、直接数字频率合成(DDS)、 AD9850 、函数信号、正弦波、方波MCU-based Function Signal Generator DesignABSTRACTThis issue is low-cost microcontroller MCS-51 family of highly reliable functions constitute a signal generator applications. This design generates a binary control signal MCU operation to control the AD9850 to realize the function of waveform generation. Function Generator based on single chip and strong anti-interference, low power consumption, low cost, easy to implement, has high practical value.The system control microcontroller core 51 by the power supply module, MCU AT89S52 minimum system module, the keyboard interrupt module, function signal generator module, MAX7219 display module. Calculated by scanning the keyboard interrupt the required frequency, using numerical methods to control DDS chip AD9850 produced 100Hz-40MHz sinusoidal signal, 100Hz-5MHz square wave signal, the waveform output is stable and high precision. Use of MAX7219 drives four in one of eight out of two LED digital tube, showing the frequency of the current waveform. Modular system with C language programs to enhance readability, ease of AT89S52 on the module controlRealize the function of setting.Key words:Singlechip Direct Digital Synthesizer(DDS)AD9850Function Signal Sine wave Square Wave目录摘要 (I)ABSTRACT ................................................. I I 1 绪论 (1)1.1 设计背景 (1)1.2 设计目的 (2)1.3 设计意义 (2)2 课题设计相关理论知识 (3)2.1 DDS的系统简介 (3)2.1.1 DDS的基本原理 (3)2.1.2 DDS的性能特点 (3)2.2 AD9850简介 (4)2.2.1 AD9850功能概述 (4)2.2.2 AD9850的引脚功能 (5)2.2.3 AD9850工作原理 (5)2.2.4 AD9850应用与设计 (6)3 系统的总体设计 (8)3.1 方案论证 (8)3.2 设计原理框图 (8)4 系统硬件设计 (9)4.1 电源电路 (9)4.2 AT89S52单片机最小系统 (9)4.2.1 AT89S52的资源参数 (9)4.2.2 最小系统与I/O连接情况 (10)4.3 中断键盘设计电路 (11)4.4 MAX7219显示电路 (12)4.5 AD9850函数信号发生模块 (13)4.5.1 AD9850模块主电路 (13)4.5.2 AD9850模块时钟电路 (14)4.5.3 AD9850模块输入输出口定义 (15)4.6 AT89S52单片机ISP下载线 (15)4.6.1 ISP简介 (15)4.6.2 AT89S52单片机ISP下载线原理 (16)4.6.3 电脑并口DB25引脚定义说明 (17)4.7 小结 (17)5 系统软件设计 (18)5.1 单片机MCS-51系列简介 (18)5.2 MAX7219模块驱动程序 (18)5.2.1 初始化程序 (20)5.2.2 送显子程序 (21)5.2.3 数据传送程序 (22)5.3 AD9850的驱动程序设计 (23)5.3.1 初始化程序 (23)5.3.2 写控制字子程序 (24)5.4 主函数程序设计 (26)5.4.1 中断INT0服务函数 (26)5.4.2 主函数 (27)5.5 Keil C51介绍 (29)5.6 ISPlay v1.5介绍 (30)5.7 小结 (31)6 系统调试与分析 (33)6.1 硬件调试 (33)6.2 软件调试 (34)6.3 系统调试 (37)6.3.1 独立按键与显示测试 (37)6.3.2 波形测试 (38)6.3.3 与开题要求对比 (40)6.4 小结 (41)参考文献 (42)附录 1 (43)附录 2 (50)附录 3 (51)附录 4 (52)谢辞 (54)基准时钟 相位累加器 相位/幅度变换 D/A 变换 低通滤波 比较器1 绪论1.1 研究背景近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统函数信号发生器日新月益更新。
毕业设计--基于单片机的信号发生器

可修改可编辑设计(论文)题目基于单片机的信号发生器摘要信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。
函数信号发生器在电路实验和设备检测中具有十分广泛的用途。
例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。
在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
本文利用AT89C51单片机作为控制核心来设计信号发生器,通过程序设计的方法产生正弦波、方波、三角波,并在Protues电子设计平台上对此方案进行了仿真,得到与理论相应的波形。
通过D/A转换器将数字信号转换成模拟信号,最终由示波器显示出来。
通过按键来控制这几种波形的类型选择,而且可控制频率的变化,在一定范围内波形的幅度和频率可任意改变。
本次设计消除了传统信号发生器存在元器件分散性造成波形失真的缺陷,并且其设计简单,价格低廉,产生的波形稳定,可用于多种需要低频信号源的场合,实用性强。
【关键词】信号发生器 D/A转换 AT89C51 频率幅度AbstractSignal generator is also known as signal source or oscillator, in the production practice and technology is widely used in the field of. Each kind of wave may use the trigonometric function equation. Can produce a variety of waveforms, such as the triangle wave, sawtooth wave, rectangular wave (including square wave ), sine wave circuit is called the function signal generator. Function signal generator in electric circuit experiment and the equipment examination has a very wide range of uses. For example, in communication, broadcasting, television system, needs the radio frequency ( HF) emission, the radio wave is the carrier, the audio frequency ( low frequency ), the video signal or pulse signal to carry out, will need to be able to produce the high frequency oscillator. In industry, agriculture, biomedical and other fields, such as high-frequency induction heating, smelting, quenching, ultrasound, magnetic resonance imaging, required power big or small, or high or low frequency oscillator.This paper design a signal generator, and AT89C51 is used as a control microcontroller core, It can generate sine wave, square wave, triangle wave through the method of program design , and the simulation by the computer soft ware Proteus is been done , and those results consistent with the theory.converting a digital signal into an analog signal through the D/A converter ,and ultimately displayed by the oscilloscope. Through the button to control the options of waveform types and can change frequency ,amplitude and frequency of the waveform can be arbitrarily changed within a certain range. The design eliminates the defect of waveform distortion which produced by the dispersion of the components which exist in the traditional signal generator. Its design is simple,inexpensive,stable and can be used in a variety of occasions that require low frequency signal source,it has practical value.【keywords】Signal Generator D / A converter AT89C51 Frequency Margin目录第一章绪论 (4)1.1课题研究的动态和意义 (4)1.2单片机概述 (4)1.3信号发射器分类 (4)1.4设计任务和要求 (4)第二章方案的设计与选择 (5)2.1方案的比较 (5)2.2设计原理 (5)2.3设计功能 (6)第三章主要电路元器件介绍 (6)3.1AT89C51单片机简介 (6)3.2DAC0832简介 (8)第四章硬件实现和单元电路设计 (9)4.1硬件原理框图 (9)4.2复位电路 (10)4.3D/A转换电路 (11)4.4按键接口电路 (12)4.5时钟模块设计 (12)4.6显示模块设计 (13)第五章软件设计 (14)5.1程序流程图 (14)5.2初始化程序 (15)5.3键扫描程序 (16)5.4波形产生程序 (16)5.5波形仿真 (17)第六章安装调试和问题解决 (21)6.1调试过程 (21)6.2出现问题与解决方法 (22)实验总结 (22)致谢 (23)参考文献 (23)附录1 电路原理图 (23)附录2 源程序 (24)第一章绪论1.1课题研究的动态和意义信号发生器也被称为函数发生器,主要作为试验用的信号源,是现金各种电子电路实验设计中不可或缺的仪器设备之一。
毕业设计(论文)-基于单片机的信号发生器设计

毕业设计(论文)中文摘要(题目):基于单片机的信号发生器设计摘要:此函数信号发生器是基于单片机AT89C51设计而成的,能够产生频率范围在0Hz—535Hz的锯齿波、正弦波、三角波、矩形波四种波形,并且能够通过液晶屏1602显示各自的波形类型以及频率数值。
首先,单片机AT89C51经过程序设计的方法生成各种数字信号,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大。
接着,通过按键来控制四种波形的类型选择、和频率数值选择,并由液晶屏1602显示其频率数值和波形类型。
总的系统包括信号发生部分、数/模转换部分以及液晶显示部分三大部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。
关键词:AT89C51DAC0832 液晶屏1602Title :Abstract:This function signal generator is based on the AT89C51 microcontroller design, capable of generating frequency range 0Hz-535Hz sawtooth, sine, triangle wave, square wave, four types of waveforms, and each type of waveform and frequency can be displayed by the LCD screen 1602value. First, AT89C51 microcontroller programming method to generate a variety of digital signal through the D / A converter DAC0832 converts the digital signal into an analog signal, filtered and amplified. Then, the key to control the four waveform type selection, and frequency selection of values, the value of its frequency and waveform type is displayed by the LCD screen 1602. The total system including a signal generating part of the digital / analog converting section and a liquid crystal display section of three parts, wherein in particular for the digital / analog conversion part and the waveform generating and changing part discusses in detail.keywords: AT89C51 DAC0832 LCD in screen 1602目录1 引言 (1)1.1研究背景 (1)1.2 国内外的研究现状和发展趋势 (2)2 设计要求 (2)3 设计总体方案 (2)4 硬件电路实现 (4)4.1 单片机最小系统的设计 (4)4.1.1 时钟电路 (5)4.1.2 复位电路 (5)4.2 D/A转换电路 (6)4.3 放大滤波电路 (9)4.4 键盘模块的设计 (10)4.5 显示模块的设计 (11)5 软件程序设计 (12)6 测试仪器及测试说明 (14)结论 (14)致谢 (14)参考文献 (15)附录A (16)附录B (17)1 引言信号发生器是一种常用信号源。
基于单片机的函数信号发生器设计

基于单片机的函数信号发生器设计
近年来,随着科学技术的飞速发展,计算机的硬件设备和软件程序的逐步完善,信号发生器具有许多优点,如低成本、可靠性高、灵活性强等优点,已经被广泛应用于计算机技术和各种测量仪器中。
而基于单片机的函数信号发生器,则更具有可编程性能和更低的成本优势,深受广大科学家的青睐。
本文的目的是设计一种基于单片机的函数信号发生器,该发生器由一个单片机、一个发射机、一个接收机和一个调制解调组成,以及一个显示器来显示接收的信号。
首先,运用单片机作为控制器,将其与发射机连接,再将各种函数信号(如正弦波、方波、余弦波等)调制到发射机输出端,让发射机发射出各种函数信号。
接着,在接收机方面,我们使用一个调制解调器,接收机接收到发射机发出的函数信号后,将信号解调,重新调制成我们想要的函数信号,然后使用显示器来显示函数信号的波形,以便观察。
最后,在硬件的设计上,我们使用单片机作为控制器,发射机和接收机可以分别使用多种射频技术(如射频调制、无线电调制、数字调制等),发射机的输出功率可以通过改变电容电阻和其它技术来微调,以符合接收机所能处理的范围。
此外,显示器可以采用液晶显示屏,以显示函数信号的波形。
经过上述一系列设计,我们就可以构建一个可用于测量和发射函数信号的发生器,它具有低成本、可编程性高的优点,为科学研究提供了一种有效的发射和测量工具。
因此,我们可以简单总结:本文研究了一种基于单片机的函数信号发生器,它利用发射机发射不同函数信号,使用接收机接收并解调,然后将函数信号显示出来,最终利用发射机和接收机实现了函数信号的发射和接收,实现了低成本、可编程性高、灵活性强、可靠性高的性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图2.1所示。
2.4 设计功能
(1)本方案利用8155扩展8个独立式按键,6个LED显示器。其中“S0”号键代表方波输出,“S1”号键代表正弦波输出,“S2”号键代表三角波输出,“S3” 号键代表锯齿波输出。
(2)“S4”号键为10Hz的频率信号,“S5”号键为100Hz的频率信号,“S6”号键为500Hz的频率信号,“S7”号键为1KHz的频率信号,6个LED显示器输出信号的频率值,选用共阳极LED。
(2)将一个周期的信号分离成256个点(按X轴等分),每两点之间的时间间隔为 T,用单片机的定时器产生,其表示式为: T=T/256。
如果单片机的晶振为12MHz,采用定时器方式0,则定时器的初值为:
X=213— T/Tmec(2.1)
定时时间常数为:
TL=(8192— T)/MOD256(2.2)
图3.5时钟电路
3.6 显示电路
显示电路是用来显示波形信号的频率,使得整个系统更加合理,从经济的角度出发,所以显示器件采用LED数码管显示器。而且LED数码管是采用共阳极接法,当主控端口输出一个低电平后,与其相对应的数码管即变亮,显示所需数据。其器件模型如图3.6所示。
图3.6LED显示电路
第四章软件设计
中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器/计数器溢出时产生的中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形[6]。
4.1 程序流程图
本文中子程序的调用是通过按键的选择来实现,在取得按键相应的键值后,启动计时器和相应的中断服务程序,再直接查询程序中预先设置的数据值,通过转换输出相应的电压,从而形成所需的各种波形。
主程序的流程图如图4.1所示,在程序开始运行之后,首先是对8155进行初始化,之后判断信号频率值,如符合所需的频率,则重置时间常数,并通过显示器显示出来,不符则返回。在中断结束后,还要来判断波形是否符合,如符合,则显示其频率,不符则返回,重新判断。
(3)利用两片DAC0832实现幅度可调的信号源,(其中一片用来调节幅度,另外一片用来实现信号源的输出)。
(4)频率范围:10~1000Hz。
(5)输出波形幅度为0~5V。
第三章硬件设计
3.1 硬件原理框图
硬件原理方框图如图3.1所示。
图3.1硬件原理框图
3.2 主控电路
AT89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。
电子与信息工程学院
综合实验课程报告
课题名称基于单片机的函数信号发生器
专 业电子信息工程
班 级07电子1班
学生姓名
学 号
指导教师宋杨老师
2010年 7月 5 日
摘
本文介绍一种用AT89C51单片机构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。
图3.4按键接口
3.5 时钟电路
8051单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路,其电路图如图3.5所示。
电容C1、C2对振荡频率有稳定作用,其容量的选择为30pf,振荡器选择频率为12MHz的石英晶体。由于频率较大时,三角波、正弦波、锯齿波中每一点的延时时间为几微秒,故延时时间还要加上指令时间才能获得较大的频率波形[9]。
图3.2主控电路图
3.3 数/模转换电路
由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
1.2信号发生器的分类
信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。按照频率范围分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。
图2.1信号发生器原理框图
89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号经过接口电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
2.3 设计思想
(1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的频率和幅度可变。
由图3.3可知,DAC0832的片选地址为7FFFH,当P25有效时,若P0口向其送的数据为00H, 则U1的输出电压为0V;若P0口向其送的数据为0FFH时, 则U1的输出电压为-5V. 故当U1输出电压为0V时,由公式得:Vout= - 5V.当输出电压为- 5V时,可得:Vout= +5V,所以输出波形的电压变化范围为- 5V~+ 5V. 故可推得,当P0所送数据为80H时,Vout为0V[4]。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在好几个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,பைடு நூலகம்且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。
鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。
第二章
2.1 方案的比较
方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
TH=(8192 T)/256 (2.3)
MOD32表示除32取余数
(3)正弦波的模拟信号是D/A转换器的模拟量输出,其计算公式为:
Y=(A/2sin t)+A/2(其中A=VREF)(2.4)
t=N T (N=1~256) (2.5)
那么对应着存放在计算机里的这一点的数据为:
(2.6)(4)一个周期被分离成256个点,对应的四种波形的256个数据存放在以TAB1--TAB4为起始地址的存储器中。
图4.1主程序流程图
图4.2为各波形子程序的流程图。如图所示,在中断服务子程序开始后,通过判断来确定各种波形的输出,当判断选择的不是方波后,则转向对正弦波的判断,如此反复。如果选择的是方波,则用查表的方法求出相应的数据,并通过D/A转换
器将数据转换成模拟信号,形成所需波形信号。
图4.2子程序流程图
图3.3数模转换电路
3.4 按键接口电路
图3.4为键盘接口电路的原理图,图中键盘和8155的PA口相连,AT89C51的P0口和8155的D0口相连,AT89C51不断的扫描键盘,看是否有键按下,如有,则根据相应按键作出反应。其中“S0”号键代表方波输出,“S1”号键代表正弦波输出,“S2”号键代表三角波输出。 “S3”号键代表锯齿波输出,“S4”号键为10Hz的频率信号,“S5”号键为100Hz的频率信号,“S6”号键为500Hz的频率信号,“S7”号键为1KHz的频率信号[3]。