数码管应用digital_pile

发布时间: 2024-08-15
来源: 电子工程世界

#include 'reg52.h'

#include 'digital_pile.h'


void main(){

    //P0 = 0x00;

    //P2 = 0xff;

    static_pile(6);//静态显示函数,主函数调用子函数

    //digital_pile();// 动态显示函数

}                                                                                  


/*

数码管的显示输出

电路:一代版黄盒子,开发板中内置P0口接共阴数码管的段选端

,P1口的0123分别接数码管的位选端


*/


#include

#include 'sys.h'

#include 'digital_pile.h'


       int duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//定义数字数组0~9

//分别显示的数字是 0  1    2    3     4   5    6    7    8     9

                        int wei[]={0x01,0x02,0x04,0x08};

//分别选择亮的数码管   1    2    3    4    共阴则取反


                        

//静态数码管显示   

void static_pile(unsigned char number)//含参数定义

{

    if(number <= 9)

     P0 = ~duan[number];//~是取反的意思,此代码合适共阴数码管,如用共阳数码管则要取反

     P3 = duan[number];//P3端口要接共阴数码管

}




//动态数码管显示

void digital_pile()

{

    int i;

    while(1)                 //循环嵌套

{

        for(i=0;i<4;i++)

      {

            P1 = wei[i];        //选择某个数码管

            P2 = duan[i];        //选择的数码管显示

            delays(50);

        }

    }

}


//-----------------------------------------------------------------------------------


#ifndef _DIGITAL_H_

#define _DIGITAL_H_

void static_pile(unsigned char number);//静态显示函数

void digital_pile();                   //动态显示函数


#endif


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。