最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于51单片机的用 LCD1602 显示时钟的程序

来源:动视网 责编:小OO 时间:2025-09-29 04:24:20
文档

基于51单片机的用 LCD1602 显示时钟的程序

用LCD1602显示的时钟2012-04-3015:04有这样一个题目:求一个为51单片机编写的LCD电子时钟的设计,简单就好!希望说一下怎么设计这个时钟,都需要些什么东西,最重要的——把这个设计需要的程序写出来。设计的任务:以单片机控制的时钟,在LCD显示器上显示当前的时间。设计的基本要求:1.使用文字型LCD显示器显示当前时间。2.显示格式为“时时:分分:秒秒”。3.用4个功能键操作来设置当前时间。各个功能键的功能如下:K1:进入设置现在的时间。K2:设置小时。K3:设置分钟。K4:确认完
推荐度:
导读用LCD1602显示的时钟2012-04-3015:04有这样一个题目:求一个为51单片机编写的LCD电子时钟的设计,简单就好!希望说一下怎么设计这个时钟,都需要些什么东西,最重要的——把这个设计需要的程序写出来。设计的任务:以单片机控制的时钟,在LCD显示器上显示当前的时间。设计的基本要求:1.使用文字型LCD显示器显示当前时间。2.显示格式为“时时:分分:秒秒”。3.用4个功能键操作来设置当前时间。各个功能键的功能如下:K1:进入设置现在的时间。K2:设置小时。K3:设置分钟。K4:确认完
用 LCD1602 显示的时钟

2012-04-30 15:04

有这样一个题目:求一个为 51 单片机编写的 LCD 电子时钟的设计,简单就好 !

希望说一下怎么设计这个时钟,都需要些什么东西,最重要的——把这个设计需要的程序写出来。

设计的任务:

  以单片机控制的时钟,在 LCD 显示器上显示当前的时间。

设计的基本要求:

  1.使用文字型 LCD 显示器显示当前时间。

  2.显示格式为“时时:分分:秒秒”。

  3.用4个功能键操作来设置当前时间。各个功能键的功能如下:

    K1:进入设置现在的时间。

    K2:设置小时。

    K3:设置分钟。

    K4:确认完成设置。

  4. 程序执行后工作指示灯 LED 闪烁,表示程序开始执行,LCD 显示“00:00:00”,然后开始计时。

题目链接:http://zhidao.baidu.com/question/416705477.html

//==================================================

提到设计时钟,很多人都想到了时钟芯片 DS1302,都说它简单、准确。其实,这是个误区。

仅仅使用一般的单片机,简单的编程,达到相同 DS1302 的准确度,并不是难事。

如果不要求计算平闰年、不要求分清大小月、不要求计算星期几,只是要求一个简单的时钟(及日历),用 DS1302,就是自寻烦恼。

大家可以打开题目链接,看看其中的一些答案,就可以看出使用 DS1302 是多么的繁琐了,简直就是一场噩梦。

做而论道以前就使用普通的单片机和 LCD1602 设计过《时钟与日历》,程序设计的非常合理,时间精度就完全取决于晶振的精度。设计出来的时钟,几个月都差不上一秒。

针对这个题目,做而论道翻出了以前的设计,删节了一些不需要的功能,设计出了符合题目要求的时钟,用 PROTEUS 仿真截图如下:

程序用 C 语言编写,全部代码如下:

//---------------------------------------------------

#include

#define uchar unsigned char

#define uint unsigned int

#define KEY_IO P3

#define LCD_IO P0

sbit LCD_RS = P2^0;

sbit LCD_RW = P2^1;

sbit LCD_EN = P2^2;

sbit SPK = P1^2;

sbit LED = P2^4;

bit new_s, modify = 0;

char t0, sec = 50, min = 59, hour = 23;

char code LCD_line1[] = "Designed by ZELD";

char code LCD_line2[] = "Timer: 00:00:00 ";

char Timer_buf[] = "23:59:50";

//---------------------------------------------------

void delay(uint z)

{

 

 

}

//---------------------------------------------------

v写指令

{

 和R/W都为低电平时,写入指令

 用EN输入一个高脉冲

}

//---------------------------------------------------

v写数据

{

 为高、R/W为低时,写入数据

 用EN输入一个高脉冲

}

//---------------------------------------------------

v写字符串

{

 

}

//---------------------------------------------------

v填写显示缓冲区

{

 

 

 

 

}

//---------------------------------------------------

uchar read_key(void)

{

 

 

 

 

 

 

 

 

      if      (x1 == 0x7f)  return 0;

 

 

 

 

 

 

}

//---------------------------------------------------

void Init()

{

 

 

 

 

 

 

 

    TMOD = 0x01;   //T0定时方式1

 

    TR0 = 1;       //启动T0

    PT0 = 1;       //高优先级, 以保证定时精度

 

 

}

//---------------------------------------------------

void main()

{

 

 

 

 

//-------------------------------

 如果出现了新的一秒, 修改时间

        new_s = 0;    sec++;  sec %= 60;

        if(!sec)  {   min++;  min %= 60;

 

 

 写显示

//-------------------------------

 整点报时

 

 

 

 

 

//-------------------------------

 读出按键

      switch(Key) {      //分别处理四个按键

 

 

 

 

 

}

//---------------------------------------------------

void timer0(void) interrupt 1  //T0中断函数, 50ms执行一次

{

 

    t0++; t0 %= 20;   //20, 一秒钟

 

 

}

//===================================================

呵呵,全部程序,也不过 120 行左右。不知道还能不能找到更简明的程序。

文档

基于51单片机的用 LCD1602 显示时钟的程序

用LCD1602显示的时钟2012-04-3015:04有这样一个题目:求一个为51单片机编写的LCD电子时钟的设计,简单就好!希望说一下怎么设计这个时钟,都需要些什么东西,最重要的——把这个设计需要的程序写出来。设计的任务:以单片机控制的时钟,在LCD显示器上显示当前的时间。设计的基本要求:1.使用文字型LCD显示器显示当前时间。2.显示格式为“时时:分分:秒秒”。3.用4个功能键操作来设置当前时间。各个功能键的功能如下:K1:进入设置现在的时间。K2:设置小时。K3:设置分钟。K4:确认完
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top