shuma.c

来自「AVR单片机视频教程的课件和每一次课的源程序是学习AVR单片机的首选 第4节」· C语言 代码 · 共 47 行

C
47
字号
#include <iom16v.h>
#include <macros.h>

#define uchar unsigned char
#define uint  unsigned int
#pragma data:code 
const table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
		           0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint MS)		  
{
 uint i,j;
 for( i=0;i<MS;i++)
 for(j=0;j<1141;j++);	//1141是在8MHz晶振下,通过软件仿真反复实验得到的数值
}

void show(uchar data,uchar num)
{
        PORTB=table[data];
     	PORTA|=BIT(3);//00001000
     	PORTA&=~BIT(3);
	
	    PORTB=0XFF;		 
     	PORTB&=~BIT(num);//0XFE;
     	PORTA|=BIT(4);
     	PORTA&=~BIT(4);
	    delay(1);
}
void main()
{
     uint i,j;
     DDRA=0XFF;
     DDRB=0XFF;
     PORTA|=BIT(6);
     

     while(1)
     {
      for(j=0;j<600;j++)
       {
        for(i=0;i<6;i++)
        {
 	  show((i+j/100)%6,i);     
        }
       }
     }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?