详细理解ASCII码 本讲我们主要通过实验操作来熟悉ASCII码与通信数据之间的关系。我们现在实现这样的功能,在电脑端上发送“十六进制”模式或“字符格式”模式的字节给单片机,数码管则显示出这些数据的十进制值,然后观察数码管上显示的数值与发送数据的关系。1.代码#include<reg52.h>#include<functi 串口通信 2022年03月09日 94 点赞 0 评论 148578 浏览
简洁式串口通信 1.串口配置函数上一讲的讲解是让大家对《手把手教你学51单片机》文档的第十一章的第一个例程的辅助理解,我们没有写单片机接收电脑端发送回来的数据字节做处理的代码。因为这些都是IO端口模拟的串口通信,由于51单片机本身集成有串口模块,所以我们使用其硬件资源即可, 串口通信 2022年02月25日 64 点赞 0 评论 89886 浏览
串口通信入门 在讲解本章的内容之前请大家先反复阅读《手把手教你学51单片机》文档的第11章内容,很多概念文档都已详细讲解有。1.波特率串口通信就是单片机与电脑端,单片机与单片机,单片机与模块器件之间互发信息进行通信,比如单片机发送一个“1”的字符给电脑端,电脑端的窗口就会接收到“1”。 串口通信 2022年03月12日 195 点赞 0 评论 108654 浏览
超声波模块 1.超声波模块型号超声波模块是一种常用的测距工具,一般用在避障小车,水位监控系统中,本教程使用的模块型号为HC-SR04,外观形状大体如下模块除了两个电源引脚外,还有TRIG,ECHO引脚,这两个引脚分别接我们开发板的P2.0和P2.1。工作原理就是起初先给这两个引脚都拉低, 舵机与超声波模块 2022年02月18日 213 点赞 0 评论 114248 浏览
舵机与按键 1.按键控制舵机桨为了再次领悟舵机的运用,我们使用按键控制舵机桨在我们想要的位置上停留。K8负责控制舵机桨往一个方向不停旋转,K16则控制相反方向旋转。按键模式为支持连按。然后数码管显示高电平持续的时间,如果数码管显示5,则高电平在20ms周期里持续的时间为0.5ms, 舵机与超声波模块 2022年04月18日 74 点赞 0 评论 107823 浏览
舵机入门 1.舵机准备舵机是单片机机械控制入门必学的模块,在一些机器人关节中也是采用舵机作为控制,学习并熟练掌握使用舵机是我们对单片机的进一步认识。所以我们不能一直局限地使用开发板进行学习,而是扩展一些电子模块来辅助我们更加深入了解单片机。所以大家需要自行购买舵机。 舵机与超声波模块 2022年01月13日 239 点赞 0 评论 107441 浏览
微调定时精确时间 1.定时器&蜂鸣器一般定时器中断函数里的内容最好是能够快速地去执行完,比如只执行几条简单的语句,这样与主函数配合才会使程序更加高效。前期教学里,我们只使用定时器中断负责某个IO引脚间隔跳变或者使一个变量间隔自加1的简单语句。比如我们现在要实现间隔50ms左右的时间让流水灯左右循环移动的同时, 定时器 2022年02月04日 173 点赞 0 评论 89000 浏览
单独文件封装 1.再遇多文件编程因为定时器经常在后面的教程中使用到,所以我们也把这部分功能代码单独使用文件封装起来。在第六章的教程中已经教过大家多文件创建,这里点到为止。创建好“timer.c”和“timer.h”添加进工程中2.timer.c的代码#include<reg52.h>#include<functio 定时器 2022年04月15日 160 点赞 0 评论 91165 浏览
隐形漏洞 1.漏洞代码假如就按上一讲说的书写方式,实现定时50ms间隔的流水灯。#include<reg52.h>#include<function.h>//详见第六章第8讲voidmain(){LED_Init();//初始化LED硬件模块EA=1;//闭合总中断开关TMOD=0x01;//设置定时器0为工作 定时器 2022年01月12日 131 点赞 0 评论 80948 浏览
定时器初始化新写法 1.书写优化我们所写过的下面这些TH0=0XB8;TL0=0X00;或者TH0=0X4C;TL0=0X00;如果代码没有注释我们根本不知道这是要定时多长时间,所以为了增加程序的可读性,我们重新优化这两处的书写。首先要明白在程序书写中,以前说过,赋值给寄存器的值可以书写成十六进制的数也可以是十进制的数。 定时器 2022年02月04日 147 点赞 0 评论 123145 浏览