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

单片机静态数码管显示

发布时间:2023-06-30 07:46:36

㈠ 51单片机共阴数码管利用静态显示,让六个数码管显示1~6,程序怎么写

代码如下:

#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

#define data P0 //P0口宏定义

/* ***************************************************** */

// 数码管位选数组定义

/* ***************************************************** */

uchar code leddata[] =

{ 0x3F, //"0"

0x06, //"1"

0x5B, //"2"

0x4F, //"3"

0x66, //"4"

0x6D, //"5"

0x7D, //"6"

0x07, //"7"

0x7F, //"8"

0x6F, //"9"

0x77, //"A"

0x7C, //"B"

0x39, //"C"

0x5E, //"D"

0x79, //"E"

0x71, //"F"

0x76, //"H"

0x38, //"L"

0x37, //"n"

0x3E, //"u"

0x73, //"P"

0x5C, //"o"

0x40, //"-"

0x00, //熄灭

0x00 //自定义};

};

/* ***************************************************** */

// 位定义

/* ***************************************************** */

sbit = P1^7; //段选定义

sbit we = P1^6; //位选定义

/* ***************************************************** */

// 函数名称:DelayMS()

// 函数功能:毫秒延时

// 入口参数:延时毫秒数(ValMS)

// 出口参数:无

/* ***************************************************** */

void delay(uint z)

{

uint x,y;

for(x = 0; x < z; x++)

for(y = 0; y < 113; y++);

}

/* ***************************************************** */

// 函数名称:main()

// 函数功能:数码管静态显示

// 入口参数:无

// 出口参数:无

/* ***************************************************** */

void main(void)

{

uchar i;

we = 1;//位选开

data = 0x00;//送入位选数据

we = 0;//位选关

while(1)

{

 for(i = 0;i < 16 ; i++)

 {

 = 1; //段选开

data = leddata[i]; //送入段选数据

 = 0; //段选关

 delay(500); //延时

 }

}

}

(1)单片机静态数码管显示扩展阅读

对于74HC573,形象一点,我们只需要将其理解为一扇大门,只不过这扇大门是单向的,其中11引脚(LE)控制着门的开、关状态,高电平为大门打开,低电平为大门关闭。

D0-D7为输入,Q0-Q7为输出,在LE = 1,即输入高电平时,输入端=输出端,输入是什么,输出也就原封不动的输出;在LE = 0 ,即输入高电平时,大门关闭,实现锁存,不再输出。了解之后,我们按照电路图,来进行编程,代码实现。

在实现数码管的静态显示中,用到了两个锁存器,两个I/O口,P1.6和P1.7,分别是位选和段选。

首先定义了个数码管位选数组,也就是十六进制代码,这便是后来数码管显示数字的核心,接着,用 sbit 定义了位选和段选端口,分别是 P1.6 和 P1.7 ,定义了一个延时函数,其实这一串代码很有意思,开关开关思想,贯穿始终。

首先把位选打开,送入位选数据后,关闭锁存器,实现锁存,进入循环,随之打开段选锁存器,送入段选数据后,再次关闭段选。

接下来,这个延时操作对于实际看到数码管的显示效果特别重要,因为程序在段选后之后,会马上消隐,显示的时间之后几个微秒,这显然不太合理,需要在关闭段选后加上延时,这样一来,才会让每位数码管亮度保持均匀。

㈡ 51单片机与led数码管静态显示实验目的

51单片机与led数码管静态显示实验的目的有以下几点:

1. 熟悉51单片机的IO口编程方法:通过对51单片机的IO口编程,可以更好地了解51单片机的工作原理,为后续的单片机编程打下基础。

2. 熟悉led数码管的驱动原理:led数码管是常见的数字显示设备,通过数字电路将数字信号转换为led点阵信号,控制点亮不同的led灯来显示数字。了解led数码管的驱动盯坦原理,能够更好地理解数字电路的工作原理。

3. 掌握数码管凯瞎桐静态显示的方法:静态显示是将数码管中的每个数字分别映射到单片机的IO口上,并按照一定的时序信号将对应的数字信息发送到数码管上进行显示。掌握数码管静态显示的神正方法,能够进一步理解数字电路的设计和实现。

4. 综合应用:通过将51单片机的IO口编程和数码管的驱动技术应用到实验中,实现了一个数字计时器的设计和实现。这个实例能够让学生更深入地了解嵌入式系统的设计和应用方法。

通过这些目的的实现,学生可以加深对数字电路和嵌入式系统的理解和应用,为以后的工作和学习打下良好的基础。

㈢ 51单片机静态显示可以实现6位数码管123456的显示吗

多位数码管无法实现静态显示,物理上正备它们就存在冲突。除非每一位显示的内容都相同……
如果执着于用静态显示,行卜可以用6个1位数码管,缺点是需要大量的举带毁管脚来控制(可以用串扩并方案或地址映射扩展方案,成本上得不偿失)。

阅读全文

与单片机静态数码管显示相关的资料

热点内容
图库的文件夹是哪个 浏览:503
程序员为什么药学日语 浏览:421
熟悉linux常用命令 浏览:857
印度外卖小哥是程序员 浏览:411
绍兴程序员开发驻场流程 浏览:541
索纳塔8的压缩比 浏览:14
私有云主要服务器 浏览:939
为什么主题解压那么慢 浏览:860
怎么下载扫描二维码的手机app 浏览:727
云服务器创建私有镜像的时候一定要关机吗 浏览:115
php开发学习门户 浏览:385
传奇游戏服务器怎么设置 浏览:823
敲击东西解压完整版 浏览:401
刺络学pdf 浏览:868
怎么给手机文件夹设置封面 浏览:931
汽车保养app怎么用 浏览:62
线程javalock 浏览:897
c语言编译运行结果查看器 浏览:113
androidpx转dip 浏览:842
西藏编译局是什么级别 浏览:1003