news 2026/5/9 6:00:28

【单片机0.2】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【单片机0.2】

文章目录

    • 六个9
    • 第一位和第六位亮
    • 六个灯亮轮播0-9
    • 中间两个灯亮轮播0-9
    • 亮灯123456
    • 小数点13.14.15

六个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);}

第一位和第六位亮

#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbit dula=P3^4;sbit wela=P1^6;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){wela=1;P0=0xF3;wela=0;for(digit=0;digit<10;digit++){display_digit(digit);delay(500);}}}

六个灯亮轮播0-9

#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbit dula=P3^4;sbit wela=P1^6;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){wela=1;P0=0xc0;wela=0;for(digit=0;digit<10;digit++){display_digit(digit);delay(500);}}}

中间两个灯亮轮播0-9

#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbit dula=P3^4;sbit wela=P1^6;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){wela=1;P0=0xF3;wela=0;for(digit=0;digit<10;digit++){display_digit(digit);delay(500);}}}

亮灯123456

#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[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf// 补充代码// 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];// 再送段码,第1个数码管显示0,第2个数码管显示1...dula=1;// 锁存段码dula=0;delay(2);// 保持一段时间}}}

小数点13.14.15

#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;// 显示数据:对应的数字内容uchar 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/4/16 3:39:57

MDCL:不换设备,不降功率,电费减少三分之一——发射机技术内核(二)

上一篇讲了固态发射机的模块级效率已经到了90%——硬件层面的省电空间接近极限。但AM调制本身还藏着一个巨大的效率漏洞&#xff1a;载波。 载波的浪费 AM调制有一个教科书级别的效率缺陷&#xff1a;载波本身不携带任何信息。 在标准双边带AM中&#xff0c;所有音频信息都在…

作者头像 李华
网站建设 2026/4/13 22:55:23

**红蓝对抗实战:用Python构建自动化漏洞挖掘与防御模拟系统**

红蓝对抗实战&#xff1a;用Python构建自动化漏洞挖掘与防御模拟系统 在当今网络安全攻防演练中&#xff0c;红蓝对抗已成为检验企业安全能力的核心手段。红队负责模拟真实攻击路径&#xff0c;蓝队则需要快速响应、识别并修复漏洞。本文将通过一个Python驱动的自动化红蓝对抗框…

作者头像 李华
网站建设 2026/4/13 7:28:17

OpenClaw+千问3.5-9B:自媒体内容生成流水线

OpenClaw千问3.5-9B&#xff1a;自媒体内容生成流水线 1. 为什么需要自动化内容流水线 作为一名科技自媒体创作者&#xff0c;我每天需要花费大量时间在内容生产上&#xff1a;从选题策划、资料收集、初稿撰写到排版设计&#xff0c;最后还要手动发布到多个平台。整个过程不仅…

作者头像 李华
网站建设 2026/4/16 18:56:24

CVPR 2026上的多模态融合工作

在当前大模型主导的时代&#xff0c;还有哪些具体的多模态融合研究方向比较有潜力&#xff1f;答案就藏在这196篇论文里&#xff01;我从今年最新收录的顶会&#xff08;CVPR/ICLR/AAAI/IJCAI&#xff09;以及前沿高分文献中&#xff0c;系统梳理了196篇多模态融合论文&#xf…

作者头像 李华
网站建设 2026/4/12 18:24:03

盲人辅助工具:OpenClaw+Gemma-3-12b-it的屏幕阅读增强方案

盲人辅助工具&#xff1a;OpenClawGemma-3-12b-it的屏幕阅读增强方案 1. 为什么需要这个方案 作为一个长期关注无障碍技术的开发者&#xff0c;我一直在寻找能够真正帮助视障用户的技术方案。传统的屏幕阅读器虽然成熟&#xff0c;但存在几个明显的痛点&#xff1a; 机械化的…

作者头像 李华
网站建设 2026/4/12 21:27:41

OpenClaw会议管理:千问3.5-9B实现的智能日程协调

OpenClaw会议管理&#xff1a;千问3.5-9B实现的智能日程协调 1. 为什么需要自动化会议管理 作为一个经常需要协调跨时区会议的技术从业者&#xff0c;我过去每周要花至少3小时在会议安排和跟进上。最头疼的不是开会本身&#xff0c;而是那些机械重复的流程&#xff1a;反复确…

作者头像 李华