掌握lcd1602液晶的编程方法.doc_第1页
掌握lcd1602液晶的编程方法.doc_第2页
掌握lcd1602液晶的编程方法.doc_第3页
掌握lcd1602液晶的编程方法.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/掌握lcd1602液晶的编程方法。/实验现象:液晶屏上显示 /LCD TEST 和 lcd test/SUCCESSFUL successful /lcd1602 drive program/for 51 mcu/designed by zhaoliang/2005-6-14 20:16#include /*/lcd part#define LINE1 0#define LINE2 1#define LINE1_HEAD 0x80#define LINE2_HEAD 0xC0#define LCD_DELAY_TIME 40#define DATA_MODE 0x38#define OPEN_SCREEN 0x0C#define DISPLAY_ADDRESS 0x80#define CLEARSCREEN LCD_en_command(0x01)/common part #define HIGH 1#define LOW 0#define TRUE 1#define FALSE 0#define ZERO 0 #define MSB 0x80#define LSB 0x01/*/change this part at different board#define LCDIO P2sbit LCD1602_RS=P14; /data command select 1 data 0 command pin 4 sbit LCD1602_RW=P13; /read write select 1 read 0 write pin 5sbit LCD1602_EN=P12; /LCD enable signal pin 6/*/void LCD_delay(void);/lcd delay function void LCD_en_command(unsigned char command);/write command functionvoid LCD_en_dat(unsigned char temp);/write data functionvoid LCD_set_xy( unsigned char x, unsigned char y );/set display address functionvoid LCD_write_char( unsigned x,unsigned char y,unsigned char dat);/write lcd a character functionvoid LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s);/write lcd string functionvoid LCD_init(void);/lcd initize function/*/void delay_nms(unsigned int n);/delay function/*/void main(void) LCD_init(); while(TRUE ) CLEARSCREEN; delay_nms(2); LCD_write_string(0,LINE1, LCD TEST ); LCD_write_string(0,LINE2, SUCCESSFUL ); delay_nms(200); CLEARSCREEN; delay_nms(2); LCD_write_string(0,LINE1, lcd test ); LCD_write_string(0,LINE2, successful ); delay_nms(200); /*/* LCD PART */void LCD_delay(void) unsigned char i; for(i=LCD_DELAY_TIME;iZERO;i-)/be sure lcd reset ;/*/ void LCD_en_command(unsigned char command) LCD_delay(); LCD1602_RS=LOW; LCD1602_RW=LOW; LCD1602_EN=HIGH; LCDIO=command; LCD1602_EN=LOW;/*/void LCD_en_dat(unsigned char dat) LCD_delay(); LCD1602_RS=HIGH; LCD1602_RW=LOW; LCD1602_EN=HIGH; LCDIO=dat; LCD1602_EN=LOW;/*/void LCD_set_xy( unsigned char x, unsigned char y ) unsigned char address; if (y = LINE1) address = LINE1_HEAD + x; else address = LINE2_HEAD + x; LCD_en_command(address); /*/void LCD_write_char( unsigned x,unsigned char y,unsigned char dat) LCD_set_xy( x, y ); LCD_en_dat(dat);/*/void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s) LCD_set_xy( X, Y ); /set address while (*s) / write character LCDIO=*s; LCD_en_dat(*s); s +; /*/void LCD_init(void) CLEARSCREEN;/clear screen LCD_en_command(DATA_MODE);/set 8 bit data transmission mode LCD_en_command(OPEN_SCREEN);/open display (enable lcd display) LCD_en_command(DISPLAY_ADDRESS);/set lcd first display address

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论