
单片机
文章平均质量分 67
单片机
ReCclay
优快云认证博客专家、优快云万粉博主、优快云嵌入式领域优质创作者、优快云-2020博客之星年度总评选Top25。自入站以来,凭借坚持与热爱,以博文的方式分享所学,累计博文数量达1千余篇,受益人次达300w+次,涉及领域包括但不限于前/后端软件开发、嵌入式软件开发、Linux驱动开发、自动驾驶算法研究、视觉SLAM算法研究、ROS机器人开发、FPGA开发、IC设计与验证等。欢迎您的关注,我们一起进步!
展开
-
四角食人鱼LED引脚正负极接法
正负极判断的方法是先将食人鱼LED有斜角的地方摆在右上角, 右侧的两只脚就是负极,左侧的两只脚就是正极。最好的办法就是用数字万用表测一下,打到二极管档,红正黑负就会亮,确定好了正负极就可以接了。产品名称:5mm食人鱼蓝光产品亮度:1500-1800mcd波长:460-465产品电压:3.2V-3.4V产品电流:20ma产品名称:5mm食人鱼翠绿产品亮度:2500-3000mcd...原创 2018-12-30 20:17:45 · 2755 阅读 · 0 评论 -
关于STC的1T和12T突然其来的纠结
emmm,,,既然有纠结就说明有点什么没弄清,赶紧翻翻书,问问度娘,总结一下。原创 2018-05-21 23:33:01 · 3961 阅读 · 0 评论 -
51循迹小车+蓝牙
给女朋友调的循迹车。。。/********************************************************************************* 文件名:main.c* 描 述:寻迹小车* 作 者:刘悦* 版本号:v1.2* 日 期: 2018年5月11日* 备 注:注意了,所有的左右都是传感器位于自己前方看的!*****...原创 2018-05-12 12:05:27 · 2873 阅读 · 2 评论 -
关于精度和分辨率的区别
理解了,也就很好记忆的。。。简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。很多卖传感器的JS就是利用这一点来糊弄人的了。简单做个比喻:有这么一把常见的塑料尺(中学生用的那种),它的量程是10厘米,上面有100个刻度,最小能读出1毫米的有效值。那么我们就说这把尺子的分辨率是1毫米...原创 2018-02-07 21:16:31 · 14032 阅读 · 6 评论 -
关于优先级的一点问题思考
中断嵌套和中断优先级一般上我们是把红外接到外部中断,这时候如果你是用数码管显示对应的键码信息,数码管的扫描是在定时器中断中。这时候要特别注意如果红外的外部中断比数码管的定时器中断固有优先级高,这时候设置数码管的中断优先级为高优先级!不然数码管的扫描如果受键码的解析的拖延会产生闪烁!同时也让我联想到了关于多功能时钟制作过程中也有类似的问题,数码管,按键以及红外都有用到,如何实现嵌套或者说该如...原创 2018-03-02 18:36:09 · 904 阅读 · 0 评论 -
51定时器配置PWM的技巧
不积跬步无以至千里,不积小流无以成江海。寒假期间有写过一篇用定时器产生PWM然后作用在小灯上的一个例程。<传送门>但是突然发现自己对于定时器的PWM波认知还停留在delay的地步,所以决定今天再深入一番。记住了,定时器计数频率 * 周期时长(需要产生频率的分之一) = 计数值,看下面这段关键程序!void ConfigPWM(u16 fr, u8 dc)//...原创 2018-03-02 16:45:53 · 2490 阅读 · 0 评论 -
关于软件延时
1T系列单片机的小范围延时计算公式(us) :(4*t + 10) * 1/fvoid delay(u8 t){ while(--t);}另外再来看一个nop相关的/* 1T系列单片机在12M晶振下产生指定us数的软件延时 */void Delay_us(unsigned char us){ do { _nop_(); _...原创 2018-03-01 15:43:16 · 2122 阅读 · 2 评论 -
利用单片机PWM功能借助滤波器实现DAC
STC15手册的P1027,有时间研究一波!原创 2018-02-28 19:03:12 · 4970 阅读 · 0 评论 -
data、idata、pdata、xdata、code
ROMROM或者Flash,叫程序存储区,写的程序是存在这里面的,上电后从这里面执行。程序存储区也分为片内和片外,一般来说,现在的51很多已经做到了64K,所以很少有外扩。片外Flash或者片外的Rom了,Flash或者Rom不管是片内还是片外的,只能用来定义常量,是用code来修饰。也就是说,用code来修饰的东西,在程序运行过程中,不能修改。RAM内部RAM的低128位(00-7...原创 2018-02-11 16:09:48 · 4527 阅读 · 0 评论 -
STC的命名--老是忘,来一篇备忘
看名字,主要能看成三个东西SRAM大小 Flash大小 串口多少比如 STC15F2K61S2 sram为2K flash为61k 串口个数为2原创 2018-01-30 14:18:57 · 1218 阅读 · 0 评论 -
关于IAP的一点深入理解
以前对IAP的理解也是建立在朋友灌输的 – 有IAP就是有仿真功能 –这层理解上,也没想太多。其实仔细看看官方的手册对比网上的解答发现似乎不仅仅是这样。ISP(In-system programmable)是 在系统可编程: 指的是不需要把单片机从目标系统板上取下来就可以直接从PC往单片机里面烧录程序。 关于ISP应该讲很熟悉了,学过STC的51单片机,它的烧录软件上赫然原创 2018-01-30 12:34:31 · 1425 阅读 · 0 评论 -
单片机中的C知识
1、在没有任何后缀标志的情况下,整型变量的数据类型是在能承受范围内中最短的一个!2、实际编程中,应尽可能采用 unsigned 的变量,因为计算机内存的数据存储都是补码的形式,有符号类型(特别是其中的负数)还得来回转换,导致效率不高。3、另外unsigned long的取值最大可达到42亿,这个有必要记住。4、实数型数据在内存中的存储是23位有效二进制,且有一位固定为1不存储,所以实际原创 2018-01-06 13:06:01 · 1264 阅读 · 0 评论 -
矩阵按键扫描的疑惑与解答
学习金沙滩宋老师的单片机,说实话学着是比较吃力,但是不后悔!老师交给的绝不是仅仅只是“鱼”。 发现自己的学习态度以及严谨真的和一些前辈比起相差甚远。 下面摘自一位名为“商道”的群友的学习总结关于矩阵按键扫描消抖的解释-教材第8章-矩阵按键扫描例题8.4.5 教材116页第8章-矩阵按键扫描例题8.4.5中, 中断函数void interrupttime0() int...原创 2017-07-20 00:42:59 · 2970 阅读 · 3 评论 -
关于BCD和格雷码
写在前面的体会1、原来关于keil的DeBug的printf用法,其实并没有像当初写这篇博文那样麻烦。 只是需要 TI = 1; 再加上 stdio.h 就行了。2、unsigned long 最大可达42亿,10位。BCDBCD码,感觉以前没怎么在意,其实用的也最多了。 实际上就是4位二进制数构成0-9的1位十进制数,取值范围0000 ~ 1001。 eg:原创 2018-01-01 14:50:12 · 3322 阅读 · 2 评论 -
CRC16校验的学习
CRC16,值得一看。。。原创 2017-10-07 11:28:55 · 1417 阅读 · 0 评论 -
keil里面骚气的printf
骚气的printf。。。原创 2017-07-18 19:25:37 · 1117 阅读 · 0 评论 -
KST-STM32学习之W25Q128
1、W25Q128 是华邦公司推出的一款 SPI 接口的 NOR Flash 芯片,其存储空间为 128Mbit,相当于 16M 字节。 W25Q128 可以支持 SPI 的模式 0 和模式 3,也就是 CPOL=0/CPHA=0 和CPOL=1/CPHA=1 这两种模式。2、写入数据时,需要注意以下两个重要问题:①、Flash 写入数据时和 EEPROM 类似,不能跨页写入,一次最多写...原创 2018-07-29 16:15:53 · 9310 阅读 · 0 评论 -
关于CH340T 的一点记录
还真的是好记性不如烂笔头,记下来好。。。CH340T,在当初51课本讲道UART串口通信的时候有个TXD的引脚,加了个1N4148有点印象,今日看武哥的原理图,再一次见到了它的身影,想来这次真得借鉴下学会了。KST-51的原理图再现 再看武哥的, 回忆下宋老师的解释: 注意了,这个TXD是和单片机的RXD相连的。哦,突然发现一个原理图的细节问题,再看老师讲的那段话...原创 2018-07-31 19:09:46 · 5263 阅读 · 3 评论 -
免冷启动自动下载
今天吧,看着武哥的文章,看到DTR,RTS,又联想到了正在学的32上的ISP以及之前NodeMCU上的DTR和RTS,感觉挺有意思的一个东西,遂产生一个想做一个免冷启动的装置。 做好这个东西当知非一朝一夕之事,别急,静下心来! 比起成品,我想我更想要艺术品。...原创 2018-08-01 20:14:37 · 3472 阅读 · 1 评论 -
关于分立的红外接收管一点需要记录的
介绍首先市场上卖的,发射管一般是白色;接收管是黑色。波长: 940 发射接收=7-8米接线5V电源,串一个330欧电阻,再接红外接收二极管的负极,二极管的正极接地(也就是反向工作)原因红外接收管应用时PN结要反偏,因为PN结反偏后漂移电流随着光变化的灵敏度大。...原创 2019-01-03 17:07:00 · 3118 阅读 · 0 评论 -
51DIY音乐频谱显示
音乐频谱仪~原创 2018-12-09 17:59:30 · 12042 阅读 · 8 评论 -
51单片机之忽略的东西
P0口将作为总线的低8位地址线和8位数据线使用P2口将作为总线的高8位地址线使用如果十六进制数以字母ABCDEF中的某一个开头,必须在前面加一个0.譬如,MOV P1, #0BFHORG 00H 表示的是伪指令,作用帮助汇编器汇编指令,并不是单片机指令的一部分,因此伪指令不占用存储器空间。这段代码的含义是从程序存储器的00H开始执行程序。...原创 2018-11-03 00:15:52 · 706 阅读 · 0 评论 -
关于金沙滩代码格式的问题
一直好奇KST的教程代码格式是怎么排版的那么好看,今天专门咨询了邵老师,这才知晓,顺便来记录下。链接:https://pan.baidu.com/s/1ECG0ljyl6aTfFbCpFc_MKQ提取码:lt3r字体段落底纹边框...原创 2018-11-02 23:32:51 · 676 阅读 · 0 评论 -
关于12M晶振与波特率的一点记录
总而言之,12M最高波特率4800否则会有较大误差,作用的直接结果就是串口显示乱码!11.0592M可以产生最高57600的波特率。参考:https://blog.youkuaiyun.com/qq_35538296/article/details/78637873?locationNum=7&fps=1...原创 2018-10-15 09:48:30 · 2440 阅读 · 0 评论 -
逻辑分析仪使用
前者是采样深度,后者是采样率。注意采样率要设置到被采样信号的10倍以上!采样时间 = 深度/采样率原创 2018-10-18 11:15:34 · 737 阅读 · 0 评论 -
LCD1602例程
lcd1602.c#include "config.h"void LcdWaitReady(){ u8 sta; LCD1602_DB = 0xFF; LCD1602_RS = 0; LCD1602_RW = 1; do{ LCD1602_E = 1; sta = LCD1602_DB; LCD160...原创 2018-10-08 11:12:43 · 2624 阅读 · 0 评论 -
DHT11详细介绍(内含基于51和STM32平台的驱动代码)
DHT11传感器~原创 2018-10-08 00:07:21 · 51256 阅读 · 9 评论 -
MPU6050初探
文章目录芯片介绍原理图PCB封装从重要的参数图理解原理陀螺仪加速度计参考链接芯片介绍三轴陀螺仪,三轴加速度计,第二个I2C接口可连接其他数位运动处理器(DMP),比如加速器、磁力传感器。标准I2C协议、芯片内置LDO,供电3-5V都可以16bitAD转换器,16位数据输出数据类型是int16。所以以16进制来表示,最小的数是FFFF,由于最高位为符号位,所以相当于-7FFFF,即-3...原创 2018-09-24 14:59:58 · 4162 阅读 · 0 评论 -
串口接收实例——空闲中断
//先看51的void UARTInterrupt(void) interrupt 4{ if(RI) { RI = 0; UsartReceive[UsartReadCnt] = SBUF; UsartReadCnt++; if(UsartReadCnt > ReadLength-2)//防止溢出 ...原创 2018-09-05 15:38:36 · 2540 阅读 · 0 评论 -
串口调试程序
uart.c/******************************************************************************** 文件名:uart.c* 作 者:CLAY* 版本号:v1.0.0* 日 期: * 备 注:* *******************************************...原创 2018-09-11 17:26:10 · 1273 阅读 · 0 评论 -
一篇介绍595的特别好的文章
https://www.cnblogs.com/lulipro/p/5067835.html原创 2018-09-04 15:05:21 · 435 阅读 · 0 评论 -
关于空闲中断
https://www.cnblogs.com/yangfengwu/p/7520260.htmlhttp://www.cnblogs.com/yangfengwu/p/6921832.htmlhttp://www.cnblogs.com/yangfengwu/p/7341056.htmlhttp://www.cnblogs.com/yangfengwu/p/6746403.html原创 2018-08-19 11:52:11 · 1654 阅读 · 0 评论 -
单片机的大小端(下)
之前写过一个:大小端存储。STM32:小端存储(低地址在低位,高地址在高位) 51:大端存储(低地址在高位,高地址在低位)原创 2018-08-07 14:50:42 · 1006 阅读 · 0 评论 -
环形队列
先存下来文章地址吧,后期一定会会手敲一遍进行完善。1、环形队列详解: http://www.cnblogs.com/yangfengwu/p/6822984.html2、一个环形对应的应用实例: http://www.cnblogs.com/yangfengwu/p/6921832.html3、关于单片机数据数据传输(上): http://www.cnblogs.com/ya...原创 2018-08-07 14:39:38 · 965 阅读 · 0 评论 -
步进电机的一点收获
步进电机原创 2017-07-22 15:52:07 · 1572 阅读 · 0 评论 -
51keil与proteus联调,实现在线仿真
联调原创 2017-07-13 16:14:28 · 6275 阅读 · 5 评论 -
8051之汇编ASM
ASM原创 2017-12-21 19:29:41 · 1467 阅读 · 0 评论 -
超声波
其实超声波贼简单,只是难者不会,会者不难而已。核心就是先让Trig产生10+us的高电平,然后等待echo的出现高电平,开启定时器进行计数,完了关闭计数。计数对应的时间就是往返的时间。 乘以声速除以2就是距离。不多说了,看代码一切理解。#include <stdio.h>#include <reg51.h>#include <intrins.h>sbit echo = P2 ^ 1;//超声波原创 2017-08-03 23:47:41 · 774 阅读 · 1 评论 -
VSS、VDD 与 VCC 的区别
在电子电路中,VCC是电路的供电电压, VDD是芯片的工作电压: VCC:C=circuit 表示电路的意思, 即接入电路的电压, D=device 表示器件的意思, 即器件内部的工作电压,在普通的电子电路中,一般Vcc>Vdd ! VSS:S=series 表示公共连接的意思,也就是负极。 有些IC 同时有VCC和VDD, 这种器件带有电压转换功能。原创 2017-08-09 22:45:27 · 10442 阅读 · 0 评论 -
12864.c
#define _LCD12864_C#include "config.h"#include "Lcd12864.h"/*************测试LCD是否处于忙状态如果忙则返回0x80,否则返回0**************/unsigned char Lcd_CheckBusy(){ unsigned char Busy; LcdData=0xff;原创 2017-08-02 17:44:44 · 690 阅读 · 0 评论