第一部分
1.C
2.BD
3.B
4.D
5.ABC
6.B
7.AB
8.D
9.ABCD
10.C接收和发送数据是互不影响的
第二部分
#include "STC15.h"
#include "sys.h"
#include "smg.h"
#include "onewire.h"
#include "iic.h"
#include "key.h"
uint temp=0;
int temp_max=30,temp_min=20;
uchar key_jishu=0,temp_change=0;
uchar S4_count=0,S5_count=0,S6_count=0,S7_count=0;
void temp_display(void)
{
if(S4_count==0)
{
if(temp_max<temp_min)
{
S4_count=1;
}
else
{
smg_display(0,12,0);
smg_display(1,18,0);
smg_display(2,18,0);
smg_display(3,18,0);
smg_display(4,18,0);
smg_display(5,18,0);
smg_display(6,temp/10,0);
smg_display(7,temp%10,0);smg_display(8,temp%10,0);
}
}
}
void can_display(void)
{
if(S4_count==1)
{
smg_display(0,25,0);
smg_display(1,18,0);
smg_display(2,18,0);
smg_display(3,temp_max/10,0);
smg_display(4,temp_max%10,0);
smg_display(5,18,0);
smg_display(6,temp_min/10,0);
smg_display(7,temp_min%10,0);
smg_display(8,temp%10,0);
if(key_jishu==5)
{
temp_change++;if(temp_change==2)temp_change=0;
}
if(temp_change==1&&key_jishu==6)
{
temp_max++;
}
else if(temp_change==1&&key_jishu==7)
{
temp_max--;
if(temp_max<temp_min)
{
temp_max++;
}
}
if(temp_change==0&&key_jishu==6)
{
temp_min++;
if(temp_min>temp_max)
{
temp_min--;
}
}
else if(temp_change==0&&key_jishu==7)
{
temp_min--;
}
if(temp_max>=100)
{
P0 = P0 & 0xf7;
//hc573(4);
//temp_max--;
}
else
{
P0 = P0 | 0x80;
}
if(temp_min<0)
{
P0 = P0 & 0xf7;
//hc573(4);
//temp_max--;
}
else
{
P0 = P0 | 0x80;
}
}
}
// 0 - 255
// 0 - 5
void temp_dac(void)
{
if(temp>temp_max)
{
PC_write(0x40,204);
}
if(temp>=temp_min&&temp<=temp_max)
{
PC_write(0x40,135);
}
if(temp<temp_min)
{
PC_write(0x40,102);
}
}
void led(void)
{
if(temp>temp_max)
{
P0 = P0 & 0xfe;
hc573(4);
}
// else
// {
// P0 = P0 | 0x01;
// hc573(4);
// }
if(temp>=temp_min&&temp<=temp_max)
{
P0 = P0 & 0xfd;
hc573(4);
}
// else
// {
// P0 = P0 | 0x02;
// hc573(4);
// }
if(temp<temp_min)
{
P0 = P0 & 0xfb;
hc573(4);
}
// else
// {
// P0 = P0 | 0x04;
// hc573(4);
// }
}
void main()
{
sysinit();
while(1)
{
key_jishu=key_display();
if(key_jishu==4)
{
S4_count++;if(S4_count==2)S4_count=0;
}
temp = init_ds(0);
// smg_display(1,temp/10,0);
// smg_display(2,temp%10,0);
// smg_display(8,temp%10,0);
temp_display();
can_display();
temp_dac();
led();
if(temp_max>=0&&temp<100)
{
}
}
}
标签:count,P0,temp,min,max,蓝桥,单片机,省赛,include
From: https://blog.csdn.net/weixin_64660003/article/details/137026692