首页 > 其他分享 >第十一届蓝桥杯单片机省赛解答

第十一届蓝桥杯单片机省赛解答

时间:2024-03-27 19:30:41浏览次数:26  
标签:count P0 temp min max 蓝桥 单片机 省赛 include

第一部分

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

相关文章

  • 蓝桥杯试题 基础练习 特殊回文数
    问题描述123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。输入格式输入一行,包含一个正整数n。输出格式按从小到大的顺序输出满足条件的整数,每个整数占一行。样例......
  • 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第6题题解
    目录问题描述:方法一:dfs暴力模拟(45%)方法二:dfs剪枝(100%)问题描述:        小蓝正在一个瓜摊上买瓜。瓜摊上共有n个瓜,每个瓜的重量为Ai。小蓝刀功了得,他可以把任何瓜劈成完全等重的两份,不过每个瓜只能劈一刀。小蓝希望买到的瓜的重量的和恰好为m。请问小蓝至......
  • 蓝桥杯单片机AT24C02
    一个简单的示例程序,统计开机次数。代码如下:#include<STC15F2K60S2.H>#include<intrins.h>#include"onewire.h"#include"iic.h"u8flag_display=0;u8flag_ds18b20=0;u8flag_at=0;u8at=0;u8temp=0;u8a[8]={10,10,10,10,10,10,10,10};voidctr......
  • 动态规划刷题(算法竞赛、蓝桥杯)--数字三角形(线性DP)
    1、题目链接:[USACO1.5][IOI1994]数字三角形NumberTriangles-洛谷#include<bits/stdc++.h>usingnamespacestd;intr;constintN=1010;inta[N][N];intmain(){ cin>>r; for(inti=1;i<=r;i++){ for(intj=1;j<=i;j++){ cin>>a[i][j]; ......
  • 《安富莱嵌入式周报》第335期:大量嵌入式书籍免费下载,CNC电机同步,智能家居比赛作品,EMF2
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版:https://www.bilibili.com/video/BV151421Q7P4/目录:1、大量嵌入式书籍免费下载,无需注册账号,直接下载2、EMF2024准备的电子胸牌3、CNC电机同步视频4、Hackaday举......
  • 【蓝桥杯3.23小白赛】(详解)
    第一题签到题不多说【二进制王国】#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;//intCmp(strings1,strings2)测试了一下时间差确实很明显,还是用下面的内个intCmp(conststring&s1,conststring&s2)//const修饰表示在函......
  • 【蓝桥杯选拔赛真题48】C++九进制回文数 第十四届蓝桥杯青少年创意编程大赛 算法思维
    目录C++九进制回文数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++九进制回文数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现提示信息:回文数:反向排列与原......
  • 蓝桥杯练习题总结(三)线性dp题(摆花、数字三角形加强版)
    目录 一、摆花思路一: 确定状态:初始化:思路二:确定状态:初始化:循环遍历: 状态转移方程: 二、数字三角形加强版一、摆花题目描述小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了......
  • 扫地机器人 二分答案,贪心 蓝桥杯
    二分答案与二分查找类似,二分查找有一个前提就是数列要求是有序的,二分答案则是要求满足条件的答案是单调有序的,它的基本思想是在答案可能的范围([L,R])内二分查找答案,不断检查当前答案是否满足题目的要求,根据检查结果更新查找的区间,最终取得最符合题目要求的答案进行输出。......
  • 蓝桥杯 试题 基础练习 十进制转十六进制 C++
    问题描述十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制......