三角波发生器设计报告

  • 格式:doc
  • 大小:556.50 KB
  • 文档页数:16

.

计算机硬件技术课程设计

学院: 自动化工程学院

班级:

姓名:

学号:

同组人:

.

2015年1月

目录

一、目的··

二、内容··

三、设计任务··

四、方案选择及原理··

五、所用器件··

六、原理及结果图··

七、流程图··

八、程序代码··

.

九、设计中遇到的问题··

十、收获及体会 ·

三角波发生器

一、目的

1、 了解和掌握8086、DAC0832等接口芯片和示波器的原理和功能;

2、 能用这些接口芯片构建一个简单的系统控制对象,

3、 掌握接口电路的综合设计与使用;

4、 通过自己动手,进一步了解计算机工作原理,接口技术,提高计算机硬件,软件综合应用能力,即对微机原理,接口技术,汇编语言程序设计进行综合训练。

二、内容

利用D/A设计一个三角波发生器,可利用按键改变其输出波形的幅值。例如,可利用5个按键改变其输出波形的幅值,当按下按键时使D/A输出幅值从1V增加到5V。

三、设计任务

.

1、选用8086和适当的存储器及接口芯片完成相应的功能。

2、画出详细的硬件连接图。

3、画出软件流程图。

4、给出所有程序清单并加上必要注释。

5、完成设计说明书(列出参考文献,所用器件型号)。

四、方案选择及原理

D/A转换器产生各种波形的原理:利用D/A转换器输出的模拟量与输入数字量成正比关系这一特点,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,则D/A转换器就可输出各种各样的模拟量,如方波、三角波、锯齿波、正弦波等。

五、所用器件

CPU8086、地址锁存器74LS373、译码器74154、数/模转换器DAC0832

主要器件简介

.

8086功能简介

1. 概述

Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片。8086

CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0~1048575,用十六进制表示为00000H~FFFFFH。

Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位单元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。

Intel 8086有四个内存区段(segment) 寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移

4 位然后把它加上偏移地址, 8086 的寻址方式改变让内存扩充较有效率。

.

2. CPU工作于最小模式中部分引脚信号定义

(1) AD15 ~AD0(Address Data Bus):地址/数据总线,双向,三态。

这是一组采用分时的方法传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或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(Interrupt Request)可屏蔽中断请求信号,输入,电平触发或边沿触发,高电平有效

CPU在每条指令周期的最后一个时钟周期检测此信号,一旦检测到此信号有效,并且中断允许标志位IF=1时,CPU在当前指令执行完后,转入中断处理程序。用STI指令,可使中断允许信号标志位IF置“1”,用CLI指令可使IF置“0”,从而可实现中断屏蔽。

3. 8086指令系统

按功能分类,8086的指令共有六大类,它们是:数据传送指令、算术运算指

.

令、逻辑运算和移位指令、字符串处理指令、控制转移指令以及处理器控制指令。

常用指令简介:

(1) MOV 传送指令(Move)

指令格式: MOV 目的,源

指令功能:将源操作数(一个字或一个字节)传送到目的操作数

(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 比较指令(Compare)

指令格式: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)全部呈现高阻状态(或者叫浮空状态);(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为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。

74154功能简介

74154为4线-16线译码器,当选通端(E1、E2)均为低电平时,可将地

.

址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。 如果将E1和E2中的一个作为数据输入端,由ABCD对输出寻址。

A、B、C、D 译码地址输入端(低电平有效)

E1、E2 选通端(低电平有效)

0-15 输出端(低电平有效)。

DAC0832功能简介

DAC0832是CMOS工艺制造的8位单片D/A转换器,属于R-2RT型电阻网络的8位D/A转换器,建立时间150ms,为电流输出型,并且片内带输入数字锁存器。DAC0832与89S52接成的是单缓冲方式,由于DAC0832是电流输出,而我们用的是模拟电压,在这种情况下,要将输出的电流转换成电压,转换电路接成同相电压输出形式。

引脚的功能定义

1、DI0—DI7:8位数字量输入信号。

.

2、CS:输入寄存器的选择信号,低电平有效。

3、WRI、WR2:前者为输入寄存器的“写”选通信号,低电平有效。后者为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:模拟地和数字地,为了防止串扰,系统的模拟地应共接与一点,系统字地汇于一点,然后两地再共接与一点。

10、VCC:工作电源,可在+5V—+15V间选择。

六、原理及结果图

.

原理图

运行结果

.

七、流程图

八、程序代码

CODE SEGMENT ;代码段开始

ASSUME CS:CODE ;代码段定义

START: MOV CX,256 ;计数器设为256,计数器大小与上升高度相