• 大小: 245KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签:

资源简介

1602LCD串行方式显示,1602LCD计数显示实,—LCD1602 滚动显,LCD随机数字显,LCD液晶时钟程序等十多个应用,是学习的好帮手

资源截图

代码片段和文件信息

/*******************************************************************
    
* 描述:                                                           
*    LCD1602可以分为8位和4位控制方式,8位控制方式是用D0-D7数据线   
* 来传送控制命令及数据。4位控制方式是用D4-D7数据线来传送控制命令   
* 及数据。使用4位数据线做控制时,需要分两次来传送,先送出高4位数   
* 据,再送出低4位数据。可以节省单片机的4根端口线。                 
*                                                                  
*******************************************************************/
#include < reg52.h >
#include < intrins.h >
#define uchar unsigned char
#define uint  unsigned int
sbit  LCD_RS = P2^7;             
sbit  LCD_RW = P2^6;
sbit  LCD_EN = P2^5;
uchar code  cdis1[ ] = {“   WELCOME TO   “}; 
uchar code  cdis2[ ] = {“ WWW.RICHMCU.COM “};
/**********************************************************

* 5us 延时子程序

**********************************************************/
void  delayNOP()
{
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
}

/**********************************************************

* 延时子程序

**********************************************************/
void delay(uint ms) 

{
   uchar t;
   while(ms--)
   { 
     for(t = 0; t < 120; t++);
   }
}


/**********************************************************

* 检查LCD忙状态                                           
* lcd_busy为1时,忙,等待。                               
* lcd-busy为0时闲,可写指令与数据                        

**********************************************************/ 
bit lcd_busy()
{                          
    bit result;
    LCD_RS = 0;
    LCD_RW = 1;
    LCD_EN = 1;
    delayNOP();
    result = (bit)(P0&0x80);
    LCD_EN = 0;
    return(result); 
}

/********************************************************* 

* 写指令或数据

* start=0 写入命令;  start=1 写入数据

*********************************************************/

void lcd_write(bit start uchar in_data) 
{
    uchar HdataLdata;

    while(lcd_busy());

    Hdata=in_data&0xf0;             //取高四位
    Ldata=(in_data<<4)&0xf0;    //取低四位

    if(start==0) 
    LCD_RS = 0;               //写入命令
    else
    LCD_RS = 1;                 //写入数据

    LCD_RW = 0;
    LCD_EN = 0;
    delayNOP();

    P0 = Hdata;                 //发送高四位   
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;
    delayNOP();

    P0 = Ldata;                 //发送低四位     
    LCD_EN = 1;
    delayNOP();
    LCD_EN = 0;
    delayNOP();
}

/*************************************************************

*  LCD初始化设定                                             

*************************************************************/
void lcd_init()
{
    delay(15);
    lcd_write(00x28);                //16*2显示,5*7点阵,4位数据
    delay(5);
    lcd_write(00x28);
    delay(5);
    lcd_write(00x28);

    delay(5);
    lcd_write(00x0c);               //显示开,关光标
    delay(5);
    lcd_write(00x06);              //移动光标
    delay(5);
    lcd_write(00x01);              //清除LCD的显示内容
    del

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-12-15 09:16  1602液晶程序大全\
     目录           0  2015-12-15 09:16  1602液晶程序大全\1602LCD串行方式显示\
     文件        5824  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang
     文件        4160  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.c
     文件         926  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.hex
     文件          58  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.lnp
     文件        7432  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.LST
     文件        8794  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.M51
     文件        6844  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.OBJ
     文件        1258  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.Opt
     文件         380  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.plg
     文件        2185  2010-01-04 13:11  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang.Uv2
     文件        1255  2010-07-12 14:10  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang_Opt.Bak
     文件        2156  2009-07-23 17:04  1602液晶程序大全\1602LCD串行方式显示\1602chuanhang_Uv2.Bak
     目录           0  2015-12-15 09:16  1602液晶程序大全\1602LCD显示字符A\
     文件        5823  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A
     文件         715  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A.hex
     文件          45  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A.lnp
     文件        8670  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A.M51
     文件         985  2010-07-12 14:31  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A.Opt
     文件         176  2010-07-12 14:31  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A.plg
     文件        2146  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A.Uv2
     文件         989  2010-07-12 14:31  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A_Opt.Bak
     文件        2117  2009-06-24 23:25  1602液晶程序大全\1602LCD显示字符A\1602Dsp-A_Uv2.Bak
     文件        4393  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\ex81.c
     文件        7540  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\ex81.LST
     文件        6549  2010-07-12 14:22  1602液晶程序大全\1602LCD显示字符A\ex81.OBJ
     目录           0  2015-12-15 09:16  1602液晶程序大全\1602LCD简单时钟显示实验\
     文件        9688  2010-07-12 14:21  1602液晶程序大全\1602LCD简单时钟显示实验\1602sz
     文件        2292  2010-07-12 14:21  1602液晶程序大全\1602LCD简单时钟显示实验\1602sz.hex
     文件          31  2010-07-12 14:21  1602液晶程序大全\1602LCD简单时钟显示实验\1602sz.lnp
............此处省略143个文件信息

评论

共有 条评论

相关资源