• 大小: 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届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\jun

     文件       1013  2020-08-08 19:26  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\jun.build_log.htm

     文件       4866  2020-08-08 19:26  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\jun.hex

     文件        138  2020-08-08 19:26  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\jun.lnp

     文件      13973  2020-08-08 19:26  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\main.obj

     文件       4398  2020-08-08 11:58  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\onewire.obj

     文件       8480  2020-08-08 11:57  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\system.obj

     文件        122  2020-08-08 11:57  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects\system.__i

     文件       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届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分\objects

     目录          0  2020-08-08 19:26  第5届蓝桥杯单片机初赛“简易温度采集与控制装置”程序部分

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

               211178                    23


评论

共有 条评论