多功能波形发生器的设计及实现.docx_第1页
多功能波形发生器的设计及实现.docx_第2页
多功能波形发生器的设计及实现.docx_第3页
多功能波形发生器的设计及实现.docx_第4页
多功能波形发生器的设计及实现.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

目录一、引言1.1、设计目的1.2 、设计意义二、课程设计内容2.1设计任务2.2设计要求三、选用器材四、设计原理及其整体框图五、原理图设计5.1 核心芯片8086CPU 5.2时钟发生器5.3地址锁存器电路图54总线收发器电路图5.5存储器单元电路的设计5.6键盘扫描及译码电路5.7 DAC0832数模转换电路六、程序设计流程图6.1 矩形波流程图 6.2锯齿波流程图6.3三角波波形 6.4 正弦波波形 七、课程设计过程中的主要难点及解决方法八、收获、体会和建议九、程序清单十、参考文献多功能波形发生器的设计及实现摘要:本系统以8086CPU为核心器件组成的一个带有64K的微机系统,并采用DAC0832作为输出制作一种函数信号发生器。8086CPU是微处理器中最古老最基础的一块芯片,而DAC0832又是其他的数模转换芯片中最简单的一块,这两块芯片的的原理都比较简单,适合学生学习电子技术测测使用。本系统通过用汇编语言将已经编写好的数字量转换为模拟量,输出正弦波、三角波、矩形波等波形信号。采用软件控制波形有个好处,可以方便控制输出波形的幅度和频率。关键词:8086CPU;波形发生器;DAC0832;微机; 一 引言 信号发生器是用来提供各种测量所需波形信号的电子仪器,是一种常用的信号源,可广泛应用于自动控制、科学试验和电子电路等相关领域。但在分析电路时。也常常需要了解输出信号与输入信号之间的关系,为此,常用信号发生器来产生信号以激励系统,同时观察和分析系统对激励信号的响应。现如今,信号发生器的应用越来越广,同时也对信号发生器的频率稳定度、频率范围和输出信号的频率分辨率提出了越来越高的要求。因此,国内外纷纷采用直接数字频率合成技术来设计制作先进的信号发生器。本文正是基于数模转换原理,采用8086最小系统已经数模转换芯片DAC0832设计并制作出了多功能信号发生器。用该方法设计的多功能信号发生器具有频率稳定、幅值稳定、波形失真度低、原理简单等特点。11 设计目的(1)掌握方波,三角波,锯齿波,正弦波函数发生器的原理及设计方法。(2)掌握8086的工作原理,电路连接以及其最小系统的设计。(3)了解数模转换芯片的的工作方式和使用。(4)学会用Altium Designer 画电路原理图。12 设计意义函数发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都学要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。 二 课程设计内容2.1 设计任务 多功能波形发生器的设计及实现2.2设计要求a.利用微机原理知识,设计一个由8086控制的波形发生器系统。b.8086工作在最小模式下(利用8282和8286);c.熟悉典型波形产生的原理;d.掌握DAC0832的使用(和8086CPU的连线及编程);e.扩展存储系统:利用6264SRAM(每片容量8KB)和2764EPROM(容量8KB)芯片,组成容量为64KB的存储系统,设计系统确定其地址为:00000-0FFFFHf.能产生正弦波、方波、三角波或锯齿波波形g.波形的控制由接在8255上的开关的实现:设计四个开关,KEY1,KEY2,KEY3,KEY4,分别控制输出正弦波、方波、三角波或锯齿波波形h.采用8位DAC0832作为D/A转换器,将数字量转换为模拟量,要求给出0832与8086的连接方式和程序。 三 选用器件器材名称数量8088CPU16264RAM42764EPROM474LS138(译码器芯片)28284A182823828628255A1 NE555N(单运放)1DAC08091或门12与非门6导线若干1k电阻510u电容2晶振1 四 设计原理及其整体框图左边灰色部分是8086的最小系统原理图,8086的MN/MX#接到+5V时, 8086就工作在最小工作模式。在这种系统中,所有的总线控制信号都直接由8086产生,系统中的总线控制电路被减到最少。从图中可以看出时钟发生器采用单片的8284A;地址锁存器由3片8282组成。为了增强数据总线的驱动能力,系统还增加了两片8286作为数据收发器。波形的程序的数字量通过DAC0832装换为数字量,在通过一个接在DAC的运放输出。为了实现矩形波,锯齿波,三角波和正弦波的切换,还用了接在8255的四个按键实现。不同的键盘分别对应不同的波形,最后系统的整体框图如下所示 五 原理图的设计本次设计采用Altium Designer画图软件绘制系统的原理图,根据四的整体框图具体对应的原理图如下所示如下所示图表 1波形发生器电路图下面将一一讲解每个部分的功能以及其电路图的设计5.1 核心芯片8086CPU 图表 2 8086CPU的原理图8086管脚信号的定义。8086是一个40管脚的器件,为了便于组成不同规模的系统, Intel公司为8086设计了两种工作模式。在不同的工作模式下,管脚的定义不同。 5.1.1.两种工作方式为了便于组成不同规模的系统,在8086芯片中设计了两种工作模式,即最小模式和最大模式。5.1.2如何设定工作方式8086CPU的MN/MX(Minimum/Maximum Mode Control)管脚,是最大最小模式控制信号(标号33),它决定了8086工作在哪种工作模式。如果MN/MX接+5V, 则CPU工作在最小模式;MN/MX接地,CPU工作在最大模式。MN/MX管脚为信号输入管脚, 在设计系统时,根据选择的工作模式,将该信号直接连接+5V或地。8086CPU引脚的特点:多数引脚采用复用、分时,因为40条引脚不够分配,只能使一部分引脚分时复用:一条引脚当两条引脚使用。 8086管脚图见图4.2.1(图4.2.1同时给出了8088的管脚图), 图中第2431号管脚具有两种定义。括弧中表示的是最大模式下的管脚定义。首先我们介绍8086在最小模式下的管脚定义。 有一部分引脚的功能和CPU的工作方式有关:在最小方式和最大方式下,这些引脚可能有不同的功能. 由于本课程设计一个处理器就足够了,不用采用多处理器系统,所以接线采用最小模式接法。5.2时钟发生器8284A遂结晶体振荡器频率为14.31818MHZ,经8284A内部分频器对其三分频后,产生频率为4.77MHZ的系统时钟CLK88,供CPU机系统中有关部件使用。CLK88进行二分频的外部时钟PCLK,工系统中的某些部件使用。 系统加电时,经过一段很短的时间,四路直流电压正常,送出一个50us低电平的电源准备好信号PWRGOOD,系信号从RES端送入8284A。在8284A内部经与CLK88时钟同步后,得到一个高电平输出的RESWT信号,是系统复位。在系统加电时,这个高电平热色特需保持50us,而在系统已经正常工作的情况下,这个高电平RESET只需维持4个时钟周期即可。当送入RES输入端的PWRGOOD回到高电平,则RESET输出信号回到低电平,表示复位操作结束,系统按初始化从FFFF0H出转入到系统程序的入口,从而投入系统程序运行。图表 3时钟发生器电路5.3地址锁存器电路图 地址锁存器。如:8282,74LS573等8位锁存器均可作地址锁存器。图4.2.4是地址锁存器8282芯片的管脚功能和真值表。8282有8位信号输入管脚DI7DI0和8位三态信号输出管脚DO7DO0; OE#为输出允许信号,低电平有效;STB是锁存信号。下降沿有效。系统地址总线的形成系统需要独立的地址总线,并在整个总线周期维持地址有效。需外加地址锁存器来存储地址, 20位地址要三片锁存器。锁存器由ALE信号来控制, 即ALE作为锁存器的输入控制信号,控制地址的写入。除地址外,BHE#信号也要存入外接的地址锁存器。输出线有21根,其中一根为BHE线图表 4地址锁存器的电路连接图54总线收发器电路图当数据线负载大于CPU数据线扇出能力时,需要在CPU数据线上连接数据驱动器。在Intel系列芯片中,数据收发器为 8位的8286,8286的逻辑结构及其与8086的连接见图4.2.7和图4.2.8。8286具有两组对称的数据引线A7A0和B7B0, 为双向的输入输出线,三态。OE#是输出允许信号,输入,低电平有效。当OE#为高电平时,A7A0和B7B0输出高阻。T端则控制数据传送方向,T=1, 表示数据从A流向B,T=0,表示数据从B流向A。 因此,只需将8086的数据线连接8286的A组端口, 8086的数据使能连接8286的OE#, 8086的数据发送接收控制DT/R#连接8286的数据传送方向控制端T,便实现了8086和数据驱动器的连接。同样,也可以采用通用器件,双向数据驱动器74LS245替代8286。M/IO#RD#WR#操作101读存储器110写存储器001读外设010写外设图表 5总线收发器电路图5.5存储器单元电路的设计存储单式是存放代码和数据的地方,是微机系统的重要组成部分。本次设计采用了4片6264SRAM还有4片2764EPROM构成了64KB的存储系统。图表 6 2764EPROM图表 7 2764EPROM图表 8 6264SRAM图表 9 6264SRAM工作方式图表 10 2764工作方式将八块存储芯片的地址端对应的地址线连在一起,数据端对应的数据线连在一起,用一快138译码器芯片作为各个存储芯片的选通信号,这样就构成了整个设计的存储系统图表 11 64KB的存储系统5.6键盘扫描及译码电路键盘扫描采用并行口芯片8255A来检查按键的状态,按键的输入端加了上拉电阻,在没有按键按下的时候,输入的状态是高电平,当有按键按下的时候是输入是低电平。通过检测键盘的状态就能够知道哪个按键被按下,输出对应的波形。用138译码器对20个地址总线进行译码,译码后的用来选通8255并行口芯片和DAC0832数模转换电路具体点电路图如下所示:从中可以看出各个芯片的端口地址为下面所示:IOYO EQU 3800H ;片选8255对应端口的始地址MY8255_A EQU IOYO+00H*2 ;8255的A口地址MY8255_B EQU IOYO+00H*2 ;8255的B口地址MY8255_C EQU IOYO+00H*2 ;8255的C口地址MY8255_MODE EQU IOYO+00H*2 ;8255的控制寄存器地址MY0832 EQU 3819H ;片选DAC0832对应的端口地址5.7 DAC0832数模转换电路DAC0832是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在应用系统中得到了广泛的应用。这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。DAC0832的工作方式:A. 单缓冲工作方式双缓冲工作方式直通方式 由于考虑到本设计既要控制DAC的转换,有不用用多片芯片同时工作要求同时输出多个模拟量所以最终我选择了单缓冲工作方式。为是实现阻抗匹配,在DAC0832的输出端增加了一个运放,最终将数字信号转换为模拟量,从而实现波形的输出。六 程序路程图6.1 矩形波流程图 6.2锯齿波流程图NY退出退出变换到新的波形输出FFHNY波形变换延时并扫描看看键盘状态输出OOH开始l6.3三角波波形 6.4 正弦波波形 七 课程设计过程中的主要难点及解决方法 本次课程设计,由于之前的8086CPU 学的还算可以,所以程序写起来都是比较得心应手,但是Protel 这个软件之前也是学过,但是由于学太久,Protel 这个软件的操作大部分都已经忘记了,在很画图的过程中很多的菜单,功能都找不到。因此在这个过程中浪费了不少时间。为了解决Protel 画图的问题,我上网看了很多以前看过的视频教程,又上网查了很多的资料。才解决了问题八 收获、体会和建议 经过一个星期的奋战,终于完成了一个还算可以的设计,这几天我过的很充实,是我大学生活里继两次实习后又一次最充实的生活,看着自己的劳动成果,心里有种说不出的感觉。毕竟自己的努力还算有所回报,我为自己的努力感到自豪,当然我也认识到了自己学习中的不足,看到了自己在运用知识方面欠缺,程序设计方面还是不怎么熟练的,估计图也就刚刚达到标准。我想说:为完成这次课程设计我们确实很辛苦,但苦中仍有乐,时间对我们来说一下子变得很宝贵,真是恨不得睡觉的时间也拿来用了。当自己越过一个又一个难题时,笑容在脸上绽放。当我看到设计终于完成的时候,我乐了。对我而言,知识上的收获重要,精神上的丰收更加可喜。从这次的课程设计中,我不仅巩固了课本的知识,还学到了许许多多其他的知识。我知道了每一个课程之间是融会贯通的,于是就要重新翻书来确定自己的一些设计是否正确。这次设计让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!当然我的设计肯定有不足之处,希望老师批评指正,下次一定会做得更好。 九、程序清单IOYO EQU 3800H ;片选8255对应端口的始地址MY8255_A EQU IOYO+00H*2 ;8255的A口地址MY8255_B EQU IOYO+00H*2 ;8255的B口地址MY8255_C EQU IOYO+00H*2 ;8255的C口地址MY8255_MODE EQU IOYO+00H*2 ;8255的控制寄存器地址MY0832 EQU 3819H ;片选DAC0832对应的端口地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDDATA SEGMENT flag DB 2 DUP(?) ;存放将要转换的波形的的类型,0FH代表直线;0EH代表矩形波,0DH代表锯齿波;0BH代表三角波;07H代表正弦波 TEMP DB 2 DUP(?) ;存放三角波的走向,0代表上上升,1代表下降 BUF1 DB 00H,00H,0FFH,0FFH ;矩形波的预置数 BUF4 DB 7FH,8CH,98H,0A4H,0B0H,0BCH,0C6H,0D0H DB 0DAH,0E2H,0E9H,0F0H,0F5H,0F9H,0FCH,0FEH DB 0FFH,0FEH,0FCH,0F9H,0F5H,0F0H,0E9H,0E2H DB 0DAH,0D0H,0C6H,0BCH,0B0H,0A4H,98H,8CH DB 7FH,73H,67H,5AH,4FH,43H,39H,2FH DB 25H,1DH,15H,0FH,0AH,05H,02H,01H DB 00H,01H,02H,05H,0AH,0FH,15H,1DH DB 25H,2FH,39H,43H,4FH,5AH,67H,73H DDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DDATASTART: MOV AX,DDATA MOV DS,AX MOV SI,OFFSET flag ;初始化输出的波形类型 MOV CL,00H MOV SI,CL MOV DX,MY8255_MODE ;初始化8255的工作方式 MOV AL,90H ;工作方式0,A口输入 OUT DX,ALDANDS: PUSH AX ;保存各个寄存器的值 PUSH DI PUSH SI CALL DALLY ;延时并扫描 CALL KEYSCAN POP SI ;恢复各个寄存器的值 POP DI POP AXLine: MOV CL,00H ;判断上次输出的波形是不是直线 CMP SI,CL JZ NEXT0 ;如果是则继续,不是则把波形变换成直线 MOV SI,CL MOV DI,00H NEXT0:MOV DX,MY0832 ;输出直线 MOV AL,00H OUT DX,AL JMP DANDS ;返回扫描按键 rectangular: MOV CL,01H ;判断上次输出的波形是不是矩形波 CMP SI,CL JZ NEXT1 ;如果是则继续,不是则把波形变换成矩形波 MOV SI,CL MOV DI,0000H NEXT1:MOV DX,MY0832 MOV BX,OFFSET BUF1 ;从内存娶数据并输出 MOV AL,BX+DI OUT DX,AL INC DI CMP DI,03H ;判断是否一个周期已经结束 JNA TIAO1 MOV DI,00H TIAO1:JMP DANDS ;返回扫描按键sawtooth: MOV CL,02H ;判断上次输出的波形是不是锯齿波 CMP SI,CL JZ NEXT2 ;如果是则继续,不是则把波形变换成锯齿波 MOV SI,CL MOV DI,0000H MOV AL,00H NEXT2:MOV DX,MY0832 ;输出波形 OUT DX,AL INC AL INC AL JMP DANDS ;返回扫描按键 triangle: MOV CL,03H ;判断上次输出的波形是不是三角波 CMP SI,CL JZ NEXT3 ;如果是则继续,不是则把波形变换成三角波 MOV SI,CL MOV AL,00H MOV DI,OFFSET TEMP MOV CL,00H ;将三角波初始化为上升 MOV DI,CL NEXT3:MOV DX,MY0832 ;输出波形 OUT DX,AL MOV DI,OFFSET TEMP ;判断三角波是不是出于下降阶段 MOV CL,01H CMP DI,CL JZ DOWN ;如果为下降阶段则跳到DOWN,如果为上升阶段, UP: INC AL INC AL JNZ TIAO3 ;如果上升到最顶端,则转变为下降阶段 MOV DI,OFFSET TEMP MOV CL,01H MOV DI,CL DOWN:DEC AL DEC AL JNZ TIAO3 MOV DI,OFFSET TEMP ;如果下降到最低端,则转为上升阶段 MOV CL,00H MOV DI,CL TIAO3:JMP DANDS ;返回扫描按键 sine:MOV CL,04H ;判断上次输出的波形是不是正弦波 CMP SI,CL JZ NEXT4 ;如果是则继续,不是则把波形变换成正弦波 MOV SI,CL MOV DI,0000H MOV AL,00H NEXT4:MOV DX,MY0832 ;从BUF4取数据并输出 MOV BX,OFFSET BUF4 MOV AL,BX+DI OUT DX,AL INC DI CMP DI,40H ;判断输出的中周期是否结束 JNZ TIAO4 MOV DI,00H TIAO4:JMP

温馨提示

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

评论

0/150

提交评论