多个数码管显示 1.余晖效应流水灯如果在流速太快的基础上再加速,那么我们看到的则是一排灯都在亮着,这就叫人眼的余晖效应。同理,我们想让多个数码管同时亮,那么就要让三八译码器的IO0~IO5每个输出引脚轮流快速切换出低电平,需要显示什么数字再由P0的8个IO端口控制。 数码管 2022年02月06日 150 点赞 0 评论 120874 浏览
电位器控制舵机 1.题目要求为了使ADC的知识能配合其他模块实现不同功能,这里我们打算通过扭动电位器(滑动变阻器)来控制舵机桨的位置,如果我们顺时针扭一圈电位器,那么舵机桨也会跟着从一端旋转到另一端。2.main.c测试代码#include<reg52.h>#include<function.h>//详见第六章第8讲 混合例程 2022年02月02日 154 点赞 0 评论 105062 浏览
数码管显示函数 1.代码选择有时我们需要6个数码管显示我们想要看到的数字,比如计算结果呈现在数码管上,然而当要显示的数为“520”时又不想前面的3个数码管亮(也就是高位为0不显示),我们把这部分功能代码封装为带参数的函数,传入的参数就是要显示的数值。参数定义的是unsignedlong类型, 多文件编程 2022年02月12日 245 点赞 0 评论 114072 浏览
支持连按与全局变量 1.支持连按的思路支持连按的代码就是在“不支持连按”代码的思路上把“if(KEY4==1)”改为“if(KEY4==0)”,这样的话按键不松手程序就能一直进入“if(KEY4==0)”的大括号里面。然后我们定义一个变量times,如果一直按着不放, 独立按键 2022年05月31日 117 点赞 0 评论 105500 浏览
IIC入门代码讲解 因IIC时序细节的理解不是一两篇文章就能描写清楚的,这里笔者只针对《手把手教你学51单片机》文档第14章内容做补充辅助理解,如果大家想彻底弄明白IIC的所有通信细节过程,那么就需要“好事多磨”了。我们现在先贴出IIC的时序流程图1.起始信号函数我们同样是运用宋老师的代码, IIC通信 2022年04月07日 167 点赞 0 评论 120012 浏览
带返回值的函数 1.返回值之前我们封装的函数都是void类型无返回值的函数。随着学习的深入,我们需要把C语言的精髓学到家。前面几讲在“function.c”中没有提及过按键的函数封装,大家也知道我们在第五章用到的按键功能函数都需要定义全局变量,这种过多的使用全局变量是编程的大忌。 多文件编程 2022年03月29日 54 点赞 0 评论 119064 浏览
点亮LED 1.硬件连接了解了上一讲的一些元器件的使用原理,那么使用本教程的开发板点亮最右端的LED2的硬件连接简化为如下所示2.软件分析我们知道74HC138要想正常工作,单片机的P1.4要输出0,P1.3输出1。接着要想三极管导通,IO6需要输出低电平, LED及入门 2022年04月20日 213 点赞 0 评论 116124 浏览
定时器简单运用 1.细节上一讲里,我们知道TH0和TL0合成的“16位的变量”的初值最小要为0,不能是负数,所以我们要满足:65536-(x/(12/11059200))>=0。解得x<=0.071111秒=71.111毫秒。也就是用定时器的工作模式1最长的定时时间为71毫秒左右而已。 定时器 2022年02月03日 56 点赞 0 评论 115082 浏览
模拟倒车雷达报警 1.题目要求我们在第九章第3讲的例程基础上,实现用超声波模块模拟倒车雷达报警的功能,当障碍物距离超声波模块小于等于10cm左右我们就用蜂鸣器鸣叫产生报警,大于10cm就不报警。代码上添加的程序量比较少,我们只是把定时时间改为200微秒好使蜂鸣器鸣叫的比较尖锐。 混合例程 2022年03月23日 158 点赞 0 评论 107816 浏览
双模式函数封装 学了这两种按键模式的代码,我们现在决定将这两种模式封装成一个函数,然后通过参数选择是支持连按还是不支持连按。1.双按键一直以来我们都是只用一个按键,现在利用两个按键来实现按键模式的切换,K3负责用来给K4做“支持连按”还是“不支持连按”的选择。 独立按键 2022年05月20日 106 点赞 0 评论 102209 浏览