yy.c

来自「这是一款点阵的程序,可以驱动点阵LED的工作,已经通过调试,绝对可用」· C语言 代码 · 共 63 行

C
63
字号
/*********************************************
file name		   : demo_6_7.c
Chip type           : ATmega16
Program type        : Application
Clock frequency     : 4.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*********************************************/

#include <iom16v.h>
//#include <delay.h>

void delay_1ms(void)                 //1ms延时函数
  {
   unsigned int i;
   for (i=0;i<1140;i++);
  }
void delay_nms(unsigned int n)       //N ms延时函数
  {
   unsigned int i=0;
   for (i=0;i<n;i++)
   delay_1ms();
  }

unsigned char char_7[8]={0x10,0x38,0x7C,0xFE,0x38,0x38,0x38,0x38};

void display(char row)
{
	char i;
	for (i=0;i<=7;i++)
	{
		if (row <= 7)
			PORTA = char_7[row];
		else
			PORTA = 0;
		PORTB = ~(1<<(i));
		delay_nms(2);
		PORTB = 0xFF;
		if (++row >= 12 ) row = 0; 		
	}
}

void main(void)
{
	char time_counter,i = 0;
	PORTA=0x00;
	DDRA=0xFF;
	PORTB=0xFF;
	DDRB=0xFF;

	while (1)
	{
		display(i);
		delay_nms(9);
		if (++time_counter >= 4)
		{
			time_counter = 0;
			if(++i >= 12) i=0;
		}
	};
}

⌨️ 快捷键说明

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