ADC0809单通道模拟电压采集电路.docx

上传人:b****3 文档编号:2070656 上传时间:2022-10-26 格式:DOCX 页数:15 大小:35.14KB
下载 相关 举报
ADC0809单通道模拟电压采集电路.docx_第1页
第1页 / 共15页
ADC0809单通道模拟电压采集电路.docx_第2页
第2页 / 共15页
ADC0809单通道模拟电压采集电路.docx_第3页
第3页 / 共15页
ADC0809单通道模拟电压采集电路.docx_第4页
第4页 / 共15页
ADC0809单通道模拟电压采集电路.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

ADC0809单通道模拟电压采集电路.docx

《ADC0809单通道模拟电压采集电路.docx》由会员分享,可在线阅读,更多相关《ADC0809单通道模拟电压采集电路.docx(15页珍藏版)》请在冰豆网上搜索。

ADC0809单通道模拟电压采集电路.docx

ADC0809单通道模拟电压采集电路

微型计算机技术

课程设计

指导教师:

程世旭刘元超

学生班级:

计科10606班

学生姓名:

古莹

学号:

6

班内序号:

4

课设日期:

2009年9月14日~2009年9月27日

一.设计目的

二.实验平台和所用器材

三.设计内容

四.设计原理

五.程序流程图

六.调试分析

七.原理图设计

八.程序清单

九.收获、体会和建议

一设计目的

1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制工作奠定一定的基础。

2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A等可编程器件的使用,掌握译码器74LS138的使用。

3.学会用汇编语言编写一个较完整的实用程序。

4.掌握微型计算机技术应用开发的全过程:

分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。

二实验平台和所用器材

本实验是在windowsXP操作系统上实现的,程序的开发环境是用实验室的课设平台,所用到的器材如下:

1一块实验面包版(内含时钟电路)。

2可编程芯片8253、8255A、ADC0809和译码器芯片74LS138、74LS245各一片。

3可调电位器4.7KΩ一个、发光二极管8个、74LS06芯片2个。

4导线若干。

5示波器、万用表、常用工具等。

三设计内容

采用ADC0809设计一个单通道模拟电压采集电路,要求对所接通道的变化的模拟电压值进行采集,采集来的数字量一路送至发光二极管指示,一路送至计算机显示到屏幕上,每行显示5个数据,采集完100个数据后停止采集过程,采集过程中按下ESC键也可中断采集过程。

首先要求我们定义出选择菜单,给出显示界面。

1.8255的自检测

这部分要求我们初始化8255,为了能够正确的看出8255已经初始化,当8255初始化后向B口送数据0FH到发光二管上显示,如果能够正确显示就说明8255已经被初始化。

并且可以说明74LS245,8255,74LS06能够正常工作,并且他们的连线都正确。

1.8253的自检测

这部分要求我们初始化8253,8253初始化后可以通过示波器观察输出的波形是否满足要求。

3.进行A/D转换

这部分是本次课设的关键部分,在做此之前,必须保证8255和8253都被正确的初始化,通过8255的C口控制ADC0809对模拟数据的采集,然后从A口读取转换后的数据,一路送发光二极管显示,一路送显示器上显示,模拟量由电位器得到。

2.退出系统

如果用户需要结束程序,从菜单上选择此菜单即可退出程序.

四设计原理

1、使用Protues或Protel设计出正确电路原理图,设计原理如下:

,一端接地,调节电位器得到变化的模拟电压,该电压接至ADC0809的某一通道输入端(如IN0),ADC0809的时钟为500KHz,由8253对面包板上时钟1MHz或2MHz分频后得到,8253的端口地址:

300H~303H。

b.编程启动ADC0809转换(ADC0809完成一次转换的时间大约为120μs),将ADC0809的EOC引脚信号作为中断信号,若转换结束则进入中断服务程序。

在中断服务程序中读入模数转换结果,一路送至发光二极管显示,一路送至计算机显示到屏幕上。

c.8255A用做CPU和ADC0809间的接口芯片,ADC0809的控制信号(如OE、ALE、START等)可由8255A的PC口提供,模数转换后的数字量可经8255A的PA口读入,经8255A的PB口输出到发光二极管。

8255A端口地址:

304H~307H。

d.译码电路由74LS138提供。

74LS245用于总线和8255A之间的数据的双向传输和隔离。

◆MFPTPCI总线驱动板逻辑结构如图所示

◆芯片简介

(1)74LS245的功能表

●74LS245数据总路线缓冲器

●74LS245的功能表

(2)ADC0809简介

◆引脚信号

Ø提供一个8通道的多路开关和寻址逻辑

●IN0~IN7:

8个模拟电压输入端

●ADDA、ADDB、ADDC:

3个地址输入线

●ALE:

地址锁存允许信号

ØALE的上升沿用于锁存3个地址输入的状态,然后由译码器从8个模拟输入中选择一个模拟输入端进行A/D转换。

◆ADC0809的外部特性

◆ADC0809的数字输出

ADC0809内部锁存转换后的数字量

具有三态数字量输出端D0~D7

配合输出允许信号OE

当输出允许信号OE为高电平有效时,将三态锁存缓冲器的数字量从D0~D7输出

注:

其它的芯片查阅微型计算机技术的书。

(3)8255A与ADC0809的连接

(4)8253定时/计数器

Ø对8253进行编程,定时100ms后,产生中断,该定时信号(OUT0)送入到系统预留给用户的IRQ2(或IRQ10)引脚产生中断,在中断服务子程序中,启动一次ADC0809模数转换,ADC0809采用查询方式工作。

IRQ10中断向量号为72H

Ø8253的时钟(CLK0)取自MFID实验平台。

2、编写程序初始化8255和8253

(1)初始化8255:

8255有四个寄存器,地址为300h-303h,分别为A口,B口,C口,和控制口,首先要向C口写入控制字,控制字格式如下:

●工作方式控制

D7D6D5D4D3D2D1D0

特征位

1

A组方式选择

端口A输入/输出

C口高四位输入/输出

B组方式选择

端口B输入/输出

端口C低四位输入/输出

●C端口置位/复位控制

D7D6D5D4D3D2D1D0

特征位0

任意

位选择

置位/复位0为复位,1为置位

可用如下代码初始化8255:

MOVDX,307H;给8055控制口,初始化8255

MOVAL,98H;AL=10010000,写8255控制字,A口输入,B口输出,C口高/低四位输出

OUTDX,AL

(2)初始化8253

8253控制字格式如下:

D7D6D5D4D3D2D1D0

计数器选择

读写格式

工作方式

计数方式

MOVDX,303H;给8053控制字口

MOVAL,00010100B;计数器0工作在方式2,只低八位,用二进制

OUTDX,AL

MOVDX,300H;给计数器0初值2

MOVAL,2

OUTDX,AL

3、编写中断服务子程序

首先要设置好中断向量,这里是调用72H号中断,在里面写入A/D转换的中断服务子程序地址,所以要保存原来72H中断向量表里面的内容,最后在程序完成时要恢复72H里的内容,在执行这些操作的时候是不容许中断的,所以要关中断,操作完成后要开中断,可以用以下指令来完成:

MOVAX,3572H;获取原中断向量

INT21H

MOVINT0A_OFF,BX;保存x中断向量

MOVBX,ES

MOVINT0A_SEG,BX

CLI;关中断

MOVAX,2572H

MOVDX,SEGLEDLIGHT;设置新的中断向量

PUSHDS

MOVDS,DX

MOVDX,OFFSETLEDLIGHT

INT21H

POPDS

STI;开中断

要想启动0809进行转换,首先必须有一个start信号,该信号为:

数据采集之后,恢复中断向量,部分程序如下:

MOVAX,2572H;恢复中断向量

MOVDX,INT0A_SEG

PUSHDS

MOVDS,DX

MOVDX,INT0A_OFF

INT21H

POPDS

INAL,0A1H;屏蔽IRQ10

ORAL,04H

OUT0A1H,AL

MOVAX,4C00H;程序退出

INT21H

LEDLIGHTPROCFAR;中断服务程序

PUSHSI

PUSHAX

PUSHDX

CLI;关中断

MOVDX,307H

MOVAL,5H;AL=00000101使PC2口为高,读取转换结果到PA口

OUTDX,AL

MOVDX,304;从A口读取数据

INAL,DX

PUSHAX;先保存数据

SHOW:

ANDAL,0F0H;显示高四位

MOVCL,04

SHRAL,CL

CMPAL,9

JAHEX

ADDAL,30H

JMPNEXT

HEX:

ADDAL,37H

NEXT:

MOVDL,AL

MOVAH,2;输出显示高四位

INT21H

POPAX

ANDAL,0FH;显示低四位

CMPAL,9

JAHEX1

ADDAL,30H

JMPNEXT1

HEX1:

ADDAL,37H

NEXT1:

MOVDL,AL;输出数据

MOVAH,02H

INT21H

MOVDL,13;输入回车换行符

MOVAH,2

INT21H

MOVDL,10

MOVAH,2

INT21H

MOVAH,09H

MOVDX,OFFSETERROR

INT21H

NEXT2:

MOVAL,62H;发中断结束命令

MOVDX,0A0H

OUTDX,AL;向从片8259发EOI命令

OUT020H,AL;向主片8259发EOI命令

STI;开中断

POPDX

POPAX

POPSI

IRET

五.程序流程图

六.调试分析

进入主菜单后选择1进行8255的初始化,这时候会发现在实验板上的一半灯亮,一半灭;选择2后进入8253的初始化,可以用示波器观察输出的波形,选择3后进入A/D转换,将转换来的数据一路送二极管显示,一路送显示器。

七.原理图设计

八.程序清单

;在本程序中,8253的地址是H-303H,8355A的地址是H-307H,和KS4电路图对应

DATASEGMENT

INT0A_OFFDW(?

INT0A_SEGDW(?

COUNTDB(5)

SUMDB(0)

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

DELAYPROC

PUSHCX

PUSHBX

MOVBX,0FFFH

LOOP2:

MOVCX,0FFFFH

LOOP1:

LOOPLOOP1

DECBX

JNZLOOP2

POPBX

POPCX

RET

DELAYENDP

DISPPROC

pushax

show:

andal,0f0h;显示高位

shral,4

cmpal,9

jahex

addal,30h

jmpnext

hex:

addal,37h

next:

movdl,al

movah,2

int21H

popax

andal,0fh;显示低位

cmpal,9

jahex1

addal,30h

jmpnext1

hex1:

add

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1