![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式及其应用
文章平均质量分 70
学习嵌入式、单片机、单片机与上位机应用
Hi_BelingBeling
学.
BelingBeling~加油~ ^_^
展开
-
实现Python与STM32通信
断断续续学了几周Stm32后,突然想实现上位机和下位机的通信,恰好自己学过一点python,便想通过python实现通信. 在网上看见python库pyserial可以实现此功能,便去官网找了一下 ,附上官网pyserial档链 接:https://pyserial.readthedocs.io/en/latest/pyserial.html#overview首先在windows的...原创 2018-10-20 15:11:06 · 26103 阅读 · 43 评论 -
蓝桥杯突击5-DS18B20温度传感器
这次学习到了DS18B20温度传感器 由于蓝桥杯比赛时给出了DS18B20的驱动程序onewire.c, 所以我们不再叙述DS18B20的时序图.直接上DS18B20的ROM指令表: 由于开发板只有一个温度传感器,...原创 2019-03-04 15:49:03 · 1792 阅读 · 1 评论 -
蓝桥杯突击2:数码管
今天学习数码管: 首先在原理图上找到数码管:开发板有两块数码管, 由电路图可以看出, com1,com2,com3,com4控制哪个数码管点亮,a1,b1………dp1控制选择的数码管如何亮. 并且数码管是共阴极, 那么将数码管点亮为[0,1,2,3,4,5,6,7,8,9]的代码为[0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0...原创 2019-03-02 10:05:38 · 914 阅读 · 3 评论 -
51单片机使用定时器中断模拟PWM控制端口电压
最近应实验室需求写一篇51单片机产生PWM的文章供参考. 单片机芯片STC89C52,晶振12MHz,编译环境Keil5. 分析:若使单片机端口为高电平, 则单片机输出电压为恒值5V. 反之低电平输出电压为0V. 但是我们如果在周期为T的时间内使单片机高电平出现t1秒, 低电平出现t2秒, 那么在周期内, 高电平出现的时间为, 低电平时间为. 由于周期T的时间极短, 那么在连续的时...原创 2018-11-13 20:10:34 · 8235 阅读 · 12 评论 -
蓝桥杯突击4-定时器与PWM
这一次学习定时器和PWM: 由于我已经在以前写过关于51单片机的定时器和PWM, 所以这里不再赘述, 附上我以前的博客:https://blog.csdn.net/Beking17113/article/details/84033588这里只贴上蓝桥杯的产生PWM波的代码://实现LED的亮度变暗#include <reg52.h>typedef un...原创 2019-03-04 14:39:19 · 792 阅读 · 0 评论 -
蓝桥杯突击1:关闭蜂鸣器与继电器,点亮LED
还有一个月参加蓝桥杯单片机设计大赛, 开始准备:首先当然是点亮LED了, 但是蓝桥杯使用的CT107D开发板使用了74HC573锁存器,74HC02或非门, 138译码器来控制, 这就使得开发板稍微有点难度了. 由于开发板上电后蜂鸣器会鸣叫,继电器会干扰系统的正常运行,所以首先我们要关闭蜂鸣器和继电器.那么打开开发板原理图, 找到蜂鸣器,. ...原创 2019-02-28 14:49:18 · 9817 阅读 · 10 评论 -
蓝桥杯突击6-DS1302时钟芯片
本次学习DS1302时钟芯片. DS1302芯片采用SPI 3线通信, 分别是SCLK, I/O,CE三根线. 由于比赛时给出DS1302的SPI协议的文件, 所以这次重点介绍其寄存器.DS1302有一个控制寄存器,12个日历.时钟寄存器和31个RAM.可读写. 控制寄存器:...原创 2019-03-05 19:11:05 · 1692 阅读 · 4 评论 -
蓝桥杯突击3:独立按键和矩阵键盘(包含对IAP15芯片的适配)
这次学习独立按键和矩阵键盘: 首先找到按键的原理图: 我们发现, 按键的S7,S6,S5,S4左端连接J5上的2口, 这里我们需要找到板子的J5口: ...原创 2019-03-03 09:31:49 · 3724 阅读 · 2 评论 -
蓝桥杯考试时提供的库函数及其错误修改
蓝桥杯比赛时官方提供了会用的库函数: ds1302为时钟芯片,iic给AT24C02和PCF8591使用,onewire给温度传感器DS18B20使用. 但是官方提供的库函数其实是有点问题的, 下面分别进行说明:一:ds1302.c:ds1302.c的Read_Ds1302_Byte函数出现了问题, 缺少了对ds1302芯片的复位:下面贴上改进的代...原创 2019-03-09 21:44:54 · 1926 阅读 · 1 评论 -
蓝桥杯突击10-NE555方波发生器
本次学习NE555方波发生器, 先贴上原理图: 我们可以发现,板载的NE555已经被接好了, 可控制的端口只留下了NET_SIG, 也就是方波输出端, 观察CT107D开发板, 我们可以在最右边发现方波输出端口的排针. ...原创 2019-05-17 20:35:48 · 7043 阅读 · 0 评论 -
STM32使用IIC拓展EEPROM(AT24C02)
STM32使用IIC拓展EEPROM(AT24C02)1. IIC的使用时序图:起始操作从上面的时序图可以得出,IIC协议的开始标志为:在SCL为低电平时将SDA拉高对应代码:void IIC_Start(){ SDA_OUT(); IIC_SDA=1; IIC_SCL=1; delay_us(4); IIC_SDA=0; //开始信号 delay_...原创 2019-08-01 00:14:24 · 1748 阅读 · 0 评论 -
蓝桥杯突击8-PCF8591AD转化器(使用蓝桥杯官方库文件)
本次学习PCF8591.PCF8591是一个ADC转化器, 可以将板子上采集的模拟量转化为数字量.使用蓝桥杯官方提供的IIC驱动代码, 我们只需要写PCF8591的初始化和读取数据的代码就好.多说无益,贴上代码:iic.c:/* 程序说明: IIC总线驱动程序 软件环境: Keil uVision 4.10 硬件环境: CT107单片机综合实训平台(12MH...原创 2019-03-09 21:12:05 · 1687 阅读 · 0 评论 -
在STM32上创建链表并实现LCD滚动显示串口消息
在实现STM32开发ESP8266的时候发现ESP8266串口发送的消息行数很多, 如果使用普通的数组来存储消息需要大量的存储开销, 并且数据的显示也会损耗MCU的处理速度, 故而实现对消息的传输装入一个可以动态拓展, 并且具有灵活的调用形式的容器. 链表理所当然成为首选, 2019年更新: 将链表更新为循环链表. 关于C语言链表的相关操作本文不再详细叙述, 若有需求请移步网址:http...原创 2018-11-23 00:12:51 · 5214 阅读 · 11 评论 -
蓝桥杯突击9-HC-SR04超声波模块
本次讲解蓝桥杯超声波模块, 当然本程序也适用于大部分51单片机.首先来看看蓝桥杯板载的超声波模块: 观察原理图,我们需要在板子上用跳线帽将J2的1,3短接,2,4短接.下面我们来分析超声波模块的使用: 超声波模块的两个端口一个为超声波发送端,...原创 2019-05-17 16:36:12 · 1407 阅读 · 1 评论 -
对于STM32F4库函数中GPIO_PinAFConfig()函数的解读
最近在学STM32F4芯片,想用寄存器操作,在学到IO端口复用AF(Alternative Function)时,发现对于GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)函数无法理解.而后拿纸算了算,恍然大悟,写下这篇笔记来记录和分享. 先贴上代码:void GPI...原创 2018-09-17 10:53:36 · 17934 阅读 · 5 评论 -
蓝桥杯突击7-AT24C02(使用蓝桥杯官方提供的库函数并且修正了错误)
学习CT107D上搭载的AT24C02(EEPROM)芯片: 比赛时虽然给出了IIC的驱动程序, 但是程序里面有点小错误, 里面的时序延时时间太短. 我们要将驱动库函数中的somenop改为如下:#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_no...原创 2019-03-09 13:06:43 · 1301 阅读 · 0 评论