-
大小: 40KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-14
- 语言: 其他
- 标签:
资源简介
本资料为蓝桥杯单片机比赛第五届蓝桥杯单片机初赛“简易温度采集与控制装置”程序设计源码,文件包含所涉及的keil5工程文件。
代码片段和文件信息
#include
#include
#include
void keyscan();
extern u8 SMG1SMG2SMG3SMG4SMG5SMG6SMG7SMG8;
u16 t1t2t3;
u8 temperature;
u8 section;
u8 Tmax=30Tmin=20;
u8 Tmax2Tmin2;
bit set;
bit L1L2;
u8 TmaxS=11TmaxG=11TminS=11TminG=11;
u8 place;
u8 num;
void main()
{
LED(0xff);
FGI(0x00);
Timer0Init();
while(1)
{
display();
keyscan();
temperature=DS18B20_Get();
if(temperature else if(temperature<=Tmax){section=2;FGI(0X00);}
else if(temperature>Tmax){section=3;FGI(0X10);}
if(L1&&L2)LED(0XFc);
else if(L1&&(!L2))LED(0XFE);
else if((!L1)&&L2)LED(0XFd);
else if((!L1)&&(!L2))LED(0XFf);
if(!set)
{
SMG1=10;SMG2=section;SMG3=10;SMG4=11;SMG5=11;SMG6=11;
SMG7=temperature/10;SMG8=temperature%10;
}
else
{
SMG1=10;SMG4=11;SMG5=11;SMG6=10;
SMG2=TmaxS;SMG3=TmaxG;SMG7=TminS;SMG8=TminG;
if(place==1)TmaxS=num;
else if(place==2)TmaxG=num;
else if(place==3)TminS=num;
else if(place==4)TminG=num;
}
}
}
void timer0() interrupt 1
{
if((section==1)&&(++t1==800))
{
t1=0;L1^=1;
}
else if((section==2)&&(++t2==400))
{
t2=0;L1^=1;
}
else if((section==3)&&(++t3==200))
{
t3=0;L1^=1;
}
}
void keyscan()
{
static bit key1;
static bit key2;
static bit key3;
u8 temp;
P44=0;P42=1;P3=0X7F;
temp=P3;
temp=temp&0x0f;
if(key1&&(temp!=0x0f))
{
key1=0;
delay_ms(2);
temp=P3;
temp=temp&0x0f;
if(temp!=0X0F)
{
temp=P3;
switch(temp)
{
case 0X7E:if(set){place++;num=0;} break;
case 0X7D:if(set){place++;num=3;} break;
case 0X7B:if(set){place++;num=6;} break;
case 0X77:if(set){place++;num=9;} break;
}
}
}else if(temp==0x0f)key1=1;
P44=1;P42=0;P3=0XBF;
temp=P3;
temp=temp&0x0f;
if(key2&&(temp!=0x0f))
{
key2=0;
delay_ms(2);
temp=P3;
temp=temp&0x0f;
if(temp!=0X0F)
{
temp=P3;
switch(temp)
{
case 0XbE:if(set){place++;num=1;} break;
case 0XbD:if(set){place++;num=4;} break;
case 0XbB:if(set){place++;num=7;} break;
case 0Xb7:set^=1;if(!set&&(place!=0)){
Tmax2=TmaxS*10+TmaxG;
Tmin2=TminS*10+TminG;
if(Tmax2>Tmin2){Tmax=TmaxS*10+TmaxG;Tmin=TminS*10+TminG;
TmaxS=11TmaxG=11TminS=11TminG=11;place=0;
t1=t2=t3=0;L2=0;}
else{set=1;L2=1;}}
else L2=0;;break;
}
}
}else if(temp==0x0f)key2=1;
P44=1;P42=1;P3=0XdF;
temp=P3;
temp=temp&0x0f;
if(key3&&(temp!=0x0f))
{
key3=0;
delay_ms(2);
temp=P3;
temp=temp&0x0f;
if(temp!=0X0F)
{
temp=P3;
switch(temp)
{
case 0XdE:if(set){place++;num=2;} break;
case 0XdD:if(set){place++;num=5;} break;
case 0XdB:if(set){place++;num=8;} break;
case 0Xd7:if(set){TmaxS=11TmaxG=11TminS=11TminG=11;place=0;} break;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 93180 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\jun.uvgui.liven
....... 6514 2020-08-08 11:57 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\jun.uvopt
....... 14970 2020-08-08 11:57 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\jun.uvproj
文件 20406 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\Listings\jun.m51
文件 6649 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\Listings\main.lst
文件 3817 2020-08-08 11:58 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\Listings\onewire.lst
文件 3202 2020-08-08 11:57 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\Listings\system.lst
文件 3039 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\main.c
文件 23500 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 1013 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 4866 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 138 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 13973 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 4398 2020-08-08 11:58 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 8480 2020-08-08 11:57 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 122 2020-08-08 11:57 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
文件 1414 2020-08-08 11:58 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\onewire.c
文件 130 2020-08-08 11:55 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\onewire.h
文件 1154 2020-08-08 11:23 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\system.c
文件 213 2020-08-08 11:57 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\system.h
目录 0 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\Listings
目录 0 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\ob
目录 0 2020-08-08 19:26 第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分
----------- --------- ---------- ----- ----
211178 23
评论
共有 条评论