⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mega64_max7219.c

📁 Max7219驱动四位数码管LED
💻 C
字号:
//----------------------------------------------------------------
//  max7219 显示
//----------------------------------------------------------------

void led_write( unsigned char address , unsigned char data)
{
	unsigned char i;
	unsigned char temp;

	cbi( PORTA , LED_LOAD);
	delay_us(10);
	
	for( i=0 ; i<8 ; i++ ) {
		cbi( PORTA , LED_CLK );
		asm("nop");
		if( (address&0x80) == 0x80 ){
			sbi( PORTA , LED_DIN);
		}
		else {
			cbi( PORTA , LED_DIN);			
		}
		sbi( PORTA , LED_CLK );
		address = address<< 1 ;
		asm("nop");
	}
	
	for( i=0 ; i<8 ; i++ ) {
		cbi( PORTA , LED_CLK );
		asm("nop");
		if( (data&0x80) == 0x80 ){
			sbi( PORTA , LED_DIN);
		}
		else {
			cbi( PORTA , LED_DIN);			
		}
		sbi( PORTA , LED_CLK );
		data = data<< 1 ;
		asm("nop");
	}
	
	sbi( PORTA , LED_LOAD );
	delay_us(10);
}				

// max7219 初始化
void init_max7219()
{
	led_write(0x09,0x00);//译码模式:非译码
	led_write(0x0a,0x06);//亮度控制
	led_write(0x0b,0x05);//扫描位数控制:0-6
	led_write(0x0c,0x01);//非关断模式
	led_write(0x0f,0x01);//测试模式
	delay_ms( 10 );
	led_write(0x0f,0x00);//显示模式

}

void dis_led ( unsigned char *str_ptr , unsigned int led )
{
	
	led_write(0x0b,0x05);//扫描位数控制:0-5
	led_write( 0x0a ,g_control.led );//亮度控制
	led_write( 0x0c , 0x01);//非关断模式
	led_write( 0x0f , 0x00);//显示模式

	led_write( 0x01 , str_ptr[0] );
	led_write( 0x02 , str_ptr[1] );
	led_write( 0x03 , str_ptr[2] );
	led_write( 0x04 , str_ptr[3] );
}

⌨️ 快捷键说明

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