三角波发生器设计报告_第1页
三角波发生器设计报告_第2页
三角波发生器设计报告_第3页
三角波发生器设计报告_第4页
三角波发生器设计报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机硬件技术课程设计 学院: 自动化工程学院 班级: 姓名: 学号: 同组人: 2015年1月目录一、目的二、内容三、设计任务四、方案选择及原理五、所用器件六、原理及结果图七、流程图八、程序代码九、设计中遇到的问题十、收获及体会 三角波发生器一、目的1、 了解和掌握8086、DAC0832等接口芯片和示波器的原理和功能;2、 能用这些接口芯片构建一个简单的系统控制对象,3、 掌握接口电路的综合设计与使用;4、 通过自己动手,进一步了解计算机工作原理,接口技术,提高计算机硬件,软件综合应用能力,即对微机原理,接口技术,汇编语言程序设计进行综合训练。2、 内容 利用D/A设计一个三角波发生器,可

2、利用按键改变其输出波形的幅值。例如,可利用5个按键改变其输出波形的幅值,当按下按键时使D/A输出幅值从1V增加到5V。三、设计任务1、选用8086和适当的存储器及接口芯片完成相应的功能。2、画出详细的硬件连接图。3、画出软件流程图。4、给出所有程序清单并加上必要注释。5、完成设计说明书(列出参考文献,所用器件型号)。四、方案选择及原理D/A转换器产生各种波形的原理:利用D/A转换器输出的模拟量与输入数字量成正比关系这一特点,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,则D/A转换器就可输出各种各样的模拟量,如方波、三角波、锯齿波、正弦波等。五

3、、所用器件CPU8086、地址锁存器74LS373、译码器74154、数/模转换器DAC0832主要器件简介8086功能简介1. 概述Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片。8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0,用十六进制表示为00000HFFFFFH。Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通

4、常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位单元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。 Intel 8086有四个内存区段(segment) 寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移 4 位然后把它加上偏移地址, 8086 的寻址方式改变让内存扩充较有效率。 2. CPU工作于最小模式中部分引脚信号定义(1) AD15 AD0(Address Data Bus):地址/数据总

5、线,双向,三态。 这是一组采用分时的方法传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。(2) (RD)读选通信号,三态,输出,低电平有效信号低电平有效时,表示CPU正在进行读存储器或读I/O端口的操作(3) (WR)写选通信号,三态,输出,低电平有效信号有效时,表明CPU正在执行写总线周期,同时由信号决定是对存储器还是对I/O端口执行写操作(4) (M/IO)存储器或I/O端口控制信号,三态,输出信号为高电平时,表示CPU正在访问存储器,为低电平时,表示CPU正在访问I/O端口。(5) INTR

6、(Interrupt Request)可屏蔽中断请求信号,输入,电平触发或边沿触发,高电平有效CPU在每条指令周期的最后一个时钟周期检测此信号,一旦检测到此信号有效,并且中断允许标志位IF=1时,CPU在当前指令执行完后,转入中断处理程序。用STI指令,可使中断允许信号标志位IF置“1”,用CLI指令可使IF置“0”,从而可实现中断屏蔽。3. 8086指令系统按功能分类,8086的指令共有六大类,它们是:数据传送指令、算术运算指令、逻辑运算和移位指令、字符串处理指令、控制转移指令以及处理器控制指令。常用指令简介:(1) MOV 传送指令(Move)指令格式: MOV目的,源指令功能:将源操作数

7、(一个字或一个字节)传送到目的操作数(2) IN输入指令(Input)指令格式: IN AL,端口地址或 IN AX,端口地址 IN AL,DX ;端口地址存放在DX寄存器中或 IN AL,DX指令功能:输入指令用来从指定的外设寄存器取信息送入累加器。(3) OUT输出指令(Output)指令格式: OUT AL,端口地址或 OUT AX,端口地址 OUT AL,DX ;端口地址存放在DX寄存器中或 OUT AL,DX指令功能:输出指令用来把累加器的内容送往指定的外设存储器当端口地址大于FFH时,必须使用第二种寻址方式,即先将端口号送入DX寄存器,再执行操作。(4) CMP比较指令(Compa

8、re)指令格式:CMP目的,源指令功能:两个操作数相减,不产生运算结果,仅影响标志,接着可用条件跳转指令决定程序去向(5)JMP无条件转移指令指令格式:JMP目的指令功能:使程序无条件的转移到指定的地址去执行74LS373功能简介74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器。74LS373工作原理简述:(1)1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈

9、现高阻状态(或者叫浮空状态);(2)当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。当三态门使能信号OE为低电平时,三态门导通,允许Q0Q7输出,OE为高电平时,输出悬空。74154功能简介74154为4线16线译码器,当选通端(E1、E2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。如果将E1和E2中的一个作为数

10、据输入端,由ABCD对输出寻址。A、B、C、D译码地址输入端(低电平有效) E1、E2选通端(低电平有效)015输出端(低电平有效)。DAC0832功能简介DAC0832是CMOS工艺制造的8位单片D/A转换器,属于R-2RT型电阻网络的8位D/A转换器,建立时间150ms,为电流输出型,并且片内带输入数字锁存器。DAC0832与89S52接成的是单缓冲方式,由于DAC0832是电流输出,而我们用的是模拟电压,在这种情况下,要将输出的电流转换成电压,转换电路接成同相电压输出形式。引脚的功能定义1、DI0DI7:8位数字量输入信号。2、CS:输入寄存器的选择信号,低电平有效。3、WRI、WR2:

11、前者为输入寄存器的“写”选通信号,低电平有效。后者为DAC寄存器的“写”选通信号。4、XFER:数据转移控制信号,用来控制WR2信号,低电平有效。5、IOUTI:电流输出引角1端,此电流输出端为是“1”的各位权电流汇集输出端。当DAC寄存器全为“1”时,此电流最大,当DAC寄存器全为“0”时,此电流为“0”。6、IOUT2:电流输出引角2端,此电流输出端是逻辑电平为“0”的各位输出电流之和。在数值上,IOUT,+IOUT2=常数。7、Rfb:反馈信号输入端,芯片内已连接有反馈电阻。8、VREF:基准电压输入端,可在-10V+10V范围内选择。9、AGND、DGND:模拟地和数字地,为了防止串扰

12、,系统的模拟地应共接与一点,系统字地汇于一点,然后两地再共接与一点。10、VCC:工作电源,可在+5V+15V间选择。六、原理及结果图原理图运行结果七、流程图八、程序代码CODE SEGMENT ;代码段开始ASSUME CS:CODE ;代码段定义START: MOV CX,256 ;计数器设为256,计数器大小与上升高度相等 MOV AL,00H ;高度初始值为0 MOV DX,0000H;DAC0832地址为0000HLOOP1: OUT DX,AL ;输出AL MOV BX,125 ;延迟环节的计数器使用BX,延迟125个单位时间DELAY1:DEC BX ;BX自减1 JNZ DEL

13、AY1 ;直到BX为0才延迟结束 INC AL ;AL自加1 LOOP LOOP1 ;三角波上升过程的循环,256次后结束 MOV CX,256 ;计数器重设为256,开始AL下降 MOV AL,0FFH ;AL为255 MOV DX,0000H LOOP2: OUT DX,AL ;输出AL MOV BX,125 ;延迟DELAY2:DEC BX JNZ DELAY2 DEC AL ;AL自减1 LOOP LOOP2 ;三角波下降的循环,256次后返回上一段程序 JMP START ;AL再次上升 CODE ENDS ;代码段结束 END START ;整个程序结束九、设计中遇到的问题 本次大

14、作业中所用到的proteus仿真软件可以说是很熟悉了,只要的问题的如何在软件当中画出他的仿真电路图,根据在计算机硬件这门课程中学到的有关于cpu8086以及D/A数模转换的基础知识原理,在绘制仿真的过程中,在如何用键盘输入1-5V这个环节上可谓是下了蛮大功夫,在仿真的过程中实在不知道如何输入这一环节,为此和同学讨论了许久怎样实现这个功能,最后被网上一篇有关微机原理的内容点醒,于是用了5个开关分别接入1,2,3,4,5V,在仿真的过程可以接入1,2,3,4,5V,通过这样改变幅值。而这CPU程序代码这一块,书上107页有实现三角波输出的具体代码段,主要是通过EMU8086仿真运行,在一番修改过后时间得到正确的代码,再转化成.exe格式放入8086中,最终实

温馨提示

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

评论

0/150

提交评论