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

📄 hd44780.c

📁 AVR_examples proteus examples
💻 C
字号:
#include "includes.h"
#define HD44780_C
 /**************************************************************************************/
//函数名	:lcd_pulse
//属性		:私有
//功能		:产生LCD所需的短脉冲
//输入参数	:无
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 void lcd_pulse(void)
  {
  lcd_set_e();
  delay_nms(1);
  lcd_clear_e();
  delay_nms(1);
  }
 /**************************************************************************************/
//函数名	:lcd_wait
//属性		:私有
//功能		:延时等待
//输入参数	:无
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 
 void lcd_wait(void)     // medium delay (long for lcd, but much less than a second)
  {
  asm("nop");
  }
 
 /**************************************************************************************/
//函数名	:lcd_send
//属性		:私有
//功能		:写一个字符到LCD
//输入参数	:data--要显示的字符
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 void lcd_send(unsigned char data)   // send byte to lcd
  {
  lcd_wait();
  dataport = data;  
  lcd_pulse();
  
  }
 /**************************************************************************************/
//函数名	:clrscr
//属性		:私有
//功能		:清除屏幕
//输入参数	:无
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
  
 void clrscr(void)     // clear screen   
  {      
  lcd_clear_rs();
  lcd_clear_rw();
  lcd_send(0x01);
  lcd_wait();
  }
 
 /**************************************************************************************/
//函数名	:gotoz
//属性		:私有
//功能		:坐标定位
//输入参数	:z--位置
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 
 void gotoz(unsigned char z)  // goto lcd memory address
  {
  lcd_clear_rs();
  lcd_clear_rw();
  lcd_send(z | 0x80);
  }
  /**************************************************************************************/
//函数名	:gotoxy
//属性		:私有
//功能		:在LCD上的位置
//输入参数	:x--字符的列;y--字符的行
//输出参数	:
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
  void gotoxy(unsigned char x,unsigned char y)
  {
  gotoz((x)|((y)<<6));
  }
 
 /**************************************************************************************/
//函数名	:put_char
//属性		:私有
//功能		:在LCD上显示一个字符
//输入参数	:c--要显示的字符
//输出参数	:
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 void put_char(char c)   // output single character
  {
  lcd_clear_rw();
  lcd_set_rs();
  lcd_send(c);
  }
 
/**************************************************************************************/
//函数名	:outtext
//属性		:私有
//功能		:输出字符串到LCD显示
//输入参数	:text--要显示的字符串
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 void outtext(unsigned char* text)    // output string
  {
  unsigned char i;
  for(i = 0; text[i] && i < 16; i++)
   put_char(text[i]);
  }
 /**************************************************************************************/
//函数名	:initgraph
//属性		:私有
//功能		:初始化LCD
//输入参数	:无
//输出参数	:无
//返回值	:
//修改日期	:
//修改人	:
/**************************************************************************************/
 
 void initgraph(void)    // init display
  {
  dirport_data = 0xFF;
  dirport_con |= (LCD_E |  LCD_RS | LCD_RW);
  lcd_clear_rs();
  lcd_clear_rw();
  lcd_send(0x3C);
  lcd_send(0x3C);
  lcd_send(0x3C);
  lcd_send(0x06);
  lcd_send(0x0C);
  }  
 /*************************************/ 

⌨️ 快捷键说明

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