导航:首页 > 操作系统 > 单片机数码管显示变化

单片机数码管显示变化

发布时间:2024-06-15 15:30:13

A. 51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示

1、首先,要把代码写好,点亮数码管。

B. keil51单片机数码管滚的显示

一,LED数码管显示的原理
数码管的发光原理实际是七段LED灯(不包括小数点)或者八段LED灯被点亮的结果。八段依次是 a,b,c,d,e,f,g,dp(表示点)。LED数码管是常见的显示器件,在很多场合都可以看到,比如,闹钟冲胡的显示,家电的显示功能,车站等等。我们看到的数码管为“8”字形,数码管又分为共阴极和共阳极两种。

1.共阴极:就是将八段数码管的阴极(负极)接地在一起,需要高电平点亮。如下图所示



2.共阳极:就是将八段数码管的阳极(正极)接(+5v)在一起,需要低电平点亮。如下图所示


3.数码管的具体显示

①共阴数码管的点亮

为使数码管的不同段显示不同的字符,需要点亮和熄灭不同段的LED灯,才可以实现。对于共阴极数码管来说,只需要给高电平LED灯就会被点亮,对应的断码就会亮起。给低电平相应的断码就会熄灭。

以显示“0”为例 只需要给“dp”和“g”给低电平熄灭就可以了

断码的顺序为:dp g f e d c b a



“0”断码用16进制表示为:3FH

其他字符的断码以此类推:如下表所示


②共阳数码管的点亮

为使数码管的不同段显示不同的字符,需要点亮和熄灭不同段的LED灯,才可以实现。对于共阳极数码管来说,只需要给低电平LED灯就会被点亮,对应的断码就会亮起。给高电平相应的断码就会熄灭。

以显示“0”为例 只需要给“dp”和“g”给高电平熄灭就可以了

断码的顺序为:dp g f e d c b a

1 1 0 0 0 0 0 0



“0”断码用16进制表示为:C0H

其他字符的断码以此类推:如下表所示


二.动态数码管的显示(共阴)
思路: 建立显存、断码、位码表格,将软件延时部分设计成子函数的结构,在主函数中利用查表的方法来获得相应的位码和段码,这种思路经常用于显示变化的字符。
显示的状态(左移动态显示,类似于常见的广告牌)

3.原理图(protues仿真图)


4.设计方法
在多个数码管的显示中点亮数码管需要 位码和段码共同作核搏用才能点亮

位码(低电平有效):表示要点亮的数码管的位置。

断码(上面讲过了):就是要点亮哪一段数码管

举例说明:


如果要在上面的六个数码管中点亮第一个数码管,且让它显示“1”,首先确定它的位置是第六个。用八个二进制表示,最低位从0开始,最高位为7 那么它的位码为:11111110 (低电平有效)

断码为0x06

其他的以此类推

先要数码管动态显示要建一个数组。下图为断码


源代码:
#include#include#define uchar unsigned char#define uint unsigned intsbit an=P2^6; sbit wei=P2^7; uchar code tab[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x00,0x40}; //共阴极数码管段码表uchar idata dis_buf[6]={17,17,17,17,17,17}; //显示缓冲区数据(十进制)void delayms(uint i) //延时1ms函数{ uint j; for(;i>0;i--) for(j=120;j>0;j--) {;}}void main() //主函数{ uchar k,m,n,bitcode,segcode; while(1) { for(n=0;n<17;n++) { dis_buf[0]=dis_buf[1]; //数据移动 dis_buf[1]=dis_buf[2]; dis_buf[2]=dis_buf[3]; dis_buf[3]=dis_buf[4]; dis_buf[4]=dis_buf[5]; dis_buf[5]=n; for(m=0;m<100;m++) //100次扫描,大约600ms { bitcode=0xfe; //起始位码 for(k=0;k<6;k++) { P0=0xff; //消影 wei=1; wei=0; segcode=dis_buf[k]; //取数据 P0=tab[segcode]; //送段码散氏拦 an=1; an=0; P0=bitcode; //送位码 wei=1; wei=0; delayms(1); bitcode=_crol_(bitcode,1); //更新位码,准备显示下一位 } } } }}

阅读全文

与单片机数码管显示变化相关的资料

热点内容
没有服务器怎么发现其他节点 浏览:335
文明传奇怎么开服务器 浏览:54
javalistint 浏览:672
程序员到公司当领导 浏览:225
用算法控制玩家的行为 浏览:482
androidsdk17下载 浏览:792
怎么给单独表格添加密码 浏览:12
下载压缩密码 浏览:259
android系统上编程 浏览:469
单片机模拟i2c从机 浏览:237
教育年报系统服务器如何开启 浏览:841
对称密钥加密后的长度 浏览:292
微制造编程软件下载 浏览:107
旋住宿酒店用哪个App最好 浏览:60
三菱编程中怎么创建子程序 浏览:199
在单片机温度输入采集信号有 浏览:686
电脑云服务器同步 浏览:418
方舟生存进化手游版怎么转服务器 浏览:90
哪个app可以听小说 浏览:160
网络发送数据如何加密 浏览:201