date oracle 显示毫秒_如何用LCD1602的字符来显示自己名字的拼音

date oracle 显示毫秒_如何用LCD1602的字符来显示自己名字的拼音(视频版,请前往视频区)SMC1602什么意思?长什么样子各个接口管脚的定义;基本操作时序:读状态输入:RS=L,R/W=H,E=H输出D0~D7=状态字读数据输入:RS=H,R/W=H,E=H输出D0~D7=数据写指令输入:RS=L,R/W=L,E=H,D0~D7=指令码输出:无写数据输入:RS=H,R/W=LE=H,D0~D7=数据输出:无RAM地址映射图向图中00H~…_oracle延时100毫秒

(视频版,请前往视频区)

SMC1602什么意思?长什么样子

07a8a7b5ef5d3bab3c52bdd05320e869.png
5677479ae52ee4d1d2cd31a1e76d84e2.png

各个接口管脚的定义;

4e22365158a4c333b58896bcb2fd8a15.png

基本操作时序:

读状态 输入:RS=L,R/W=H,E=H 输出D0~D7 =状态字

读数据 输入:RS=H,R/W=H,E=H 输出D0~D7 =数据

写指令 输入:RS=L,R/W=L,E=H,D0~D7=指令码 输出:无

写数据 输入:RS=H,R/W=LE=H,D0~D7=数据 输出:无

RAM地址映射图

向图中00H~0FH,40H~4F地址任意写显示数据时,液晶都可以立即显示出来,但是10H-27H或者50H-67H地址时,就要用到屏幕移动指令,把它们移动到显示区域:

01448b3ed6b250c66bb17de150a36d23.png

控制器内部有个数据地址指针,用户可以通过听你们访问内部的全部字节。

使用方法:0X80+0X要写入的地址。

清屏指令:0x01;

为什么是这样的指令,这是厂家自定义 定义好的,不能改变。

还有一个是显示模式设置:0x38; 意思是:设置16*2显示,5*7点阵,8位数据接口。(属于初始化步骤里面的)

显示开关以及光标设置

f7ab629230d84934fbf65fa153bc7339.png

看一下线路是怎么接的

e288f28611b007436e6a71c1304e8aa9.png

效果展示:

7dcef754783228fb33c1df82ba8e3f02.png
(后面还有详细解释版本,往下拉)代码 复制:#include "reg52.h"#define uchar unsigned char#define uint unsignedintuchar code table[]="Huang Hua Nan";uchar code table1[]="2019/06/02";sbit lcden=P3^4;sbit lcdrs=P3^5;sbit lcdwr=P3^6;uchar num;void delayms(uint xms){uint i,j;for(i=xms;i>0;i--) for(j=110;j>0;j--);}void write_com(uchar com) //写指令子程序{ lcdrs=0; lcdwr=0; P1=com; delayms(5); lcden=1; delayms(5); lcden=0;}void write_date(uchar date) //写数据子程序{ lcdrs=1; lcdwr=0; P1=date; delayms(5); lcden=1; delayms(5); lcden=0;}void init() //初始化子程序{ lcden=0; write_com(0x38);//显示模式设置,也就是00111000 ,系统自定义的,有兴趣的可以去查阅更细节的资料。 write_com(0x0e); //光标打开,显示光标,不闪烁。 00001110 write_com(0x06); //写入一个字符后指针地址加一,写一个字符时整屏不移动 00000110 write_com(0x01); //清屏显示,数据指针清零,所以显示清零0000 0001 write_com(0x80); //设置字符显示首地址。 1000 0000 +01 确认从屏幕的第几位开始显示}void main(){ init(); delayms(100); EA=1; EX0=1; EX1=1; while(1);}void int0() interrupt 0{ write_com(0x80+0x01); for(num=0;num<14;num++)// huang hua nan  { write_date(table[num]); delayms(20); } write_com(2); write_com(0x80+0x41); for(num=0;num<11;num++) { write_date(table1[num]); delayms(20); }}void int1() interrupt 2{ write_com(1);}

详细解释一下:

#include “reg52.h” //包含51系列单片机的一个头文件

#define uchar unsigned char//宏定义,把后面的长句,变成前面的短句

#define uint unsignedint //宏定义,把后面的长句,变成前面的短句

uchar code table[]=”Huang Hua Nan”; //编码来显示的数据,huang hua nan 13

uchar code table1[]=”2019/06/02″; //编码 显示的字符,是 今天的日期。 10

sbit lcden=P3^4; //位操作,把3.4这个口定义为lcden,

sbit lcdrs=P3^5;//位操作,把3.5这个口定义为lcdrs,

sbit lcdwr=P3^6;//位操作,把3.6这个口定义为lcdwr,

uchar num; //定义一个无符号字符。

void delayms(uint xms) //延时子程序,定义了一个无符号字符,带形式参数

{

uint i,j; //定义两个无符号字符

for(i=xms;i>0;i–)//要循环xms次

for(j=110;j>0;j–); //要循环xms*110

}

void write_com(uchar com) //写指令子程序 意义 :先启动写命令操作,然后把具体写到哪里去,再调用。

{

lcdrs=0; //写指令,写命令。 低电平有效

lcdwr=0; // 低电平有效。

P1=com; //把写的指令,送到P1口

delayms(5); //延时5毫秒

lcden=1;//写命令要高电平

delayms(5);//延时5毫秒

lcden=0;//变成低电平,表示写完了。

}

void write_date(uchar date) //写数据子程序, 送要显示的数据。

{

lcdrs=1; //高电平有效

lcdwr=0; //低电平。

P1=date; //把要送去显示的数据 送到p1口

delayms(5);//延时5毫秒

lcden=1; //高电平有效,

delayms(5);//延时5毫秒

lcden=0;//告诉系统,显示的数据 我已经送完了。

}

void init() //初始化子程序

{

lcden=0; //根据操作时序来看,使能端要低电平。

write_com(0x38);//显示模式设置,也就是00111000 ,系统自定义的,有兴趣的可以去查阅更细节的资料。

write_com(0x0e); //光标打开,显示光标,不闪烁。 00001110

write_com(0x06); //写入一个字符后指针地址加一,写一个字符时整屏不移动 00000110

write_com(0x01); //清屏显示,数据指针清零,所以显示清零0000 0001

write_com(0x80); //设置字符显示首地址。 1000 0000 +01 确认从屏幕的第几位开始显示

}

void main()//主程序

{

init(); //初始化

delayms(100);//延时100毫秒,给初始化一点时间。

EA=1;//开总中断

EX0=1;//外部中断0, 来显示数据

EX1=1;//外部中断1, 清屏

while(1);//不断地判断,循环。

}

void int0() interrupt 0 外部中断0

{

write_com(0x80+0x01); 写命令,指令,在第二位开始显示

for(num=0;num<14;num++)// huang hua nan 因为有13个数据,所以要写14.

{

write_date(table[num]); //调用显示数据子程序

delayms(20);//延时20毫秒

}

write_com(2);//显示回车 换行的意思。

write_com(0x80+0x41); 去第二行第二个位置去显示。

for(num=0;num<11;num++) //因位日期数据是10位,所以我们写11.

{

write_date(table1[num]);//调用显示数据子程序,送去显示

delayms(20);//延时20毫秒

}

}

void int1() interrupt 2 第二个中断

{

write_com(1); 表示清屏的意思。

}

今天的文章date oracle 显示毫秒_如何用LCD1602的字符来显示自己名字的拼音分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/40130.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注