单片机8051通过74LS373与ADC0809的ABC的八路模拟量输入的巡回监测系统_第1页
单片机8051通过74LS373与ADC0809的ABC的八路模拟量输入的巡回监测系统_第2页
单片机8051通过74LS373与ADC0809的ABC的八路模拟量输入的巡回监测系统_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如图一所示是一个八路模拟量输入的巡回监测系统,采样数据依次存放在RAM 30H37H单 元中,按图所示的接口电路,P0.0P0.2通过74LS373与ADC0809的ABC的八路模拟开关的 地址线相连,请说明图中各路信号的作用,8路模拟量通道地址,编写八路数据采集程序一个八路模拟量输入的巡回监测系统IN0-IN7: 8路模拟量输入端。D0D7: 8位数字量输出端。A、B、C: 3位地址输入线,用于选择8路模拟通道中的一路。ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动信号,输入,高电平有效。 EOC: A/D转换结束信号,输出。 0:正在进行转换; 1: 一次转换完成

2、。OE:数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平, 则打开输出三态门,输出锁存器的数据从D0D7送出。CLK:时钟脉冲输入端。其内部无时钟电路。要求时钟频率不高于640KHZ. VR+、VR-:基准电压输入端。决定输入模拟量的范围。典型值分别为+5V和0V。8路模拟通道的地址:0000H0007H。 汇编语言编程:中断方法 ORG 0000H LJMP MAIN ORG 0003HLJMP INT0ORG0100H;主程序MAIN:MOVR0,#30H;设立数据存储区指针MOVR2,#08H;设置8路采样计数值SETBIT0;设置外部中断0为边沿触发方式SETB

3、EA;CPU开放中断SETBEX0;允许外部中断0中断MOVDPTR,#0000H;送入口地址并指向IN0LOOP:MOVXDPTR A;启动A/D转换,A的值无意义HERE:SJMPHERE;等待中断ORG0200H;中断服务程序INT0:MOVX:A,DPTR;读取转换后的数字量MOVR0,A;存入片内RAM单元INCDPTR;指向下一模拟通道INCR0;指向下一个数据存储单元DJNZR2,NEXT;8路未转换完,则继续CLREA;已转换完,则关中断CLREX0;禁止外部中断0中断RETI;中断返回NEXT:MOVXDPTR,A;再次启动A/D转换RETI;中断返回C语言编程:#inclu

4、de 定义绝对地址访问#include #define uchar unsigned char #define IN0 XBYTE0 x0000 static uchar data x8; uchar xdata *ad_adr;/定义IN0为通道0的地址/定义8个单元的数组,存放结果/定义指向通道的指针/初始化/指针指向通道0 启动通道0转换/等待中断uchar i=0;void main(void)IT0=1;EX0=1;EA=1;i=0;ad adr=&IN0;*ad_adr=i;for (;) ; void int_adc(void) interrupt 0中断函数xi=*ad_adr;/接收当前通道转换结果i+;ad_adr+;if (i8)/指向

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论