第十一届单片机蓝桥杯省赛练习

第十一届蓝桥杯题目练习

大一时拿来准备蓝桥杯时练手的题目,总体难度还是有的,但是还是没有第九届那个彩灯题目复杂。
赛题

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

第十一届蓝桥杯单片机组省赛题目

链接: link.

图片:在这里插入图片描述
Alt

带尺寸的图片: Alt

居中的图片: `在这里插入代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6YU5f56-1669555455337)(httQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center)]

居中并且带尺寸的图片: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HthPXXAU-1669555457001)(https://imgkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center =30x30)]

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.


```c
#include "reg52.h"
#include "absacc.h"
#include "iic.h"
sbit R1 = P3^0;  
sbit R2 = P3^1;
sbit R3 = P3^2;
sbit R4 = P3^3;
sfr P4   = 0xC0;
sbit C1 = P4^4;
sbit C2 = P4^2;
sbit C3 = P3^5;
sbit C4 = P3^4;


unsigned char code smgdot_ca[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
unsigned char code smgnodot_ca[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xC6,0x8C,0x88,0xc1,0x8E,0x89};
unsigned int elec=0;
unsigned int canshu=80;
unsigned char change=0;
unsigned char cnt=6;
unsigned int count=0;
unsigned int sha=0;
unsigned char replace=0;
unsigned int xi=0;
bit b=0;
bit a=0;
bit c=0;
bit sb=0;
unsigned char liang=0xff;


unsigned char bd=0;
void select(unsigned char channel)
{
	switch(channel)
	{
		case 0: P2=0x80;
		break;
		case 1: P2=0xA0;
		break;
		case 2: P2=0xC0;
		break;
		case 3: P2=0xE0;
		break;
	}
	P2=0x00;
}

			
			
			
void delay(unsigned int t)
{
	while(t--);
}
void key()
{
	R4=0;
	R1=R2=R3=1;
	C1=C2=C3=C4=1;
	if(C3==0)
	{
		delay(100);
		if(C3==0)
		{
			change++;
			bd=0;
			if(change==3)
			{
				change=0;
			}
				
			while(C3==0);
		}
	}

		
	R3=0;
	R1=R2=R4=1;
	C1=C2=C3=C4=1;
	if(C3==0)
	{
		delay(100);
		if(C3==0)
		{
		b=~b;
			bd=0;
		while(C3==0);
		}
		
	}
	else if(C2==0)
	{
		delay(100);
		if(change==1)
		{
			if(C2==0)
			{
				canshu++;
				while(C2==0);
			}
		}
	}
	
	
	
}


	
			
void showing(unsigned char pos,unsigned char value)
{
	P0=0xff;
	select(3);
	P0=0x01<<pos;
	select(2);
	P0=value;
	select(3);
	
}

void display(unsigned int num,unsigned char sign)
{
	showing(0,smgnodot_ca[sign]);
	delay(100);
	showing(1,0xff);
		delay(100);
	showing(2,0xff);
		delay(100);
	showing(3,0xff);
		delay(100);
	showing(4,0xff);
		delay(100);
	showing(5,smgdot_ca[num/100]);
		delay(100);
	showing(6,smgnodot_ca[(num%100)/10]);
	delay(100);
	showing(7,smgnodot_ca[num%10]);
	delay(100);
	
	
}

void hanshu()
{

	if(elec<sha)
	{
		if(elec==(canshu*51)/100)
		{
		
			
			cnt++;
			}
		}
	}

void write_2402(unsigned char addr,unsigned char dat)
{
	IIC_Start();
	IIC_SendByte(0xA0);
	IIC_WaitAck();
	IIC_SendByte(addr);
	IIC_WaitAck();
	IIC_SendByte(dat);
	IIC_WaitAck();
	IIC_Stop();
}
unsigned char read_2402(unsigned char addr)
{
	unsigned char tmp;
	IIC_Start();
	IIC_SendByte(0xA0);
		IIC_WaitAck();
IIC_SendByte(addr);
	IIC_WaitAck();
	
	
	IIC_Start();
	IIC_SendByte(0xA1);
	IIC_WaitAck();
	tmp=IIC_RecByte();
	IIC_SendAck(0);
	IIC_Stop();
	return tmp;
}
void ad_write()
{
	
			
	IIC_Start();
	IIC_SendByte(0x90);
	IIC_WaitAck();
	IIC_SendByte(0x43);
	IIC_WaitAck();
	IIC_Stop();
	
	IIC_Start();
	IIC_SendByte(0x91);
	IIC_WaitAck();
	elec=IIC_RecByte();
		xi=elec*1.962;
	IIC_SendAck(0);
	IIC_Stop();

	
	
}
void init_time()
{
	TH0=(65536-5000)/256;
	TL0=(65536-5000)%256;
	TMOD=0x01;
	EA=1;
	ET0=1;
	TR0=1;
}
void led()
{
	if(bd>=3)
	{
		P0=~0x04;
		select(0);
	}
}
	 
		
	
void service0() interrupt 1
{
		TH0=(65536-5000)/256;
	TL0=(65536-5000)%256;
	

	sha=elec;
	
	
	if(xi<canshu)
	{
		count++;
		if(count>1000)
		{
			count=0;
			liang&=~0x01;
		}
	}
		else if(xi>canshu)
		{
			liang|=0x01;
		}
			replace=(cnt%2);
			if(replace==1)
			{
				
				liang&=~0x02;
			}
			else 
			{
				liang|=0x02;
			}
			
	
		
		
	}

	

void main()
{
	P0=0x00;
	select(1);
	P0=0xff;
	select(0);
	init_time();
	 canshu=read_2402(0x01);
	while(1)
	{
		P0=liang;
		select(0);
		hanshu();
		ad_write();

		key();
		 led();
		if(change==0)
		{
				
			display(xi,13);
		}
		else if(change==1)
		{
		
			display(canshu,11);
			
		}
		else if(change==2)
		{
			write_2402(0x01,canshu);
			if(b==1)
			{
				cnt=0;
				b=0;
			}
			display(cnt,15);
		}
	}
}
	
	


































## 生成一个适合你的列表

- 项目
  - 项目
    - 项目

1. 项目1
2. 项目2
3. 项目3

- [ ] 计划任务
- [x] 完成任务

## 创建一个表格
一个简单的表格是这么创建的:
项目     | Value
-------- | -----
电脑  | $1600
手机  | $12
导管  | $1

### 设定内容居中、居左、居右
使用`:---------:`居中
使用`:----------`居左
使用`----------:`居右
| 第一列       | 第二列         | 第三列        |
|:-----------:| -------------:|:-------------|
| 第一列文本居中 | 第二列文本居右  | 第三列文本居左 |

### SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
|    TYPE   |ASCII                          |HTML
|----------------|-------------------------------|-----------------------------|
|Single backticks|`'Isn't this fun?'`            |'Isn't this fun?'            |
|Quotes          |`"Isn't this fun?"`            |"Isn't this fun?"            |
|Dashes          |`-- is en-dash, --- is em-dash`|-- is en-dash, --- is em-dash|

## 创建一个自定义列表
Markdown
:  Text-to-HTML conversion tool

Authors
:  John
:  Luke

## 如何创建一个注脚

一个具有注脚的文本。[^2]

[^2]: 注脚的解释

##  注释也是必不可少的

Markdown将文本转换为 HTML。

*[HTML]:   超文本标记语言

## KaTeX数学公式

您可以使用渲染LaTeX数学表达式 [KaTeX](https://khan.github.io/KaTeX/):

Gamma公式展示 $\Gamma(n) = (n-1)!\quad\forall
n\in\mathbb N$ 是通过欧拉积分

$$
\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.
$$

> 你可以找到更多关于的信息 **LaTeX** 数学表达式[here][1].

## 新的甘特图功能,丰富你的文章

```mermaid
gantt
        dateFormat  YYYY-MM-DD
        title Adding GANTT diagram functionality to mermaid
        section 现有任务
        已完成               :done,    des1, 2014-01-06,2014-01-08
        进行中               :active,  des2, 2014-01-09, 3d
        计划一               :         des3, after des2, 5d
        计划二               :         des4, after des3, 5d
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

一、系统说明 | ----------------------------------- 本系统是在Microsoft Visual Studio 2003环境下用C#语言编写的个人信息管理系统。 其主要功能有: ------------- 1.文章管理模块  (1)用户发表新文章,可以将文章设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的文章。 (2)用户可以新建文章分类,在文章查询时,文章分类可以做为查询的一个依据。 (3)用户可以查询本人的所有文章,也可以查询其它用户公开的文章,查询条件可以为: 根据文章标题、内容、文章类别、发表时间、修改时间、用户名。 (4)用户可以删除、修改、改变文章是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 2.日记管理模块 (1)用户发表新日记,可以将日记设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的日记。 (2)用户可以新建日记分类。 (3)用户可以查询本人的所有日记,也可以查询其它用户公开的日记,查询条件可以为: 根据日记标题、内容、类别、发表时间、修改时间、用户名、心情、天气。 (4)用户可以删除、修改、改变日记是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 3.相册管理模块 (1)用户可以上传新图片,可以将图片设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的图片。 (2)用户可以新建相册分类。 (3)用户可以浏览本人的所有图片,以及其它用户公开的图片。 (4)用户可以删除、更新、导出图片,但对于其它用户的图片,这些功能有所限制。 -------------- 4.备忘管理模块 (1)用户可以写新备忘,可以设置备忘提醒时间、是否提醒、备忘分类、紧急程度、查看阴阳历。 (2)用户可以新建备忘分类。 (3)用户可以查询本人的所有备忘,查询条件有:备忘标题、内容、提醒时间、是否完成、紧急程度、备忘分类。 (4)用户可以删除、更新备忘。 -------------- 5.费用管理模块 (1)用户可以写新费用,可以填写费用名称,说明,数量,单价。 (2)用户可以查询本人的所有费用,可以统计查询到的费用情况,并可以将查询记录导出到EXCEL中保存。 (3)用户可以删除、修改费用。 ---------------------------- 6.信息管理模块 (1) 用户可以更改密码。 (2) 提供管理日常联系人的信息功能,可以批量从EXCEL中导入联系人,也可以批量导出联系人。 ---------------------------- |
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值