LCD1602程序设计4线并口通信源程序

发布者:HappyExplorer最新更新时间:2017-12-30 来源: eefocus关键字:LCD1602  4线并口通信 手机看文章 扫描二维码
随时随地手机看文章

LCD 1602采用4线并口通信,连接方式是DB4-DB7接P1.4-P1.7;RS:P2.7;RW:P2.6
EN:P2.5;注意初始化的设置。
在万利MedWin 3.0开发环境上调试通过!

#include
/********************************************************************/
#define  LCDIO        P1

sbit LCD1602_RS=P2^7;  

sbit LCD1602_RW=P2^6;  

sbit LCD1602_EN=P2^5;  


/********************************************************************/
void LCD_delay(void);

void LCD_en_command(unsigned char command);

void LCD_en_dat(unsigned char temp);

void LCD_set_xy( unsigned char x, unsigned char y );

void LCD_write_char( unsigned x,unsigned char y,unsigned char dat);

void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s);

void LCD_init(void);


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

void delay_nms(unsigned int n);

/********************************************************************/
void main(void)
{
  LCD_init();
  while(1 )   
  {
     LCD_en_command(0x01);

    delay_nms(2);
        LCD_write_string(0,0,"     create by    ");
        LCD_write_string(0,1,"     fenyman      ");
   
        delay_nms(200);

        LCD_en_command(0x01);

    delay_nms(2);
        LCD_write_string(0,0,"     LCD1602   ");
        LCD_write_string(0,1,"     test      ");
 
        delay_nms(200);         
  }
}
/******************** LCD PART *************************************/
void LCD_delay(void)  
{
  unsigned char i;
  for(i=40;i>0;i--)
    ;
}
/********************************************************************/ 
void LCD_en_command(unsigned char command)
{
 
  LCD1602_RS=0;  
  LCD1602_RW=0;
  LCD1602_EN=0;
  LCDIO=(command & 0xf0);
 
  LCD1602_EN=1;
  LCD_delay();
 
  LCD1602_EN=0;

  LCDIO=(command & 0x0f)<<4;
  LCD1602_EN=1;
  LCD_delay();
  LCD1602_EN=0;
}
/********************************************************************/
void LCD_en_dat(unsigned char dat)
{
 
  LCD1602_RS=1;
  LCD1602_RW=0;
  LCD1602_EN=0;
  LCDIO=(dat & 0xf0);

  LCD1602_EN=1;
  LCD_delay();
  LCD1602_EN=0;

  LCDIO=(dat & 0x0f)<<4;
  LCD1602_EN=1;
 
  LCD_delay();
  LCD1602_EN=0;
}
/********************************************************************/
void LCD_set_xy( unsigned char x, unsigned char y )
{
  unsigned char address;
  if (y ==0)
   address = 0x80 + x;
  else
      address = 0xC0 + 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)
{
  LCD_en_command(0x01);
  delay_nms(5);
  LCD_en_command(0x01);
  delay_nms(5);    
  LCD_en_command(0x28);
  delay_nms(5);
  LCD_en_command(0x28);
  delay_nms(5);
  LCD_en_command(0x28);
  delay_nms(5);    
  LCD_en_command(0x0C);
  delay_nms(5);    
  LCD_en_command(0x80);
  delay_nms(5);    
  LCD_en_command(0x01);
  delay_nms(5);
}
/********************************* *********************************/
void delay_nms(unsigned int n)     
{
    unsigned int i=0,j=0;
    for (i=n;i>0;i--)
     for (j=0;j<1140;j++); 
}
/********************************************************************/


关键字:LCD1602  4线并口通信 引用地址:LCD1602程序设计4线并口通信源程序

上一篇:51单片机串口使用方法与设计实验
下一篇:LCD1602四线编程方法程序设计实例

推荐阅读最新更新时间:2024-03-16 15:51

18-基于51单片机的排队叫号系统
具体实现功能 系统由STC89C52单片机+按键模块+LCD1602液晶屏+蜂鸣器呼叫模块+电源构成。 具体功能: 1、主机通过按键完成叫号,LCD1602液晶显示屏显示被叫的号码及服务的柜台号;同时,蜂鸣器响,以提醒顾客接收服务; 2、从机按下按键实现取号,并通过串行通信方式实现排队取号功能; 3、从机还可以实时显示自己的排队号及及当前正在等待的人数。 设计背景 排队论(又称随机服务系统)是研究系统由于随机因素的干扰而出现排队(或拥塞)现象的规律的一门学科,它适用于一切服务系统,包括公共服务系统、通信系统、计算机系统等。可以说,凡是出现拥塞现象的系统,都属于随机服务系统。一个对象通过拥塞系统接受服务必须经过三
[单片机]
18-基于51单片机的排队叫号系统
PIC16F887 串口 LCD1602 按键
#include xc.h #include stdio.h #include stdlib.h #include string.h #define uchar unsigned char #define uint unsigned int /* CONFIG1 */ #pragma config FOSC = XT /* Oscillator Selection bits (XT oscillator: Crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN) */ #pragma config WDTE = OFF /* Watchdog Time
[单片机]
51单片机测量PWM脉冲宽度LCD1602显示当前PWM占空比频率
此程序通过两个定时器一个外部中断,测量PWM高电平时间以及周期,计算并在1602显示出占空比 周期 高电平时间,只需让脉冲在P3^2口输入即能测得数据。。 单片机源程序如下: #include reg52.h #include LCD1602.h typedef unsigned char uint8; typedef unsigned int uint16;//数据类型重定义 uint8 count = 0; //计进入外部中断次数 bit flag = 1; //捕获结束标志位 long Pwm_All; //PWM的周期 long Pwm_High; //PWM的高电平时间 占空比=Pwm_Hi
[单片机]
19-基于51单片机的倒计时系统
具体实现功能 系统由STC89C52单片机+按键电路+复位电路+晶振电路+LCD1602显示模块构成。 具体功能: (1)六位LED显示,从59分59秒99开始倒计时; (2)倒计时精度为0.01秒,能正确地进行倒计时; (3)复位后倒计时重新回到初始状态。 设计背景 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基于单片机的数字电子秒表倒计时设计,倒计时精度达0.01s了,解决了传统的由于倒计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。本设计的数字电子秒表倒计时系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断
[单片机]
19-基于51单片机的倒计时系统
ARM之LPC2132流水灯LCD1602
1、汇编程序 GPADIR EQU 0xE0028008 GPASET EQU 0xE0028004 GPACLR EQU 0xE002800C EXPORT xmain AREA Init,CODE,READONLY ENTRY xmain ldr r0,=GPADIR orr r1,r1,#0x0ff orr r1,#0x300 str r1, ;A=out ;========
[单片机]
ARM之LPC2132流水灯<font color='red'>LCD1602</font>
51单片机PCF8591四路AD数值LCD1602屏显示源码
单片机源程序: /**********************BST-V51实验开发板例程************************ * 平台:BST-V51 + Keil U3 + STC89C52 * 名称:四路AD数值LCD1602屏显示 * 公司:深圳市亚博软件开发有限公司 * 晶振:11.0592MHZ ******************************************************************/ /*----------------------------------------------- 名称:IIC协议 PCF8591ADDA转换 显示有4个,注意
[单片机]
MSP430单片机控制lcd1602显示C程序
//MSP430写的1602液晶显示程序2011/8/26//硬件连接 //P4 数据口 P3.7---E P3.6---RW P3.5----RS #include msp430x14x.h #define uint unsigned int #define rw(x) P3OUT=(P3OUT&(~BIT6))|(x?BIT6:0); unsigned char table0 = hankouxueyuan ; unsigned char table1 = dianzisheji ; //**************延时**************************
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved