×
单片机 > 单片机程序设计 > 详情

(海尔)东软单片机 HR7P153 SOP-16数码管显示程序

发布时间:2020-06-05 发布时间:
|

HR7P153 SOP-16三个数码管显示,共阴极。


单片机源程序如下:


#include

#include

#define u8 unsigned char

#define u16 unsigned int

u16 i,a=0;

u8 const SEG7[10]={0x77,0x06,0xb3,0x97,0xc6,0xd5,0xf5,0x07,0xf7,0xd7};

u8 const ACT[3]={0xfb,0xf7,0xef,};

/****************/

void Ram_Clr(void) //ram全清

{

        __asm 

  { 

        CLR   IAAL;

        CLR   IAAH;

        CLR   IAD;

        INC   IAAL,1;

        JBS   IAAL,6;

        GOTO  $-3;

  } 

}

/*****************/

void delay (u16 k)

{

        u16 i,j;

for(i=0;i

    {

    for(j=0;j<100;j++)

        {;}

    }

}

/***************/

void display(void)

{

            PA=SEG7[a%10];

            PB=ACT[0];

            delay(2);

            PA=SEG7[(a%100)/10];

            PB=ACT[1];

            delay(2);

                        PA=SEG7[(a/100)%10];

            PB=ACT[2];

            delay(2);

}

/**************************/

void main() 

{


            Ram_Clr();          //RAM初始化

            OSCP = 0x55;                //时钟控制写保护解锁

        OSCC = 0xf0;        //8MHZ

                while(!SW_HS);      //等待高速时钟切换完成

                ANS =0xE7;         //设置成数字输出

        PBT=0x00;          //PBT设置成输入状态

                PAT=0x08;          ////PAT设置成输入状态

                N_PAU=0x00;         //上弱拉           

            N_PBD=0x00;          //下弱拉

                while(1)

                {

           a++;

       for(i=250;i>0;i--)        

               {

                   display();

               }

        if(a==100)

               {

                   a=0;

                   }

                

                }

}





『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项