栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

51单片机——数码管显示

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

51单片机——数码管显示

#include


//函数声明
void Nixie(unsigned char Location,unsigned char Number);
void Delay(unsigned int xms);
void Zheng_Fan(unsigned char sign);

void main()
{
    unsigned char i = 0;
//    sige (0 : 正序显示 1 : 倒序显示)
    unsigned char sign = 0;
    while(1){
        Zheng_Fan(sign);
    }
}

//显示Location(Location : 1~8)位置的数码管 显示数字为Number(Number : 0~9)
void Nixie(unsigned char Location,unsigned char Number)
{
    unsigned char NixieTable [] ={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};
    switch(Location){
        case 1:P2_4 = 1;P2_3 = 1; P2_2 = 1;break;//左边第一个数码管
        case 2:P2_4 = 1;P2_3 = 1; P2_2 = 0;break;
        case 3:P2_4 = 1;P2_3 = 0; P2_2 = 1;break;
        case 4:P2_4 = 1;P2_3 = 0; P2_2 = 0;break;
        case 5:P2_4 = 0;P2_3 = 1; P2_2 = 1;break;
        case 6:P2_4 = 0;P2_3 = 1; P2_2 = 0;break;
        case 7:P2_4 = 0;P2_3 = 0; P2_2 = 1;break;
        case 8:P2_4 = 0;P2_3 = 0; P2_2 = 0;break;//右边第一个数码管
    }
    P0 = NixieTable[Number];
//    消影
    Delay(1);
    P0 = 0x00;
}

//延时 x ms
void Delay(unsigned int xms)
{
    unsigned char i, j;
    while(xms){
        i = 2;
        j = 239;
        do
        {
            while (--j);
        } while (--i);
        xms = xms-1;
    }
}

//正序或倒序显示 
void Zheng_Fan(unsigned char sign)
{
    unsigned char i=0;
    if(sign == 0){
        for (i=1;i<9;i++){
            Nixie(i,i);
        }
    }else if(sign == 1){
        for (i=8;i>0;i--){
            Nixie(i,9-i);
        }
    }

}

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1037558.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号