zoukankan      html  css  js  c++  java
  • 数码管动态显示,显示从1到9,每一位显示一个数字 (单片机)

    //object: 动态显示数码管,从1显示到9
    //writer:mike
    //time: 2020,11,14
    
    #include<reg52.h>
    
    
    sbit wei = P2^7;
    sbit du = P2^6;
    //数组的类型指的是每一个元素的类型, code则指定存储在代码区    ,而非code 指存户在内存中。
    unsigned int code data1[10] = {
    0x3F,//0
    0x06,//1
    0x5B,//2
    0x4F,//3
    0x66,//4
    0x6D,//5
    0x7D,//6
    0x07,//7
    0x7F,//8
    0x6F//9
    };
    void delay(unsigned int);
    void main()
    {
        while(1)
        {
        //首先打开位选
        wei = 1;
        P0 = 0xfe;  //让第一位显示
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //显示数字1
        P0 = data1[1];
        //关闭段选
        du = 0;
    
        //点亮第一位之后,延时一段时间
        delay(1);
    
        //针对第二位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0xfd;
        //关闭位选
        wei = 0;
    
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[2];
        //关闭段选
        du = 0;
        delay(1);
    
        //针对第三位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0xfb;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[3];
        //关闭段选
        du = 0;
       delay(1);
            //针对第四位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0xf7;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[4];
        //关闭段选
        du = 0;
        delay(1);
        
        //针对第五位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0xef;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[5];
        //关闭段选
        du = 0;
       delay(1);
            
        //针对第六位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0xdf;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[6];
        //关闭段选
        du = 0;
        delay(1);
        
        //针对第七位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0xbf;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[7];
        //关闭段选
        du = 0;
        delay(1);
        
        //针对第八位数码管
        //打开位选
        wei = 1;
        //设置位选
        P0 = 0x7f;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        P0 = data1[8];
        //关闭段选
        du = 0;
        delay(1);
    /*    //针对第九位数码管
        //打开位选
        wei = 1;
        //设置位选
        wei = 0xff;
        //关闭位选
        wei = 0;
    
        //打开段选
        du = 1;
        //设置段选
        du = data1[9];
        //关闭段选
        du = 0;
    
    
    */    
        
        
        
        }
    
    }
    
    void delay(unsigned int x)
    {
        unsigned a, b;
        for(a=x;a>0;a--)
        {
            for(b=120;b>0;b--);
        }
    }
  • 相关阅读:
    GhostNet: More Features from Cheap Operations
    Distribution-Aware Coordinate Representation for Human Pose Estimation
    如何从零开始学习自动化
    selenium---博客园登录
    selenium---屏幕截图
    selenium---web页面定位toast
    selenium---JS修改属性处理日历控件
    selenium---cookie处理
    selenium---处理SSL证书错误问题
    selenium---JS处理滚动条
  • 原文地址:https://www.cnblogs.com/zijidefengge/p/13975679.html
Copyright © 2011-2022 走看看