历史上的今天
今天是:2024年10月12日(星期六)
2019年10月12日 | 51单片机入门之1602液晶显示
2019-10-12 来源:eefocus
本部分主要介绍1602液晶显示,显示内容为“Hello,Welcome to my site,my friends.”。
原理图如下:

程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
sbit RS=P3^0; //数据/命令选择端(H/L)
sbit EN=P3^2; //使能端
sbit RW=P3^1; //读/写选择端(H/L),本文章只写,所以该端口供低电平
sbit wela=P3^3;//锁存器位选信号
uchar table1[]="Hello,Welcome to my ";//字符表1
uchar table2[]="site,my friends.";//字符表2
void delay(uint x) //延时函数
{
uint a,b;
for(a=x;a>0;a--)
for(b=10;b>0;b--);
}
void delay1(uint x) //延时函数
{
uint a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
void write_com(uchar com) //写命令函数
{
wela=1; //锁存器位选打开
P2=com; //向P2口写命令
wela=0; //锁存器位选关闭
RS=0; //以下部分跟据1602手册的时序图写出
EN=0;
RW=0;
delay(10);
EN=1;
delay(10);
EN=0;
}
void write_date(uchar date) //写数据函数
{
wela=1;
P2=date;
wela=0;
RS=1;
EN=0;
RW=0;
delay(10);
EN=1;
delay(10);
EN=0;
}
void init() //初始化函数
{
write_com(0x38); //显示模式设置
delay(20);
write_com(0x0f);//显示开/关及光标设置
delay(20);
write_com(0x06);//当写一个字符后地址指针加一,光标加一
delay(20);
}
void main() //主函数
{
uchar a;
init();
write_com(0x80); //第一行起始地址
delay(20);
for(a=0;a<25;a++)
{
write_date(table1[a]);//读取字符表
delay(20);
}
write_com(0xc0); //第二行起始地址
delay(20);
for(a=0;a<17;a++)
{
write_date(table2[a]);//读取字符表
delay(20);
}
while(1); //保持显示
}
试验结果如下:

上一篇:51单片机入门之静态数码管
史海拾趣
|
引言 复杂可编程逻辑器件——FPGA技术在近几年的电子设计中应用越来越广泛。FPGA具有的硬件逻辑可编程性、大容量、高速、内嵌存储阵列等特点使其特别适合于高速数据采集、复杂控制逻辑、精确时序逻辑等场合的应用。而应用FPGA中的存储功能目前 ...… 查看全部问答> |
|
在WinCE6.0操作系统上,用户如何注册自已的动态库(像XP系统上一样regsvr32.exe \\xxx\\XXX.dll )… 查看全部问答> |
|
~~~~~~~~~~~~~~~~~~再过两天就刚好接触wince九个月了~~~~~~~~~~~~~~感觉挺晕的。 现在来提几个问题,欢迎大家来讨论。 一、你所在公司的城市,wince研发人员数量,驱动多少?硬件多少?应用多少? 二、你们使用什么开发开发工具开发应用?使用什 ...… 查看全部问答> |
|
模块实现了一个10位SAR核、采样选择控制、参考电压发生器和数据传输控制器。 数据传输控制器DTC可以将ADC采样结果存储在内存的任何位置。 ADC10特点: l 高于20万次/秒的转换速率; l &n ...… 查看全部问答> |




