
蓝桥杯单片机组
《蓝桥杯单片机组》专栏文章是博主2018年参加蓝桥杯的单片机组比赛所做的学习笔记,在当年的比赛中,博主是获得了省赛一等奖,国赛二等奖的成绩。成绩虽谈不上最好,但至少问心无愧。为了能更好地帮助到单片机初学者,今年特地抽出时间对当年的文章逻辑和结构进行重构,希望可以对正在学习的你有所帮助,感谢订阅!
ReCclay
优快云认证博客专家、优快云万粉博主、优快云嵌入式领域优质创作者、优快云-2020博客之星年度总评选Top25。自入站以来,凭借坚持与热爱,以博文的方式分享所学,累计博文数量达1千余篇,受益人次达300w+次,涉及领域包括但不限于前/后端软件开发、嵌入式软件开发、Linux驱动开发、自动驾驶算法研究、视觉SLAM算法研究、ROS机器人开发、FPGA开发、IC设计与验证等。欢迎您的关注,我们一起进步!
展开
-
【蓝桥杯单片机组国赛】第九届国赛感悟
2018年5月28日,昨天晚上4点的高铁,7点半左右到了郑州东。结果还算说得过去吧,唉,还是有些许的遗憾,本以为可以更好一点的,第一年蓝桥也可能是最后一年了。继续往前走吧,所有写的一切,希望能对后来看到的你有所帮助。蓝桥,就此谢幕。...原创 2018-05-28 10:59:30 · 1539 阅读 · 4 评论 -
【蓝桥杯单片机组国赛】国赛前最后一更
注册机及代码底层:链接:连接https://pan.baidu.com/s/1Uif1VvyLJ-DGp4HlpvV0EQ 密码:ib9i2018年5月25日21点24分,下午2点28的高铁,(309真的贵啊,┭┮﹏┭┮),五点左右下的高铁,又换乘地铁来到“如家宾馆”,又趁着天色尚早去了趟首都经贸大学看了下考场,希望明天顺利发挥,雾,倒是希望keil要是破解多好啊!!!...原创 2018-05-25 21:31:12 · 1142 阅读 · 1 评论 -
【蓝桥杯单片机组省赛】第九集省赛结果
还是有莫名的高兴,毕竟付出好像看到了回报。这学期真的忙,切记不要迷失自己!国赛好好准备,加油!!!原创 2018-04-25 15:10:58 · 980 阅读 · 0 评论 -
【蓝桥杯单片机组省赛】第九届走出考场所写
朋友说,日益努力而后风生水起,不宜妄自菲薄,不宜在乎外界,你懂你自己就好。赛场实纪:无忧无惧,最后一个功能实在没法精简程序了,就没写了,可能真的无缘吧。但是无论如何,在备赛的过程中对51的编程的训练又加深一步,如果真的对蓝桥止步于此的话,这篇就算个了结吧。...原创 2018-04-02 13:41:59 · 1021 阅读 · 4 评论 -
【蓝桥杯单片机组省赛】省赛前临门一脚
1、数码管的段选表必须背会的玩意,不要讲什么推,这是比赛!!!0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x902、18B20的温度放到缓冲区里读,不进行实时显示,这时候也就避免了关中断!3、底层注意:按键 E2PROM 移位 I2C器件地址不要想当然,E2PROM是 1010×××× PCF...原创 2018-03-30 07:53:57 · 1363 阅读 · 3 评论 -
【蓝桥杯单片机组】备赛实战问题记录
靡不有初,鲜克有终。1、关于超声波小数位1m = 100cm 声速:340m/s假设一个机器周期是12个时钟周期,对应晶振12M×个机器周期(us)*10^-6(us换算成s)*340(m/s)/2(来回)*100(换算成cm)*10(取小数点后一位) = 0.17对应小数点后有一个小数所以 time * 0.17 对应的距离单位cm,带小数点后一位。2、还要注意设...原创 2018-05-22 00:40:10 · 1249 阅读 · 0 评论 -
【蓝桥杯单片机组】国赛易错底层总结
再码底层,发现又有好多细节忘了,这里特地记录下。1、..\SOURCE\LED.C(3): error C129: missing ';' before 'LedChar'的奇怪错误找了半天发现自己忘了定义u8, u16 ,u32的具体类型,然后一直提示这个毫无相干,也不知道怎么联系的错误。低级!!!2、这个顺序是和数码管的怎么显示是有关系的!我们想要的是左边代表做高位...原创 2018-05-23 13:56:59 · 1347 阅读 · 0 评论 -
【蓝桥杯单片机组省赛】第九届彩灯控制器
比赛有点多,人是只有一个,感觉有点不太能忙过来了。但是,事在人为!!!相信自己可以的!!!原创 2018-04-27 19:46:11 · 3271 阅读 · 8 评论 -
【蓝桥杯单片机组省赛】第八届电子钟
不积跬步无以至千里,不积小流无以成江海。题目下载可以到官网<传送门>代码参考可以上Github<传送门>题目要求:初始化 1)关闭蜂鸣器、继电器等无关外设; 2)设备初始化时钟为 23 时 59 分 50 秒,闹钟提醒时间 0 时 0 分 0 秒。时间显示格式(时钟和闹钟) 温度显示格式 时钟设置 按键 S7 定义为“时钟设置”...原创 2018-03-06 09:12:28 · 5040 阅读 · 6 评论 -
【蓝桥杯单片机组】两种外设访问方式:IO编程和MM编程
不积跬步无以至千里,不积小流无以成江海。MM编程仅作为拓展视野,比赛还是最好使用IO来! 1、IO 扩展模式通过调节板上跳线 J13 进行配置。其中 IO 扩展模式较为容易理解。存储器映射扩展模式可以直接通过 XBYTE 关键字来操作部分资源,能够大大简化外设资源程序设计。IO映射方式控制LED#include "reg52.h"#include "intri...原创 2018-02-08 00:13:35 · 5058 阅读 · 1 评论 -
【蓝桥杯单片机组】客观题(赛前必看)
不积跬步无以至千里,不积小流无以成江海。1、IAP15F2K61S2单片机具有 2____KByte RAM空间,____61_____Kbyte Flash空间,IO具备_____4_种工作模式,__8_路ADC通道。解析:emmm,,这个题做的时候实在记不起来命名规则可以直接查手册。 当然了,能记住命名规则更好了。IO的四种工作模式:准双向、强推挽输出、高阻输入、开漏输出...原创 2018-02-07 21:06:22 · 31384 阅读 · 13 评论 -
【蓝桥杯单片机组实战】6、模拟定时炸弹
/********************************************************************************* 文件名:main.c* 描 述:模拟定时炸弹* 作 者:CLAY* 版本号:v1.0.0* 日 期: 2018年2月11日* 备 注:主要练习对长按键的操作,了解阈值的编程思想。 注意199行注释* ...原创 2018-02-11 18:20:13 · 2045 阅读 · 1 评论 -
【蓝桥杯单片机组实战】5、交通灯
突然想起还有一波交通灯。。。/********************************************************************************* 文件名:main.c * 描 述:交通灯* 作 者:CLAY* 版本号:v1.0.0* 日 期: 2018年2月11日* 备 注:训练LED和数码管的配合使用。 特别注意Op...原创 2018-02-11 15:16:33 · 1286 阅读 · 0 评论 -
【蓝桥杯单片机组实战】4、呼吸灯(PWM)
/********************************************************************************* 文件名:main.c* 描 述:呼吸灯* 作 者:CLAY* 版本号:v1.0.0* 日 期: 2018年2月10日* 备 注:利用定时器在P0^0输出PWM波,P0^0此刻选通LED* 注意看3...原创 2018-02-10 17:58:14 · 5803 阅读 · 0 评论 -
【蓝桥杯单片机组实战】3、秒表计数器
/********************************************************************************* 文件名:main.c* 描 述:秒表计数* 作 者:CLAY* 版本号:v1.0.0* 日 期: 2018年2月10日* 备 注:对应键盘映射的ESC键让秒表复位,回车键让秒表起停。* S8 --...原创 2018-02-10 16:56:12 · 1481 阅读 · 2 评论 -
【蓝桥杯单片机组实战】2、高级计算器
不积跬步无以至千里,不积小流无以成江海。基于1602液晶的整形加减乘除计算器,未考虑连续操作,未考虑被除数等问题。代码下载可以到我的Github<传送门>就只拉出main.c 说下主要实现思路:/********************************************************************************* ...原创 2018-02-18 15:26:29 · 1130 阅读 · 0 评论 -
【蓝桥杯单片机组实战】1、简易计算器
不积跬步无以至千里,不积小流无以成江海。关于按键的定义,可以看图,也可以看下面的代码。/********************************************************************************* 文件名:main.c* 描 述:简易计算器* 作 者:CLAY* 版本号:v1.0.0* 日 期: 2018...原创 2018-02-09 21:41:03 · 2052 阅读 · 2 评论 -
【蓝桥杯单片机组模块】15、PWM学习(总结版)
对一个东西在不同的时间段总有不一样的体会。。。贴上以前写过的有关PWM的文章51寻迹小车+蓝牙51定速器配置PWM技巧实战之呼吸灯原创 2018-05-16 11:55:01 · 2839 阅读 · 4 评论 -
【蓝桥杯单片机组模块】14、STC15定时器2的PWM使用
一个简单的样例,定时器T2实现PWM波的控制。尤其注意定时器T2的初始化过程,是直接对8位寄存器进行操作的,然后还有T2在15系列的中断号 12。#include <stc15.h>typedef unsigned char u8;void Timer2Init(void);void CloseFucker();void main(){ EA = 1...原创 2018-05-22 08:20:08 · 1889 阅读 · 2 评论 -
【蓝桥杯单片机组模块】13、NEC 红外通信 - vs1838B
不积跬步无以至千里,不积小流无以成江海。代码下载可以到Github上<传送门>。HS0038红外接收头,内部集成了监测,放大,滤波,解调等一系列电路处理输出基带信号。 其实HS0038 和vs1838B 没什么区别,只是相比0038的性能更好!原始信号就是我们要发送的一个数据“0”位或者一位数据“1”位,而所谓 38K 载波就是频率为 38K 的方波信号,调制后信...原创 2018-02-24 14:01:09 · 6116 阅读 · 5 评论 -
【蓝桥杯单片机组模块】12、LCD1602 模块
LCD的攻略中要玩起指针了,指针不是C语言的摆设,更不是51的天敌!/********************************************************************************* 文件名:main.c* 描 述:51之指针初探* 作 者:CLAY* 版本号:v1.0.0* 日 期: 2018年2月17日* 备 ...原创 2018-02-17 19:09:01 · 1723 阅读 · 2 评论 -
【蓝桥杯单片机组模块】11.1、基于帧模式的串口
不积跬步无以至千里,不积小流无以成江海。当需要发送一帧(多个字节)数据时,这些数据都是连续不断的发送的,即发送完一个字节后会紧接着发送下一个字节,期间没有间隔或间隔很短,而当这一帧数据都发送完毕后,就会间隔很长一段时间(相对于连续发送时的间隔来讲)不再发送数据,也就是通信总线上会空闲一段较长的时间。于是我们就建立这样一种程序机制: 设置一个软件的总线空闲定时器,这个定时器在有数据传输...原创 2018-02-17 22:57:23 · 1036 阅读 · 2 评论 -
【蓝桥杯单片机组模块】11、UART 模块
这年过的,哈哈哈,都忘了这茬事,昨天和二弟三弟一起竟然看了一下午电影,真是够够了。。。不扯淡了,马上就要开学了,我得抓紧把模块先全搞完了!理论记住重要一点,串口是低位在先,高位在后!实验UART模块,51内集成有硬件模块,直接调用寄存器即可使用。但是嘛,我们既然打着学习的旗号,又岂有不去瞧瞧软件模拟的道理!/**********************...原创 2018-02-17 14:18:14 · 2112 阅读 · 0 评论 -
【蓝桥杯单片机组模块】10、NE555模块
不积跬步无以至千里,不积小流无以成江海。2018年3月29日(更)555测频率以前没用定时器试过,恰遇蓝桥,好机会。以T0(P34)为例,来一发。原理也是很简单,只需要让TMOD的C/T位为1,表示工作在计数器模式下。此时对应于TMOD的取值为0x04,这样就可以实现来了P34引脚来一个脉冲,(可以理解为上升沿触发)T0的计数器就会加1。这时只需要我们把它的计数器初值设置为...原创 2018-02-24 17:39:39 · 4056 阅读 · 2 评论 -
【蓝桥杯单片机组模块】9、超声波模块
不积跬步无以至千里,不积小流无以成江海。代码下载可到Github<传送门>。超声波模块的工作原理:单片机供给超声波信号端Trig一个最少10us长的高电平触发信号,模块自动发射8个40khz的方波,同时自动检测到信号是否返回,一旦有信号返回,Echo端输出一个高电平,高电平持续的实践就是超声波从发射到返回的时间。 对应的测试距离计算方法 :(高电平时间*声速(340m/s...原创 2018-02-24 17:39:04 · 3387 阅读 · 4 评论 -
【蓝桥杯单片机组模块】8、DS1302时钟模块
不积跬步无以至千里,不积小流无以成江海。基础知识1302是变种的SPI,上升沿DS1302写入数据,下降沿DS1302读出数据! 上沿采样,下沿输出。还有,得会查这七个寄存器! 承认第一次自己写蓝桥DS1302底层后不好使,然后也没找到原因。稍作修改了官网的底层后,虽然好使了,但是心里还是有点膈应蓝桥的底层。太多nop,让我们自己写怎么可能写的出来嘛!!!(我倒是觉...原创 2018-02-20 22:44:58 · 2674 阅读 · 6 评论 -
【蓝桥杯单片机组模块】7、DS18B20温度传感器模块
不积跬步无以至千里,不积小流无以成江海。程序代码可到Github下载&lt;传送门&gt;。注意注意:18B20对时序要求严格,不可被中断打断!一旦打断会出现乱码,显示的温度是乱码。所以切记,操作的时候关EA !!!2018年3月30日更,emmm,,中午吃完饭仔细想想这个里面还是有问题的,关了中断意味着我们的实时任务处理不了了!可能导致部分功能就没法实现了!emm,,,既然现...原创 2018-02-24 14:04:33 · 2826 阅读 · 1 评论 -
【蓝桥杯单片机组模块】6、AD/DA转换模块
不积跬步无以至千里,不积小流无以成江海。代码下载到Github<传送门>。A/D 重要指标1、ADC 的位数 一个 n 位的 ADC 表示这个 ADC 共有 2 的 n 次方个刻度。8 位的 ADC,输出的是从 0~255 一共 256 个数字量,也就是 2 的 8 次方个数据刻度。2、基准源 基准源,也叫基准电压,是 ADC 的一个重要指标,要想把输入 A...原创 2018-02-24 17:32:06 · 17939 阅读 · 8 评论 -
【蓝桥杯单片机组模块】5、EEPROM模块
不积跬步无以至千里,不积小流无以成江海。睡落枕了,怪早上睡懒觉睡的太嗨了,一觉到中午也是够了,怕是对自己的惩罚,早睡早起身体好。革命的本钱不能丢!代码下载可以到我的Github上<传送门>IIC介绍开始器件之前,先来复习一波I2C。(只捡重点提….)<1>、I2C通信主要靠两根线SCL和SDA <2>、高位在先低位在后。(对比U...原创 2018-02-19 00:23:04 · 3615 阅读 · 5 评论 -
【蓝桥杯单片机组模块】4、按键模块
不积跬步无以至千里,不积小流无以成江海。一篇理解按键扫描的思想的博文。理论按键涉及到的重要知识点就是扫描和消抖了!关于扫描,主要三种循环查询,定时查询,中断响应,当然各有优缺点,这里来总结下先。1、循环查询在一个循环函数里不断地扫描按键值,获取按下的按键。优点:实现简单。 缺点:消抖需要浪费宝贵的CPU时间,且实时性不足(等待)。2、定时查询在中断...原创 2018-02-08 19:54:49 · 4223 阅读 · 9 评论 -
【蓝桥杯单片机组模块】3、上手 CT107D 外设驱动之数码管模块
不积跬步无以至千里,不积小流无以成江海。基础不牢,地动山摇。我深信不疑,永远不要愧疚自己把时间浪费在简单的事情上!简单的事情重复做,你就是专家。 重复的事情用心做,你就是赢家。实验静态显示Y6C是位选,Y7C是段选。 还有一个特别重要的就是它是共阳的数码管!!!#include &amp;lt;stc15.h&amp;gt;sbit Buzz = P0^6;sbit...原创 2018-02-08 16:28:01 · 2601 阅读 · 10 评论 -
【蓝桥杯单片机组模块】2、以 LED 流水灯为例,熟悉 CT107D 外设驱动套路
不积跬步无以至千里,不积小流无以成江海。LED流水灯花样多了去了,咱还是只挑经典的来就行 : )实验就写一个左移右移循环流动的吧。。。。#include <stc15.h>typedef unsigned char u8;//注意类型定义用typedef,养成习惯最好不过了!typedef unsigned int u16;void Clos...原创 2018-02-08 15:25:20 · 1980 阅读 · 5 评论 -
【蓝桥杯单片机组模块】1、硬件电路基础知识 与 蜂鸣器模块上手
不积跬步无以至千里,不积小流无以成江海。理论1、74HC573这块板子也主要靠它和74HC138撑起外设的门面,138数电常讲,这里不再提及。 573可能有点陌生,其实也没啥,记住一点它是个锁存器,存状态的器件就行了。 非得深入了解的话,戳这里吧。如果程序中使用完573后,记得及时的禁止使能!最好这样写P2 = P2 & 0x1F;2、ULN2003...原创 2018-02-08 00:43:58 · 6994 阅读 · 2 评论 -
【蓝桥杯单片机组】备赛各个阶段的战略部署(必看系列)
一叶障目不见泰山,个人认为只有把握事物的整体思路脉络,才能做到知己知彼百战百胜。同样,对于蓝桥杯比赛也是如此,本篇文章着重介绍如何布局蓝桥备赛的各个阶段,相信我,你如果真的从头至尾这么做了,成绩肯定不会坏到哪里去,至于好到哪里去,只能看你个人本事了。加油,电子人!原创 2018-02-07 22:25:57 · 11037 阅读 · 2 评论