#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char //宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型 sbit ST=P3^; //A/D启动转换信号
sbit OE=P3^; //数据输出允许信号
sbit EOC=P3^; //A/D转换结束信号
sbit CLK=P3^; //时钟脉冲
uint i,j,AD0809; //定义数据类型 //延时子函数
void delay()
{
i = ;
while(i--);
}
/*************************************************************************
CLK振荡信号
**************************************************************************/
void timer0( ) interrupt //定时器0工作方式1
{ TH0=(-)/; //重装计数初值
TL0=(-)%; //重装计数初值
CLK=!CLK; //取反
} /*************************************************************************
主函数
**************************************************************************/
void main()
{
TMOD=0X01; //定时器中断0 CLK=; //脉冲信号初始值为0
TH0=(-)/; //定时时间高八位初值
TL0=(-)%; //定时时间低八位初值
EA=; //开CPU中断
ET0=; //开T/C0中断
TR0=;
while() //无限循环
{
ST=; //使采集信号为低
ST=; //开始数据转换
ST=; //停止数据转换
while(!EOC); //等待数据转换完毕
OE=; //允许数据输出信号
AD0809=P1; //读取数据
OE=; //关闭数据输出允许信号
if(AD0809>=) //电压显示不能超过5V
{
AD0809=;
P2 = 0xE0;//报警闪烁LED灯
delay();
P2 =~0xE0;
delay();
P0 = ~0x06;//数码管报警显示1
delay();
P0 = ~0x00;
delay();
}
} }