




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主要内容:设计一个产生各种波形的波形发生器 基本要求:利用单片机P1.0引脚输出频率范围1Hz 1000Hz的正弦波、方波、三角波、梯形波、锯齿波,并用示波器观察。一、设计目的(1)利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。 (2)我们这次的课程设计是以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的函数发生器。 (3)掌握各个接口芯片(如0832等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。 (4)在平时的学习中,我们所学的知识大都是课本上的,在机房的练习大家也都是分散的对各个章节的内容进行练习。因此,缺乏一种系统的设计锻炼。在课程所学结束以后,这样的课程设计十分有助于学生的知识系统的总结到一起。二、方案要求及设计2.1设计要求使用计算机和数模转换器构成信号发生器,可以产生方波、三角波、锯齿波和正弦波等多种波形,波形的周期、频率可调。要求完成计算机和DAC的选型,了解不同波形的产生原理和设计方案,画出硬件电路图,并编程完成软件部分,最后调试观察产生不同类型的波形信号。(1)课程设计论文内容要正确,概念要清楚;(2)完成任务书所规定的内容;(3)附有电路原理图及程序流程图,以及程序清单;(4)文字要通顺,书写要工整,设计图纸必须符合规范。2.2方案设计采用AT89C51单片机和DAC0832芯片,直接连接键盘和显示。该种方案主要对AT89C51单片机的各个I/O口充分利用. P1口是连接键盘以及接显示电路,P2口连接DAC0832输出波形.这样总体来说,能对单片机各个接口都利用上,而不在多用其它芯片,从而减小了系统的成本.也对按照系统便携式低频信号发生器的要求所完成.占用空间小,使用芯片少,低功耗。三、硬件电路设计3.1设计思路、元件选型设计思路:(一)、课设需要各个波形的基本输出。如输出锯齿波、三角波、方波、正弦波。这些波形的实现的具体步骤:锯齿波实现很简单,只需要一开始定义一个初值,然后不断的加1,当溢出后又重初值开始加起,就这样循环下去。三角波的实验过程是先加后减,实现方法是先是从00H开始加1直到溢出后就执行减1操作,就这样不断调用这个循环。方波的实现方法是连续输出一个数,到某个时候就改变一下值,可以把值定义为正极性的,也可以是负极性。正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。(二)、通过P1口和开关K0-K4相连接来控制各个波形的输出。能根据k0-k5键状态进行波形切换,当某一按键按下时,输出相对应的波形。 元件选型:单片机AT89C51系统,DAC0832一片,PC机一台,运算放大器3.2原理图3.3主要芯片介绍 (1)、DAC0832芯片介绍:0832采用双缓冲接口方式,其传送控制端接地,输入所存允许断ILE与+5V电源相连,利用一个地址码进行二次输出操作,完成数据的传送和激动转换,第一次操作室P2.6为高电平,将P0口数据线上的数据锁存于DAC0832的输入寄存器中。第二次操作是写控制信号由效,传送控制端为低电平,将输入寄存器中的内容锁存入0832的DAC寄存器中,D/A转换器便开始对锁存于DAC寄存器的8位数据进行转换,约经过1/2时钟周期后,在输出端(IOUT2、IOUT1)建立稳定的电流输出。运放的作用是将0832输出的模拟电流信号转换为电压波形。DAC0832为一个8位D/A转换器,单电源供电,在+5+15V范围内均可正常工作。基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mW。DAC0832的内部结构框图如下图所示。图2-2 DAC0832工作原理图DAC0832的外部引脚及功能介绍图如下:图1 DAC0832引脚图DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线 (+5v+15v) Vref:基准电压输入线 (-10v+10v) AGND:模拟地,摸拟信号和基准电源的参考地. DGND:数字地,两种地线在基准电源处共地比较好(2)单片机AT89C51介绍:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如下图所示: 图2 AT89C51引脚图AT89C51管脚说明:VCC:供电电压。 GND:接地。 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)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.4硬件连线图四、软件设计利用中断,当5个开关中有任意一个闭合时,跳转至中断程序,在中断程序中判断是哪一个按键闭合,跳转至相应的程序,执行输出波形的操作,每输出一个点之后,判断按键是否断开,如果依旧闭合,则继续输出,如果已经断开,则结束中断程序。程序如下: ORG 0000HLJMP MAINORG 0003H;外部中断0LJMP INT00ORG 0040HMAIN: MOV SP,60H;更改堆栈指针,避免堆栈与工作寄存器区发生冲突SETB IT0;外部中断请求0为下降沿触发方式SETB EA;中断允许总开关打开SETB EX0;允许外部中断0中断INT00: CLR EA;关中断PUSH PSW;现场保护PUSH AccSETB EA;开中断JNB P1.0,IR0;如果K0键闭合,则跳转至IR0输出锯齿波JNB P1.1,IR1;如果K1键闭合,则跳转至IR1输出梯形波JNB P1.2,IR2;如果K2键闭合,则跳转至IR2输出三角波JNB P1.3,IR3;如果K3键闭合,则跳转至IR3输出方波JNB P1.4,IR4;如果K4键闭合,则跳转至IR4输出正弦波INTIR: CLR EA;关中断POP Acc;现场恢复POP PSWSETB EA;开中断RETI4.1锯齿波的产生过程锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。锯齿波发生子程序如下:IR0:MOV R0,#0FEH ;设置端口地址MOV A,#00HLOOP:MOVX R0,A ;写入JB P1.0,INTIR ;如果k0键已经断开,则返回INC A ;A加一SJMP LOOP ;循环LJMP INTIR ;返回4.2梯形波产生过程梯形波的实现是设置一个初值,然后进行加一,当加到某个数时延时,之后减一,减到初值时在返回到之前的操作,继续加一、延时、减一。梯形波发生子程序如下:IR1:MOV R0,#0FEH;设置端口地址MOV A,#00HUP:MOVX R0,A;写入JB P1.1,INTIR;如果k1键已经断开,则返回INC A;A加一JNZ UP;循环DEC A;如果已经溢出,则减一,减一之后A的值为255LCALL DELAY;延时JB P1.1,INTIR;如果k1键已经断开,则返回DOWN:DEC AMOVX R0,A;写入JB P1.1,INTIR;如果k1键已经断开,则返回JNZ DOWN;循环SJMP UP;如果减到0,则跳转至UP,继续执行加一操作LJMP INTIR;返回DELAY:MOV R7,#100;延时子程序 DELAY1:MOV R6,#10NOPDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RET4.3 三角波的产生过程三角波的实现是设置一个初值,当加到某个值的时候,执行减一操作,减到初值时,再加一。三角波发生子程序如下:IR2:MOV R0,#0FEH;设置端口地址MOV A,#00HUP2:MOVX R0,A;写入JB P1.2,INTIR;如果k2键已经断开,则返回INC A;A加一JNZ UP2;循环DOWN2:DEC A;A减一MOVX R0,A;写入JB P1.2,INTIR;如果k2键已经断开,则返回JNZ DOWN2;循环SJMP UP2;如果减到0,则跳转至UP2,继续加一操作LJMP INTIR;返回4.4 方波的产生过程方波的实现只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。方波发生子程序如下:IR3:MOV R0,#0FEH;设置端口地址POSI:MOV A,#00H;给A赋值0x00MOVX R0,A;写入LCALL DELAY;延时JB P1.3,INTIR;如果k3键已经断开,则返回NEGA:MOV A,#0FFH;给A赋值0xFFMOVX R0,A;写入LCALL DELAY;延时JB P1.3,INTIR;如果k3键已经断开,则返回SJMP POSI;跳转至POSI,继续下一个波形的输出LJMP INTIR;返回4.5正弦波的产生过程正弦波的实现需要查表,每查一次表,输出一个数值,之后查下一个数值继续输出,当一个波形的256个数值全部输出之后,从头开始继续输出。正弦波发生子程序如下:IR4:MOV R0,#0FEH;设置端口地址MOV R1,#00HXX:MOV A,R1LCALL HANSHU;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度二手房存量房交易信用评价体系合作协议
- 二零二五版出租房屋装修及维护服务合同
- 2025年安徽中医药大学招聘18人笔试参考题库附答案解析
- 二零二五年度国登公关小能手动态品牌知名度提升合同
- 2025版跨境电商进口商品采购合同附属协议范本
- 2025版别墅租赁合同范本(含租赁物损坏赔偿条款)
- 2025河北沧州孟村回族自治县事业单位招聘52人笔试模拟试题及答案解析
- 2025江西南昌市东湖区招聘社区工作者(专职网格员)35人笔试参考题库附答案解析
- 2025首都医科大学附属北京同仁医院社会人员招聘1人笔试参考题库附答案解析
- 2025中国中煤华东分公司所属舟山公司第二批校园招聘(浙江)考试备考题库及答案解析
- 2025年文物保护工程从业资格考试(责任工程师·近现代重要史迹及代表性建筑)历年参考题库含答案详解(5套)
- 社保补助协议书范本
- 2025年调度持证上岗证考试题库
- 小区物业薪酬制度方案(3篇)
- 2025年计算机一级考试题库操作题及答案
- 高血压防治指南
- 2025反洗钱知识试题题库及参考答案
- 高中心理健康教学课件
- 2025年湖南省长沙市中考历史试卷(含解析)
- 演艺管理专业考试2025年试卷及答案
- 砂型铸造安全培训
评论
0/150
提交评论