1.2k 1 分钟

# 串口通讯 # 波特率 # 介绍波特率 波特率就是电脑和单片机之间通讯的速率 代表一秒钟可以传输多少位的二进制数据 而波特率有四种工作模式 工作编号 工作模式 SM0 = 0 SM1 = 0 (模式 0) 固定波特率 = 震荡频率 / 12 SM0 = 0 SM1 = 1 (模式 1) 可变波特率 = (2^SMOD) * 32 * 溢出率 SM0 = 1 SM1 = 0 (模式 2) 固定波特率 = (2^SMOD) * 64 / 震荡频率 SM0 = 1 SM1 = 1 (模式 3) 可变波特率 = (2^SMOD) * 32 * 溢出率 # 计算方式 目前经常使用的是模式...
5.3k 5 分钟

# IIC 通讯协议 # 简介 IIC 通讯主要依靠两线 : SDA (数据) 和 SCL (时钟) 分别对应管脚 P20 和 P21 使用 IIC 可以实现主机和多个从机之间的通讯 每个从机拥有唯一的地址 (地址一共八位 前七位唯一确定从机 最后一位确定主机与从机之间谁发送谁读取数据) 我看到过这样的问题 要是正好有多个从机被设置成了同一个地址 是不是就可以实现一个主机和多个从机之间的同时通讯 (答案是不能 从机之间会互相争抢与主机之间的通讯机会) 主机和从机建立联系的方式是:主机在 SDA 上发送从机的地址 所有从机收到该地址后与自己的地址进行比对...
1.7k 2 分钟

# 亮灯 # 代码部分 # include<reg52.h> 这个头文件是专用于 51 单片机的 使用了该头文件 便可以直接对单片机的相关寄存器与引脚进行操作 使得单片机开发更加方便 # sbit sbit 和 bit 一样 都是 C51 扩展的变量类型 经典应用 : sbit LED1 = P1 ^ 0; 意思是定义 LED1 为 P1 口的第一位 以便进行位操作 单看使用的方式和效果 感觉和 #define typedef 的效果差不多 于是就用 #define 和 typedef 试了一下 sbit 实际使用 : 事实上不对 在使用 #define 和...
163 1 分钟

# 在 vs 上营造 51 单片机开发环境 写 51 单片机需要 keil 软件作为开发环境 可是界面很难看 keil 的使用很麻烦 所以我到网上找了很久如何使得 vs 也能够拥有 51 单片机的开发环境 终于被我找到了一篇 也是全网唯一的比较新的一篇 (其他几乎都是 vs2008 年代的了) 但是网上的这篇文章仍然有一些讲的不清楚的地方 所以把它改进一下写下来备忘 # 第一步
1.8k 2 分钟

# SPI 协议笔记 (基于 AD/DA 芯片 XPT2046) 坑惨我了 # 被坑经历 我买的 51 似乎是新版的 上面的 ADDA 芯片不是视频里面说的 PCF8591 视频里面是以 PCF8591 来讲解的 而那个芯片正好也是走的 IIC 协议 所以视频里面改一改通讯地址就能用了 我就一直抱着我的单片机学啊学啊 一直都不行 在网上找了很多例程都没办法用 (因为都是找的 PCF8591 的代码 当然用不了) 所以这个问题就被搁置了 之后后面有一天我无意中看到了我的单片机上面的 AD/DA 芯片特别小 感觉有些不对劲 拿出来和同学的一比较 才发现自己的那个芯片是 XPT2046 走的是...
169 1 分钟

# DHT11 模块 DHT11 是一款温湿度传感器 温湿度的准确度大概在 ±1 左右 但是在单片机和此模块传输数据的时候 对时序有着很高很高的要求 稍微不满足的话就会导致程序的卡死 # DHT11 引脚信息 我买的 DHT11 模块含有四个引脚 但是只有三个引脚有用 (第三个引脚被置空) 引脚 作用 ① VCC 供电 3.3-5.5V DC ② DATA ③ 置空 ④ GND (有孔的那一面朝上)
1.2k 1 分钟

# 宣讲会 # 导语 大一的同学在初期学习 C 语言的时候可能觉得自己编写出来的程序只有一个黑框框,自己能够做的也只是在这个黑框框中输入输出,没有什么精良的画面。但你们可不要因此对整个编程世界产生这样的偏见。也许同学们都渐渐体会到了,学习嵌入式的过程,和其他过程不同的是,嵌入式学习能够时刻反映出你所打的每一行代码,对这个现实世界产生的影响。因为你的一行代码,开发板上的 LED 灯点亮了,或者是蜂鸣器响了…… 在嵌入式的学习过程中,你绝对会比别人更加清楚 “代码” 的分量. 那么我要给同学们讲的也是一个团队的一个基础项目,不过不要看是基础项目,但是项目本身的立意与取得的成果,都是值得称赞的 #...
425 1 分钟

# 嵌入式寒假学习计划 # 1.12 ——1.18 学会点亮 51 单片机的流水灯,能够进行复杂显示 (流水灯,定时亮灭) 学会蜂鸣器的使用 作业 : 流水灯与蜂鸣器的共同控制 一篇跟学习内容相关的博客 # 1.19 ——1.27 学会数码管的静态显示 作业 : 静态显示任意数字 一篇学习内容相关的博客 # 1.27 —— 1.30 学会数码管的动态显示 作业 : ​ 通过数码管制作一个秒表 # 1.31 —— 2.6 学会独立键盘与矩阵键盘的使用 作业 : ​ 用独立键盘控制蜂鸣器或 LED 灯的开关 ​ 一个按键计数器 ​ 用矩阵键盘与数码管动态显示制作一个计算器 # 2.7 ——...