资源简介
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
- 上一篇:STM32 IIC软件模拟读写24C02
- 下一篇:0012校园网络模拟-4.pkt
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- 51单片机PWM程序,占空比、周期可调整
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- DS18B20分布式多点测温的Proteus仿真
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- 51多机通信(内附Proteus及.hex文件)
- IIC proteus仿真实验
- 8086交通灯 Proteus原理图及程序
- 多通道数据采集.vi(labview)
- 单片机仿真软件proteus6.7免安装绿色版
- fpga多通道采样
- 关于proteus仿真arm7出现错误的问题
- 基于PROTEUS的ARM7显示系统设计与仿真实
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 基于51单片机的多通道数据采集范围控
- 单片机驱动4相步进电机proteus仿真
- proteus元件库对照表 (整理清晰)
- 基于SVM及两类运动想象的多通道特征
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- 基于51单片机的交通灯设计
- 基于AT89C51的十字路口交通灯设计pro
- Proteus单片机仿真大全几百个part4
- Proteus升压电路仿真
评论
共有 条评论