51单片机实现电子时钟功能 - 1602液晶显示 联系客服

发布时间 : 星期六 文章51单片机实现电子时钟功能 - 1602液晶显示更新完毕开始阅读

第一章 设计要求及系统组成

一、基本操作时序:读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状

态字

写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲 输出:无

读数据:输入:RS=H,RW=H,E= 高脉冲 输出:D0~D7数据

写数据:输入:RS=H,RW=L。D0~D7=数据,E=高脉冲 输出:无

二、、、状态字说明:STA7 D7\\ STA6 D6\\ STA5 D5 \\ STA4

D4 \\STA3 D3 \\ STA2 D2\\\\ STA1 D1 STA0-6:当前数据地址指针的数值

STA7:读写操作使能 1表示禁止,0表示允许

对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0;但是我们可以进行延时进行实现。 RAM地址映射: LCD 16字*2行

00 01 02 03 04 05 06 07 08 08 09 0A 0B 0C 0D 0E 0F ?27 40 41 42 4F 50? 67 指令说明:1.初始化设置 1.显示模式设置 指令码:00111000(0x38) 功能:设置16*2显示,5*7点阵,8位数据接口

必须开显示 2.显示开、关及光标设置 指令码:00001DCB,功能:D=1 开显示;D=0 关显示;C=1显示光标;B=1 光标闪烁;B=0 光标不显示 000001NS:功能:N=1当读或写一个字符后地址指针加1,且光标加1;N=0相应的减1;S=1当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。 S=0 当写一个字符,正屏显示不移动。

1

数据控制: 控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部80字节RAM

4.2.1 数据指针设置: 指令码:80H+地址码 (0-27H,第二行开始:40H-67H) 4..2.2 读数据,写数据

其它设置:01H:显示清屏:1.数据指令清零 2 所有显示清零 02H:显示回车 :1.数据清零

如何进行连接:实际操作中,液晶接到 ,第一管脚是D,

第二管脚是VCC,15和16是背光,D0-D7是数据口,接到单片机的P0口,P0口接了两个锁存器,液晶,D/A,具有高阻状态的都可以随便接,没有影响,,第六管脚是LCDEN相当于 E,使能信号,它接P3^4,R/W接地,表示低电平,因为我们只进行写操作,RS接2实验板上的P3^5;只需这两端口便足以控制液晶,2和3是偏压信号,一端接地,

接口信号说明:编号:1 VSS(符号表示) 电源地(引脚说明) 2VDD 电源正极3VL液晶显示偏压信号 4RS数据/命令选择端(H/L) 5R/W 读写选择端(H/L) 6E 使能信号 7D0 Data 1/0 8D1 Data 1/0 9 D2 Data 1/0 10 D3 Data 1/0 11D4 Data 1/0 12D5 Data 1/0 13D6 Data 1/0 14D7 Data 1/0 15BLK背光源正极 16 BLK 背光源负极

实际操作:::

2

先写光标程序;写两个子程序,一个写数据,一个写指令:先进性两个宏定义,再位申明LCDEN与RS;为了电量充足。初始化时关断数码管,定义数码管的两个锁存端,dula与wela,P2^6与P2^7,先写主函数(调用初始化函数,在调用数据子函数(’1’),从右向左滚动进来 Code: RS 0 S/R 0 0 1 R/L 0 1 0 描述 光标左移 光标右移 显示左移,光标跟着左移 1 1 显示右移,光标跟着右移 ) ,再写初始化函数(先关断数码管,在进行显示模式设置,显示开、关及光标设置,设计数据),接着写命令子函数writer——com(开始操作时序,写指令,P0口送的指令码,接着需要延时一段时间让E变成高电平,在持续一段时间,E再变低),它由所用的指令直接调用即可。。。。。。。。。。。。再写一个写数据的子函数writer_data(lcdrs=1),需用延时子函数。

3

R/W 0 DB7 0 DB6 0 DB5 0 DB4 1 DB3 S/C DB2 R/L DB1 x DB0 x

Uchar code table[]={“” }

注意:为了使得黑托不出现,应该屏幕全部清零writer_com(0x01)。

???????xdata:外部地址空间

1.1 设计要求

利用单片机最小系统设计一个电子时钟,显示方式为**:**:**,并且可以任意修改时间。

1.2系统组成

原理框图如图1.1

复位电路 时钟电路 单 片 机 按键电路 1602显示模块

图1.1 系统原理框图

4