AD数模转换微机原理课程设计报告
- 格式:doc
- 大小:103.50 KB
- 文档页数:9
目录
一、开发环境 (1)
二、设计目的和意义 (1)
三、设计思想、原理 (1)
四、系统设计原理框图 (1)
五、程序流程图 (6)
六、程序源代码 (8)
七、程序调试过程分析 (8)
八、测试结果及分析 (8)
九、心得体会 (8)
参考文献 (8)
一、开发环境
Pc机一台、Windows98系统、tcpsoft、微机实验箱.
拨码开关S14第2位置ON,第1位置OFF
拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF
为不影响结果,其他拨码开关置OFF
二、设计目的和意义
1.了解模数转换的基本原理
2.掌握ADC0809A/D的结构及使用方法。
3. 编写程序,将A/D转换结果写入内存6000H:0~2FFH区域,并同时在屏幕上显示300H个A/D转换结果。
三、设计思想、原理
选择RAO做为模拟输入通道;连续转换4次再求平均值做为转换结果;
最后结构只取低8位;结果送数码管的低3位显示;
利用实验台上的ADC0809A/D转换器连接成中断方式的A/D转换电路,编写程序将A/D转换结果存入内存数据缓冲区,并在屏幕上
显示转换结果或以图形方式显示电平高低,验证输入的模拟量电压的大小与转换结果的数字量之间的对应关系。
四、系统设计原理框图
1.相关知识
由于微机只能处理数字化的信息,而在实际应用中被控对象常常是连续变换的物理量,因此,微机用于测控系统时需要有能吧模拟信号转换成数字信号的接口,以便于能对被控制对象进行处理和控制。A/D转换器就承担这样的任务,它适用于工业自动化控制,数据采集等许多领域。
A/D转换就是把模拟量转换成二进制码表示的数字量,一般的A/D转换过程是通过采样,保持,量化和编码4个步骤完成的,这些步骤往往是合并运行的。本设计用ADC 0809实现A/D转换。按查询方式采样三路A/D转换数据,用简单输入口(74LS244)查询EOC信号,每循环一次,0、1、2通道各采样一次,采样结果为:0通道数据放入AX中, 1通道数据放入BX中, 2通道数据放入CX
中,三个寄存器均是低8位有效。
ADC0809是一种CMOS单片8位A/D转换器,8路模拟量输入以及地址锁存与译码。设有与微机数据总线相连的TTL三态输出锁存器。ADC0809可用单一的+5V 电源工作,转换时间约为100us。用单一+5V电源时,模拟量输入量程为0~5,对应的转换值为00HH~FFH.
ADC0809的主要引脚信号说明如下:
IN0~IN7:8路模拟量输入端。
ADD-A.ADD-B.ADD-C:三位地址线,通过地址译码选通8路模拟量输入端中的一路。
CLOCK:外部提供给ADC0809工作的时钟信号。
EOC:A/D转换结束信号。
ALE:通道地址锁存允许信号。
ENABLE:输出允许信号,用来打开三态输出的数据锁存器。
START:A/D转换启动信号。
REF(+).REF(-):正的和负的的参考电压。
ADC0809属于采用逐次逼近法的A/D转换类型的转换器。采用逐次逼近法的A/D 转换的工作过程是:当启动脉冲来到后,控制逻辑首先使N位(这里N=8)逐次逼近寄存器(SAR)的最高位置“1”,其余位清“0”。然后将该值送D/A转换器。经D/A转换后的输出电压即为满量程电压的1/2(设为Vh)。将输入电压Vi和Vh比较,若Vi>Vh,则最高位不变;若Vi ADC0809转换由START脉冲信号来启动,脉冲下降沿有效(转换开始).当输入通道选择地址线状态稳定后,在ALE信号的上升沿将地址线的状态锁存存到芯片的地址锁存器中。在转换操作过程中,信号EOC保持低电平,当转换结束时变为高电平。该信号主要用来查询A/D转换是否结束或者用来作为中断请求信号。当ENABLE被置为高电平时,三态门打开,将数据锁存器的内容输出到数据总线上。 片内带有8路模拟开关,并有与微处理器兼容的控制逻辑。它采用逐次逼近法进行8位转换。因此,模数转换部分包括一个带有树状模拟开关的256R分压器和一个逐次逼近寄存器S.A.R。8路模拟开关则可选通8路模拟输入的任何一路单端模拟信号,其内部结构框图如图1-1所示。 2.电路说明 在掌握ADC0809的内部结构及工作原理的基础上设计中断方式A/D转换电路并在实验台上连线。电路图如图1-2所示。需要连接的线路如下: .8254 OUT0接ADC0809CLK(500KHZ)。 .ADC0809的EOC接IRQ2(B4)。 .ADC0809cs接220H~227H。 .8254CS接200H~207H。 图1-1ADC0809内部结构框图 .8254GATE0接+5V。 .8254接系统总线CLK(B20)或接试验台上8MHZ的振荡器输出。 .ADC0809的IN0接电位器的滑动器端,电位器的另两端分别接+5V和地。 3.编程提示 1.ADC0809的分辨率为8位,可有8个(N0~N7)模拟输入,模拟电压范围为0~5V,在CLK为500KHZ时,转换速度为 128us,它的START端为A/D转换启动信号。ALE端为通道选择的地址所存信号,实验电路中将START和ALE相连,输出指令产生的IOW信号与地址译码信号CS 信号经或非门产生一个正脉冲,该脉冲一方面锁存A2A1A0的地址使8路模拟开关的某一路接通,同时起到启动A/D转换的作用,故启动A/D转换只须如下2条指令: MOV DX,PORTADC ;ADC 0809的端口地址 OUT DX,AL ;发CS及IOW信号 在本系统中,ADC 0809的端口地址为220H AL中具体为什么内容并不重要,这是一个虚拟写动作。 2.在中断方式下,当A/D转换结束后就会自动产生EOC信号,此信号接IRQ2,从而引起一次硬中断。在中断处理程序中,使用如下指令即可读取A/D转换的结果。 MOV DX,PROTADC IN AL,DX 输入指令产生的IOR信号与CS信号或非门接至OE端,OE端是高电平有效。输入指令执行期间输出三态缓冲器开门,数据进入数据总线。 在本系统中,ADC0809的端口地址为220H。 3.波形显示 要将A/D转换数据在屏幕上以图形方式显示出来,需设置屏幕显示的图形方式。可用INT 10H BIOS调用,用以下指令可以设置640*200单色图形方式: MOV AH,0 MOV AL,6 INT 10H