news 2026/5/11 6:36:08

作业2:6位数码管显示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
作业2:6位数码管显示

文章目录

  • 1. 显示6个9
    • 1.1效果图
    • 1.2 代码
  • 2. 点亮第一和第6位
    • 2.1 效果图
    • 2.2 代码:仅修改位选数码管
  • 3. 6位数码管轮播
    • 3.1效果图
    • 3.2 代码
  • 4. 3,4位数码管轮播
    • 4.1 效果图
    • 4.2 代码 仅修改位选数码管
  • 5.显示123456
    • 5.1效果图
    • 5.2 代码
  • 6.显示带小数点
    • 6.1效果图
    • 6.2代码

1. 显示6个9

1.1效果图

1.2 代码

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

2. 点亮第一和第6位

2.1 效果图

2.2 代码:仅修改位选数码管

P0=0xDE;

3. 6位数码管轮播

3.1效果图

3.2 代码

#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--);}// 数码管展示函数voiddisplay_digit(uchar digit){P0=seg_code[digit];// 发送数字对应的段码dula=1;// 打开段选delay(5);// 稳定信号dula=0;// 关闭段选}// 主函数voidmain(){uchar digit;while(1){// 1.位选控制:6个数码管全部点亮(共阴)wela=1;P0=0xC0;// 修正:共阴6位选中 0011 1111wela=0;// 2.段选控制:循环显示0~9for(digit=0;digit<10;digit++){display_digit(digit);// 显示当前数字delay(500);// 停500ms,看得清变化}}}

4. 3,4位数码管轮播

4.1 效果图

4.2 代码 仅修改位选数码管

P0=0xF3;

5.显示123456

5.1效果图

5.2 代码

#include<reg52.h>// 头文件#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个数码管uchar code TableWela[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF};// 延时函数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;P0=TableDula[i+1];//只改这一行dula=1;dula=0;delay(2);}}}

6.显示带小数点

6.1效果图

6.2代码

#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbit dula=P3^4;// 段选锁存器sbit wela=P1^6;// 位选锁存器// 数码管的段码表(0~9)uchar code TableDula[]={0x3F,// 00x06,// 10x5B,// 20x4F,// 30x66,// 40x6D,// 50x7D,// 60x07,// 70x7F,// 80x6F// 9};// 数码管段码表(0~9,带小数点)uchar code TableDulaPoint[]={0xBF,// 0. => 101111110x86,// 1. => 100001100xDB,// 2. => 110110110xCF,// 3. => 110011110xE6,// 4. => 111001100xED,// 5. => 111011010xFD,// 6. => 111111010x87,// 7. => 100001110xFF,// 8. => 111111110xEF// 9. => 11101111};// 数码管显示位码,对应第1到第6个数码管uchar code TableWela[]={0xfe,// 1111 1110 -> 第1位(P0.0 置低,其它为高)=> 选中第1位数码管0xfd,// 1111 1101 -> 第2位(P0.1 置低)=> 选中第2位数码管0xfb,// 1111 1011 -> 第3位(P0.2 置低)=> 选中第3位数码管0xf7,// 1111 0111 -> 第4位(P0.3 置低)=> 选中第4位数码管0xef,// 1110 1111 -> 第5位(P0.4 置低)=> 选中第5位数码管0xdf// 1101 1111 -> 第6位(P0.5 置低)=> 选中第6位数码管};// 延时函数voiddelay(uchar x){uchar j;while(x--){for(j=0;j<125;j++);}}voidmain(){uchar i;// 显示数据:对应的数字内容 1,3,1,4,1,5uchar displayData[6]={1,3,1,4,1,5};// 小数点标志位:1表示该位需要小数点uchar pointFlag[6]={0,1,0,1,0,0};// 第2位和第4位显示带小数点while(1){for(i=0;i<6;i++){P0=0x00;// 清除显示dula=0;wela=0;// 位选P0=TableWela[i];wela=1;wela=0;// 段码:判断是否需要小数点if(pointFlag[i]==1){P0=TableDulaPoint[displayData[i]];}else{P0=TableDula[displayData[i]];}dula=1;dula=0;delay(2);// 稍作延时}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 6:35:56

OmniDB:终极多数据库管理Web工具深度解析与部署指南

OmniDB&#xff1a;终极多数据库管理Web工具深度解析与部署指南 【免费下载链接】OmniDB Web tool for database management 项目地址: https://gitcode.com/gh_mirrors/om/OmniDB OmniDB是一款功能强大的开源Web数据库管理平台&#xff0c;为技术团队提供了一站式的多数…

作者头像 李华
网站建设 2026/4/17 11:05:57

让大模型异步地增强推理能力

当大模型进入推理时代&#xff0c;如何在不牺牲效果的前提下&#xff0c;把测试时扩展做得更快、更稳、更高效&#xff1f;ATTS给出了一种值得关注的新答案。过去一年&#xff0c;大模型的发展逻辑正在发生一个明显变化。如果说早期大家更关注“模型有多大、数据有多少、训练得…

作者头像 李华
网站建设 2026/4/12 6:44:59

『小程序/视频号直播』重磅上线|Tigshop JAVA v5.8.21 正式发布

Tigshop JAVA 全产品「小程序 / 视频号直播」功能重磅上线&#xff01;本次 Tigshop开源商城系统JAVA v5.8.21 版本升级以私域直播为核心&#xff0c;优化商城服务体验、提升交易转化效率&#xff0c;同时全面修复已知问题&#xff0c;进一步提升系统稳定性&#xff0c;为商家打…

作者头像 李华
网站建设 2026/4/16 3:09:21

[极客大挑战 2019]BabySQL1

1.打开靶场&#xff0c;先万能密码登陆试试&#xff1a;admin or 11 #不对报错&#xff0c;可以看到url&#xff1a;那就用hackbar插件即可http://247a799f-8fd9-4124-9ddfcheck.php?usernameadmin%27or%271%27%3D%271%27%23&password1232.找闭合‘&#xff0c;提示报错&a…

作者头像 李华