![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
学习记录
念心科道尊
时间同腐败是一回事。意料不到的东西以意料不到的方式变化,任何人都无从知晓。
展开
-
【esp32】可变时间的定时器中断的开启和关闭
回忆若能下酒,往事便可作一场宿醉。醒来时,天依旧清亮,风仍然分明,而光阴的两岸,终究无法以一苇杭之。我知你心意。无须更多言语,我必与你相忘于江湖,以沧桑为饮,年华果腹,岁月做衣锦华服,于百转千回后,悄然转身,然后,离去。——《一念永恒》原创 2023-11-29 09:41:54 · 306 阅读 · 0 评论 -
C51: LCD1602如何显示3个汉字?
**结论**先说结论,不行。自定义的汉字,每个占4个字模,而LCD1602的CGRAM只允许自定义8个。那么该如何显示3个汉字(12个字模)呢?我先设置每个汉字的上面一半,也就是6个字模。显示完后,再定义下面一半。LCD1602自定义字模的指令是01XX XXXX,从0x40到0x7f总共64个字节,8个字模。字模分别从0x40,0x48,0x50,0x58,0x60,0x68,0x...原创 2019-05-02 11:11:13 · 8778 阅读 · 2 评论 -
C51从中断系统到串口通信--------无论是C51还是STM32,串口都挺麻烦
**前言**相当重要的基础内容。原创 2019-03-13 23:18:09 · 1112 阅读 · 0 评论 -
51汇编:T2----------没有人用过这个吗?
前言这部分内容属于中断、定时计数器、串口的知识之一。既然单独写一篇讲,要么是水的,要么是真的很重要。感觉虽然只是多了T2CON、T2MOD、RCAP2H、RCAP2L、TH2、TL2, 6个寄存器就复杂了好几倍。在了解T2怎么用之前,需要先搞清楚下面这几个概念。自动重装下面这个原理图是T2重装的状态之一的简化图。T2的重装是16位的,所以除了用T...原创 2019-04-16 18:12:36 · 724 阅读 · 0 评论 -
STM32:寄存器操作-----------看了就行,寄存器通常不用
前言STM32F103原创 2019-06-22 05:54:35 · 1771 阅读 · 0 评论 -
用STC仿真器点亮开发板的灯(第一次用单片机)
下学期要学51单片机,于是寒假就想先学个入门。但是开发板、Proteus、Keil和我借的《轻松玩51单片机》的教材不和,而且网上也各种动不动就说,你先自己做个单片机最小系统这种话-----基础知识也没学,汇编还没搞懂呢,另外就是虽说大都是51相关的,但是软件和配套的教程差异大的话,真不知道在说什么。STC89C52PRECHIN PZ-51Tracker上面是我用的开发板和仿真器,首先...原创 2019-01-16 23:09:51 · 3661 阅读 · 2 评论 -
51汇编&C51相互调用----------都用C51了,不会再用51汇编了吧
**前言**单单是用汇编还是C都太无聊了,让我们进入混合编程的世界吧!在C51中嵌入51汇编代码第一个任务是想随便在C里嵌入一个延时准确的函数,自然需要用汇编啦。(暂时还不传参数进汇编)#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;void delay(u16 i){ #p...原创 2019-04-05 15:59:59 · 2606 阅读 · 0 评论 -
51汇编:安利汇编做入门的第一门语言-------2019年给新人的建议
安利汇编做入门的第一门语言感觉汇编还挺好玩的。虽然现在手上会用的、用到的指令都很少,所以常受限制。但是这个汇编做任务和游戏一样,特别有趣。我觉得,初学编程的孩子就应该以学汇编起步。51汇编中的循环移位只是操作累加器A,而累加器A只有8个比特。所以一次循环移动只能移动一个字节。为了实现16进制的循环移位,需要稍微复杂一点。不管是多少个字节的移位,步骤都差不多。以循环左移举例,先移动低的字节...原创 2019-04-05 21:39:03 · 682 阅读 · 0 评论 -
51汇编:用两个数码管计数按键次数------2019年寒假休息在家看书
前言不同的架构不同的指令系统,没事别乱学汇编。我现在学的是51单片机的汇编,运行在Keil5上。希望慢慢熟悉更多的指令,因为更多的指令意味着更多的选择,在实现功能时能更轻松一点。玩硬件的我又穷又头痛,就这个小任务我写了一天了才做出来。最后的效果可以清楚显示从00到16的值,但是更多的次数就会出错了。先贴出全部代码,下面再解释 org 0000h sjmp mainmain: m...原创 2019-03-25 20:41:43 · 3693 阅读 · 0 评论 -
【单片机】用蜂鸣器播放《小半》
note是音节,beat是节拍#include "reg52.h"sbit bell = P1 ^ 5;unsigned char note, beat;unsigned char code sheet[49][2] = { //0~48,49个音符各自的时间对应的初值 {0, 0}, {0xF8, 0x8B}, {0xF8, 0xF2}, {0xF9, 0x5B}, {0xF9, 0xB7}, {0xFA, 0x14}, {0xFA, 0x原创 2021-01-03 18:00:15 · 274 阅读 · 0 评论 -
C51:超声波测距
前言每次把标题写成C51都有点心虚,之前还想着全TM都用汇编写。但是有一次看了别的学校的家伙的微机原理实验报告才知道。我学的汇编一点皮毛啊。也许微机原理是单片机课程的进阶版,下次去图书馆看看多哪些内容。超声波测距模块...原创 2019-05-19 23:32:35 · 4199 阅读 · 8 评论 -
51汇编:从玩数目管到玩步进电机
前言学习一下51单片机的汇编。除了上一篇的简单显示外,51汇编还有许多需要学习和注意的地方。原创 2019-03-27 23:32:44 · 479 阅读 · 0 评论 -
51汇编:LED点阵与键盘按键------2019年寒假休息在家看书
吐槽用C51控制这两个内容都挺简单,用汇编的话。。。。。也一样吧。让LED点阵显示0检测键盘按键按键控制LED点阵原创 2019-04-03 22:14:47 · 2778 阅读 · 1 评论 -
[shenzhen io] 通过信号的种类控制蜂鸣器 buzzer 的行为
界面左边的是信号发生器,这题只用到了rx接口,这个接口是XBUS数据类型的,只能用x0,x1,x2,x3这种XBUS接口才能接。右边的蜂鸣器buzzer并不是通电就能响,需要反复输出时钟才能让它响起来。XBUS总线数据从-999到999,接通XBUS需要等待数据的到来slx x0 #等待x0数据,程序一直卡着Simple IO引脚数据从0到100要求RX输入不是时钟,连的是信号发生器buzzer是simple io类型的引脚,连接一个(假的)蜂鸣器当数据包从信原创 2021-04-20 08:29:10 · 670 阅读 · 1 评论 -
C51:温度传感器-----------简单看看效果,真能检测温度?
前言又是一种考查时序图的内容。温度传感器芯片DS18B20原创 2019-05-14 23:46:32 · 2828 阅读 · 1 评论 -
C51:无聊到写了16个延时函数---------2019年8月初的日子里
前言老师发了辆小车,每组都发了。说是让我们练练,让车两轮平衡起来。驱动模块装上,MPU装上凑合能动,正反转和快慢都能,但是几天过去我还是没把MPU的使用弄明白。于是,现在想写篇博客打发时间。C51中 <intrins.h>里有个 _nop_()函数,用Keil5.20测了下,每用一次是500ns的延时。另外,如果写个没有参数的空函数的话,调用起来是2us的延时。处于对这两条...原创 2019-06-04 14:01:12 · 835 阅读 · 0 评论 -
C51:红外通信控制舵机转动----------红外模块粘上就能用
红外通信的传感器很有意思,2019年做平衡车的时候,偷偷从一个单片机开发板上拿下来一个。粘到车上,连上电源、地、一个IO,立马就能用了——说起来,平衡车难度就是MPU2050什么的不会用,干脆直接让我们学用这个算了!原创 2019-05-08 18:33:48 · 3160 阅读 · 6 评论 -
C51玩8x8LED点阵:PointGame —— 收藏数爆炸的LED小游戏
**前言**我借同学的光驱把光盘中的文件拷出来后,开始尝试玩一玩单片机。目前做的比较难的是8X8Led点阵的使用,元件感觉有点多啊。原创 2019-03-24 22:56:42 · 4288 阅读 · 2 评论 -
51汇编:分析一段别人写的音乐播放的程序---------他人即地狱
前言人总是会浪费时间去下载各种资源,于是不知道什么时候我电脑里多了这么一段折磨人的代码。看了下,其中有几个我没有使用过的指令,JZ、JB、JNZ、DW等。所以,还是把这个骨头给啃下吧!兰花草可以自己先听听。感觉好老啊,我小时候都没听过。链接:https://pan.baidu.com/s/113viGAEdxuaJqDABw9wmXg 提取码:abnu复制这段内容后打开百度网盘手机...原创 2019-04-22 14:18:22 · 878 阅读 · 2 评论 -
C51:数模模数转换---------我的理解多少有点问题
前言三种ADC的原理就默认都懂了~数模模数转换:DACDA硬件上讲比较容易,就是通过运算放大器把二进制数(一系列的稳定的高低电平)转换成不稳定的、连续变换的波。比如下面这个图,可以得到u0u_0u0的通式就是u0=−UREF23(d222+d121+d020)u_0 = - \frac{U_{REF}}{2^3}(d_22^2 + d_12^1 + d_02^0)u0=−23URE...原创 2019-05-06 22:57:47 · 3260 阅读 · 0 评论 -
C51:时钟---------两万长文教你从DS1302学到红外控制时钟-------19个按钮都有效果
前言综合性的内容。玩了许久的单片机,最难的除了寄存器操控、满足时序和延时合适之外,就是莫名其妙的bug了。比如之前浪费我好几个小时的unsigned char变量写成int就出错——明明那个变量只是做循环的中间变量而已。时钟芯片DS1302...原创 2019-05-12 22:55:34 · 1211 阅读 · 0 评论 -
[shenzhen io]simplest and cheapest electronics engineering training just in the game
LookBefore solve the following electronics engineering problem, here have some point you should knowonly have few components could be given. For example, the game only have two type micro-controller MC400 and MC600 ,both of them had limit the assembly c原创 2020-12-15 00:32:22 · 1119 阅读 · 3 评论 -
C51:IIC---------写于2019年某个难过的日子
**前言**一辆个月没有学习单片机了,之前搞中断和串口通信都花了一周才搞懂,于是高级应用就一直没有碰过。是时候把这些高级(基础)的内容扫盲一遍了——IIC、ADDA、温度传感器、超声波测距、无线接口、滤波等等。IIC...原创 2019-05-04 23:49:30 · 842 阅读 · 1 评论 -
51&STM32:最小系统板的使用
前言两周没有记录了,毕竟我被模电、复变、高数、线代折磨的死去活来。之前配置环境被打击到还是因为资源不配套,这和我当初第一次学51是一样的。虽然有很多的博客文章已经讲了怎么搞,但是没有一篇能完整说明且简单明了的。所以,我在这月最后一天,在开始我STM单片机学习初始即刻记录下自己的学习经历。...原创 2019-06-08 19:31:31 · 14012 阅读 · 0 评论