IIC入门代码讲解 因IIC时序细节的理解不是一两篇文章就能描写清楚的,这里笔者只针对《手把手教你学51单片机》文档第14章内容做补充辅助理解,如果大家想彻底弄明白IIC的所有通信细节过程,那么就需要“好事多磨”了。我们现在先贴出IIC的时序流程图1.起始信号函数我们同样是运用宋老师的代码, IIC通信 2022年04月07日 167 点赞 0 评论 120012 浏览
进一步理解中断函数 1.另一个外部中断前面两讲都是围绕外部中断0(P3.2的功能)来讲解,这里我们也还有一个外部中断1(P3.3的功能)。P3.3要想实现上一讲的功能只需杜邦线接下面的IO端口即可代码就是把“EX0”改为“EX1”,“IT0”改为“IT1”。interrupt后面的0要改为2, 外部中断 2022年04月09日 148 点赞 0 评论 119573 浏览
无源蜂鸣器+LED 1.联系生活我们已经学会控制无源蜂鸣器鸣叫的时间,那么作为本章最后一讲,联合我们学过的LED章节知识,写一个用开发板实现一个生活常见现象的代码,比如常见机器报警时,灯亮的时候蜂鸣器就响,灯灭的时候就不响,时间上表现为灯亮的时候蜂鸣器马上响,亮的时间和鸣叫的时间都为1秒, 蜂鸣器 2022年03月18日 133 点赞 0 评论 110305 浏览
按键猜想 当然按键的功能不是像前两讲的代码这么单调,前两讲的代码是认识到程序中寄存器位的值是可以受外部电路影响而改变的。这一讲我们要做的就是根据前两讲的知识不断探索按键的一些规律和原理。1.状态图可能我们理想中的按键过程图如下那我们不妨在这种猜想下用代码测试看看是什么效果。 独立按键 2022年02月03日 135 点赞 0 评论 112467 浏览
闪烁的LED 延时是单片机入门必学的应用!1.序上一讲我们已经实现点亮一盏灯,但是很多时候程序的执行都是要死循环的,不能让程序像是停在那里不执行了。所以这一讲在前面的原理图基础上实现让LED2从点亮一段时间到熄灭一段时间再点亮一段时间如此循环下去,实现闪烁LED2的功能。 LED及入门 2022年03月26日 118 点赞 0 评论 110430 浏览
函数传参调用 本讲在上一讲的代码基础上讲解新的编程知识:函数参数传递调用!1.推陈出新上一讲的函数封装“delay();”是一个固定的功能,只能做延时1秒的作用,大多数情况下我们希望一个函数用相同的函数名通过修改一个值可以实现不一样的功能,所以就产生了函数带参调用的编程手法。 LED及入门 2022年04月03日 256 点赞 0 评论 128022 浏览
详细理解ASCII码 本讲我们主要通过实验操作来熟悉ASCII码与通信数据之间的关系。我们现在实现这样的功能,在电脑端上发送“十六进制”模式或“字符格式”模式的字节给单片机,数码管则显示出这些数据的十进制值,然后观察数码管上显示的数值与发送数据的关系。1.代码#include<reg52.h>#include<functi 串口通信 2022年03月09日 94 点赞 0 评论 148578 浏览
带返回值的函数 1.返回值之前我们封装的函数都是void类型无返回值的函数。随着学习的深入,我们需要把C语言的精髓学到家。前面几讲在“function.c”中没有提及过按键的函数封装,大家也知道我们在第五章用到的按键功能函数都需要定义全局变量,这种过多的使用全局变量是编程的大忌。 多文件编程 2022年03月29日 54 点赞 0 评论 119064 浏览
高位不显示0 在上一讲代码基础上,根据常识,变量没有到达10时,数码管1和数码管2应该是不需要点亮的,也就是高位不显示0。1.代码参考笔者参考了宋老师的代码,他的做法就是额外开辟出一个数组用来做缓存,P0去取这个数组里的值即可,初始化的时候如下unsignedcharLedBuff[6]={0xFF, 数码管 2022年03月12日 129 点赞 0 评论 103281 浏览
开发板选择 单片机的学习过程十分重视实践操作,仿真软件不过是纸上谈兵,我们需要有一个看得见摸得着的学习工具,那就是单片机开发板!1.教程所用的开发板我们知道,学习C语言首先选择的是用哪一个软件做上机实践,那么本教程也一样,需要选择一块开发板来作为模板教学。 单片机入门 2022年05月03日 112 点赞 0 评论 156789 浏览