LCD1602显示C语言

发布者:楼高峰最新更新时间:2017-12-06 来源: eefocus关键字:LCD1602显示  C语言 手机看文章 扫描二维码
随时随地手机看文章

//**********定义与声明******************* 
#includeIC.h> 
#define uchar unsigned char 
#define uint unsigned int 
#define E RE2 
#define RS RB4

uchar i,num,byte,ys; 

uchar const table[]="  Shan qing gong  ";          //为什么2009前面要空开两个才能显示后空开1个儿呢?这个定义要小心!一定要用uchar const,不要丢了uchar,也不要用code 
uchar const table1[]=" tong xin 06-2 ";    //4第二数组定义初值 
void LCD_init(void); 
void writecom(char); 
void writEDAta(char); 

void delay(uint z)   //5延迟函数常用 

        uint x,y; 
        for(x=z;x>0;x--) 
                for(y=110;y>0;y--); 


//***************主函数***************** 
void main() 

lcd_init(); 

   while(1) 
    { 
      ; 
    
    } 

//*******lcd initial***************关于LCD的初始化 
void lcd_init() 

TRISB=0x00; 
TRISE=0x00; 
PORTB=0X00; 
writecom(0x28);     //将LCD设置成4为数据方式,两行显示,5*7点阵 
writecom(0x0C);     //显示控制:打开显示, 
writecom(0x06);     //设置输入模式 
writecom(0x01);     //清LCD 
     writecom(0x80); 
       for(num=0;num<16;num++)  //循环 
                { 
                        writedata(table[num]); 
             
                        delay(1); 
                } 
        writecom(0x80+0x40);  //11液晶显示第二行时分秒 
        for(num=0;num<15;num++) 
                { 
                        writedata(table1[num]); 
          
                        delay(1); 
                } 

//********写命令控制***************** 
void writecom(char i) 

byte=i; 
i=i>>4; 
PORTB=i; 
RS=0; 
E=1; 
for(ys=10;ys>0;ys--); 
E=0; 

PORTB=byte; 
RS=0; 
E=1; 
for(ys=10;ys>0;ys--); 
E=0; 

//********写数据控制***************** 
void writedata(char i) 

byte=i; 
i=i>>4; 
PORTB=i; 
RS=1; 
E=1; 
for(ys=10;ys>0;ys--); 
E=0; 

PORTB=byte; 
RS=1; 
E=1; 
for(ys=10;ys>0;ys--); 
E=0; 
}


四条数据线输入:DB4—RB0,DB5—RB1,DB6—RB2,DB7—RB3 
寄存器选择RS接RB4,为"L"指令寄存器,为"H"数据寄存器 
读写使能控制线E,接RE2,每当E线向LCD模块发送一个正脉冲,LCD模块与 单片机 之间将进行一次数据交换; 


关键字:LCD1602显示  C语言 引用地址:LCD1602显示C语言

上一篇:IO端口驱动LCD1602
下一篇:用软件实现PIC16F5X异步串行口

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

AVR单片机C语言入门一例
AVR单片机C语言编译软件有IAR、ICCAVR、winavr、Atmanavr、CodeVisionAVR等。其中CodeVisionAVR又称 CVAVR,它可以说是目前最容易入门的C编译器,它体积小巧,但是代码效率却很高, 风格与keil-C51类似,与Keil-C51一样支持位变量、支持IO端口的位操作(其它的如IAR、ICCAVR、GCCAVR都没有此功能)下面就以CodeVisionAVR1.25.1为例来说说如何使用这个软件。   设置软件的工作界面。软件的默认字体并不太好看,需要设置一下,先运行CodeVisionAVR,点击菜单栏的 Settings 选择 Editor 就可以打开设置界面了,其中 Font 就是
[单片机]
关于单片机的C语言编程基础知识(初学注意)
80C51上的 C语言 编程 C51的特色: (1)学习过C语言的同学在对单片机有了基本了解之后,就可以开始试着写一两个基于单片机的C语言的程序了。C51语言继承了ANSI C 的绝大部分的特性,基本的语法相同,同学们上手会比较快。但是,由于C51语言是对硬件进行控制的编程语言,其本身又在硬件结构上有所扩展以增强C语言对硬件的控制,如关键字sbit,data,code等(后面会讲他们是做什么的)。 (2)因为单片机不是我们平时用的计算机,他的英文名为MCU(微控制器),特点体现在这个 微 字。因而,它里面的硬件资源是非常少的,所以你在写程序的时候就要注意对RAM(存储数据)和ROM(存储程序)的使用。说白了,就是也程序的时
[单片机]
lcd1602显示的单片机子程序 模块化可多次调用
给大家分享一个lcd1602显示的子程序模块化可多次调用,非常方便移植,不改或改一点就可以用到自己的程序中 单片机源程序如下: #include lcd1602.h /*LCD1602忙碌等待*/ void LCD1602Wait() { unsigned char sta;//读取LCD1602状态字 /*读取液晶状态字之前必须将P2口全部拉高*/ LCD1602_DB = 0xFF; LCD1602_RS = 0; LCD1602_RW = 1; LCD1602_EN = 0; do { LCD1602_EN = 1; sta = LCD1602_DB;//读状态字 L
[单片机]
单片机C语言中define的妙用
单片机C语言中define的妙用 最近一款产品调试时发现了问题,在一起检查一个小伙伴的C程序。问题不大,但暴露了一点问题。 比如:PORTB=0x23; //他的意思是把第5和第2位置1 可是你能一下子看出来第5和第2位置1吗?其实应该是0x24,他并没有发现这个错误,算错了,所以正确的是: PORTB=0x23; 其实,我们完全可以避免这个错误。 打开我们编译器自带的头文件,比如AVR Tiny13头文件中有如下语句: # define PB5 5 # define PB4 4 # define PB3 3 # define PB2 2 # define PB1 1 # define PB0 0 看似没什
[单片机]
12232c液晶显示和8051单片机的接口c语言程序
以下为彭总编写的c语言程序,我用过了!赫赫!!在atmega128中写通讯协议的头四位数字时好像不能分开一位一位的送,而是要把它当作一个16进制的整体移位写入!程序中的comm为写0表示写12232c的指令,dat为1表示写数据。cs,sclk,std分别为片选、时钟、及数据io口,可用sbit指令定义。 /************lcd初始化程序**************/ void init_lcd (void) { wr_lcd (comm,0x30); /*30---基本指令集动作,8位控制接口*/ wr_lcd (comm,0x01); /*清
[单片机]
PIC单片机C语言程序设计(6)
  4.可预置起始时刻的倒计时程序   在2010 年第2 期《PIC 单片机C 语言程序(5)》一文中,我们介绍了可预置起始时刻的时钟的硬件电路并给出了C 语言程序。下面要介绍的可预置起始时刻的倒计时程序,是作为日常生活中对某事件的定时之用:只要某事件由人工设置的计时时间到,倒计时电路便会发出报警声。倒计时的特点是,计时一旦达到预定值,其值就归零。利用归零条件,即可实现任意倒计时达到时的报警功能,提示人们定时已到。   本倒计时器可在0~99 分钟内任意设置计时值。   例如在厨房中,蒸大米饭(8 两米),定时33 分钟,烧开水(一壶)为20 分钟,煮胡罗卜(红色)为30 分钟等,只要设定时间一到,倒计时器即报警,使用十分
[单片机]
PIC单片机<font color='red'>C语言</font>程序设计(6)
C语言常用ARM三个头文件
关于ARM开发,在keil4中进行时,可以直接调用芯片型号的头文件,如S3C2440芯片,可直接调用#include“S3C2440.h 、如S3C2410芯片,可直接调用#include S3C2410.h ,也可以新建头文件,把下面的内容复制进响应的头文件文本文件中,保存,再在C语言程序中调用这些头文件。 #include option.h #include stdio.h #include stdlib.h #include def.h #include 2440addr.h /////////////////////////////////////////////// 一、def ///////////////
[单片机]
Altera为Nois II处理器提供C语言硬件加速工具
Altera公司今天宣布为Nios II系统开发人员提供新的效能工具Nios® II C语言至硬件加速(C2H)编译器,该工具能够有效的提高嵌入式软件的性能。由于越来越多的嵌入式设计使用了FPGA,因此,Nios II C2H编译器的目的是帮助嵌入式系统开发人员提高效率,实现成功的设计。作为Nios II C2H编译器的一部分,Altera还允许第三方工具供应商使用其系统级基本结构,包括Quartus® II SOPC Builder工具,以促进多种电子系统级(ESL)设计工具的开发。 Nios II C2H编译器利用Altera系统级基本结构来切实提高多种实际应用的性能。这一新工具能够将对性能要求较高的C语言例程自动转换为硬件加
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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