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

📄 lcd12864.txt

📁 实现lcd12864字符串和数字显示 包含lcd的初始化和清屏等功能
💻 TXT
📖 第 1 页 / 共 2 页
字号:
	CS1 = CS2 = 0 ;
	CS1 = 1 ;
	LCD_C_D( 1 , 0x3F ) ;


	CS1 = 0 ;
	CS2 = 1 ;
	LCD_C_D( 1 , 0x3F ) ;

	CS2 = 0 ;
	/*0行开始显示*/
	CS1 = 1 ;
	LCD_busy() ;
	LCD_C_D( 1 , 0xC0 ) ;

	CS1 = 0 ;
	CS2 = 1 ;
	LCD_busy() ;
	LCD_C_D( 1 , 0xC0 ) ;
	CS2 = 0 ;
	
	CLRLCD( 0 ) ;

}
//显示字母
void dischar( uchar x , uchar y , uchar key , uchar fb )
{									 
 	uchar lcd_data , i ;
	linex = x ;
		for ( i = 0 ; i < 8; i ++ )
		{
			lcd_data = num [ i + ( key - 0x37 ) * 16 ] ;
			if (fb) 
				lcd_data = 255 - lcd_data ;
			write_lcd( linex * 8 + i  , y  , lcd_data ) ;
			lcd_data = num [ i + ( key - 0x37 ) * 16 + 8 ] ;
			if ( fb ) 
				lcd_data = 255 - lcd_data ;
			write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
		}
		linex ++ ;
}
//显示数字
void disnum ( uchar x , uchar y , int numb , uchar fb ) 
{
	uchar lcd_data , i ;
	linex = x ;
	

		if ( numb / 10000 != 0 ) 
		{	
			for ( i = 0 ; i < 8; i ++ )
			{
				lcd_data = num [ i + ( numb / 10000 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i  , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( numb / 10000 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
		    for ( i = 0 ; i < 8; i ++ )
		   {
		  		lcd_data = num [ i + ( ( numb % 10000 ) / 1000 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ;
		
		
				lcd_data = num [ i + ( ( numb % 10000 ) / 1000 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
            for ( i = 0 ; i < 8; i ++ )
	       {
				lcd_data = num [ i + ( ( ( numb % 10000 ) % 1000 ) / 100 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( ( numb % 10000 ) % 1000 ) / 100 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
			 for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( ( ( ( numb % 10000 ) % 1000 ) % 100 ) / 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( ( ( numb % 10000 ) % 1000 ) % 100 ) / 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
			 for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( ( ( ( numb % 10000 ) % 1000 ) % 100 ) % 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( ( ( numb % 10000 ) % 1000 ) % 100 ) % 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
		
	 }
		
		else if ( numb / 1000 != 0 )
		{
			 for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( numb / 1000 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( numb / 1000 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
			 for ( i = 0 ; i < 8; i ++ )
	        {		   
				lcd_data = num [ i + ( ( numb % 1000 ) / 100 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( numb % 1000 ) / 100 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}

			linex ++ ;
			 for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( ( ( numb % 1000 ) % 100 ) / 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( ( numb % 1000 ) % 100 ) / 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;
			for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( ( ( numb % 1000 ) % 100 ) % 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( ( numb % 1000 ) % 100 ) % 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;

		}
		else if ( ( numb / 100 ) != 0 )
		{
			for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( numb / 100 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( numb / 100 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;
			for ( i = 0 ; i < 8; i ++ )
	        {
		    	lcd_data = num [ i + ( ( numb % 100 ) / 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( numb % 100 ) / 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;
			for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( ( numb % 100 ) % 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( ( ( ( numb % 10000 ) % 1000 ) % 100 ) % 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;


		}																								
		else if (( numb / 10 ) != 0 ) 
		{
			for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( numb/ 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( numb / 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;
			for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + ( numb % 10 ) * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + ( numb % 10 ) * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;
																				
		}
		else  
		{
			for ( i = 0 ; i < 8; i ++ )
	        {
				lcd_data = num [ i + numb * 16  ] ;
				if (fb) 
					lcd_data = 255 - lcd_data ;
				write_lcd( linex * 8 + i , y  , lcd_data ) ; 
		
		
				lcd_data = num [ i + numb * 16 + 8 ] ;
				if ( fb ) 
					lcd_data = 255 - lcd_data ;
				write_lcd ( linex * 8 + i , y + 1 , lcd_data ) ;
			}
			linex ++ ;

		}
}

⌨️ 快捷键说明

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