当前位置: 首页 > news >正文

6位数码管静态显示

文章目录

  • 1.预览图
    • 1.六个9
    • 2.第一位第六位7
    • 3.六位轮播
    • 4.中间两位轮播
    • 5.使第一个数码管显示数字0,第二个数码管显示数字1…以此类推,第六个数码管显示数字5
    • 6.显示13.14.15
  • 2.代码
    • 六个9代码
    • 第一位第六位7代码
    • 六位轮播
    • 中间两位轮播
    • 使第一个数码管显示数字0,第二个数码管显示数字1…以此类推,第六个数码管显示数字5
    • 6.显示13.14.15

1.预览图

1.六个9

2.第一位第六位7

3.六位轮播

4.中间两位轮播

5.使第一个数码管显示数字0,第二个数码管显示数字1…以此类推,第六个数码管显示数字5

6.显示13.14.15

2.代码

六个9代码

#include<reg52.h>// 头文件// 定义锁存器控制引脚sbit dula=P3^4;// 锁存器U2(段选)sbit wela=P1^6;// 锁存器U2(位选)// 主函数voidmain(){// 1.位选控制wela=1;// 打开位选P0=0xc0;// 位选3个数码管 1111 1000wela=0;// 关闭位选// 2.段选控制dula=1;// 打开段选P0=0x6f;// 数码管显示“0” 0011 1111dula=0;// 关闭段选// 3.保持while(1);}

第一位第六位7代码

#include<reg52.h>// 头文件// 定义锁存器控制引脚sbit dula=P3^4;// 锁存器U2(段选)sbit wela=P1^6;// 锁存器U2(位选)// 主函数voidmain(){// 1.位选控制wela=1;// 打开位选P0=0xDE;// 位选3个数码管 1111 1000wela=0;// 关闭位选// 2.段选控制dula=1;// 打开段选P0=0x07;// 数码管显示“0” 0011 1111dula=0;// 关闭段选// 3.保持while(1);}

六位轮播

#include<reg52.h>// 头文件#defineucharunsignedchar#defineuintunsignedint// 定义锁存器控制引脚sbit dula=P3^4;// 锁存器U2(段选)sbit wela=P1^6;// 锁存器U3(位选)// 共阴极数码管段码表uchar code seg_code[]={0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};// 延时函数voiddelay(uint ms){uint i,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);}// 主函数voidmain(){uchar digit;while(1){// 1.位选控制:一直选中6个数码管wela=1;P0=0xc0;// 1100 0000wela=0;// 2.段选控制:0-9轮播for(digit=0;digit<10;digit++){dula=1;P0=seg_code[digit];// 显示当前数字dula=0;delay(500);// 每个数字停留500ms}}}

中间两位轮播

#include<reg52.h>// 头文件#defineucharunsignedchar#defineuintunsignedint// 定义锁存器控制引脚sbit dula=P3^4;// 锁存器U2(段选)sbit wela=P1^6;// 锁存器U3(位选)// 共阴极数码管段码表uchar code seg_code[]={0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};// 延时函数voiddelay(uint ms){uint i,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);}// 主函数voidmain(){uchar digit;while(1){// 1.位选控制:一直选中6个数码管wela=1;P0=0xF3;// 1100 0000wela=0;// 2.段选控制:0-9轮播for(digit=0;digit<10;digit++){dula=1;P0=seg_code[digit];// 显示当前数字dula=0;delay(500);// 每个数字停留500ms}}}

使第一个数码管显示数字0,第二个数码管显示数字1…以此类推,第六个数码管显示数字5

#include<reg52.h>// 头文件 ```c#defineucharunsignedchar#defineuintunsignedint// 定义锁存器控制引脚sbit dula=P3^4;// 段选锁存器U2sbit wela=P1^6;// 位选锁存器U3// 数码管的段码表(定义0-9的段码)uchar code TableDula[]={0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};// 数码管显示位码,对应第1到第6个数码管(需要将2进制转换成16进制)uchar code TableWela[]={// 补充代码// 1111 1110 -> 第1位(P0.0 置低,其它为高)=> 选中第1位数码管// 1111 1101 -> 第2位(P0.1 置低)=> 选中第2位数码管// 1111 1011 -> 第3位(P0.2 置低)=> 选中第3位数码管// 1111 0111 -> 第4位(P0.3 置低)=> 选中第4位数码管// 1110 1111 -> 第5位(P0.4 置低)=> 选中第5位数码管// 1101 1111 -> 第6位(P0.5 置低)=> 选中第6位数码管};// 延时函数voiddelay(uchar x){uchar j;while(x--){for(j=0;j<125;j++);}}// 主函数voidmain(){uchar i;while(1){for(i=0;i<6;i++){P0=0x00;// 清空之前的输出dula=0;wela=0;P0=TableWela[i];// 先送位码,依次选中1-6位数码管wela=1;// 锁存位码wela=0;P0=TableDula[i];// 再送段码,第1个数码管显示0,第2个数码管显示1...dula=1;// 锁存段码dula=0;delay(2);// 保持一段时间}}}

6.显示13.14.15

#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbit dula=P3^4;sbit wela=P1^6;// 共阴极段码表(带小数点)uchar code TableDula[]={0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F,// 90xCF,// 3. 带小数点0xE6// 4. 带小数点};uchar code TableWela[]={0xFE,// 第1位0xFD,// 第2位0xFB,// 第3位0xF7,// 第4位0xEF,// 第5位0xDF// 第6位};voiddelay(uchar x){uchar j;while(x--){for(j=0;j<125;j++);}}voidmain(){uchar i;while(1){for(i=0;i<6;i++){P0=0x00;dula=0;wela=0;P0=TableWela[i];wela=1;wela=0;// 显示:1 3. 1 4. 1 5if(i==0)P0=TableDula[1];// 1if(i==1)P0=TableDula[10];// 3.if(i==2)P0=TableDula[1];// 1if(i==3)P0=TableDula[11];// 4.if(i==4)P0=TableDula[1];// 1if(i==5)P0=TableDula[5];// 5dula=1;dula=0;delay(2);}}}
http://www.jsqmd.com/news/612216/

相关文章:

  • 如何释放显卡隐藏性能?显卡优化工具NVIDIA Profile Inspector的技术解析
  • 51单片机——数码管
  • PyAutoCAD:5个步骤让你的AutoCAD工作流实现Python自动化终极指南
  • 专业推荐:杉德斯玛特卡回收平台及闲置处理技巧 - 团团收购物卡回收
  • Cesium开发必看:如何正确使用Ion密钥访问3D地理空间数据
  • Adobe-GenP 3.0技术揭秘:如何实现Adobe Creative Cloud全系列通用补丁
  • 告别‘专用模型’:用CMX框架统一搞定RGB与深度、热成像、偏振、事件、LiDAR的语义分割
  • PyTorch 2.8镜像开箱评测:预装环境助力人工智能项目快速启动
  • 圣女司幼幽-造相Z-Turbo复古未来主义风格作品专题展示
  • RAG高并发检索延迟优化实战,高效进阶学习
  • 永磁同步模型电流预测控制+滑模控制! 滑膜控制器采用新型趋近律与扰动观测器结合,提高系统鲁棒性...
  • FireRed-OCR Studio效果展示:OCR结果Diff比对功能演示(版本迭代)
  • 美股 API 实战:搞定历史数据缺失问题
  • 深入浅出:图解5G NR中UCI复用与资源抢占的那些事儿
  • Pixel Epic · Wisdom Terminal JDK配置与多版本管理最佳实践
  • 别再用免费推客系统,坑多还不安全
  • 科研党福音:小绿鲸AI文献阅读器3.0版本实测,翻译+笔记+管理一站式搞定
  • SecGPT-14B模型微调:提升OpenClaw在特定安全场景的准确率
  • 用FPGA实现一个带左转的交通灯控制器(Verilog代码+DE10-Lite实测)
  • 在VMware虚拟机里用CentOS 7.5手把手搭建OpenVPN 2.4.12服务器(附完整证书生成与防火墙配置)
  • 如何在Krita中一键完成AI智能选区:3种高效图像分割技巧
  • 2253基于51单片机的七模式洗衣机控制系统设计
  • 如何提升城通网盘下载效率?4个关键步骤解决直连链接获取难题
  • 3分钟解锁Switch潜能:TegraRcmGUI图形化破解工具完全指南
  • 英语情态动词知识总结
  • 仅限首批200名AI基础设施工程师:Cuvil 2024Q3内部编译诊断工具集(含AST可视化插件与算子融合热力图)
  • 3个步骤开启AI翻唱创作:AICoverGen零基础入门指南
  • 从抓包到洞察:Wireshark实战解析HTTP协议核心交互
  • CH-95S吸钯树脂——硝酸提钯的技术解析
  • 实战指南:3步突破原神帧率限制,让你的硬件性能完全释放