
单片机
文章平均质量分 73
基础知识,
「已注销」
这个作者很懒,什么都没留下…
展开
-
【单片机】08数码管
以八段管为例介绍其字段,八段数码管其实是由八个LED灯组成的8字型,如图8.2所示,这八个灯按逆时针方向分别为:a,b,c,d,e,f,g,h。如果要显示“7”字,只需要将a,b,c三个灯点亮即可,如图8.3所示:这样来理解的话,要点亮一个数码管很容易,其实就是点亮相应的LED灯,就能显示不同的数字。我们在前面的实验中已经知道怎么点亮开发板上的LED灯,就是用单片机的I/O脚向LED灯输出低电平,灯就能点亮,输出高电平,灯就熄灭。那我们点亮数码管上的LED灯是不是也是这样呢?原创 2023-03-30 00:07:04 · 13251 阅读 · 0 评论 -
【单片机】07按键
我们先讲解一下上次布置给大家的双向流水灯作业。 本节实验内容是:利用开发板上的S1、S2、S3、S4按键来控制流水灯效果,若按下S1,8个LED呈现从左向右单向流水,若按下S2,8个LED呈现从右向左单向流水,若按下S3,8个LED呈现呈现双向流水效果,若按下S4,关闭8个LED。本实验的关键是单片机如何判断哪个按键按下?我们直接介绍过I/O接口,称为输入/输出接口,顾名思义它既有输出功能,也有输入功能,之前我们做的实验都体现了它的输出功能,我们现在介绍一下它的输入功能。原创 2023-03-29 23:59:44 · 1335 阅读 · 0 评论 -
【单片机】06流水灯
我们发现从第0个灯到第7个灯点亮赋的值不同,这些值程序中使用的是16进制形式,看不出规律,但我们分析这些值的二进制(见上面程序的注释部分),发现每次赋的值是将上次赋的值循环左移了一下,初始值为0xFE,那我们有没有循环左移操作符呢?我们分析发现,循环左移1位就是左移一位后,最右边空出来位补最左边移出去的那个位,我们可以先让操作数的值“左移”一位,最右边的位补的0,得到一个值1,再将操作数里的值右移7位,也就是,将被左移出去的最高位移到最低位上,得到值2,再将值1和值2或一下,就能实现循环左移功能了。原创 2023-03-29 00:16:03 · 6331 阅读 · 0 评论 -
【单片机】05灯闪
我们将以上代码编译下载到单片机中并运行,发现接在P1口的第0脚上的LED闪烁,实验成功。但我们要是把8个LED等接到P1口上,我们发现所有LED都闪烁,我们只需要一盏LED灯闪烁,其他灯不闪烁,让怎么办呢?我们可以利用上次的内容,从两个方面。这里还可以进一步简化程序,我们发现“LED=0;xxxx xxx0 不管最右边的是0还是1,都要把它变为0。改进,一个是直接定义位,对位赋值。原创 2023-03-28 23:44:13 · 138 阅读 · 0 评论 -
【单片机】04左移右移与或异或
a<<ba=182;转换成二进制形式 1011 0110b=1时,最左边的1被移走了,最右边添0。b=4时,最左边的4位被移走了,最右边添0。原创 2023-03-28 23:42:33 · 2442 阅读 · 0 评论 -
【单片机】03点亮小灯
/直接定义P1口0号位 void main() {LED = 0;while(1);原创 2023-03-28 23:39:17 · 1426 阅读 · 0 评论 -
【单片机】02ROMRAM
第一个程序:点亮小灯#include <reg51.h>sbit LED=P1^0;void main(){ LED=0; while(1);}逻辑运算规则1.逻辑“与”运算(AND):ΟΛ0=0, 0Λ1=0, 1Λ0=0, 1Λ1=12.逻辑“或”运算(OR):0v0=0, 1v0=1, 0v1=1, 1V1=13.逻辑“非”运算(NOT):非1 = 0非0 = 14.逻辑“异或”运算(XOR):0Φ0=0 0Φ1=11Φ0=11Φ1=0计算机中数的表示原创 2023-03-28 23:38:09 · 595 阅读 · 0 评论 -
【单片机】01软件操作
把、存储器、和输入/输出接口电路**集成在一个芯片上,这就是单片机。单片机是集成在一块(单)芯片上的微型计算机。MCU:Micro-Controller Unit,微控制器点亮LED灯硬件连线。原创 2023-03-28 23:35:02 · 66 阅读 · 0 评论