#include <AT89X52.H>
unsigned char code displaybit[]={0xfe,0xfd,0xfb,0xf7, //位显代码
0xef,0xdf,0xbf,0x7f};
unsigned char code displaycode[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0, //数码管显示代码
0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E};
unsigned char b,c=0,tab[8]={0,0,0,0,0,0,0,0},displaycount=4;
unsigned long a,d,e=17;
#define AlarmH 120 // 报警上限
#define AlarmL 10 // 报警下限
sbit KEY1=P1^4; //按键1继续测量
sbit KEY2=P1^5; //按键2停止测量
sbit Beed=P1^0; //蜂鸣器
sbit LED =P1^3; //发光二极管
bit nSTOP=1;
void timer0(void) interrupt 1 using 0
{TH0=0xff;TL0=0xfc;
if(b==1)
{P1_2=~P1_2;}
}
unsigned char aa; //控制每次测量之间的时间间隔
void EX0INT(void) interrupt 0 using 0
{
a=TH1*256+TL1-50; //减去误差
EX0=0;//禁止外中断
b=0;TR1=0;//TR2=0;
LED=~LED;
d=a*e;
d=d/1000-1;
tab[4]=d/1000;
tab[5]=d%1000/100;
tab[6]=d%100/10;
tab[7]=d%10;
if((d>AlarmH)||(d<AlarmL))Beed=0;else Beed=1;
}
void delay(unsigned int tt)
{
while(tt--);
}
//显示子程序
void xianshi(void)
{
if(displaycount==5)
{
P0=displaycode[tab[displaycount]]|0x01;
}
else
{
P0=displaycode[tab[displaycount]];
}
P2=displaybit[displaycount];
displaycount++;
delay(50);
if(displaycount==8)
{
displaycount=4;
}
}
//键盘扫描程序
void keyscan(void)
{
if(KEY1==0)
{ delay(100);
if(KEY1==0)
{
Beed=0;nSTOP=1;//蜂鸣器响,继续测量
while(KEY1==0); Beed=1;//关蜂鸣器
}
}
if(KEY2==0)
{ delay(100);
if(KEY2==0)
{
Beed=0;nSTOP=0; //蜂鸣器响,停止测量,
while(KEY2==0);Beed=1;//关蜂鸣器
}
}
}
void main(void)
{
TMOD=0x11;
TH0=0xff;TL0=0xf3;
EA=1;EX0=0;ET0=1;ET1=1;TR0=1;TR1=0;P3_2=1;b=0;IT0=0;//IT0=0;//--为电平出发
nSTOP=1;
while(1)
{
keyscan(); //调用keyscan()按键扫描程序
aa++;
if((aa>60) && nSTOP)
{
aa=0;
Beed=1;
EX0=1;//允许外中断
b=1;
TR1=1;
TH1=0x00;
TL1=0x00;
}
xianshi();//调用显示子程序
}
}
alvarocfc
- 粉丝: 129
- 资源: 1万+
最新资源
- node express
- Vue+d3对图数据库进行血缘分析
- 基于springboot的财务管理系统源代码(java+vue+mysql+说明文档+LW).zip
- 英特尔Linux网络概述与P4程序编制内部指南
- 基于springboot的学生综合测评系统源代码(java+vue+mysql+说明文档+LW).zip
- 第六章-赵良瑜2204090226.docx
- 基于springboot的java学习平台源代码(java+vue+mysql+说明文档+LW).zip
- 船检测1-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 基于springboot的滴答拍摄影项目源代码(java+vue+mysql+说明文档+LW).zip
- 纯真IP离线库 -最新版 2024
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈