51单片机基础元器件解读

一、基础元器件

8个LED灯,四个数码管,5个按键

二、原理图以及原理图的理解

1.led元件

原理图

在这里插入图片描述

二极管

·二极管的三角形底座连接阳极,一条竖线连接阴极
·从图中也可以看出来,二极管的阳极接了VCC高电平,那么想要产生电势差就需要给另一头接低电平。

开灯代码如下:

P2=0

关灯代码如下:

P2=0xff

对应 i 位置0其它位不变:

P2&=~(1<<i)

对应 i 位置1:

P2|=(1<<i)

2.数码管元件

原理图

在这里插入图片描述

数码管

首先是元器件的逻辑理解:
·数码管分为共阳极数码管,共阴极数码管,共阳极的COM端接电源,而共阴极数码管的COM端接地,在图中可以找到COM字样,对应的接线通过网络标志LEDS4,LEDS3,LEDS2,LEDS1,接到了左边的接线处,可以看到最后通过一个三极管接了地,所以上图是一个共阴极数码管。

– 共阳极数码管:公共引脚COM高电平,数码管低电平,可以点亮
– 共阴极数码管:公共引脚COM低电平,数码管高电平,可以点亮

·三极管分为NPN型,PNP型,这是因为电流方向是P->N,所以如下图

从箭头方向判断,电流方向是P->N,将P,N填在箭头两侧,补全上面的那个极,结果即是NPN
在这里插入图片描述

从箭头方向判断,电流方向是P->N,将P,N填在箭头两侧,补全上面的那个极,结果即是PNP
在这里插入图片描述

·三极管从上到下依次有三个极,集电极(c),基极(b),发射极(e)。若想要将三极管当开关使用,需要用基极(b)–>发射极(e)电压控制集电极(c)–>发射极(e)的电压。
—NPN型三极管当开关使用Vc > Vb > Ve,基极接高电平
—PNP型三极管当开关使用Vc < Vb < Ve,基集接低电平

如果不追求原理只追求会用可以记忆成基极为P接高电平,N接低电平,判断个PNP还是NPN就行

数码管运行的逻辑理解:
·COM端口可以全部打开,但是51单片机的数码管亮起线路只有一个,这意味着就算打开了全部的数COM端,从数码管传过去的数字同时只能有一个,这意味着数码管需要用到人类的视觉暂留现象来同时显示大于9的数字。
自己编写一个void digital(int i,int number); 它是一个在第 i 个COM端显示number的函数,在另一个函数void show(int number);中将它放入while循环。此时digital的循环次数为传入number的长度,当number为123时,digital会被while运行3次,每次打开不同的COM端显示不同的数字。
由于程序运行速度很快,人类的视觉会感觉有数字闪过,造成视觉暂留效果。

while(number!=0)
	{
		tmp=number%10;
		number/=10;
		digital(i++,tmp);
	}

COM端口关闭代码如下:

P1|=(1<<0)|(1<<1)|(1<<2)|(1<<3);

打开第 i 个COM端口代码如下:

P1&=~(1<<i);

开数码管为数字 i 代码如下:

unsigned char a[]={0x3f,0x06,0x5B,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
P0=a[i];

·因为数字跳变很快,甚至很难在板子上看清楚数字的变化,于是可以在show(number)函数外面套一层减速用的for(i=0;i<0xfff;i++),当for循环执行完毕后,再让number自加,从而让同一个数字number可以在for中多次循环出现,视觉暂留更加清楚。

2.按键元件

原理图

在这里插入图片描述

按键

按键的一端接地,为了显示出按键按下时的电平跳变,需要先将P1引脚设置为高电平,当按键按下时,会使线路导通,P1对应引脚从高电平跳变到低电平。

设置高电平初始值代码如下:

P1=0xf0;

检测 i 引脚是否跳变代码如下:

if((P1&(1<<i))==0)
这里括号必须加,逻辑运算符优先级高于位运算符

注意:此处引脚为P14–P17,所以初始化时需要先给低位设置0值后才能给高位设置1值,这也是为什么使用器件时需要先初始化

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值