lcd1602

    xiaoxiao2021-03-25  88

    #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 P0 void 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); /*显示开及光标设置*/ }
    转载请注明原文地址: https://ju.6miu.com/read-16463.html

    最新回复(0)