三角波发生器设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机硬件技术课程设计
学院:自动化工程学院
班级:
姓名:
学号:
同组人:
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 目的
指令功能:使程序无条件的转移到指定的地址去执行