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

📄 avr_xqv12.h

📁 ATmega16-TLC5615
💻 H
📖 第 1 页 / 共 2 页
字号:
	DDRC=0x00;
	PORTD=0xff;
	DDRD=0x00;
	Un_Led();
	Clear_SMG();	
}
#if LCD12864==TRUE					//条件编译指令
#pragma data:code 					//指定存储位置为Flash
const unsigned char Bitmap[]={/*--  宽度x高度=128x64图像  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x01,0xFF,0x00,0x00,0x00,
0x00,0x00,0x0C,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0xFF,0x83,0xFF,0x80,0x00,0x00,
0x00,0x00,0x1E,0x0C,0x0F,0x00,0x00,0x00,0x00,0x01,0xFF,0xC3,0xFF,0x80,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x03,0x00,0x0C,0x00,0x01,0xFF,0xC3,0xFF,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x07,0x83,0x3F,0x00,0x01,0xC3,0xC3,0xC0,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x07,0x87,0xFF,0x80,0x03,0xC3,0xC3,0xC0,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x03,0x07,0xFF,0x80,0x03,0xC1,0x83,0xC0,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x00,0x07,0xF3,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x03,0x07,0xE3,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x07,0x87,0x83,0xC0,0x03,0xC0,0x03,0xFE,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x07,0x87,0x83,0xC0,0x03,0xC0,0x03,0xFF,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x07,0x87,0x83,0xC0,0x03,0xC0,0x03,0xFF,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1E,0x0F,0x07,0x87,0x83,0xC0,0x03,0xC0,0x03,0xFE,0x00,0x00,0x00,
0x00,0x00,0x1E,0x1F,0x0F,0x07,0x87,0x83,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,
0x00,0x00,0x0F,0x3F,0x9F,0x07,0x87,0x83,0xC0,0x03,0xC0,0x03,0xC0,0x00,0x00,0x00,
0x00,0x00,0x07,0xFF,0xFE,0x07,0x87,0x83,0xC0,0x03,0xC1,0x83,0xC0,0x00,0x00,0x00,
0x00,0x00,0x07,0xFB,0xFC,0x07,0x87,0x83,0xC0,0x03,0xC3,0xC3,0xC0,0x00,0x00,0x00,
0x00,0x00,0x03,0xF1,0xF8,0x0F,0xC7,0x83,0xC0,0x03,0xFF,0xC3,0xFF,0x00,0x00,0x00,
0x00,0x00,0x01,0xE0,0xF0,0x0F,0xC7,0x83,0xC0,0x03,0xFF,0xC3,0xFF,0x80,0x00,0x00,
0x00,0x00,0x00,0xC0,0x60,0x07,0x83,0x01,0x80,0x01,0xFF,0x83,0xFF,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x01,0xFF,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
#pragma data:data
/*******************************************************/
/******   函数名称: SendData()                    ******/
/******   功    能: 向LCD发送数据,串行方式       ******/
/******   参    数: data--待发送的数据            ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void SendData(unsigned char data)
{
	unsigned char i;   			 	
	for(i=0;i<8;i++)				//循环8次		
	{								
		ClrSclk;					//置低CLK
		if(data&0x80)				//判断数据极性
			SetSid;					//如果数据为1置高
		else						
			ClrSid;					//否则置低
		data<<=1;					//右移一位
		SetSclk;					//置高CLK
	}
}
/*******************************************************/
/******   函数名称: Wr_Com()                      ******/
/******   功    能: 向LCD发送命令                 ******/
/******   参    数: data--待发送的命令字          ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void Wr_Com(unsigned char data)
{
	SetRs;			 	  	   			//片选LCD12864
	SendData(0xf8);						//命令字:写命令
	SendData(data&0xf0);				//写命令字高4位
	SendData(data<<4);					//写命令字低4位
	ClrRs;								//释放片选
}
/*******************************************************/
/******   函数名称: Wr_Date()                     ******/
/******   功    能: 向LCD发送数据                 ******/
/******   参    数: data--待发送的数据            ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void Wr_Date(unsigned char data)
{
	SetRs;			  	   				//片选LCD12864
	SendData(0xfa);						//命令字:写数据
	SendData(data&0xf0);				//写数据高4位
	SendData(data<<4);					//写数据低4位
	ClrRs;								//释放片选
}
/*******************************************************/
/******   函数名称: Clear_All()                   ******/
/******   功    能: 清LCD屏幕                     ******/
/******   参    数: 无                            ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void Clear_All(void)
{
	Wr_Com(0x01);						//命令字
	delay_nms(40);	
}
/*******************************************************/
/******   函数名称: Lcd_Init()                    ******/
/******   功    能: 初始化LCD                     ******/
/******   参    数: 无                            ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void Lcd_Init(void)
{
	DDRC=0xc0;	   						//设置控制管脚方向
	DDRD=0x40;							
	Wr_Com(0x30);						//功能设定:基本指令集
	delay_nus(80);						
	Wr_Com(0x0c);						//显示状态打开
	delay_nus(80);						
	Wr_Com(0x01);						//清屏
	delay_nms(40);						
	Wr_Com(0x60);						//设定CGRAM地址
	delay_nus(80);						
}
/*******************************************************/
/******   函数名称: LCD_set_xy()                  ******/
/******   功    能: 设置LCD显示坐标               ******/
/******   参    数: 显示字符串的位置,X:0-15,Y:0-1*****/
/******   返回值  : 无                            ******/
/*******************************************************/
void LCD_set_xy( unsigned char x, unsigned char y )
{
 	unsigned char address;
	switch(y)
	{
	 	case 0:
			   address = 0x80 + x;		   //计算显示地址
			   break;
		case 1:
			   address = 0x90 + x;		   //计算显示地址
			   break;
		case 2:
			   address = 0x88 + x;		   //计算显示地址
			   break;
		case 3:
			   address = 0x98 + x;		   //计算显示地址
			   break;
		default:address = 0x80 + x;
	}
	Wr_Com( address);	  	   	   		   //写地址命令
}
/*******************************************************/
/******   函数名称: LCD_write_string()            ******/
/******   功    能: 中英文字符串显示函数          ******/
/******   参    数: *s--英文字符串指针            ******/
/******             X、Y--显示字符串的位置        ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s)
{
 	LCD_set_xy( X, Y );		   				//写显示地址
    while (*s) 	   	 						//是否到字符串尾
    {
     	Wr_Date (*s );						//写显示数据
		s ++;								//字符串地址加1
 	}
}
/*******************************************************/
/******   函数名称: ShowBmp()                     ******/
/******   功    能: 显示一幅128*64的BMP位图       ******/
/******   参    数: 无                            ******/
/******   返回值  : 无                            ******/
/*******************************************************/
void ShowBmp(void)
{
	unsigned int i,a,x=0,y=0;
	Wr_Com(0x34);			 				
	for(a=0;a<32;a++)						
	{										
	 	Wr_Com(0x80+a);						
		Wr_Com(0x80);						
		for(i=0;i<8;i++)					
		{									
			Wr_Date(Bitmap[y+x]);			
			Wr_Date(Bitmap[y+x+1]);			
			x+=2;							
		}									
		x=0;								
		for(i=0;i<8;i++)					
		{									
			Wr_Date(Bitmap[512+y+x]);		
			Wr_Date(Bitmap[512+y+x+1]);		
			x+=2;							
		}									
		x=0;								
		y+=16;								
	}										
	Wr_Com(0x36);							
	delay_nus(80);							
	Wr_Com(0x30);							
	delay_nus(80);							
}
#endif			  					//条件编译结束

⌨️ 快捷键说明

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