1, 这是LCD1602显示程序流程图,请帮我解释说明一下
让LCD1602显示字符前要输入字符所在的地址,这也是每显示一个字符地址要加一的原因,在下面的一段代码里你会明白怎么设置地址,怎么让地址自动加一,怎么清屏,怎么显示字符,希望你能看懂哦sbit LCD_E=P2^0; //lcd1602控制置位sbit LCD_RW=P2^1; //lcd1602控制置位sbit LCD_RS=P2^2; //lcd1602控制置位void LCD_command(unsigned char com){LCD_E=0;LCD_RW=0;LCD_RS=0;P1=com;delay_us(100);LCD_E=1;delay_us(100);LCD_E=0;}void LCD_date(unsigned char dat){LCD_E=0;LCD_RW=0;LCD_RS=1;P1=dat;delay_us(100);LCD_E=1;delay_us(100);LCD_E=0;} LCD_command(0x38); //设置LCD为16*2显示,5*7点阵,8位数据接口 LCD_command(0x0c); //设置LCD显示开,光标显示关 LCD_command(0x06); //写一个数据后地址加1 LCD_command(0x01); //显示清屏LCD_command(0x80); //数据指针设置为第一行第一位LCD_date("pi");LCD_date("l");LCD_date("e");LCD_date("a");LCD_date("s");LCD_date("e");LCD_date(" ");LCD_date("c");LCD_date("h");LCD_date("e");LCD_date("c");LCD_date("k");LCD_date(" "); LCD_date("t");LCD_date("h");LCD_date("e");LCD_command(0x80+0x40); //LCD地址指针指向第二行第一个位置LCD_date("c");LCD_date("o");LCD_date("n");LCD_date("n");LCD_date("e");LCD_date("c");LCD_date("t");LCD_date("i");LCD_date("o");LCD_date("n");LCD_date("!");LCD_date("!");
2, 这是LCD1602部分显示程序,这部分的程序什么意思啊?
您好,让LCD1602显示字符前要输入字符所在的地址,这也是每显示一个字符地址要加一的原因,在下面的一段代码里你会明白怎么设置地址,怎么让地址自动加一,怎么清屏,怎么显示字符。sbit LCD_E=P2^0; //lcd1602控制置位sbit LCD_RW=P2^1; //lcd1602控制置位sbit LCD_RS=P2^2; //lcd1602控制置位void LCD_command(unsigned char com){LCD_E=0;LCD_RW=0;LCD_RS=0;P1=com;delay_us(100);LCD_E=1;delay_us(100);LCD_E=0;}void LCD_date(unsigned char dat){LCD_E=0;LCD_RW=0;LCD_RS=1;P1=dat;delay_us(100);LCD_E=1;delay_us(100);LCD_E=0;} LCD_command(0x38); //设置LCD为16*2显示,5*7点阵,8位数据接口 LCD_command(0x0c); //设置LCD显示开,光标显示关 LCD_command(0x06); //写一个数据后地址加1 LCD_command(0x01); //显示清屏LCD_command(0x80); //数据指针设置为第一行第一位LCD_date("pi");LCD_date("l");LCD_date("e");LCD_date("a");LCD_date("s");LCD_date("e");LCD_date(" ");LCD_date("c");LCD_date("h");LCD_date("e");LCD_date("c");LCD_date("k");LCD_date(" "); LCD_date("t");LCD_date("h");LCD_date("e");LCD_command(0x80+0x40); //LCD地址指针指向第二行第一个位置LCD_date("c");LCD_date("o");LCD_date("n");LCD_date("n");LCD_date("e");LCD_date("c");LCD_date("t");LCD_date("i");LCD_date("o");LCD_date("n");LCD_date("!");LCD_date("!");
3, 1602液晶显示屏显示程序
1602液晶的程序我有,要做数字锁的话其实用到液晶也不多。因为你显示密码是时候不应该都是现实*****吗?你只需把键盘写入的数据存在一个数组中,然后跟密码数组对比就好了。还有就是值得注意的是数据类型问题。输入的键值看你处理的方式而定,密码存放的格式,还有输出显示的是ascll码。注意转换。下面附带一段51的1602LCD的C程序,自己仔细琢磨。#include#define uchar unsigned char#define uint unsigned intuchar table[16]="abcdefghijklmnyz";uchar table1[16]="0123456789abcdef";sbit lcden=P2^0;sbit lcdrs=P2^1;sbit dula=P2^6;sbit wela=P2^7;uchar num;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){ wela=0;lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date){ wela=0;lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80);}void main(){init();for(num=0;num{write_data(table[num]);delay(20);}write_com(1);write_com(0x80+0x40);for(num=0;num{write_data(table1[num]);delay(20);}while(1);}
相关概念
write
write是一个计算机函数,主要功能为写到一文件中。
com
com为commercial简称,表示商业性质的,com结尾的域名为最早通用的顶级域名。历史上第一个com域名的诞生是在1985年3月15日,当时个人电脑操作系统主要还是使用MS-DOS3.0操作系统。
num
Num Sornram Theappitak(索纳拉姆·泰匹塔克),1973年8月22日出生在泰国曼谷,在泰国蓝甘杏大学(RU)获得政治学专业学士学位,泰国演员、模特、歌手、主持人、制作人、足球运动员、法院调解员。 1991年以平面模特身份入行,1992年主演第一部电视剧[1]。1994年推出首张个人专辑《ลูกไม้ของนายหนุ่ม》,同年在自己主演的大热电视剧《金星/晨之星》中演唱插曲《ดาวพระศุกร์》(晨之星)。国内引进的Num主演泰剧《落难公主》的主题曲《แม่หญิง 》(伊人)、《รักเธอสุดหัวใจ》(全心全意)也由Num本人演唱[2]。