#51单片机#数码管静态与动态显示

发布者:Harmonious222最新更新时间:2021-10-27 来源: eefocus关键字:51单片机  动态显示 手机看文章 扫描二维码
随时随地手机看文章

数码管的静态显示与动态显示

学习数码管的静态与动态显示,首先要清楚,同一个时刻,单片机只能使能一个数码管。


动态显示:轮流点亮数码管,利用人眼的视觉暂留现象,造成多个数码管被点亮的视觉体验。


静态显示:可理解为非动态显示,即不会轮番点亮数码管。在多个数码管的显示中,静态显示的意义不大。


记住:100Hz无闪烁!!!

只要刷新频率大于100Hz,即刷新时间小于10ms,就可以做到无闪烁,这也是动态扫描的硬性指标。


静态显示的演示代码:


#include


//数码管静态显示


unsigned char code LedChar[10]={//数码管显示的数字0~9

0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};


unsigned char cnt = 0;

unsigned char sec = 0;


sbit DigitalTube = P1^0;;


void main()

{

   //点亮数码管

   DigitalTube = 0;

   //设置定时器

   TMOD = 0X01;

   TH0 = 0XB8;

   TL0 = 0X00;

   TR0 = 1;


   while(1)

   {

P0 = LedChar[sec];


    if(TF0 == 1)

  {

    TF0 = 0;

TH0 = 0XB8;

    TL0 = 0X00;

cnt++;

if(cnt>=50)

{

cnt = 0;

sec++;

if(sec>=10)

{

sec = 0;

}

}

  }

}

}


动态显示的演示代码


#include


//数码管动态显示


unsigned char code LedChar[10]={//数码管显示的数字0~9

0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};


unsigned char flag ;


sbit DigitalTube1 = P1^0;

sbit DigitalTube2 = P1^1;


void main()

{

TMOD = 0X01;

TH0 = 0Xe7b8;

TL0 = 0X0000;

TR0 = 1;


flag = 0;


while(1)

{

if(flag == 0)

{

DigitalTube1 = 0;

DigitalTube2 = 1;

P0 = LedChar[1];

}

else if(flag == 1)

{

DigitalTube1 = 1;

DigitalTube2 = 0;

P0 = LedChar[2];

}


if(TF0 == 1)

{

TF0 = 0;

TH0 = 0Xe7b8;

TL0 = 0X0000;


flag = !flag;

}

}

}


动态显示效果图:

在这里插入图片描述

关键字:51单片机  动态显示 引用地址:#51单片机#数码管静态与动态显示

上一篇:#51单片机#中断
下一篇:#单片机#数码管

推荐阅读最新更新时间:2024-11-13 09:19

51单片机外部中断产生条件
最近在做单片机外部中断实验的时候以为忘记产生中断的条件,于是查找了大学时代的教材和一些关于单片机的书籍,结果发现里面都没有相关的介绍。接着我有在AT89S52的中英文手册中查找了相关内容也没有找到相关的说明。最后不得已百度了一下,找到了答案如下: 5个中断源的符号、名称及产生的条件如下。 INT0:外部中断0,由P3.2端口线引入,低电平或下降沿引起。 INT1:外部中断1,由P3.3端口线引入,低电平或下降沿引起。 T0:定时器/计数器0中断,由T0计满回零引起。 T1:定时器/计数器l中断,由T1计满回零引起。 TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。
[单片机]
8051单片机实战分析(以STC89C52RC为例) | 10 - 外部中断的使用
1 中断系统结构 以下这张图是从中断引脚到中断入口所经过的通道: 从图中不难看出INT0与INT1是中断引脚,其中经过了TCON、IE、IP这些寄存器,因此我们在写程序时得把这些寄存器功能配置好,CPU才会按照我们的想法只执行!下面分别对这些寄存器进行介绍(稍微了解一下即可,忘记的时候再查)。 1.1 TCON寄存器 TCON(Timer Control Register),中文叫定时器/计数器控制寄存器,TCON寄存器是用于中断触发方式设置以及中断标志。 各寄存器位的作用如下: TCON寄存器位 作用 1.2 IE寄存器 IE(Interrupt Enable),中文叫中断允许寄存器,它的作用是控制所有中
[单片机]
80<font color='red'>51单片机</font>实战分析(以STC89C52RC为例) | 10 - 外部中断的使用
51单片机与蓝牙模块连接
不久前开始学习使用蓝牙模块,在模块与51单片机连接的过程中出现了非常多的问题,我想应该也是很多新手和我一样会遇到这样的问题,因此特地写这篇文章,想分享下在学习过程中遇到的问题以及解决方法。 此次学习用到模块是HC-06蓝牙模块,如下图: 该模块某宝有售,价格约为20RMB。某宝上的HC-06有两种,分别是带引脚和不带引脚的,建议新手购买带引脚的。我从试验开始到成功,一共使用了四块蓝牙模块。第一次买的是带引脚的,但是模块本身是坏的;第二次买的是不带引脚的,但是由于自身的焊功有限,导致模块损坏,无法使用;第三次是朋友送的蓝牙4.0,由于某些原因无法使用,在此也特别感谢朋友送我蓝牙;第四次购买,就是上图所示的蓝牙,才最终完成了试
[单片机]
<font color='red'>51单片机</font>与蓝牙模块连接
HD4478U显示LCD与51单片机驱动程序
#include SST89x5x4.H #include absacc.h #include intrins.h sbit LCDRSPIN = P3^7; sbit LCDRWPIN = P3^6; sbit LCDEPIN = P2^6; #define UCHAR unsigned char void delay(unsigned int i) { UCHAR j; for(i; i 0; i--) for(j = 200; j 0; j--); } /////////////////////////////// //控制LCD unsigned char XPOS,YPOS; //测
[单片机]
51单片机的外部中断触发方式
51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。 这个原理很好理解。但应用时需要特别注意的几点: 1) 电平触发方式时,中断标志寄存器不锁存中断请求信号。也就是说,单片机把每个机器周期的S5P2采样到的外部中断源口线的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。换句话说,要使电平触发的中断被CPU响应并执行,必须保证外部中
[单片机]
基于51单片机和ADC0808 ADC0809的自动数字电压表设计
前言: 之前讲过基于数码管显示的自动数字电压表,接下来讲一下基于LCD1602显示的相关设计,分别利用的是TI公司的ADC0808和ADC0809。 硬件和软件设计 基于51单片机+ADC0808+LCD1602 测试电压范围为2.1~25V(超出这个范围,程序会卡死),精度<0.05 仿真图如下: 部分代码如下: #include AT89X52.H #define LEDDATA P0 #define v20_on {s3=0;s2=0;s1=1;} //宏定义不同量程,不同的开关状态 #define v2_on {s3=0;s2=1;s1=0;} #define v02_on {s3=1;s2=0;s
[单片机]
基于<font color='red'>51单片机</font>和ADC0808 ADC0809的自动数字电压表设计
51单片机(二十七)—— 蜂鸣器播放音乐
1、实验原理介绍 蜂鸣器是电路中经常使用的发声器件,我们一般使用蜂鸣器发出“嘀嘀”的声音,用它作为提示音。有没有想过用蜂鸣器还可以播放音乐呢?这显然是件很有意思的事情。 本文使用蜂鸣器来播放音乐。为了深入了解此实验的原理,先介绍一下音乐的基础知识,音乐中的每个音调都有其固定的音高,简谱记谱法由7个基本唱名组成,它们分别用1、2、3、4、5、6、7表示。每个唱名对应固定的音高。由声学角度看,音高不同,发声物体振动的频率就不一样。 下图为钢琴键盘的一部分,图中的C4键对应的就是简谱唱名的中音1,左侧为这个唱名对应的声波的振动频率。由此可以向上和向下推出其它唱名的频率。 要想使蜂鸣器发出不同的声音就必须通过PWM波来驱动蜂鸣
[单片机]
<font color='red'>51单片机</font>(二十七)—— 蜂鸣器播放音乐
MCS-51单片机存储器扩展
主要内容: 第八部分 MCS-51单片机存储器扩展(1) 1、 概述 2、 系统总线及总线构造 3、 读写控制、地址空间分配和外部地址锁存器 4、 程序存储器EPROM的扩展 重点:系统总线及总线构造 存储器地址空间分配 外部地址锁存器74LS373 典型的外扩存储器的接口电路 难点:存储器地址空间分配 第8部分 MCS-51单片机扩展存储器的设计 8.1 概述 片内的资源如不满足需要,需外扩存储器和I/O功能部件:系统扩展问题,内容主要有: (1)外部存储器的扩展(外部存储器又分为外部程序存储器和外部数据存储器) (2) I/O接口部件的扩展。 本章介绍MCS – 51单片机如何扩展外部存储器,I/O接口部件
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved