目标

使用单片机89C51的P0和P2口显示“52H-1314”。

Proteus连线

过程

1、首先定义好数码管的字符码,我习惯采用共阳极的(使用共阴极的数码管直接取反就行了)

uchar code display[]={0x0C0,//"0"0x0F9,//"1"0x0A4,//"2"0x0B0,//"3"0x99, //"4"0x92, //"5"0x82, //"6"0x0F8,//"7"0x80, //"8"0x90, //"9"0x88, //"A"(10)0x83, //"b"(11)0x0C6,//"C"(12)0x0A1,//"d"(13)0x86, //"E"(14)0x8E, //"F"(15)0x90, //"G"(16)0x89, //"H"(17)0x8C, //"P"(18)0xA1, //"U"(19)0xBF//"-"  (20)};//共阴极

2、定义好要显示的字符码数组,然后就循循循循循循循环。

int main()
{uint shuma[8]={5,2,17,20,1,3,1,4};//"5,2,H,-,1,3,1,4"while(1){xianshi(shuma);}
}

3、通过函数显示数码:

void xianshi(uint *shuma)
{uint i=0,p0=0xff,p2=0x01;for(i=0;i<8;i++){P2=p2;//位选P0=display[shuma[i]];//段选Delay(3);p2=_crol_(p2,1);//段选左移刷屏}
}

4、各位只需要在前面补充一个Delay()函数用来延时就可以啦,记得延时不要太久哦,否则容易出现数码管闪烁或者直接无法同时显示所有字符哦。
换个字符串的话比如像这样:

或者像这样:

还有这样:

以上都是因为延时时间过长导致的结果。

所以刷屏的频率一定要足够高,以确保我们的人眼无法捕捉到屏幕的刷屏过程,利用视觉停留作用,就可以让这些数字看起来同时停留在数码管上啦!
祝各位小伙伴们学习愉快啦(^ _ ^)y!

8位数码管动态显示字符相关推荐

  1. c语言数码管的动态显示时间,8位数码管动态显示时间,可调节,调节的数闪烁显示...

    原标题:8位数码管动态显示时间,可调节,调节的数闪烁显示 // 时间,可调节, //调节时间时,调节的数闪烁显示: //比较两种闪烁的方法: #include #define uint unsigne ...

  2. 单片机c语言数码管显示子程序,单片机C语言之两位数码管动态显示

    <单片机C语言之两位数码管动态显示>由会员分享,可在线阅读,更多相关<单片机C语言之两位数码管动态显示(1页珍藏版)>请在人人文库网上搜索. 1.include #define ...

  3. 单片机动态从00到99C语言,用51单片机控制 2位数码管动态显示 00 ~ 99

    ;用51单片机控制 2位数码管动态显示 00 ~ 99. ;从 00 开始显示,显示数字每隔一段时间加 1,一直到 99,然后回到 00. ;从 00 到 10 每隔 100ms 加 1: ;从 10 ...

  4. arduino控制一位数码管、控制二位数码管动态显示(用不到中断程序)

    目的: 1.利用arduino控制一位共阳极数码管显示 2.利用arduino控制二位共阳极数码管显示 前言: 前段时间,在网上看到了一个视频,是关于二位数码管动态显示的视频,感觉很新奇,就想把它做出 ...

  5. 单片机数码管从00到99C语言_用51单片机控制 2位数码管动态显示 00 ~ 99。

    ;用51单片机控制 2位数码管动态显示 00 ~ 99. ;从 00 开始显示,显示数字每隔一段时间加 1,一直到 99,然后回到 00. ;从 00 到 10 每隔 100ms 加 1: ;从 10 ...

  6. arduino用时钟中断方式的4位数码管动态显示

    一般我们在arduino开发板上显示数字,通常采用多位数码管进行显示,而多位数码管实际是采用"动态扫描显示"的方法进行显示,即依次显示第1位数码管.第2位数码管.第3位数码管.第4 ...

  7. Verilog实现4位数码管动态显示(FPGA)

    本文提供了在Basys2开发板上实现4位数码管动态显示的代码,并在ISE13.4_1上调试通过,下载到开发板后可实现将8个SW输入的两位十六进制数对应的8421BCD码,显示在数码管上. 首先,是以十 ...

  8. 8位数码管动态显示8个字符以上1字符的程序,例如0-F。

    一:显示0-7: 程序说明: 程序先定义两个表格,一个表格按顺序存放0-F的段码,另一个表格按地位到高位的顺序存放8位数码管的各位位码 上代码!!!! #include "reg52.h&q ...

  9. 基于51单片机实现4位数码管动态显示

    单片机入门学习记录(一) 硬件配置: 主控:STC89C52单片机 显示器件:四位一体数码管 操作器件:点动式独立按键SB1.SB2.SB3.SB4 *选配器件:蜂鸣器 功能要求: 1)开机自检:四位 ...

  10. 开发板实战篇3 6位数码管动态显示

    总结: 模块例化思想: 例化2个定时器模块 + 数码管驱动 根据自己思路编写代码,调试仿真代码,同时熟悉环境.加深细节理解 刚开始写得很乱,代码完全就是用modelsim仿真调试出来的 注意: 一. ...

最新文章

  1. sqlserver附加数据库错误823的解决方案
  2. cnil在python_在Python中使用cumprod()计算权益曲线
  3. Java中Object.equals与String.equals的区别
  4. OpenStack 的部署T版(三)——Glance组件
  5. VC动态链接数据库类ADOConn
  6. c 命令导出数据到mysql_MySQL命令行导出数据库
  7. MySQL substring-index_mysql函数之SUBSTRING_INDEX(str,/,-1)
  8. 计算机系统的组成doc,计算机系统的基本组成.doc
  9. springboot中的ApplicationRunner 接口
  10. let声明变量时的特点
  11. 小企业环境中磁带备份和恢复的利与弊
  12. 《Python数据可视化编程实战》—— 1.3 安装virtualenv和virtualenvwrapper
  13. 本泽马梅开二度瓦拉内染红 10人皇马4:2客胜西班牙人
  14. EEGLAB使用流程
  15. Linux虚拟机的安装与创建【超详细】【手把手教学】
  16. 硬盘sata供电不启动,必须用大4pin转sata的情况
  17. 阅读笔记:利用Python进行数据分析第2版——第10章 数据聚合与分组运算
  18. python的struck.pack的用法:浮点转字节
  19. 人工智能机器人——水中机器人
  20. 二叉树——前序和中序得到后序

热门文章

  1. java 梯形校正_高清投影神器 联想YOGA平板2 Pro评测
  2. Win10网卡驱动突然消失
  3. 关于SO、SOP、SOIC封装(宽体、中体、窄体)的详解
  4. PDF中如何删除文字
  5. 电脑屏幕总是晚上定时开启护眼模式,变成黄色?教你这招解决它
  6. VS2013安装教程
  7. 六大写作软件功能解说,网络作家不可错过的码字软件宝典
  8. Visual Studio 2019上安装AnkhSVN2019
  9. SSH 命令的11种用法
  10. smb协议讲解_SMB/CIFS协议解析(一)