微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 数码管动态显示1——7,循环右移

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

时间:11-20 来源:互联网 点击:
数码管动态显示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);
}
}

}
}
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top