news 2026/6/12 11:03:59

单片机实验

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单片机实验

文章目录

  • 一.数码管显示6个9
    • 1.1代码
    • 1.2 效果图
  • 二.头尾显示7
    • 2.1代码
    • 2.2效果图
  • 三.轮播0-9
    • 3.1代码
    • 3.2效果图
  • 四.中间轮播数字
    • 4.1代码
    • 4.2效果图
  • 五.顺序显示1-6
    • 5.1代码
    • 5.2效果图
  • 六.闪烁显示0-5
    • 6.1代码
    • 6.2效果图
  • 七 显示12.13.14
    • 7.1代码
    • 7.2效果图

一.数码管显示6个9

1.1代码

#include<reg52.h>// 头文件// 定义锁存器控制引脚(与你的截图完全一致)sbit dula=P3^4;// 锁存器U2(段选)sbit wela=P1^6;// 锁存器U2(位选)// 主函数voidmain(){// 1. 位选控制:保持不变,选中全部6个数码管wela=1;// 打开位选锁存P0=0xC0;// 6个位全选wela=0;// 关闭位选锁存// 2. 段选控制:显示数字 9dula=1;// 打开段选锁存P0=0x6F;// 【只改这里】数字9的段码dula=0;// 关闭段选锁存// 3. 保持显示while(1);}

1.2 效果图

二.头尾显示7

2.1代码

#include<reg52.h>// 头文件// 定义锁存器控制引脚(与你的截图完全一致)sbit dula=P3^4;// 锁存器U2(段选)sbit wela=P1^6;// 锁存器U2(位选)// 主函数voidmain(){// 1. 位选控制:保持不变,选中全部6个数码管wela=1;// 打开位选锁存P0=0xDE;// 6个位全选wela=0;// 关闭位选锁存// 2. 段选控制:显示数字 9dula=1;// 打开段选锁存P0=0x07;// 【只改这里】数字9的段码dula=0;// 关闭段选锁存// 3. 保持显示while(1);}

2.2效果图

三.轮播0-9

3.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--);}// 数码管展示函数voiddisplay_digit(uchar digit){P0=seg_code[digit];// 发送数字对应的段码dula=1;// 打开段选delay(500);// 稳定信号dula=0;// 关闭段选}// 主函数voidmain(){uchar digit;while(1){// 1.位选控制wela=1;// 打开位选P0=0xC0;// 位选6个数码管 1100 0000wela=0;// 关闭位选// 2.段选控制for(digit=0;digit<10;digit++)// 轮流显示0到9{display_digit(digit);}}}

3.2效果图

四.中间轮播数字

4.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--);}// 数码管展示函数voiddisplay_digit(uchar digit){P0=seg_code[digit];// 发送数字对应的段码dula=1;// 打开段选delay(500);// 稳定信号dula=0;// 关闭段选}// 主函数voidmain(){uchar digit;while(1){// 1.位选控制wela=1;// 打开位选P0=0xF3;//wela=0;// 关闭位选// 2.段选控制for(digit=0;digit<10;digit++)// 轮流显示0到9{display_digit(digit);}}}

4.2效果图

五.顺序显示1-6

5.1代码

#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,// 第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++){// 送位码,选中第i位数码管P0=TableWela[i];wela=1;wela=0;// 送段码:显示 1 2 3 4 5 6P0=TableDula[i+1];// 这里 +1 就从1开始显示dula=1;dula=0;delay(2);}}}

5.2效果图

六.闪烁显示0-5

6.1代码

#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,// 第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;P0=TableDula[i];dula=1;dula=0;delay(500);// 👈 只改这里:2 → 500}}}

6.2效果图

七 显示12.13.14

7.1代码

#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.0x86,// 1.0xDB,// 2.0xCF,// 3.0xE6,// 4.0xED,// 5.0xFD,// 6.0x87,// 7.0xFF,// 8.0xEF// 9.};// 数码管显示位码,对应第1到第6个数码管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;// ====================== 这里改成 13.14.15 ======================uchar displayData[6]={1,3,1,4,1,5};uchar pointFlag[6]={0,1,0,1,0,0};// ==============================================================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);}}}

7.2效果图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 11:03:25

【Lucene】什么是 `Filter`(在新版本中多被 `Query` 替代)?它与普通查询的区别是什么?

Lucene 10.0 Filter 与 Query 演进深度解析:从用户行为日志到实时风控的过滤性能实战 用户问题原文:什么是 Filter(在新版本中多被 Query 替代)?它与普通查询的区别是什么? 本文将系统性拆解 Apache Lucene 10.0 中 Filter 的历史演进、与 Query 的融合机制、执行模型差异…

作者头像 李华
网站建设 2026/6/12 11:03:22

Mermaid Live Editor:让图表创作像聊天一样简单的在线神器

Mermaid Live Editor&#xff1a;让图表创作像聊天一样简单的在线神器 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-ed…

作者头像 李华
网站建设 2026/6/12 11:03:20

3大核心功能+4步安装:Zotero茉莉花插件解决中文文献管理难题

3大核心功能4步安装&#xff1a;Zotero茉莉花插件解决中文文献管理难题 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为中文…

作者头像 李华
网站建设 2026/6/12 11:01:56

大模型幻觉识别与防御实战指南

1. 项目概述&#xff1a;当大模型开始“信口开河”&#xff0c;我们到底在跟什么打交道&#xff1f;你有没有遇到过这种情况&#xff1a;让ChatGPT帮你查一个具体年份的GDP数据&#xff0c;它张口就来一个精确到小数点后两位的数字&#xff0c;连来源都标得明明白白——结果你一…

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

BilibiliVideoDownload:解锁B站视频下载的完整解决方案

BilibiliVideoDownload&#xff1a;解锁B站视频下载的完整解决方案 【免费下载链接】BilibiliVideoDownload Cross-platform download bilibili video desktop software, support windows, macOS, Linux 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliVideoDownload …

作者头像 李华
网站建设 2026/6/12 10:57:51

大语言模型提示压缩技术:块状因果掩码原理与实践

1. 大语言模型提示压缩的技术背景在自然语言处理领域&#xff0c;大语言模型(LLM)的推理效率一直是工程实践中的关键挑战。随着模型规模的不断扩大&#xff0c;处理长上下文时的计算开销呈指数级增长。提示压缩技术应运而生&#xff0c;其核心目标是通过信息蒸馏减少输入token数…

作者头像 李华