单片机课程设计-波形发生器设计.doc_第1页
单片机课程设计-波形发生器设计.doc_第2页
单片机课程设计-波形发生器设计.doc_第3页
单片机课程设计-波形发生器设计.doc_第4页
单片机课程设计-波形发生器设计.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机系统课程设计单片机系统课 程 设 计成绩评定表设计课题 : 波形发生器设计 学院名称 : 电气工程学院 专业班级 : 自动F1201 学生姓名 : 学 号 : 指导教师 : 设计地点 : 31-517 设计时间 : 2013-12-292013-01-09 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计课程设计名称: 波形发射器 专 业 班 级 : 自动F1201 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 31-517 课程设计时间: 2014-12-292014-01-09 单片机系统 课程设计任务书学生姓名专业班级自动F1201学号201223910105题 目波形发生器设计课题性质工程设计课题来源自拟指导教师李攀峰主要内容(参数)1阅读相关科技文献。2学习protel软件的使用。3学会整理和总结设计文档报告。4学习如何查找器件手册及相关参数。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1何小艇,电子系统设计,浙江大学出版社,2001年6月2姚福安,电子电路设计与实践,山东科学技术出版社,2001年10月3王澄非,电路与数字逻辑设计实践,东南大学出版社,1999年10月4李银华,电子线路设计指导,北京航空航天大学出版社,2005年6月5康华光,电子技术基础,高教出版社,2003审查意见系(教研室)主任签字: 年 月 日 摘 要波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。本系统利用单片机AT89C52采用程序设计方法产生正弦波、方波、三角波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生1Hz3kHz的波形并且可调。系统通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分, 达到了用单片机控制产生三种波形并且显示的功能目的。关键词 89C52 信号发生 D/A转换器 液晶屏1602 第 1 页 目 录摘 要1目 录2一 、 引言4二、 系统方案的设计与选择52.1 系统方案的比较52.2 显示电路的选择5三、 电路主要元器件与软件介绍63.1 AT89C52单片机63.1.1 AT89C52简介63.1.2 AT89C52 主要特性63.1.3 AT89C52各引脚功能介绍63.2 DAC083283.2.1 DAC0832简介83.2.2 DAC0832的结构83.2.3 DAC0832的引脚特性93.3 三端稳压集成电路7805103.4 RC4558103.5 1602液晶113.6 Alitim designer介绍123.7 Proteus介绍12四、 单元电路的硬件设计134.1 基本原理134.2 单片机134.2.1 单片机的介绍134.2.2 时钟电路144.2.3 复位电路144.3 键盘电路原理154.4 LCD显示电路154.5 数、模转换电路16五、 系统软件设计175.1 主程序流程图175.2 子程序流程图185.2.1 三角波程序流程图185.2.2 正弦波程序流程图195.2.3 方波程序流程图20六、 测试结果21七、设计心得24参考文献25附 录26第 3 页一 、 引言波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差、控制难、可调范围小、电路复杂和体积大等缺点,且波形种类有限。 在科学研究和生产实践中,如工业过程控制、生物医学、地震模拟机械振动等领域常常要用到低频信号源,而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大。大电阻、大电容在制作上有困难,参数的精度亦难以保证,体积大、漏电、损耗显著更是其致命的弱点,一旦工作需求功能有增加,则电路复杂程度会大大增加。现代电子领域中,单片机的应用正在不断的走向深入,单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并已经走入家庭。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。一块单片机芯片就是一台计算机,由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,单片机的特点归纳起来有以下几个方面:1) 具有优异的性能价格比:单片机尽可能地把应用所需的存储器,各种功能的I/O 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉。2) 集成度高、体积小、可靠性高:单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。内部又采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时,其体积小,对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。3) 控制功能强:单片机体积虽小,但“五脏俱全” ,它非常适用于专门的控制用途,般单片机的指令系统中有极丰富的转移指令,I/O口的逻辑操作指令以及位操作指令,其逻辑控制功能及运行速度均高于同一档次的微机。4) 低压、低功效:目前,许多单片机已可在2.2V电压下运行,有的已能在1.2V或0.9V下工作,功耗降至A级,一粒钮扣电池就可长期使用。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。二、 系统方案的设计与选择2.1 系统方案的比较方案一:采用函数信号发生器ICL8038集成模拟芯片。ICL8038是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。 方案三:采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。2.2 显示电路的选择方案一:采用LED数码管。LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于1/16s时人眼就感觉不到闪动,看到的是每只数码管常亮。使用数码管显示编程较易,但要显示内容多,而且数码管不能显示字母。 方案二:采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。以上两种方案综合考虑,选择方案二。三、 电路主要元器件与软件介绍3.1 AT89C52单片机3.1.1 AT89C52简介AT89C52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有4K在系统可编程Flsah存储器。3.1.2 AT89C52 主要特性1) 拥有灵巧的8位CPU和在系统可编程Flash。2) 晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)。3) 内部程序存储器(ROM)为 4KB。4) 内部数据存储器(RAM)为128字节。5) 32 个可编程I/O 口线。6) 8 个中断向量源。7) 三个 16 位定时器/计数器。8) 三级加密程序存储器。9) 全双工UART串行通道。3.1.3 AT89C52各引脚功能介绍VCC:AT89C52电源正端输入,接+5V。 VSS:电源地端。 XTAL1:单芯片系统时钟的反相放大器输入端。 XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体,系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。 RESET:AT89C52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:“EA”为英文“External Access”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。PSEN:此为Program Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。PORT0(P0.0P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。3.2 DAC08323.2.1 DAC0832简介DAC0832是美国资料公司研制的8位双缓冲器D/A转换器。芯片内带有资料锁存器,可与数据总线直接相连。电路有极好的温度跟随性,使用了COMS电流开关和控制逻辑而获得低功耗、低输出的泄漏电流误差。芯片采用R-2RT型电阻网络,对参考电流进行分流完成D/A转换。转换结果以一组差动电流IOUT1和IOUT2输出。DAC0832主要性能参数有:辨率8位;转换时间1s;参考电压10V;单电源+5V+15v;功耗20mW。3.2.2 DAC0832的结构 图3-2 DAC0832的内部结构DAC0832的内部结构如图3-2所示。DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE;第二级锁存器称为DAC寄存器,它的锁存信号为传输控制信号。因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。此外,两级锁存器还可以在多个D/A转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。图3-1中LE为高电平、和为低电平时,为高电平,输入寄存器的输出跟随输入而变化;此后,当由低变高时,为低电平,资料被锁存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变化。对第二级锁存器来说,和同时为低电平时,为高电平,DAC寄存器的输出跟随其输入而变化;此后,当由低变高时,变为低电平,将输入寄存器的资料锁存到DAC寄存器中。3.2.3 DAC0832的引脚特性 DAC0832是20引脚的双列直插式芯片。各引脚如图3-3所示,特性如下::片选信号,和允许锁存信号ILE组合来决定是否起作用。 ILE:允许锁存信号。 图3-3 DAC0832引脚 :写信号1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此时, 必须和、ILE同时有效)。 :写信号2,将锁存在输入寄存器中的资料送到DAC寄存器中进行锁存。 :传输控制信号,用来控制。DI7DI0:8位数据输入端。IOUT1:模拟电流输出端1。当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。IOUT2:模拟电流输出端2。IOUT1+IOUT2=常数。RFB:反馈电阻引出端。DAC0832内部已经有反馈电阻,所以,RFB端可以直接接到外部运算放大器的输出端。相当于将反馈电阻接在运算放大器的输入端和输出端之间。VREF:参考电压输入端。可接电压范围为10V。外部标准电压通过VREF与T型电阻网络相连。VCC:芯片供电电压端。范围为+5V+15V,最佳工作状态是+15V。AGND:模拟地,即模拟电路接地端。DGND:数字地,即数字电路接地端。3.3 三端稳压集成电路7805三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子像是普通的三极管,TO- 220 的标准封装,也有9013样子的TO-92封装。7805引脚序号、 图3-4 7805引脚 引脚功能如图3-4所示: 从正面看引脚从左向右按顺序标注,接入电路时脚电压高于脚,脚为输出位。如对于78*正压系列,脚高电位,脚接地,;对与79*负压系列,脚接地,脚接负电压,输出都是脚。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。 因为三端固定集成稳压电路的使用方便,电子制作中经常采用。 3.4 RC4558 RC4558 引脚图如图3-5所示。它是一片双运放,带内部补偿电路。它的内部包含两组形式完全相同的运算放大器,除电源共用外,两组运放相互独立。引脚功能为: 图3-5 RC4558引脚AOUT:放大信号输出(1)。 AIN-:反相信号输入(1)。AIN+:同相信号输入(1)。 GND:接地。 BIN+:同相信号输入(2)。 BIN-:反相信号输入(2)。 BOUT2:放大信号输出(2)。 Vcc:电源。4558特性有很多,2MHz单位增益带宽保证,NE4558 的电源电压为 18v,具备短路保护功能,无需频率补偿,无闩锁效应,宽广的共模和差动电压范围,低功耗。因此被广泛运用在各种电路中。3.5 1602液晶1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以它不能显示图形。管脚如图3-6,功能如下: 图3-6 1602液晶第1脚:VSS为电源地 第2脚:VDD接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”, 使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 3.6 Alitim designer介绍 Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer 在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造,并集成了现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案一个既满足当前,也满足未来开发需求的解决方案。3.7 Proteus介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器.四、 单元电路的硬件设计4.1 基本原理系统框图如图4-1所示波形指示键 盘单片机D/A转换电流、电压转换输 出电 源 图4-1 低频信号波形发生器系统结构框图低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。4.2 单片机4.2.1 单片机的介绍低频信号发生器采用AT89C52单片机作为控制核心,AT89C52的引脚图如图4-2所示。 图4-2 AT89C52引脚图 4.2.2 时钟电路CPU工作时都必须有一个时钟脉冲。有两种方式可以向89S52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89S52提供时钟脉冲;二是内部时钟方式,即使用晶振由89S52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图4-3所示。图4-3 89C52的时钟脉冲4.2.3 复位电路 复位是单片机的初始化操作, AT89S52复位操作有3种方式:上电复位、上电按钮复位和系统复位。上电复位电路如图4-4所示。对于CMOS型单片机因RST引脚的内部有一个低电阻,故电阻R可不接。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效地复位。当晶体振荡频率为12MHz时,RC的典型值为C=10uF,R=8.2K欧姆。简单复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时可在RST引脚上接一去耦电容。通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图4-5所示,其中R2R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。设计电路如图4-6。RST 89C52RST 89C52+5VCR+5VR1R2C 图4-4 上电复位电路 图4-5 上电按钮复位电路 图4-6 89C52的复位电路4.3 键盘电路原理在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,按键通常是一种常开型按钮开关,平时按键的两个触点处于断开状态,按下键时它们才闭合。根据设计的电路特点,只需要用到4个按钮来选择波形,按键S1S4分别和单片机P1口的P1.0P1.3相连,实现的功能也比较简单,电路图如附录所示(按键从上到下一次是k4,k3,k2,k1)。4.4 LCD显示电路通过液晶1602显示输出的波形、频率,其电路图如图4-8所示: 图4-8 液晶显示如上图所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P3.2P3.4。通过软件控制液晶屏可以显示波形的种类以及波形的频率。4.5 数、模转换电路 图4-9 DAC0832双极性电压输出电路制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,选择了单缓冲方式使用方便,程序简单,易操作。这里采用DAC0832与单片机89S52的典型的单缓冲方式接口电路。DAC0832的输出是电流,使用运算放大器可以将其电流输出线性地转换成电压输出。根据运算放大器和DAC0832的连接方法,运算放大器的输出可以分为单极性和双极性两种。这里采用双极性方式如图4-9所示。 五、 系统软件设计软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。显示波形模块是利用DAC0832的8位特点,把波形的数据以8位数据的形势送进CPU中,只要一按键就能显示波形。5.1 主程序流程图主程序流程图如图5-1所示。本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出三角波;当按键2按下时,函数发生器就输出正弦波;当按键3按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。开始Key1按下吗?输出三角波输出正弦波输出方波输出锯齿波(此处未作锯齿波)Key2按下吗?Key3按下吗?Key4按下YYYYNNNN图5-1 主程序流程图5.2 子程序流程图5.2.1 三角波程序流程图三角波流程图如图5-2所示。当进入三角波产生流程后,首先将DAC0832口地址置为4000H,通过A中数值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内容减一递减,从而循环产生三角波。开始置DAC0832口地址4000H输入一个数字量A(A)0832输出A+1AA=0?输入一个数字量FFHA(A)0832输出A-1AA=0?NYYN图5-2 三角波流程图5.2.2 正弦波程序流程图正弦波程序流程图如图5-3所示。正弦波波形设计通过查表指令得出。当进入正弦波产生程序后,首先将寄存器R1赋值为00H,将DAC0832口地址置为4000H,然后将查表得到的数据送0832。开始取表格初值R100H置DAC0832口地址4000H查表格取数送0832R1+1R1图5-3 正弦波程序流程图5.2.3 方波程序流程图方波程序流程图如图5-4所示。当进入方波产生流程后,首先将DAC0832口地址置为4000H,当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。开始置DAC0832口地址4000H00HA输出对应模拟量延时FFHA输出对应模拟量延时图5-4 方波程序流程图六、 测试结果在确定编程思路以后将各部分的程序及各子程序编好,使用keil进行编译,根据提示的错误对程序进行修改。除了语法差错和逻辑差错外,当确认程序没问题时,通过直接加载到protues软件电路中进行仿真。当按键1拨下时,波形为三角波,同时LCD1602显示为train。仿真图如图6-1所示。图6-1 三角波仿真图当按键2拨下时,波形为正弦波,同时LCD1602显示为sine。仿真图如图6-2所示。图6-2 正弦波仿真图当按键3拨下时,波行为方波,同时LCD1602显示为squrae。仿真图如6-3 图6-3 方波仿真图在对系统进行波形仿真时可以在示波器上观察到三角波、正弦波和方波的波形。其中三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制。当仿真时,由于存在一定的系统误差,波形效果不是很好。七、设计心得在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。通过这次的课程设计,让我真正的认识到课程设计的重要性,不但可以通过具体课题的设计工作学习到相关的新知识,而且可以课堂上所学习的知识用于实践。这次波形发生器的课程设计基本运用了单片机学习中的很多知识,如单片机的结构及基本原理,指令系统和C语言程序设计,D/A转换接口技术等等。此外,通过实际的仿真操作,更加熟悉了PROTEUS 、Keil和Altium designer软件的操作流程,为以后的更好地学习和运用创造了条件。参考文献1 陈光东. 单片微型计算机原理与接口技术. 武汉:华中理工大学出版社.19992 袁启昌. 单片机原理及应用教程. 北京:科学出版社. 2005.3 3 江志红. 51单片机技术与应用系统开发案例精选. 北京: 清华大学出版社.2008.124 周润景. 单片机电路设计、分析与制作. 北京: 机械工业出版社. 2010.85 赵建领. 51单片机开发与应用技术详解.北京: 电子工业出版社.2009.16 谭浩强.C程序设计.北京:清华大学出版社.20057 李银华.电子线路设计指导.北京航空航天大学出版社.2005年6月8 康华光.电子技术基础.高教出版社.20039 其他互联网资源附 录附录1 总的电路图附录2 主要元器件清单元器件名称型号与规格数量作用单片机AT89C521主控电路D/A转换器DAC08321数模转换电路运算放大器RC45581信号放大电路显示器LCD16021波形显示电路三端稳压集成器78051三端稳压集成电路整流桥IN40074整流电路附录3 程序清单#include #define uchar unsigned char #define uint unsigned int sbit lcdrw=P33;sbit lcdrs=P32;sbit lcde=P34;sbit d=P27;sbit s1=P20;sbit s2=P21;sbit s3=P22;sbit cs=P35;sbit wr=P36;uchar s1num,a,ys,j;uint fre;uchar code tosin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 ;/*正弦波码 */void delay(uint z)/延时子程序 uchar i,j; for(i=z;i0;i-) for(j=110;j0;j-);void delay1(uint y) uint i; for(i=y;i0;i-);void write_com(uchar com) /1602写指令 lcdrs=0;P1=com;delay(5);lcde=1;delay(5);lcde=0;void write_data(uchar date) /1602数据 lcdrs=1;P1=date;delay(5);lcde=1;delay(5);lcde=0; void init() /初始化 lcdrw=0; lcde=0; wr=0; cs=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80+0x00); write_data(0x77); /写wave: write_data(0x61); write_data(0x76); write_data(0x65); write_data(0x3a); write_com(0x80+0x40); /写 f: write_data(0x66); write_data(0x3a); void write_f(uint date) /写频率 uchar qian,bai,shi,ge; qian=date/1000; bai=date/100%10; shi=date/10%10; ge=date%10;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论