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

数码管动态显示1——7,循环右移

发布时间:2020-08-26 发布时间:
|
数码管动态显示1——7,循环右移

* 功    能:数码管动态显示1——7,循环右移 *
* 芯片:Amega16L *
* 时钟频率:内部4M *
* 编译环境:ICC-AVR7 *



#include
#include

#define uint unsigned int
#define uchar unsigned char
#define on_138  PORTC|=BIT(PC7)    //on or off 138
#define off_138 PORTC&=~BIT(PC7)
#pragma data:code

uchar  flash table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};    //the data for display
uchar  flash site[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};

void delay(uint ms)
{
    uint i,j;
      for(i=0;i               for(j=0;j<1141;j++);
}

void display(uint i, uint j)
   
    PORTB=table[j];
    PORTA=site[i];
    delay(1);
}

void main()
{
    int i,j,k,m;
    DDRA=0XFF;
    DDRB=0XFF;
    DDRC=0X80;
    on_138;
    while(1)
    {
        
        for(i=0;i<8;i++)
        {
            for(m=0;m<60;m++)
            {
                for(j=i;j<8;j++)
                {
                    display(j,j-i);
                }
                for(j=0;j                 {
                    display(j,j+8-i);
                }
            }
            
        }
    }
}


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

热门文章 更多
ARM 汇编的必知必会