单片机
返回首页

51单片机系列之LCD1602

2017-01-06 来源:eefocus

名称:LCD1602液晶屏显示(并口) 

平台:Keil 4, Ly-51S学习板 

引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK 

与51连接:RS-P2.4 RW-P2.5 EN-P2.6 DB-P0 

-----------------------------------------------------*/  

   

#include  

   

#define DB P0  

sbit RS =P2^4;  

sbit RW =P2^5;  

sbit EN =P2^6;  

   

/*判忙函数*/ 

bit LCD_check_busy() {  

    DB = 0xFF;  

    RS = 0;  

    RW = 1;  

    EN = 0;  

    EN = 1;  

    return  (bit)(DB & 0x80);  

}  

   

/*写入命令函数*/ 

void LCD_write_com(unsigned char com) {  

    while(LCD_check_busy());//忙则等待  

    RS = 0;  

    RW = 0;  

    EN = 1;  

    DB = com;  

    EN = 0;  

}  

   

/*写入数据函数*/ 

void LCD_write_data(unsigned char dat) {  

    while(LCD_check_busy());//忙则等待  

    RS = 1;  

    RW = 0;  

    EN = 1;  

    DB = dat;  

    EN = 0;  

}  

   

/*在y(0-1)行,x列(0-15)写入字符串函数*/ 

void LCD_write_string(unsigned char x, unsigned char y, unsigned char *s) {  

    if(0==y) 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 dat) {  

    if(0==y) LCD_write_com(0x80 + x);  

    else LCD_write_com(0xC0 + x);  

    LCD_write_data(dat);  

}  

   

/*清屏函数*/ 

void LCD_clear() {  

    LCD_write_com(0x01);  

}  

   

/*初始化函数*/ 

void LCD_init() {  

    LCD_write_com(0x38);/*显示模式设置*/  

    LCD_write_com(0x08);/*显示关闭*/  

    LCD_write_com(0x01);/*显示清屏*/  

    LCD_write_com(0x06);/*显示光标移动设置*/  

    LCD_write_com(0x0C);/*显示开及光标设置*/     

}  

   

/*主函数*/ 

void main() {  

    while(1) {  

        LCD_init();  

        LCD_write_char(0,0,'*');  

        LCD_write_string(1,0,'I'm Chinese.**');  

        LCD_write_string(0,1,'Happy,hellofuxin');  

        LCD_write_char(15,0,'!');  

        while(1);  

    }  

}  


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章