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

📄 clcd4.h

📁 ATMEL 128 CLCD 4BIT CONTROL
💻 H
字号:
// 函版陛瘤.. clcd 4厚飘 力绢    hehevnt@naver.com 08斥 12岿12老 荐沥
/*************************************************************************************
PORTA / 4厚飘 力绢
PA0 : RS
PA1 : R/W
PA2 : EN
PA4 : D4
PA5 : D5
PA6 : D6
PA7 : D7
促弗 器飘俊辑 荤侩窍绊 酵阑 版快 皋葛厘俊辑 #define 甫 秦寸 器飘肺 函版秦临巴

#include <compat/deprecated.h> 绰 sbi() cbi() 窃荐啊 甸绢 乐绰 庆歹

AVR Studio 4.14 滚怜俊辑 沥惑 累悼 犬牢 

弥利拳 可记 -O0 栏肺 嘎苗临 巴 促弗 可记俊辑 悼累 救窃

LCD_init()   ==> 檬扁拳 窃荐
void LCD_char(unsigned char data) 目辑困摹俊 茄巩磊 静绰 窃荐  

void LCD_str(unsigned char cmd, unsigned char *string)   
cmd绰 巩磊凯 贸澜 困摹 1凯 霉锅掳 0x80 滴锅掳 0x81
                       2凯 霉锅掳 0xC0 滴锅掳 0xC1
COMMAND(0x01) ==> Clear display
COMMAND(0x02) ==> Return home
...    扁鸥 促弗 疙飞篮 单捞磐 矫飘 曼炼


**************************************************************************************/

#ifndef DELAY_H__
#define DELAY_H__
#endif



#include <compat/deprecated.h>

#define CLCD_PORT PORTC   // 秦寸 器飘俊 嘎霸 函版且 巴
#define CLCD_DDR  DDRC    // B器飘 荤侩矫 -> PORTB,DDRB,PINB
#define CLCD_PIN  PINC


void COMMAND(unsigned char cmd)
{
delay_us(200);
delay_us(200);
delay_us(200);
   CLCD_PORT = (cmd & 0xF0);           // RW=0, RS=0
   sbi(CLCD_PORT,2);                    // EN = 1
   asm ("nop");
   cbi(CLCD_PORT,2);                    // EN = 0

   CLCD_PORT = (cmd & 0x0f)<<4 ;       // RW=0, RS=0
   sbi(CLCD_PORT,2);                    // EN = 1
   asm ("nop");
   cbi(CLCD_PORT,2);                    // EN = 0
delay_us(200);
delay_us(200);
delay_us(200);
} 
// LCD肺 1巩磊 傈价
void LCD_char(unsigned char data)
{
   
   CLCD_PORT = (data & 0xF0);            // RW=0
   sbi(CLCD_PORT,0);                     // RS = 1
   sbi(CLCD_PORT,2);                     // EN = 1
   asm ("nop");
   cbi(CLCD_PORT,2);                     // EN = 0

   CLCD_PORT = (data & 0x0f)<<4 ;        // RW=0
   sbi(CLCD_PORT,0);                     // RS = 1
   sbi(CLCD_PORT,2);                     // EN = 1
   asm ("nop"); 
   cbi(CLCD_PORT,2);                     // EN = 0
   delay_us(50);
}

void LCD_str(unsigned char cmd, unsigned char *string)
{
	COMMAND(cmd);
	while(*string !='\0')
	{
		LCD_char(*string);
		string++;	
	}
}
		


// LCD檬扁 汲沥
void LCD_init(void)
{
   delay_ms(30);         // 老沥 矫埃 瘤楷
   CLCD_DDR = 0xff;          // PC0-PC7 免仿
   cbi(CLCD_PORT,2);         // EN = 0              // 器飘 檬扁 汲沥, E=0


   CLCD_PORT = 0x30;         // RW=0, RS=0
   sbi(CLCD_PORT,2);         // EN = 1
   asm ("nop");
   cbi(CLCD_PORT,2);         // EN = 0
   delay_ms(5);

   CLCD_PORT = 0x30;         // RW=0, RS=0
   sbi(CLCD_PORT,2);         // EN = 1
   asm ("nop");
   cbi(CLCD_PORT,2);         // EN = 0
   delay_ms(1);

   CLCD_PORT = 0x30;         // RW=0, RS=0
   sbi(CLCD_PORT,2);         // EN = 1
   asm ("nop");
   cbi(CLCD_PORT,2);         // EN = 0
   delay_ms(1);


   COMMAND(0x28);        // 4厚飘 葛靛
   COMMAND(0x08);        // 叼胶敲饭捞 坷橇
   COMMAND(0x01);        // 叼胶敲饭捞 努府绢
   COMMAND(0x06);        // 浚飘府 葛靛 悸
   COMMAND(0x0f);        // 叼胶敲饭捞 柯
} 
	   

⌨️ 快捷键说明

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