设计与开发

单片机液晶显示程序 单片机快速入门:12864液晶屏实现多功能数字时钟

小编 2024-11-24 设计与开发 23 0

单片机快速入门:12864液晶屏实现多功能数字时钟

想要快速入门单片机,就要多动手实践。也许你的手上有不止一块的单片机开发板,但是你有没有亲自动手实现自己的想法?单片机实现数字时钟是一个不错的想法。有12864液晶显示屏、有按键、有DS18B20。最关键的,你能从一个小的实验设计中获得设计经验,熟悉产品开发的流程,你会慢慢爱上这一行。

文末会有原理图和hex程序文件的下载方式,可以更好的帮助你学习,感谢杜洋工作室。

器件清单

1.元器件清单

首先来看看所需要的清单:51单片机STC12C5A60S2、12864液晶屏、温度传感器DS18B20、时钟芯片DS1302、光敏电阻、四腿按键等。

STC12C5A60S2

所用单片机为国产51单片机,型号为STC12C5A60S2,DIP40封装。

12864液晶屏

显示器件为12864液晶屏。

时钟芯片DS1302

时钟采用DS1302芯片,配电池、32.768K的晶振。

温度传感器DS18B20

环境温度的检测用DS18B20来实现。

光敏电阻

光敏电阻用于感知白天和晚上。

四腿机械按键实现时钟调整、闹钟设置等功能。

2.实现原理图

这是整体的原理图。

3.整体外观和显示

未来时钟背面

焊接完成后的未来时钟背面。

闹钟调整界面

可以实现时间的显示,闹钟的设置,关键还有重要节气的显示。

正常显示界面

私信回复关键字:未来时钟 。即可获取原理图和hex文件。感谢杜洋工作室。

STM32液晶显示HT1621驱动原理及程序代码

1、HT1621电路分析

HT1621为32×4即128点内存映像LCD驱动器,包含内嵌的32×4位显示RAM内存和时基发生器以及WDT看门狗定时器.

HT1621驱动电路如下图所示:

图1

图1

与单片机相连接控制的有9脚CS,3脚WR,12脚DATA,其功能描述如下表。

图2

2、字符显示原理

液晶管点亮和熄灭原理分别为在对应的RAM地址中写1和写0. 首先需要清楚所驱动控制的液晶的COM-SEG对应关系,然后需要了解HT1621的32×4RAM地址映射。

例如要控制的液晶的装脚成品图部分如下:

图3

着重看一个液晶数码管,我们了解原理就行。可以看到图3中是第2个液晶数码管,有7段,分别为A,B,C,D,E,F,G。也就分别为下面COM\SEG地址对应关系图中的2A,2B,2C,2D,2E,2F,2G。

液晶的显示字符的部分COM公共端输出口和SEG段输出口的分布如下表所示,同理我们可以看到例如:2D对应(SEG5,COM0),2E对应(SEG5,COM1),2F对应(SEG5,COM2),2A对应(SEG5,COM3),2C对应(SEG4,COM1),2G对应(SEG4,COM2),2B对应(SEG4,COM3)。

图4

搞清楚我们要控制的对象之后那, HT1621的RAM 地址映射如下图所示:

图5

可以清楚的看到要控制液晶段对应SEG号作为6位地址,COM号对应作为4位数据写入,此时注意4位数据的高低位。写数据到RAM命令格式为:101+6位RAM地址+4位数据,其中RAM地址为SEG序号.

例如我们在图3的第二个液晶数码管上显示数字,首先我们根据图3得到地址映射关系,先写入地址SEG4中的四位数据(COM3,COM2,COM1,COM0),再写如地址SEG5中的四位数据(COM3,COM2,COM1,COM0),对应关系如下:

所以如果在图3中显示“5”,则在显示的液晶段对应地址上写1,不显示写0,如下图所示。所以SEG4地址应写入的数据为0110 ,SEG5地址应写入数据1101。

图6

3、显示的保持

写数据过程需要保证写前无关位数据的保持,因此在单片机程序中开辟32×4数组作为虚拟ARM,存储写前LCD显示数据.通过与清零,或置位操作实现,例如6位地址Address当前显示的数据为Data_last .若Xi(i=0,1,2,3) 位需要保持,则Xi为1,否则Xi为0.写入的数据为Data_now,变换公式为:

4、程序

主要的程序编写流程如下:

图7

程序的参考步骤:①Display_Wendu_1②write_addr_dat_n_wendu③write_mode④write_address⑤write_data_4bit,其中Lcdram数组为建立的虚拟数组。

如果你的有项目需要技术支持,可以直接登录深圳安信泰的官网www.axtek.net了解更多详情,获取等多的单片机开发资料。

免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之 目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们 会尽快处理。官方所有内容、图片如未经过授权,禁止任何形式的采集、镜像,否则后果自负!

相关问答

51 单片机 display函数可以 显示 什么?

具体要看函数里面咋写的,你这只有一个函数名也没法分析,根据经验的话,应该是液晶显示、数码管显示这类东西的显示函数。具体要看函数里面咋写的,你这只有一个...

单片机 的使用流程?

第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合...

单片机 1602 液晶 怎样移屏?怎么设置光标闪烁?谁有没有这样的C...

单片机1602液晶怎样移屏?怎么设置光标闪烁?谁有没有这样的C程序?举报监视器3人讨论9172次围观关注问题写回答讨论回答(3)bo136321751#include 自己制作的 单片机 最小系统1602 液晶 没有任何 显示 ,只有背光灯亮?怎么回事,求大神?

在没有任何程序写入的情况下,液晶不会有显示。一般情况下,需要调整外接的滑动变阻器获得最佳对比度,对比度太低,会显示很浅。在没有任何程序写入的情况下,...

求51 单片机 怎么 显示 汉字,可不可以给我发个现成的 程序 -ZOL问答

3条回答:【推荐答案】这个要看液晶显示屏是否带字库,如果带字库,那你把娟字的两字节汉字代码发过去就能显示如果不带字库,那就需要汉字取模软件把娟字的点阵数据...

C语言编写年历 显示程序 20分- 汇财吧专业问答test

[回答]一、设计题目万年历的设计二、设计要求1、能够显示星期;2、能够显示年月日;3、能够修改;4、当系统时间变动时,能自动跳到相应的时间。三...C语言设...

充电宝 液晶显示 是什么意思?

这个就像手机上的电量显示格子一样,其实是利用液晶屏幕显示智能充电器设备充电的状态,就是冲了多少电,还需要充多少电量,给我们一个直观的判断,让我们了解充...

单片机 1602一个读忙 程序 的问题,谢谢你的精彩回答,那再请问...

[最佳回答]/*busy_flag变量是bit型,位类型的;其结果只能是0和1;(P0&0x80);---P0口是一个8位的,先对P0=0XFF;转换成二进制按位与11111111&100...

51 单片机 液晶 代码里地址和0x80或是干什么的?

没有源码,只能泛泛而谈的说一下,地址是液晶模块的控制端口,该地址选择,那么可以对液晶进行读写。0x80,这个数据一般而言,是D8位有效,是液晶的状态位,表...没...

【英语翻译摘要目前家用的数字电子钟,多数只能 显示 小时、分...

[最佳回答]AbstractAtpresentthenumberofhouseholdelectronicbell,themajoritycanonlydisplayhours,minu...

猜你喜欢