点亮数码管,显示具体的数字

目的: 一共有8位数码管,只让前四位显示数字2

 

复制代码
// lighy the nixie tube

#include<reg52.h>

//这里的位声明必须在main函数之外,为什么呢?
sbit du = P2^6;
sbit wei = P2^7;

//函数声明
void delay(unsigned int);

void main()
{
    //注意, 一下是先打开段选,在打开的位选。
    //打开段选,即输入高电压
    du = 1;
    //设置一个数码管显示什么数
    //显示一个数字1
    P0 = 0x5b;
    //关闭段选,即输入低电压
    du = 0;
    //延时 5毫秒
    delay(50);
    //打开位选
    wei = 1;
    //选择打开哪一位,这里了点亮与段选的点亮是不一样的
    P0 = 0xf0;//将所有位都打开
    //锁存位选
    wei = 0;

    //这里如果没有while循环,会一闪而过。
    while(1);
        
}

void delay(unsigned int x)
{
    //ab 用不了太大的数
    unsigned char a, b;
    for(a=x;a>0;a--)
    {
        for(b=120;b>0;b--);
    
    }

}
复制代码

 

 

posted @   看星星的派大星  阅读(465)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示