找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1355|回复: 1
收起左侧

单片机动态数码管显示代码

[复制链接]
ID:1033062 发表于 2022-6-7 23:52 | 显示全部楼层 |阅读模式
#include <REGX52.H>

//数码管段码表
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

//延时子函数
void Delay(unsigned int xms)
{
    unsigned char i, j;
    while(xms--)
    {
        i = 2;
        j = 239;
        do
        {
            while (--j);
        } while (--i);
    }
}

//数码管显示子函数
void Nixie(unsigned char Location,Number)
{
    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;                //段码清0,消影
}

void main()
{
    while(1)
    {
        Nixie(1,1);        //在数码管的第1位置显示1
//        Delay(20);
        Nixie(2,2);        //在数码管的第2位置显示2
//        Delay(20);
        Nixie(3,3);        //在数码管的第3位置显示3
//        Delay(20);
    }
}

N[~0%6)TTDD)0%BOU[}OOBK.png
回复

使用道具 举报

ID:977804 发表于 2022-6-28 20:05 | 显示全部楼层
P2_4都没定义
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表