单片机1602显示时钟怎么调出时间

介绍

单片机1602显示时钟是现代化科技的一种应用。该系统是基于AT89C52单片机的,可用于在屏幕上显示时间,具有精准、快速、便捷等优点。它不仅可以实时显示时间,还可以通过键盘进行时间的设置和修改。下面就为大家详细介绍一下该系统如何调出时间。

硬件接线

首先,我们需要对1602液晶模块进行接线。具体接线方法如下:

VSS-GND、VDD-5V。

现在将V0接一个50K电位器的中间脚,两边脚接VDD和GND即可调整显示对比度。

RS接单片机P1.0引脚,RW接GND,EN接单片机P1.1引脚。

在通电之前需要给他接两个电位器(10KΩ)一个接到单片机的P1.2上,一个接到P1.3上,上面控制液晶的行和列的移动。

软件编程

将单片机AT89C51或AT89C52按照引脚号进行连接,然后根据9600bps于8-N-1的标准方式,通过代码控制1602液晶显示出我们的具体时间。

单片机1602显示时钟怎么调出时间

接下来是编程的重点,代码如下:

```
#include
void Init(void)
{
TMOD=0x01; //定时器0工作在方式1,16位自动重装
TL0=0xcd; //给定时器赋初值,每100us中断一次。
TH0=0xd4;
TR0=1; //打开定时器0
ET0=1; //允许定时器中断
EA=1;
}
void Fun_Hour()
{
unsigned char high,low;//个位和十位
unsigned int n;//存放选择的数字
n=RTC_hour;
high=n/10;//取十位
low=n%10;//取个位
LCD_Command(0xc0);//切换到第二行
LCD_Write_Datat(0x52);
LCD_Write_Datat(0x65);
LCD_Write_Datat(0x73);
LCD_Write_Datat(0x3a);
LCD_Write_Data(high+0x30);//显示十位数字
LCD_Write_Data(low+0x30);//显示个位数字
LCD_Write_Datat(0x20);//显示一个空格
}
void Fun_Minute()
{
unsigned char high,low;//个位和十位
unsigned int n;//存放选择的数字
n=RTC_minute;
high=n/10;//取十位
low=n%10;//取个位
LCD_Write_Data(high+0x30);//显示十位数字
LCD_Write_Data(low+0x30);//显示个位数字
LCD_Write_Datat(0x20);//显示一个空格
}

void Fun_Second()
{
unsigned char high,low;
unsigned int n;
n=RTC_second;
high=n/10;
low=n%10;
LCD_Write_Data(high+0x30);
LCD_Write_Data(low+0x30);
}
```

这里要注意的是,RTC_hour,RTC_minute,RTC_second是使用的DS1302时钟芯片获取的每一秒的时间,所以只需要进行数据的转换即可。

结论

经过硬件接线和软件编程设置后,单片机1602显示时钟终于可以成功,而通过该系统的使用,不仅能够准确地读取时间,同时也充分体现了科技给我们生活带来的巨大便利。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/mcuve3n.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 下午11:27
下一篇 2023年4月25日 下午11:27

猜你喜欢