**嵌入式静态显示与动态显示**

首先LED显示器工作方式有两种:静态显示方式和动态显示方式。下面细说两种不同的显示。
1.静态显示:
静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。
以七段码为例:
你需要8根线去控制它,你若想让它对应的地方亮,就给它对应的8位2进制代码为1,然后输入,就可以命它发亮而且是一直发亮,但是这是仅仅一个七段码就需要8根线来控制,而一个板子可以使用的接口是有限的,故就用到了动态显示。
小显示,代码大家都懂

2.动态显示
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
这上面就是说其实每次仅仅只有一个亮,但是每个灯亮的时间很短,变化很快,你就看到了都在亮。
如下图,这是我做的小时钟。
这是运行的的时候,看起来是都亮的。
但是一静止,就只有一个亮了。(上图有个锁存器(中转器)没有显示)中转器的多些肯定是比版子多好很多
这里我讲为什么,一个锁存器控制亮的地方(控制一个亮),一个锁存器控制亮的样子(这是我就输入对应七段码二进制了),
而且可以一说的是我就同样一个版子,加上两个锁存器,控制了8个七段码合成的屏幕(一个板子是没有64根线的哈)。
代码如下

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit du =P2^6;
sbit we =P2^7;void delay(uint z)    //时间函数dealy(1000)=1秒
{uint x,y;for(x=z;x>0;x--)for(y=120;y>0;y--);
}unsigned char leddata[]={ //用一字符组存更好变化0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"};
void main()
{int i=0,j=0,h=0,l=0,t=0;while(1){we = 1;     //每次前面都要段选与位选为0,要不在原有值上再赋值会有问题,这我说不出来为什么P1 = 0xff;we = 0;du = 1;P1 = 0x00;du = 0;du = 1;P1 = leddata[i];        du = 0;                         //个位秒we = 1;P1 = 0x7f;we = 0;delay(5);//这是一个小延迟,以下每个变化后都有,大家可以想想每个都是5毫秒不变时间非常的短,就跳到下以个地方闪了,但又很快跳回来,
这在肉眼是看不到中间变化的,这就是动态规划,它不是赋值了就不变的。we = 1;P1 = 0xff;we = 0;du = 1;P1 = 0x00;du = 0;du = 1;P1 = leddata[j];                   //十位秒du = 0;we = 1;P1 = 0xbf;we = 0;delay(5);we = 1;P1 = 0xff;we = 0;du = 1;P1 = 0x00;du = 0;du = 1;P1 = leddata[h];                     //各位分du = 0;we = 1;P1 = 0xef;we = 0;delay(5);we = 1;P1 = 0xff;we = 0;du = 1;P1 = 0x00;du = 0;du = 1;P1 = leddata[l];                  //十位分,下面小时没有变化,没有写出来,可以同上。du = 0;we = 1;P1 = 0xf7;we = 0;delay(5);we = 1;P1 = 0xff;we = 0;du = 1;P1 = 0x00;du = 0;du = 1;P1 = leddata[1];du = 0;we = 1;P1 = 0xfe;we = 0;delay(5);we = 1;P1 = 0xff;we = 0;du = 1;P1 = 0x00;du = 0;du = 1;P1 = leddata[2];du = 0;we = 1;P1 = 0xfd;we = 0;delay(5);t++;                 //这里上面共用6个dealy(5),就是dealy(30),而1000是一秒,33*30=990我就t%33来控制一秒变化(这里有点误差)if(t%34==0)                    //控制每秒变化,接下来就是改数了{i++;if(i==10){i=0;j++;if(j==6){j=0;h++;if(h==10){h=0;l++;}}}}}}

嵌入式静态显示与动态显示相关推荐

  1. 数码管静态显示到动态显示——六位8段数码管(共阴极)按顺序间隔1s显示数字1~6

    数码管静态显示到动态显示 2021-01-21,51单片机学习笔记 六位8段数码管(共阴极)按顺序间隔1s显示数字1~6 代码: /********************************** ...

  2. 【STC89C52】数码管静态显示和动态显示

    今天我跟大家分享的是数码管静态显示和动态显示实验的学习笔记,希望对你有所帮助!!!如果有什么错误欢迎评论区留言指正!!! 目录 一.原理图分析 二.静态显示 ​编辑 三.动态显示 一.原理图分析 1) ...

  3. 任务11:“数码管”的静态显示和动态显示

    本系列教程以AVR单片机为对象,介绍单片机的快速开发方法. 参考教材:<单片机技术及应用项目教程> 栾秋平 电子工业出版社 2019.6 第1版 本文介绍"数码管"的静 ...

  4. FPGA(5)数码管静态显示与动态显示

    目录 一.数码管静态显示 二.数码管动态显示 1.变量定义 2.定时(60us) 3.动态显示 代码 一.数码管静态显示 FPGA的数码管有4位,8段.(位和段都是共阳,即低电平有效) 位选的4位(二 ...

  5. 5动态显示图片_单片机入门 数码管的静态显示和动态显示 壁纸

    首先是静态显示,代码如下 #include "reg52.h"sbit dula=P2^6; sbit wela=P2^7;main() {wela=1;//打开位选,控制哪个数码 ...

  6. 让51单片机八段数码管亮起来(静态显示和动态显示、共阴极和共阳极、位码和段码)

    51单片机数码管的显示 一.八段数码管基础部分 1.八段数码管的共阴极和共阳极 2.八段数码管的位码和段码 二.八段数码管动态显示 1.八个八段数码管动态扫描0到7流水显示 2.八个八段数码管动态扫描 ...

  7. 51单片机怎么显示当前时间_51单片机数码管静态显示和动态显示原理及实验

    数码管 多位数码管,即是两个或两个以上单个数码管并列集中在一起形成一体的数码管.当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位一体中的哪一 ...

  8. 嵌入式技术(单片机原理)基本概念梳理(保研/考研面试)

    嵌入式技术基础(单片机原理),常见概念及知识点整理(保研面试用). 目录 第1章 概论 第2章 MCS-51系列单片机的资源配置 第3章 MCS-51系列单片机的指令系统及汇编语言程序设计 第4章 单 ...

  9. LED 数码管共阴共阳的区别+静态/动态显示

    51单片机--数码管动态显示 1.共阴共阳定义 LED 共阴极指的是LED共同的接点是GND(接地),而共阳极指的是LED共同的接点是电源.LED亮灯的条件是两端有电势差. 最后一段h/dp小数点在高 ...

最新文章

  1. mysql 缓存怎么设置_mysql中缓存如何设置
  2. 使用AFNetworking请求新浪微博数据接口出错解决办法
  3. php多进程 写入文件_PHP多进程中使用file_put_contents安全吗?
  4. c语言模拟题答案及解析,全国计算机等考二级C语言模拟试题,答案及解析一
  5. python调用百度智能云API请求(以自然语言处理——词法分析为例)
  6. http 直接显示目录下文件_Win10支持直接访问Linux子系统文件:你的下一台Linux何必是Linux
  7. java对账_Java微信对账接口返回值解析
  8. 腾讯Java面试题、笔试题(含答案)
  9. ubuntu 10.10 安装google拼音输入法 并实现光标跟随
  10. jeecms系统使用介绍——jeecms中的内容、栏目、模型之间的关系
  11. Two Birds with One Stone: Series Saliency for Accurate and Interpretable Multivariate Time Series...
  12. 使用JBE修改.class字节码文件
  13. UEFI开发探索82- YIE002USB开发板(05 制作HID设备)
  14. 东大22春大学语文X《大学语文》在线平时作业2_100分资料非答案
  15. 程序设计阶段性总结报告一
  16. 自制的MATLAB拼图游戏GUI界面版详解(下篇)
  17. 十进制怎样转二进制?
  18. 2022国际数维杯C题思路
  19. 郑厂长系列故事——逃离迷宫(C语言)
  20. 王老吉三亿元投资雅安被质疑作秀九

热门文章

  1. Python项目--拼图游戏(附源码)
  2. 安卓开发高仿QQ空间
  3. “笨鸟”荣耀的2021
  4. 液晶屏循环显示单色 液晶屏检测程序
  5. 线性代数学习笔记——第十三讲——行列式的定义
  6. 管窥广电总局的TVOS,又一个Android定制版?
  7. 电商干货!1000万烧出来的高点击率钻展创意图十大原则(营销人性)
  8. 实践指南-网页生成PDF
  9. 牛客 小米校招 小明的字符串 循环队列
  10. 常见的MySQL优化方案1