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

📄 lcd_interface.c

📁 利用Atmel ATMega8 的定时器功能和PWM功能
💻 C
字号:
#ifndef _LCDINTERFACEC_INCLUDED_
#define _LCDINTERFACEC_INCLUDED_

void LCD_WriteCaption(unsigned char ParamCaptionID,unsigned char ValueCaptionID);

void LCD_Interface_Init()
{
  DDRD|=((1<<PD4)|(1<<PD6)|(1<<PD7));
  PORTD&=~((1<<PD4)|(1<<PD6)|(1<<PD7));
}

void LCD_Interface_PutData(unsigned char Data)
{
  DDRC=0x3F;
  DDRB|=(1<<PB7)|(1<<PB6);
  PORTC=0x3F&Data;
  PORTB=(PINB&0x3F)|(((1<<PB7)|(1<<PB6))&Data);
}

void LCD_Interface_RS(unsigned char State)
{
  if (State)
  PORTD|=(1<<PD7);
  else
  PORTD&=~(1<<PD7); 
}

void LCD_Interface_RW(unsigned char State)
{
  if (State)
  PORTD|=(1<<PD6);
  else
  PORTD&=~(1<<PD6);
}

void LCD_Interface_E(unsigned char State)
{
  if (State)
  PORTD|=(1<<PD4);
  else
  PORTD&=~(1<<PD4);
}

unsigned char LCD_Interface_Busy(void)
{
  DDRC=0x00;
  DDRB&=~((1<<PB7)|(1<<PB6));
  #asm
  nop
  #endasm
  return (PINB&(1<<PB7));
}
unsigned char LCD_Interface_GetData(void)
{
  //DDRC=0x00;
  //DDRB&=~((1<<PB7)|(1<<PB6));
  return ((PINB&(1<<PB6))|(PINC&0x3F));
}
void LCD_Delay(unsigned int Value)
{
  unsigned int i;
  for (i=0;i<Value;i++) 
  #asm
  nop
  #endasm
}
#endif

⌨️ 快捷键说明

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