微机原理课程设计.docx
《微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
![微机原理课程设计.docx](https://file1.bdocx.com/fileroot1/2022-11/16/98458538-7357-4c34-9437-a87bb42edf6c/98458538-7357-4c34-9437-a87bb42edf6c1.gif)
微机原理课程设计
微机原理与接口技术课程设计
题目:
利用DAC0832实现正弦波输出.
班级:
9通信工程2班.
姓名:
张银.
学号:
P092114043.
日期:
2011年12月15日
目录
1、引言2
1.1背景和编写目的2
1.2术语和缩写2
2.系统组成3
3.硬件设计3
3.18259A模块:
3
3.2DAC0832模块5
3.38086CPU模块7
4.软件编程11
4.1正弦波产生的框图:
11
4.2源程序设计及程序代码11
5.系统调试与仿真结果13
6.仿真结果分析...............................................................................................................................14
7.设计日程15
8.课程设计体会15
9.参考文献16
10.总电路图:
17
1、引言
1.1背景和编写目的
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。
讨论某一部分原理时又要涉及到其它部分的工作原理。
这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。
所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
微机应用系统设计与综合实验是对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
应用内容主要包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等,通过这些设计以便使我们对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并提高综合运用所学知识分析问题和解决问题的能力。
在设计时必须用模数转换器即A/D转换器将模拟信号变成数字量后才能送入计算机进行处理。
而计算机处理后的结果也必须通过数模转换器即D/A转换器转换成模拟量后,结果在用proteus7.6SP4软件仿真时显示波形和记录下来。
可见模数或数模转换在构成一个控制系统中起着非常重要的作用。
可以使我们加深对该转换过程的认识和理解,有利于以后的学习及设计一个控制系统。
1.2术语和缩写
优先权判别器PR:
用于管理和识别各中断源的优先级别。
通常,IR0优先权最高,IR7优先权最低。
级联缓冲器/比较器:
实现多个8259A的级联。
主要信号CAS0-CAS2和CAS0-CAS2:
级联信号,级联方式时,一个8259A为主片,最多能带动8个8259A从片,控制64个中断级。
具有双重功能:
当8259A工作于非缓冲方式时,它作为输入信号,规定该芯片是主片(SP=1)还是从片(SP=0);当工作于缓冲方式时,它作为输出信号EN控制缓冲器的传送方向。
DAC0832:
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
2、系统组成
3.硬件设计
.8259A模块:
8259A的主要功能如下:
①一片8259A可以接受并管理8级可屏蔽中断请求,通过9片8259A级联可扩展至64级可屏蔽中断优先控制。
②对每一级中断都可以通过程序来屏蔽或允许。
③在中断响应周期,8259A可为CPU提供相应的中断类型码。
④具有多种工作方式,并可通过编程来加以选择。
8259A芯片可以接最多8个中断源,但由于可以将2个或多个8259A芯片级连,并且最多可以级连到9个,所以最多可以接64个中断源。
通过8259A可以对单个中断源进行屏蔽。
图8-78259功能框图
在一个8259A芯片有如下几个内部寄存器:
中断屏蔽寄存器(IMR):
8位寄存器,存放CPU发出的按位屏蔽信号,置1的位将使相应中断级被屏蔽,8259A对其中断请求不予理睬,用户可以编程实现
中断服务寄存器(ISR):
8位寄存器,用来存放当前正在处理的所有中断级.如CPU正在处理IR1的中断请求,则IR1被置1.当系统中只有一个8259A芯片时,ISR中1的位数表示多重中断的数量.
中断请求寄存器(IRR):
8位寄存器,接收来自IR0—IR7的中断请求信号,每级对应一位,有中断请求时对应位置1.
2.DAC0832模块
D/A0832引脚图及逻辑结构图如下所示:
DAC0832引脚功能说明:
DI0~DI7:
数据输入线,TLL电平。
ILE:
数据锁存允许控制信号输入线,高电平有效。
CS:
片选信号输入线,低电平有效。
WR1:
为输入寄存器的写选通信号。
XFER:
数据传送控制信号输入线,低电平有效。
WR2:
为DAC寄存器写选通输入线。
Iout1:
电流输出线。
当输入全为1时Iout1最大。
Iout2:
电流输出线。
其值与Iout1之和为一常数。
Rfb:
反馈信号输入线,芯片内部有反馈电阻。
Vcc:
电源输入线(+5v~+15v)。
Vref:
基准电压输入线(-10v~+10v)。
AGND:
模拟地,摸拟信号和基准电源的参考地。
DGND:
数字地,两种地线在基准电源处共地比较好。
DAC0832由两个8位寄存器和一个8位的D/A转换器组成,使用两个寄存器的好处是可以进行两次缓冲操作,以至能简化某些应用系统中的硬件接口电路设计。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
DAC0832的工作方式:
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:
直通方式、单缓冲方式和双缓冲方式。
DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要。
所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图:
D/A转换结果采用电流形式输出。
若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。
运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。
DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。
3.8086CPU模块
两种工作方式功能相同的引脚
(1)AD15~AD0:
地址/数据总线,双向,三态。
(2)A19/S6~A16/S3:
地址/状态信号,输出,三态。
(3)BHE(低)/S7:
允许总线高8位数据传送/状态信号,输出,三态。
(4)READ:
读信号,输出,三态,低电平有效。
信号低电平有效时,表示CPU正在进行读存储器或读I/O端口的操作。
(5)READY:
准备就绪信号,输入,高电平有效。
READY信号用来实现CPU与存储器或I/O端口之间的时序匹配。
(6)INTR:
可屏蔽中断请求信号,输入,高电平有效。
(7)TEST:
等待测试控制信号,输入,低电平有效。
(8)NMI:
非屏蔽中断请求信号,输入,高电平有效。
(9)RESET:
复位信号,输入,高电平有效。
(10)CLK:
时钟信号,输入。
(11)VCC电源输入引脚。
8086CPU采用单一+5V电源供电。
(12)GND:
接地引脚。
(13)MIN/MAX:
最小/最大模式输入控制信号。
引脚用来设置8086CPU的工作模式。
当为高电平(接+5V)时,CPU工作在最小模式;当为低电平(接地)时,CPU工作在最大模式。
1.最小模式:
用于单机系统,系统中所需要的控制信号全部由8086直接提供。
在最小系统中,除了8086CPU、存储器、以及I/O接口芯片外,还包括:
一片8284A,作为时钟频率;三片8282/8283或74LS373,作为地址锁存器;二片8286/8287或74LS245,作为双向数据总线收发器。
2总线读周期
8086CPU进行存储器或I/O端口读操作时,总线进入读周期,时序如下:
时钟周期T:
CPU工作的时间脉冲。
由时钟发生电路提供,每个时间脉冲的间隔时间为时钟周期。
总线周期:
每4个时钟周期完成一次总线操作,即一个操作数的读/写操作,称为总线周期。
指令周期:
完成一条指令的时间,由整数个总线周期构成,指令功能不同其指令周期长度不等。
等待周期TW:
当被操作对象无法在3个时钟周期内完成数据读写操作时,在总线周期中插入等待周期。
空闲周期TI:
无总线操作时进入空闲周期,插入的个数与指令有关。
4.8253模块
8253的主要功能:
1、一个芯片上有三个独立的16位计数器通道
2、每个计数器的内部结构相同,可通过编程手段设置为6种不同的工作方式来进行定时/计数
3、每个计数器在工作过程中的当前计数值可被CPU读出
8253内部编程结构
1.计数器/定时器8253特点:
三个通道,可单独使用
2.片内寻址
3.A1A0=00、01、10、11
4.对应:
通道0、1、2和控制口地址
5.工作方式:
6种
8253内部结构图如下:
1、数据总线缓冲器
往计数器设置计数初值;
从计数器读取计数值;
往控制寄存器设置控制字。
2、读/写逻辑电路
A1A0:
端口选择
00:
通道0(0号计数器)
01:
通道1(1号计数器)
10:
通道2(2号计数器)
11:
控制字寄存器
8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。
8253的各种工作方式如下:
1.方式0:
计数结束则中断
工作方式0被称为计数结束中断方式,它的定时波形如图9.3.4所示。
当任一通
道被定义为工作方式0时,OUTi输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数,直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUTi端输出的高电平一直维持到下次再写入计数值为止。
在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。
当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数;计数值将保持GATE有效时的数值不变,待GATE重新有效后,减“1”计数继续进行。
显然,利用工作方式0既可完成计数功能,也可完成定时功能。
当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi端输入,由它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变,表示计数次数到。
当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。
从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数,定时时间从写入计数值开始,到计数值计到“0”为止,