//**********定义与声明*******************
#include
IC.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语言
推荐阅读最新更新时间: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 分钟等,只要设定时间一到,倒计时器即报警,使用十分
[单片机]
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语言例程自动转换为硬件加
[单片机]