资源简介

proteus仿真adc0808多通道数据采集,8051时钟为6MHz,利用8051中断,巡回检测4个通道,按键改变显示通道。是学习8051中断编程,ADC0808与MCU接口的好例子。

资源截图

代码片段和文件信息

#include “reg51.h“
#include “absacc.h“
#define T0_H ((65536-5000)/256)//定时显示刷率
#define T0_L ((65536-5000)%256)
#define T1_H ((65536-1000)/256)//采样周期
#define T1_L ((65536-1000)%256)
unsigned char value[4];
unsigned char data  ch=0;
unsigned char dch=0;
static int dink=0;
unsigned int Adress;
unsigned char code seg_code[]={0xc00xF90xA40xB00x99//0-4
                  0x920x820xF80x800x90//5-9
  0x880x830xC60xA10x86//AbCdE
  0x8E0xFF0x0C0x890x7F0xBF//F空格PH.-
};
unsigned   char  bit_code[]={0x010x020x040x08};
void main()
{
 IT1=1;EX1=1;
 IT0=1;EX0=1;
 TMOD=0x11;
 TH0=T0_H; TL0=T0_L;
 TH1=T1_H; TL1=T1_L;
 ET0=1;ET1=1;TR0=1;TR1=1;
 EA=1;
 

 while(1);
}

void EX1_INT() interrupt 2
{
 Adress=P2<<8;
 Adress=Adress&0x7fff;
 value[ch]=XBYTE[Adress];
 ch++;
 if(ch>3) ch=0;
 
 
}
//根据按键切换显示通道
void EX0_INT() interrupt  0
{dch++;
 if (dch>3) dch=0;
}
//显示通道dch的AD转换值
void T0_INT() interrupt 1
{
 TH0=T0_H; TL0=T0_L;
 d=n%10;n=n/10;
 P2=0;
 P1=seg_code[d];
 P2=bit_code[k];
 k++;
 if(n==0) {
   n=value[dch];k=0;
 }
}
//每隔20ms检测一个通道
 void T1_INT() interrupt 3

  Adress=P2<<8;
  Adress=Adress&0x7fff;
  XBYTE[Adress]=ch;
 
  TH1=T1_H; TL1=T1_L;
  
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5115  2002-04-16 14:32  multiCh\STARTUP.A51

     文件       3226  2011-12-06 01:38  multiCh\adc0_3.plg

     文件       1303  2011-12-06 01:36  multiCh\adc0_3.c

     文件      11665  2011-12-06 01:36  multiCh\STARTUP.LST

     文件         45  2011-12-06 01:36  multiCh\adc0_3.lnp

     文件       7594  2011-12-06 01:36  multiCh\adc0_3.M51

     文件       1960  2011-12-06 01:36  multiCh\adc0_3.hex

    .......      2039  2011-12-02 02:54  multiCh\adc0_3_Uv2.Bak

     文件       2043  2011-12-02 04:47  multiCh\adc0_3.Uv2

     文件       1342  2011-12-06 01:10  multiCh\MultiCh.PWI

     文件     102327  2011-12-06 00:19  multiCh\Last Loaded MultiCh.DBK

     文件     102326  2011-12-06 01:10  multiCh\MultiCh.DSN

     文件        749  2011-12-06 01:36  multiCh\STARTUP.OBJ

     文件       3202  2011-12-06 01:36  multiCh\adc0_3.LST

     文件       6136  2011-12-06 01:36  multiCh\adc0_3.OBJ

     文件       6166  2011-12-06 01:36  multiCh\adc0_3

    .......      1514  2011-12-05 09:02  multiCh\adc0_3_Opt.Bak

     文件       1539  2011-12-06 01:38  multiCh\adc0_3.Opt

     文件     299124  2011-12-06 23:32  multiCh\MultiCh.EMF

    ..A.SH.      9216  2011-12-06 23:37  multiCh\Thumbs.db

     目录          0  2011-12-02 00:42  multiCh

----------- ---------  ---------- -----  ----

               568631                    21


评论

共有 条评论