唯一可译码判断c语言_单片机基础实验数码管原理与C语言

数码管的原理

数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。使用时,共阴极数码管公共端(com端)接地,共阳极数码管公共端接电源。每段发光二极管需5~10mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。

段选和位选:段选是选择二极管七个条形发光二极管和一个小圆点发光二极管那一个点亮,位选是指第几位被点亮

dc05d667adff86746686751249a467c1.png
LED1~8是来控制选择位选的,a~dp是控制段选的

锁存器

所谓锁存器,就是输出端的状态不会随输入端的状态变化而变化,仅在有锁存信号时输入的状态才被保存到输出,直到下一个锁存信号到来时才改变。

当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

7bc8fd4d193f2696e436bb8de6abd493.png
由图可知P2.6是锁存器的使能端,例如先给P0赋值P0=0XFE,然后使P2.6=1,锁存器使能,将P2.6=0XFE的数据锁在锁存器中赋给Q0~Q7,然后使P2.6=0锁存器使不能,再给P0赋值将无法进入锁存器,不能被赋值到Q0~Q7

译码器

译码器的逻辑功能是将每个输入二进制的代码译成对应输出高、低电平信号或另一个代码,常用的译码器电路有二进制译码器,二-十进制译码器和显示译码器。

这里只介绍一种二进制译码器,以38译码器为例

dac75ff752d7b3d3b0a23bb8d290625f.png
通过给ABC输入0或1,来控制输出Y0~Y7的高低电平,通过真值表来判断

如何看译码器的真值表

以第四行为例,当A0,A1,A3分别输入000是,Y0~Y7输出0111 1111的信号

4a1395e3b230141c157a807b32a5b3b1.png
以74H138的真值表为例,H代表高电平,L代表低电平,X代表任意,可高电平也可低电平

switch语句

switch语句的一般形式:

switch

若表达式与常量一相同时,则执行语句一,然后break结束,若表达式与常量n相同时,则执行语句n,然后break结束

一维数组的定义与使用

一维数组的基本形式为:类型符 数组名[常量表达式];

例如unsigned char code duan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

引用时P0=duan[1]//P0=0x3f

驱动2个四位数码:可以使用16个IO口.使用16个IO口,也可以锁存器驱动段选,IO口直接驱动位选,也可以分别用两个锁存器驱动段位、位选,也可以用译码器驱动段选,锁存器驱动位选。这里只介绍两种情况。

1.两个锁存器驱动 2.一个锁存器一个译码器驱动

1两个锁存器静态驱动数码管

#include

2译码器与锁存器静态驱动数码管(译码器控制位选,锁存器控制段选)

#include 

3两个锁存器动态驱动数码管

#include

4译码器与锁存器动态驱动数码管(译码器控制位选,锁存器控制段选)

#include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值