基于51单片机函数信号发生器设计_51单片机信号发生器
基于51单片机函数信号发生器设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“51单片机信号发生器”。
湘南学院
电子工程设计
题 目: 基于51单片机的函数信号发生器设计
学院(系): 电子信息与电气工程学院 年级专业: 2013级电子信息科学与技术 学 号: 201314110144,201314110106 学生姓名: 周 慧 程迅 指导教师: 王 龙
2016年 4 月 1 日
课程设计任务书
学生姓名:程迅 周慧
专业班级:电子信息科学与技术
(一)班 指导教师:王 龙 工作单位:电子信息与电气工程学院
题 目:
基于51单片机的函数信号发生器的设计 初始条件:
1.运用所学的单片机原理与接口技术知识和数字电路知识; 2.51单片机最小系统; 3.PC机及相关应用软件。
要求完成的主要任务: 系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。
1.完成函数信号发生器的设计和调试。
2.撰写课程设计说明书,说明书使用A4打印纸计算机打印,用proteus等仿真软件绘制电子线路图纸。
基于51单片机的函数信号发生器的设计
摘 要
本系统利用单片机STC89C52采用程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产0Hz—535Hz的波形。通过按键来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。
关键词:单片机STC89C52、DAC0832、液晶1602
目录
前言..........................................................................1 第一章 系统设计要求及设计方案..................................................2
1.1 设计要求.................................................................2 1.2 方案设计与论证...........................................................2 1.2.1 信号发生电路方案论证...............................................2 1.2.2 单片机的选择论证..................................................2 1.2.3 显示方案论证.....................................................3 1.2.4 键盘方案论证......................................................3 1.3 系统主要功能.............................................................3 第二章 系统的硬件设计..........................................................4 2.1 总体系统设计.............................................................4 2.2 硬件实现及单元电路设计...................................................4 2.2.1 振荡电路..........................................................4 2.2.2 复位电路设计.....................................................5 2.2.3 波形产生模块设计..................................................6 2.2.4显示模块的设计.....................................................7 2.2.5 键盘显示模块的设计.................................................7 2.3 软件设计流程.............................................................8 第三章 proteus的简介..........................................................9 3.1 proteus介绍.............................................................9 3.1.1 keil调试.........................................................10 3.1.2 proteus仿真调试..................................................10 3.2 测试过程................................................................11 附录一:总电路图..............................................................12 附录二:部分程序..............................................................12
前言
信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制系统和教学实验等领域。信号的产生有模拟电路、专用硬件和软件产生等方法。采用模拟电路搭建函数信号发生器,可产生方波、三角波、正弦波、锯齿波,但不能产生任意波形,存在波形质量差、控制难、可调范围小,电路复杂和体积大等缺点,且频率调节不方便。专用硬件方法产生的信号频率分辨率高、稳定性好、在线调整方便,如目前在通讯系统中应 用广泛的直接数字频率合成(DDS)技术,例如 AD9854是一种典型的信号产生方法,但是价格昂贵。
利用单片机通过程序设计方法产生低频信号,其频率底线较低,具有线路简单、结构紧凑、体积小、价格低廉、频率稳定度高、抗干扰能力强、用途广泛等优点,且如需要产生新的波形时,只需对程序进行修改即可。该系统利用单片机STC89C52和D /A 转换器DAC0832 转换数字信号为 0 ~ 5 V 模拟电压信号,并在 LCD1602 显示,通过示波器就能得知产生的信号波形。
第一章 系统设计要求及设计方案
1.1 设计要求
1)、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过按键选择输出 3)、波形频率可调 4)、需显示波形的频率
1.2 方案设计与论证 1.2.1 信号发生电路方案论证
方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低。
方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。
方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成本高,程序复杂度高。
以上三种方案综合考虑,选择方案一。
1.2.2 单片机的选择论证
方案一:STC89C52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。
方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵。
以上两种方案综合考虑,选择方案一
1.2.3 显示方案论证
方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16s时人眼感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,但要显示内容多,而且数码管不能显示字母。
方案二:采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。
以上两种方案综合考虑,选择方案二。
1.2.4 键盘方案论证
方案一:矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。当某一个键闭合时,该键所对应的行线和列线被短路。
方案二:独立点触按键。点触按键体积小,安装方便,成本低。以上两种方案综合考虑,选择方案二。
1.3 系统主要功能
经过考虑,我们确定方案如下:利用STC89C52单片机采用程序设计方法产生锯齿波、正弦波、矩形波锯齿波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过按键来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
第二章 系统的硬件设计
2.1 总体系统设计
该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下
图2.1为系统的总体框图
图2.1 总体方框图
2.2 硬件实现及单元电路设计
2.2.1 振荡电路
单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产(电容和一般取30pF)。这样就构成一个稳定的自激振荡器。
生ALE信号,此时得到的信号时机器周期信号。
振荡电路如图2.2.1所示:
图2.2.1 振荡电路
2.2.2 复位电路设计
复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位电路图如图2.2.2所示。
图2.2.2 复位电路
2.2.3 波形产生模块设计
由单片机采用编程方法产生四种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。
其电路图如下图2.2.3(1):
图2.2.3(1)波形产生电路
如上图2.2.3(1)所示,单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。DAC0832的为八位数据并行输入的,其结构图如下图2.2.3(2):
图2.2.3(2)DAC0832的内部结构
2.2.4显示模块的设计
通过液晶1602显示输出的波形、频率。1602的八位数据端接单片机的P0口,其使能端RS、E分别接单片机的P3.5、P3.4。通过软件控制液晶屏可以显示波形的种类以及波形的频率。
其电路图如下图2.2.4:
图2.2.4 液晶显示
2.2.5 键盘显示模块的设计
其连接电路图如下图2.2.5:
图2.2.5 键盘
图中键盘引出的5跟线分别接单片机的P1口,其中P1.0连接按键1用于切换波形,P1.1、P1.2连接按键2、3用于调节波形的频率的增减,P1.3连接的按键用于占空比的升高。
2.3 软件设计流程
本系统采用STC89C52单片机,用编程的方法来产生四种波形,并通过编程 来切换四种波形以及波形频率的改变。
具体功能有:(1)各个波形的切换;(2)各种参数的设定;(3)频率增减等。
软件调通后,通过编程器下载到STC89C52芯片中,然后插到系统中即可独立完成所有的控制。
软件的流程图如下图2.3:
图2.3 程序流程图
第三章 proteus的简介
3.1 proteus介绍
Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,它组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARES PCB设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。支持许多通用的微控制器,如PIC,AVR,HC11以及8051。最新支持ARM。交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件。强大的调试工具,包括寄存器和存储器,断点和单步模式。IAR C-SPY 和Keil uVision2等开发工具的源层调试。应用特殊模型的DLL界面-提供有关元件库的全部文件。
在完成了函数信号发生器的硬件设计和软件设计以后,便进入系统的调试阶段。系统的调试步骤和方法基本上是相同的,但具体细节和所采用的开发系统以及用户系统选用的单片机型号有关,我们选用的是Keil软件进行软件调试,用Proteus软件完成硬件调试。
3.1.1 keil调试
3.1.2 proteus仿真调试
3.2 测试过程
1)、当程序下进去时经过初始化,液晶屏的上只显示“Frequency:”和“0050Hz”,默认状态输出波形为正弦波,按一下按键1时输出为方波,按按键1两下时输出为锯齿波,按按键1三下时输出三角波。按键2、3可以调节频率,三种波形的频率可调范围,分别如下: 正弦波:0—535Hz 方 波:0——535Hz 三角波:0——535Hz 锯齿波:0——535Hz 根据示波器的波形频率的显示计算出三种波形的频率计算公式如下:
正弦波:f= 65536-10^6//(512*FREQ)方 波:f= 65336-10^6/(256*FREQ)三角波:f= 65336-10^6/(256*FREQ)锯齿波:f= 100(+-)n*2Hz.2)、四种种波形的仿真波形图如下:
图3.2(1)方波图形
图3.2(2)正弦波图形
图3.2(3)三角波图形 图3.2(4)锯齿波图形
附录一:总电路图
附录二:部分程序
//调节部分——频率 void freq_ud(void){ unsigned int temp;if(freq_d==0){ FREQ--;
} else if(freq_u==0){ FREQ++;} if(cho==1|cho==3)//锯齿波256次中断一周期,否则他的频率是100(+-)n*2Hz.{temp=0xffff-3906/FREQ;//默认为100hz,切换后频率为50HZ65336-10^6/(256*FREQ)TIME0_H=temp/256;TIME0_L=temp%256;} else if(cho==0|cho==3)//正弦波 三角波默认周期50hz 65536-10^6//(512*FREQ){temp=0xffff-1953/FREQ;TIME0_H=temp/256;TIME0_L=temp%256;}}
//调节部分——方波的占空比
void duty_ud(void)//方波也采用512次中断构成一个周期。{ if(duty_d==0&sqar_num>0)sqar_num--;else if(duty_u==0&sqar_num
} void square(void){ if(i++
cs=0;P2=num++;cs=1;} void stw(void){ if(~flag){ cs=0;P2=num++;cs=1;if(num==0){num=255;flag=1;} } else if(flag){
} void main(){ TMOD=0X01;TH0=0xff;TL0=0xd9;IT0=1;//设置中断触发方式,下降沿 EA=1;EX0=1;ET0=1;IP=0X01;//键盘中断级别高 init_1602();//初始化lcd
write_command(0x80);//液晶显示位置 delay(5);
for(i=0;i
{
} write_data(value1[i]);delay(5);TR0=1;while(1){ show_frequency();} } //按键中断处理程序。void it0()interrupt 0 { if(chg==0){FREQ=50;if(++cho==4){cho=0;num=0;}}//num=0;所有数据从新开始,保证波形的完整性
else if(freq_u==0|freq_d==0){freq_ud();} else if(cho==1&(duty_d==0|duty_u==0)){duty_ud();} else;}
摘 要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1H......
函数信号发生器设计设计任务与要求⑴ 设计并制作能产生正弦波、矩形波(方波)和三角波(锯齿波)的函数发生器,本信号发生器可以考虑用专用集成芯片(如5G8038等)为核心实现。⑵ 信号频......
【转】 51单片机设计多功能低频函数信号发生器 2010-06-05 17:37 转载自 yeyongan1987 最终编辑 yeyongan198751单片机设计多功能低频函数信号发生器应用89S52单片机和DAC08......
四川师范大学成都学院通信原理课程设计 目 录前言 .....................................................................1 1 函数信号发生器设计任务 .......................
函数信号发生器的设计实验报告院 系:电子工程学院班 级:2012211209 姓 名:陈炳文 班内序号:学 号: 0实验目的:设计一个设计制作一个可输出方波、三角波、正弦波信号的函数信号发生......
