




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)题 目 名 称 波形发生器 课 程 名 称 单片机原理及应用 学 生 姓 名 黎领 学 号 0640842060 系 、专 业 信息工程系电子信息工程专业 指 导 教 师 陈 玮 2008年12月6日邵阳学院课程设计(论文)评阅表学生姓名 学 号 系 专业班级 题目名称 课程名称 一、学生自我总结 学生签名: 年 月 日二、指导教师评定评分项目综合成绩权 重单项成绩指导教师评语: 指导教师(签名): 年 月 日注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。摘要波形发生器在一般的电子和通信实验中使用频率很高,目前我们实验室用的较多的波形发生器主要有两种:低频正弦波发生器和通用多波形发生器,前者只能产生正弦波,调节范围不大,但是信号稳定,失真度底,主要用在对波形有很高的要求的实验中;后者能产生正弦波、方波和三角波,也有的能产生三种以上波形。这两种波形发生器都比较昂贵,而在我们很多的实验中有的要求产生更多的波形种类和它们的谐波,有很多对于波形的要求不是很高,有的只是演示一下,在本课题中将这两方面的缺点结合起来加以改进,最大限度地利用单片机及其外围设备的资源,开发出能产生三角、方波、梯形、锯齿等多种波形及组合波形,并可以根据实际情况的需要在波形存储器中写入不同的波形,可以随时控制波形的输出,能满足一般的实验及演示的需要,并且成本很低,操作简洁方便。关键词:AT89S51 单片机,DAC0832芯片,LM324运算放大器,PROTEUS和WAVE仿真软件等。 目录1. 绪论72. 系统硬件设计 8 2.1系统电路图设计82.2 各单元模块设计 82.2.1输入控制单元92.2.1单片机及外围电路设计 10 2.2.4输出单元 11 2.2.3 DA转换接口电路123. 系统软件设计16 3.1程序设计19 3.2 子程序及其流程图224. 整机软硬件联调与仿真254.1 方波264.2 锯齿波274.3 三角波274.4 梯形波275. 展望和总结286. 参考文献281.绪论在日常的工作和学习中,波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用波形发生器大部分是利用分立元件组成的起体积大,可靠性差,准确度低。目前我们实验室用的较多的波形发生器主要有两种:低频正弦波发生器和通用多波形发生器,前者只能产生正弦波,调节范围不大,但是信号稳定,失真度底,主要用在对波形有很高的要求的实验中;后者能产生正弦波、方波和三角波,也有的能产生三种以上波形。这两种波形发生器都比较昂贵,而在我们很多的实验中有的要求产生更多的波形种类,有很多对于波形的要求不是很高,有的只是演示一下,在本课题中将这两方面的缺点结合起来加以改进,最大限度地利用单片机资源。本次课程设计以AT89S51 单片机为核心,采用AD/DA 转换接口技术构成的波形发生器可产生方波、三角波、锯齿波、梯形波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、价格低廉、性能优越等优点。在本设计的基础上,加上开关键盘控制和LED显示,则可开关键盘输入选定所需要的波形,并用相应的LED显示。利用AT89S51单片机产生方波、锯齿波、三角波及梯形波,并可以在不同的波形之间任意切换,并可以根据实际情况的需要在波形存储器中写入不同的波形,可以随时添加,能满足一般的实验及演示的需要,并且成本很低,操作简洁方便。本设计使用AT89S51单片机、DAC0832转换芯片以及LM324放大器等元件组成硬件电路,编写产生方波、三角波、锯齿波、梯形波等多种波形程序。通过单片机P1口开关输入所要产生波形的信号,单片机根据输入信号的判断调用相应的子程序产生数字信号波形,从P0输出到DAC0832芯片,运用DA转换技术,将数字信号转换成模拟信号到达LM324中处理并输出最终所需的波形。最后将整个电路在PROTUES和WAVE软件中进行仿真,通过示波器可以直接观测到所需的波形,同时也可以反过来修改程序的参量以实现所需的波形的参数要求。2.系统硬件设计2.1系统电路图设计如下:该电路大致由输入控制电路、单片机及外围电路、DA转换接口电路、波形输出电路四部分组成。主要利用AT89C51单片机、DAC0832芯片、LM324运放集成芯片等元器件,完成由单片机产生的数字信号转换成模拟信号并输出显示。下图是波形发生器的原理图。以AT89C51单片机为核心。AT89C51的P1接口接一转换开关K,通过软件编程来选择方波,锯齿波,三角波,梯形波的产生。其中R8R11的作用是保证开关的各浮点节为0。方波,锯齿波,三角波,梯形波对应P1.0,P1.1,P1.2,P1.3三个接口是驱动蓝,绿,红,黄四个发光二极管,每种波形对应一个发光二极管作为波形指示灯。P0口接一数模转换器DA0832,CPU产生的数字量通过它转换成模拟量输出相应的波形。在AT89C51的复位端接一复位电路,可进行手动复位。22 各单元模块设计2.2.1输入控制单元要使波形发生器产生所需波形,首先应通过DIPSW_4开关选择输入,并使相应的波形指示灯D1,D2,D3,D4发光,同时单片机的P0口相应的信号接受端为高电平,以达到选择信号输入的目的。 具体连接电路如下所示: 输入控制电路图2.2.1单片机及外围电路设计要使AT89S51单片正常工作必须要有外围时钟电路产生脉冲,本设计采用12MHZ晶振直接送入单片机中作为驱动端。同时在波形发生器中有时需要复位处理,需要设计按键脉冲复位利用RC微分电路产生脉冲。在本设计中,PO口外接DAC0832作为负载,需要接RP1 10K的电阻作为负载,以增强P0口带负载能力,使波形发生器后续DA转换电路和放大电路正常运行。电路连接如下所示: 2.2.3 DA转换接口电路 AT89C51单片机输出的数字信号利用DAC0832芯片转换成模拟信号, 0832的输入寄存器和DAC寄存器采用单缓冲控制方式,因为波形发生器只需要一路模拟信号输出或者几路模拟量的非同步输出的情况。在这种方式下,将2级寄存器的控制信号接,输入数据在控制信号的作用下,直接送入DAC寄存器中。写选通线、都与AT89C51的写信号WR连接。DAC0832芯片的引脚连接方式如下图所示: 2.2.4输出单元 由于0832芯片是电流型输出,所以在电路中采用运算放大器LM324实现I/V转换,外接集成运算放大器使之成为电压型输出。本设计采用的是双电源工作模式,同时采用反馈原理,构成电流/电压转换电路和反相比例加法器电路。在调试和仿真时,通过PROTEUS软件的虚拟示波器观察到最终波形显示。2.3元器件选择与介绍2.3.1 单片机AT89S51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。主要特性:1.与MCS-51 兼容 2.4K字节可编程闪烁存储器 3.寿命:1000写/擦循环 4.数据保留时间:10年5.全静态工作:0Hz-24MHz 6.三级程序存储器锁定7.1288位内部RAM 8.32可编程I/O线9.两个16位定时器/计数器10.5个中断源 11.可编程串行通道12.低功耗的闲置和掉电模式 13.片内振荡器和时钟电路振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.3.2 DAC0832芯片DAC0832芯片的原理:DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图1为DAC0832的引脚图。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为1LSB,参考电压为(+10-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。DAC0832可处于三种不同的工作方式: (1)直通方式 :当ILE接高电平,、和都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即把要产生基本波形的数据存在ROM中,连续取出送到DAC去转换成电压信号。(2)单缓冲方式 :只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存器数据,DAC就可处于单缓冲工作方式。一般的做法是将和都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,接端口地址译码信号,接CPU的信号,这样就可以通过一条MOVX指令,选中该端口,使和有效,启动D/A转换。本设计就是采用单缓冲方式控制DAC0832电路连接如下所示: (3)双缓冲方式 :主要在以下两种情况下需要用双缓冲方式的D/A转换。在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC转换。先用3条输出指令选择3个端口,分别将数据写入各DAC的输入寄存器,当数据准备就绪后,再执行一次写操作,使变低同时选通3个D/A的DAC寄存器,实现同步转换。2.3.3 LM324芯片LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图2图 1 图 2 LM324的特点:1.短跑保护输出 2.真差动输入级3.可单电源工作:3V-32V 4.低偏置电流:最大100nA(LM324A)5.每封装含四个运算放大器。 6.具有内部补偿的功能。7.共模范围扩展到负电源 8.行业标准的引脚排列9.输入端具有静电保护功能由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。3.系统软件设计3.1 设计程序 主程序的运行过程是:开机以后进行查键,即做查询输入控制端P1的状态,将信息输入单片机中,运行相应的程序产生对应的波形,然后根据按的键转到相应的子程序进行处理 。程序流程图如下图:SQUARE按下初始化,设置常量及指针SAW按下TRIANG按下LADDER按下跳转到主程序NNNN开 始点亮 D1调用方波输出程序,输出一个周期的方波点亮 D2调用锯齿波输出程序,输出一个 周期的锯齿波点亮D3调用三角波输出程序,输出一个周期的三角波点亮D4调用梯形波输出程序,输出一个周期的梯形波主程序主程序如下:ORG 0000H SQU BIT P1.0 ;P1口位定义 方波SAW BIT P1.1 ; 锯齿波 TRI BIT P1.2 ; 三角波LADDER BIT P1.3 ; 梯形波LJMP STARTORG 0030HSTART: MOV P1,#0FFH ;P1口置一 MAIN: JBC SQU,S1 ; SQU为1跳转到S1 JBC SAW,S2 ; SAW为1跳转到S2 JBC TRI,S3 ; TRI为1跳转到S3 JBC LADDER,S4 ; LADDER为1跳转到S4 SJMP MAINS1: LCALL SQUARE ;调用方波发生子程序 SJMP MAINS2: LCALL SAV;调用锯齿波发生子程序 SJMP MAINS3: LCALL TRIAGE;调用三角波发生子程序 SJMP MAINS4: LCALL LADD;调用梯形发生子程序 SJMP MAINSQUARE: MOV DPTR,#0FFH;选定0832L1: MOV A,#00H MOVX DPTR,A ;向0832输出数据 LCALL DELAY ;调用延时子程序 MOV A,#0FFH ;给A赋值0FFH MOVX DPTR,A LCALL DELAY ;调用延时子程序 RETDELAY: MOV R0,#250 ;延时子程序 D: MOV R1,#255 DJNZ R1,$ DJNZ R0,D RETSAV: L2: MOV A,#00H ;选定0832L21: MOV DPTR,#0FFH MOVX DPTR,A INC A CJNE A,#088H,L21 ;上升到088H RETTRIAGE: CLR AL3: MOV DPTR,#0FFH ;选定0832 MOV A,#00HUP: MOVX DPTR,A INC A CJNE A,#0DEH,UP ;上升到A中为0DEHDOWN: DEC A MOVX DPTR,A CJNE A,#000H, DOWN ;下降到00H INC A RETLADD: MOV DPTR,#0FFH ;选定0832L4: MOV A,#42H ;下限减一送AUP1: INC A MOVX DPTR,A CJNE A,#0AEH,L5 ;与上限比较L5: JC UP1DOWN1:LCALL DELAY1 ;调用上限延时子程序L6: DEC A MOVX DPTR,A CJNE A,#043H,L6 ;与下限比较L7: JC L4 RETDELAY1: MOV R0,#58 D1: MOV R1,#55 DJNZ R1,$ DJNZ R0,D1 RET END3.2子程序单元及流程图3.2.1方波发生子程序7A赋值为00HDPTR为0FFH选中DAC0832向0832中输出数据调用延时子程序延时给A赋值为0FFH 并输出数据再次调用延时程序返回单周期方波输出子程序流程图 方波程序: ORG 0000H LJMP STARTSTART:MOV DPTR,#0FFHL1: MOV A,#00H MOVX DPTR,A LCALL DELAY MOV A,#0FFH MOVX DPTR,A LCALL DELAY SJMP L1DELAY: MOV R0,#250 D: MOV R1,#255 DJNZ R1,$ DJNZ R0,D RET END程序仿真结果: 3.2.2锯齿波子程序及流程图锯齿波程序:ORG 0000H 将A清零令DPTR为0FFH选定0832将A的 值赋给DPTR数据输出累加器A值加1A=88返回NY单周期锯齿波输出子程序LJMP L2ORG 0030HL2: MOV A,#00HL21: MOV DPTR,#0FFH MOVX DPTR,A INC A CJNE A,#088H,L21 SJMP L2 END锯齿波子程序仿真结果:3.2.3.三角波子程序及流程图:设A=00H令DPTR为0FFH选定0832将A的值赋给DPTR数据输出累加器A的值加1累加器A值减1A=0AEH累加器A再减1将A的值赋给DPTR输出数据累加器A加1A=068H返回NYNY单周期三角波输出子程序三角波程序:ORG 0000H LJMP START ORG 0030HSTART:MOV DPTR,#0FFH MOV A,#00H UP:MOVX DPTR,A INC A CJNE A,#0AEH,UP DEC A DOWN:DEC A MOVX DPTR,A CJNE A,#068H, DOWN INC A SJMP UP END三角波程序结果:3.2.4梯形波子程序及流程图A赋值为42H令DPTR为0FFH选定0832累加器A加1将A 的值赋给DPTR输出A=0AEH调用延时子程序延时累加器A值减1将A的值赋值给DPTR输出A=43H返回梯形波输出程序NNYY梯形波程序: ORG 0000HLJMP L4ORG 0030HMOV DPTR,#0FFHL4: MOV A,#42HUP1: INC A MOVX DPTR,A CJNE A,#0AEH,L5L5: JC UP1DOWN1:LCALL DELAYL6: DEC A MOVX DPTR,A CJNE A,#043H,L7L7: JC L4 SJMP L6DELAY: MOV R0,#65 D: MOV R1,#55 DJNZ R1,$ DJNZ R0,D RET END梯形波程序结果: 4.整机软硬件联调与仿真 运用PROTUES和WAVE软件对所编写的主程序进行仿真,通过PROTUES中的模拟示波器观察到结果仿真如下:4.1方波 当DIPSW4中第一路开关闭合,方波所对应的蓝灯发光,信号从P1.0输入,经过单片机产生和DA转换后,可在模拟示波器中观察到如下所示图象:4.2锯齿波当DIPSW4中第二路开关闭合,方波所对应的绿灯发光,信号从P1.1输入,经过单片机产生和DA转换后,可在模拟示波器中观察到如下所示图象:4.3三角波当DIPSW4中第三路开关闭合,方波所对应的红灯发光,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚后配偶企业股权分割及后续经营责任合同
- 绿色能源产品区域总经销权及市场推广合同
- 2024年《土地管理法》考试试题及答案解析
- 民办教育机构全职教师聘用及教学资源整合合同
- 上市公司并购重组中的股权质押担保操作指南
- 建筑行业专业人才派遣与劳动权益保障全面合同
- 住房转让合同范本9篇
- 企业战略联盟在专用设备制造业中的实践与效果-洞察及研究
- 2025年肝脏检查试题及答案
- 装配钳工竞赛试题及答案
- 《危险货物港口作业重大事故隐患判定标准》知识培训
- 农村废弃物综合利用资源化利用方式与路径
- 脑卒中的识别及预防与处理
- 和田玉知识培训课件下载
- 交互式游戏设计趋势-深度研究
- 2025年中国海洋功能性食品行业全景评估及投资规划建议报告
- 2025-2030年中国铷行业市场规模分析及投资前景研究报告
- 餐饮行业培训合作协议书
- 沪价费(2006)27号-关于调整本市部分绿化行政事业性收费标准的通知
- 水稻机械化种植技术-洞察分析
- 5.2《圆的周长》(教学课件)六年级数学上册北京版
评论
0/150
提交评论