lcd1602

来源:互联网 发布:pr软件图标 编辑:程序博客网 时间:2024/05/22 10:24
#include<reg52.h>#include<intrins.h>#include "./LCD/LCD.h"#include"./delay/DELAY.H"sbit RS = P2^4;    sbit RW = P2^5;sbit EN = P2^6;#define  _Nop()  _nop_()        //定义空指令#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0void LCD_Write_Com(unsigned char com) //写入命令 {  delay_ms(5);RS_CLR; RW_CLR; EN_SET; DataPort = com; _nop_(); EN_CLR; } void LCD_Write_Data(unsigned char Data) //写入数据 { delay_ms(5);RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_();EN_CLR; } void LCD_Clear(void)  //清屏 { LCD_Write_Com(0x01); delay_ms(5); }void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)  //写入字符串{         if (y == 0)   {        LCD_Write_Com(0x80 + x);       }    else   {         LCD_Write_Com(0xC0 + x);       }           while (*s)   {            LCD_Write_Data( *s);            s ++;       }}void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)  //写入字符{         if (y == 0)   {         LCD_Write_Com(0x80 + x);       }        else   {         LCD_Write_Com(0xC0 + x);       }           LCD_Write_Data( Data);  }void LCD_Init(void) //初始化{    LCD_Write_Com(0x38);    /*显示模式设置*/     delay_ms(5);     LCD_Write_Com(0x38);     delay_ms(5);     LCD_Write_Com(0x38);     delay_ms(5);     LCD_Write_Com(0x38);      LCD_Write_Com(0x08);    /*显示关闭*/     LCD_Write_Com(0x01);    /*显示清屏*/     LCD_Write_Com(0x06);    /*显示光标移动设置*/     delay_ms(5);     LCD_Write_Com(0x0C);    /*显示开及光标设置*/}

0 0