![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
文章平均质量分 72
QWQ_DIODA
一般中等级别菜鸡
展开
-
蓝桥杯单片机国赛模块儿总结
前言明天就是国赛了,时间挺快的,得赶紧复习一下了。摸鱼摸到现在,差不多已经放弃了。国赛的模块其实只是比省赛多了几个常见的外设和模块儿,这里就不细述了,具体可以看省赛模块总结目录前言1、串口1.1、串口初始化1.2、串口发送不定字长数据1.3、数字转化字符串2、矩阵键盘3、按键长按4、超声波测距注意事项代码5、数码管消位动态显示6、温度传感器小数的处理后记1、串口1.1、串口初始化串口的配置可以通过STC-ISP来对波特率进行配置STC15拥有多个定时器,因此波特率发生器也可以是定时器2发原创 2021-06-04 21:00:41 · 1318 阅读 · 3 评论 -
蓝桥杯赛前一周传感器模块总结
模块总结1、PCF8591通讯方式:IIC通讯步鄹:见代码注释通讯时易错点:①、ADC时每次读取完数据就发送非应答位。②、弱需要DAC功能,不论ADC模式下还是DAC模式下发送功能数据时,控制位第4位必须置1!③、可以关闭中断。驱动代码//IIC读取八位ad转换数值uint8 IIC_GetVal(){ uint8 Val; IIC_Start(); //IIC启动 IIC_SendByte(0x90); //IIC选择地址,并发送写指令 IIC_WaitAck();原创 2021-04-13 22:40:08 · 720 阅读 · 0 评论 -
C语言---BCD码在时间上与十进制的转换(DS1302)
前言BCD码作为DS1302以及个别时间传感器的是以BCD码的形式来储存数据的,所以,显示与设置数据的时候需要代码手动进行设置。BCD码介绍BCD码是以十六进制方式显示为十进制的计数方式比如:0x00~0x09,代表十进制中的1—90x10代表的并不是传统十六进制所代表的128,而是10,十六进制的abcbdef在bcd码中并不存在。代码Sec代表秒Min代表分钟Hour代表小时加法:Sec++; //按下按键秒时间增加1if((Sec&0x0f) == 0原创 2021-03-30 15:44:57 · 2405 阅读 · 1 评论 -
蓝桥杯单片机组CT107D开发板AD/DA转换一些BUG修复
前言第十届和第十一届已经写完了,但是目前还是有很多bug,打算写几个专门记录本人程序bug的博客。此为PCF8591的电路图,也就是CT107D开发板进行AD转换的主要模块。PCF8591有两个功能一个是AD转换,另一个DA转换,不细谈这两个功能的具体,只谈我目前的bug1、AD测量电压不准:未关闭中断,iic时许较为严格,关闭中断再进行iic读取。读取数据后发送应答位1表示不连续读取2、DA输出不准确DA输出模拟量应紧接再AD转换之后,若两者分开则会对影响输出模拟量!..原创 2021-03-25 15:53:45 · 1053 阅读 · 1 评论 -
蓝桥杯单片机第九届初赛主观题-----彩灯控制系统
蓝桥杯单片机第九届初赛主观题-----彩灯控制系统前言俺又来了,这次连续好几天都没写博客,真不是我偷懒,这次是真的写了好久!各种bug可给我整惨了,让后最近害仔细看了看大佬写的,于是就把格式给改的略微整齐了一点。。。废话不多说,我们开始赛题分析1、硬件框图分析仍然是赛题分析先开始,先看基本硬件框图根据这张图总结一下大概需要的器件以及所需要的特殊功能寄存器输入功能1、模拟输入,IIC通讯下的PCF8591进行AD转换2、按键,定时器0进行间隔1ms的定时器中断进行按键扫描消抖存储功能原创 2021-03-17 21:39:49 · 1326 阅读 · 1 评论 -
蓝桥杯第七届省赛主观题——模拟风扇控制系统
模拟风扇控制系统前言five如我又花了两天才写出来这玩意儿,中途还发现了自己以前好多不规范的地方(悲),于是修修补补算是勉强写出来了。。。太拉了太拉了。因为以前很多的问题都刚改过,所以过几天我打算再写一个基于金沙滩教程的蓝桥杯单片机固定模板,也就是按键扫描和数码管扫描都放在定时器中断中的蓝桥杯固定模板。(开新坑)赛题分析老样子,我们先看赛题,提取出关键内容。先看它给出的功能图片,需要用到的有:输出模块:数码管,LED(PWM显示)输入模块:按键、DS18B20(温度传感器获取数据)让后原创 2021-03-12 18:18:59 · 1654 阅读 · 4 评论 -
蓝桥杯开发板CT107D---使用定时器中断动态刷新数码管的消隐
CT107D开发板的定时器中断刷新数码管的消隐名词位选:选择第几个数码管亮段暄:选择数码管亮什么内容原理(定时器中断刷新数码管原理基于金沙滩51单片机的教程,不做过多解释 )数码管在动态刷新过程中,可能存在本应不亮的地方发生微微的弱光,这种情况该怎么办呐?造成这种情况的原因是,程序没执行一次位选片选的刷新,下一次刷新P0原本的数据就会干扰位选段选。所以我们需要在刷新前进入段选,写入P0=0xff,提前先使数码管阴极的锁存器变成全暗状态,这样残留数据就难以干扰位选段选代码void SMG_原创 2021-03-12 00:37:03 · 1466 阅读 · 0 评论 -
蓝桥杯第八届赛题----电子钟程序设计范例
前言这里写目录标题前言赛题要求基本要求分析赛题中所需的基础技能1、基本硬件2、基本功能逻辑代码部分逻辑流程图初始化按键功能与状态数详解赛题要求基本要求分析制作一个电子时钟,要求数码管显示DS1302的获取时间以及DS18B20的温度,并使用四个按键进行控制。如图所示,所需的硬件基础驱动有:1、LED灯光开启与关闭(74HC138与74HC573操控)2、数码管动态刷新(74HC138与74HC573操控)(定时器中断控制)3、DS18B20计算温度(单总线通信协议)4、DS1302写入读出原创 2021-03-08 16:31:17 · 1102 阅读 · 1 评论