电子时钟(LCD显示)

合集下载

毕业设计36LCD电子钟的功能

毕业设计36LCD电子钟的功能

摘要本设计是采用单片机技术的电子定时闹钟,近年来集成电路技术的出现和应用,是推动了人类文明的突飞猛进。

基于集成电路技术的单片机产品更是方便了人们的生活和工作,目前以单片机技术的应用为核心的产品种类非常丰富。

应用我们所学过的知识和查阅相关资料,我制作了这个单片机技术为基础的LCD 可校时可定时电子闹钟,这是一个简单的实用的单片机电子设计产品。

本“LCD定时电子闹钟’设计采用AT89C51为主控芯片。

在充分理解了设计的要求后,准确的定位了设计的目的,然后构思了总体的方案。

在选择和合适的硬件完成了电路的设计后,又进行了软件的设计和调试。

本系统的硬件组成以及工作原理都有详细的图文说明,所应用的软件技术和各个模块设计的功能及工作过程也有详细的介绍,最后的部分则详细描述了了软件仿真及调试过程。

本电子钟设计是以单片机技术为核心,采用了中小规模集成度的单片机制作的功能较为完善的电子闹钟。

硬件设计应用了成熟的数字钟电路的基本设计方法以,并详细介绍了系统的工作原理。

硬件电路中使用了除AT89C51外,另外还有LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件。

在硬件电路的基础上,软件设计按照系统设计功能的要求,运用所学的汇编语言,实现的功能包括‘时时-分分-秒秒’显示、设定和修改定时时间的小时和分钟、校正时钟时间的小时、分钟和秒、定时时间到能发出一分钟的报警声。

最后应用‘伟福’及‘Proteus’等软件将硬件电路和软件系统链接在一起对各个部分及整体进行仿真并调试构成了整个完整的电子闹钟的设计。

最后通过反复的实际仿真和测试表明,该系统能够实现所有要求的功能包括:(1)能显示‘时时-分分-秒秒’。

(2)能够设定定时时间、修改定时时间及时钟。

(3)定时时间到蜂鸣器能发出铃声,另外还在此基础上实现了其他的附加功能比如万年历。

当然这个系统仍然是属于比较简单的单片机应用系统,要设计功能更强的更复杂的系统还需要我进一步的学习。

LCD电子定时闹钟的设计及制作

LCD电子定时闹钟的设计及制作

摘要时间是现代社会中不可缺少的一项参数,无论是平时生活还是社会生产都需要对时间进行控制,有的场合对其精确性还有很高的要求。

本设计采用单片机芯片进行计时,由于AT89C51系列单片机的体积小,成本低,控制器运算能力强,处理速度快,可以精确计时,对于社会生产有着十分重要的作用。

在此次设计中,AT89C51单片机芯片是主要的元器件,通过它来控制电路的LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件组成的硬件电路,再利用软件来执行一定的程序来实现LCD电子定时闹钟计时功能和定时闹铃的设置和控制。

由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。

关键词:单片机计时AT89C51ABSTRACTTime is the indispensable in the modern society, whether a parameter normally live or social production all need to control over time, some occasions to its accuracy and high requirements. This design USES the monolithic integrated circuit chips for timing, due to the volume of the series microcontroller AT89C51 is small, low cost, operation ability, controller processing speed, can accurate timing for social production, plays a very important role.In this design, AT89C51 chip is the main components, by which it can control circuit of LCD, crystals, resistor, capacitor, light-emitting diodes, switch, loudspeaker elements such as hardware circuit, reuse of software to perform certain procedures to achieve LCD electronic timing alarm clock function and regular alarm Settings and control. Because the system which is less, SCM used components is occupied I/O mouth not much, so system has certain expansibility.Key word:SCM Timing AT89C51目录1 引言 (1)1.1 LCD电子定时闹钟研究现状和发展趋势 (1)1.2 设计本电子定时闹钟的目的和意义 (1)1.3 本LCD电子闹钟的特点和功能介绍 (2)1.3.1 数字钟介绍 (2)1.3.2 本电子钟设计特点 (2)1.3.3 本电子钟的主要功能 (2)2 总体方案设计 (3)2.1 总体设计方案 (3)2.2 AT89C51芯片介绍 (3)2.2.1 单片机介绍 (3)2.2.2 MCS–51单片机内部总体结构 (6)2.2.3 MCS-51单片机的引脚 (6)3 硬件设计 (17)3.1 主控芯片AT89C51的设计 (17)3.2 时钟电路部分设计 (18)3.3 LCD显示电路部分 (19)3.4 喇叭部分的电路 (20)4 软件设计 (23)4.1 软件设计概述 (23)4.2 主函数的设计 (23)4.3 部分设计思想的说明 (25)4.3.1 程序初始化 (25)4.3.2 闹钟的实现 (25)4.3.3 显示程序 (26)结束语 (27)致谢 (28)参考文献 (29)附录 (30)1 引言1.1 LCD电子定时闹钟研究现状和发展趋势现在是一个高度发达的高科技的时代,目前单片机正朝向高性能和多品种方向发展,而且进一步向低功耗,小体积,大容量,高性能,低价格和外围电路内装化等几个方向发展。

LCD显示电子时钟设计

LCD显示电子时钟设计

LCD显示电子时钟设计LCD显示电子时钟是一种以液晶显示技术为基础的电子时钟设计。

液晶显示器(Liquid Crystal Display,简称LCD)是指通过操控液晶分子的取向和透光性来显示图像的显示器,具有薄、轻、便携、低功耗、对环境光适应性强等特点,因此被广泛应用于各种电子设备中。

设计一个LCD显示电子时钟的目的是为了制作一个精确显示时间的时钟装置,并且通过液晶显示器来实时显示时间。

具体的设计思路如下:1.显示屏设计:选择一款适用的液晶显示屏,通过与微控制器连接来实时显示时间。

可以选择有背光功能的液晶显示屏,以便在光线较暗的环境中也可以清晰显示。

2.微控制器选择:选择一款适用的微控制器,来控制液晶显示器的驱动和时间的计算。

常用的微控制器有PIC、AVR等,可以根据需求选择性能和功能适配的型号。

3.时钟电路设计:通过时钟电路提供准确的时间信号,并连接到微控制器中,用于计时和更新时间。

时钟电路可以通过晶振或者RTC(实时时钟芯片)实现。

4.按键输入设计:设计一组按键接口,用于调整和设置时间。

通过按键,可以实现时间的调整、闹钟设置、12/24小时制切换等功能。

5.动态电源设计:由于时钟是一个长时间运行的装置,因此需要设计一个适合的动态电源电路,以保证电源的稳定和可靠性。

可以选择使用电池供电,以应对停电等特殊情况。

6.温度补偿设计:由于液晶显示器的性能受环境温度的影响较大,可以采用温度传感器来感知环境温度,并通过微控制器对温度进行补偿,以提高LCD显示器的准确性。

7.其他功能设计:根据实际需求,可以增加其他功能模块,如闹钟、报时、温湿度检测、闪烁灯效果等。

总结起来,设计一个LCD显示电子时钟需要考虑液晶显示屏、微控制器、时钟电路、按键输入、动态电源、温度补偿等方面的因素。

通过合理的设计和电路连接,可以实现一个功能齐全、精确显示时间的电子时钟。

电子钟的工作原理

电子钟的工作原理

电子钟的工作原理电子钟是一种使用电子技术来显示时间的钟表装置。

它采用电子元件和数字显示屏来替代传统的机械指针,具有精确、可靠和易于读取的特点。

下面将详细介绍电子钟的工作原理。

1. 电子时钟的组成部分电子钟主要由以下几个部分组成:1.1 振荡器:产生稳定的电子信号,用于计时。

1.2 计数器:用于计算振荡器产生的信号,以确定当前的时间。

1.3 控制电路:控制电子钟的各种功能,如时间调整、闹钟设置等。

1.4 数字显示屏:用于显示当前的时间。

2. 振荡器的工作原理振荡器是电子钟的核心部件,它产生一个稳定的电子信号,用于计时。

常见的振荡器有晶体振荡器和电子管振荡器两种。

2.1 晶体振荡器:晶体振荡器使用一块石英晶体作为振荡元件,通过施加电压使晶体发生机械振动,产生稳定的电子信号。

晶体的振荡频率非常稳定,可以达到非常高的精确度。

2.2 电子管振荡器:电子管振荡器使用电子管作为振荡元件,通过控制电子管的电流和电压,使电子在管内来回运动,产生稳定的电子信号。

电子管振荡器的精确度相对较低,但成本较低,适用于一些简单的电子钟。

3. 计数器的工作原理计数器用于计算振荡器产生的信号,以确定当前的时间。

常见的计数器有二进制计数器和十进制计数器两种。

3.1 二进制计数器:二进制计数器使用二进制编码来表示时间。

它由多个触发器组成,每个触发器有两个稳定状态,通过触发器之间的互相触发,可以实现二进制计数。

例如,一个4位的二进制计数器可以表示0~15的数值。

3.2 十进制计数器:十进制计数器使用十进制编码来表示时间。

它由多个二进制计数器组成,通过将二进制计数器的输出进行编码,可以实现十进制计数。

例如,一个4位的十进制计数器可以表示0~9的数值。

4. 控制电路的工作原理控制电路用于控制电子钟的各种功能,如时间调整、闹钟设置等。

它通常由微处理器或专用集成电路实现。

4.1 时间调整:控制电路可以通过接收来自外部的时间信号,如无线电信号、网络时间等,来自动调整电子钟的时间。

lcd 时钟频率

lcd 时钟频率

lcd 时钟频率【原创版】目录1.LCD 时钟频率的定义与作用2.LCD 时钟频率的分类3.LCD 时钟频率的计算方法4.LCD 时钟频率对显示效果的影响5.LCD 时钟频率的实际应用案例正文1.LCD 时钟频率的定义与作用LCD(液晶显示器)时钟频率是指在液晶显示器中,用来驱动液晶屏幕更新的时钟信号频率。

LCD 时钟频率对于液晶显示器的正常工作和显示效果的优劣具有重要意义。

液晶显示器需要通过时钟信号来控制液晶面板中每个像素点的显示状态,以达到显示图像、文字等效果的目的。

2.LCD 时钟频率的分类根据 LCD 时钟频率的用途和特性,可以将其分为以下几类:(1)数据时钟频率:用于传输数据信号,包括图像数据、控制信号等。

数据时钟频率决定了数据传输的速度和效率。

(2)控制时钟频率:用于控制液晶显示器的工作状态,如屏幕刷新、电源管理等。

控制时钟频率影响着液晶显示器的稳定性和可靠性。

(3)像素时钟频率:用于控制液晶面板中每个像素点的显示状态。

像素时钟频率越高,显示效果越细腻、流畅。

3.LCD 时钟频率的计算方法LCD 时钟频率的计算方法通常根据液晶显示器的屏幕分辨率、刷新率等参数来确定。

公式如下:时钟频率 = 屏幕分辨率×刷新率例如,一款 1024x768 分辨率的液晶显示器,刷新率为 60Hz,其像素时钟频率为:时钟频率 = 1024 × 768 × 60 = 4,582,720 Hz4.LCD 时钟频率对显示效果的影响LCD 时钟频率越高,显示效果越佳。

具体表现在:(1)更高的刷新率:刷新率越高,屏幕闪烁感越小,视觉疲劳程度降低,有利于保护视力。

(2)更细腻的画面:时钟频率越高,每个像素点的显示时间越长,显示效果更细腻、流畅。

(3)更快的响应速度:时钟频率越高,液晶显示器的响应速度越快,能够更好地显示动态画面,减少拖影现象。

5.LCD 时钟频率的实际应用案例在实际应用中,LCD 时钟频率的选择需要综合考虑屏幕分辨率、刷新率、功耗等因素。

LCD电子时钟的设计

LCD电子时钟的设计

东北石油大学课程设计课程单片机课程设计题目单片机控制的LCD时钟设计院系电气信息工程学院测控系专业班级学生姓名学生学号指导教师2011年4月6日东北石油大学课程设计任务书课程单片机课程设计题目单片机控制的LCD时钟设计专业姓名学号一、任务设计一款基于STC89C52RC单片机的LCD数字时钟,实现显示当前时间以及具有调整日期与时间的功能。

二、设计要求[1] 使用集成数字电路或单片机作为主控制芯片。

[2] 使用LCD来显示现在的时间,显示格式为:上行显示:年-月-日;下行显示:时时:分分:秒秒。

[3] 使用时钟芯片DS1302实现时钟定时。

[4]具有调整日期与时间的功能。

[5] 写出详细的设计报告。

[6] 给出全部电路和源程序。

三、参考资料[1] 求是科技. 单片机典型模块设计实例导航. 北京:人民邮电出版社. 2005.8[2] 徐淑华, 程退安等.单片微型机原理及应用. 哈尔滨:哈尔滨工业大学出版社. 2005.1[3] 孙余凯. 精选实用电子电路260例. 北京:电子工业出版社. 2007.6[4] 殷春浩, 崔亦飞. 电磁测量原理及应用. 徐州:中国矿业大学出版社. 2003.7[5] 《LCD1602A数据手册》[6] 《DS1302数据手册》完成期限2011.3.28至2011.4.8指导教师专业负责人2011年3月28 日目录第1章绪论....................................................31.1 STC89C52RC单片机概述...............................................31.2 LCD概述............................................................31.3 DL1302简介.........................................................41.4 本设计任务.........................................................4 第2章总体方案论证与设计......................................52.1显示部分...........................................................52.2数字时钟...........................................................52.3温度采集...........................................................62.4总体硬件组成框图...................................................6 第3章系统硬件设计............................................73.1 STC89C52RC单片机最小系统...........................................73.2 温度测量模块.......................................................73.3 时钟模块...........................................................83.4 LCD液晶显示模块....................................................83.5 键盘模块...........................................................93.6 整体电路...........................................................9 第4章系统的软件设计.........................................114.1主程序设计........................................................114.2时间设定程序流程..................................................114.3温度测量流程图..............................................12 第5章系统调试与测试结果分析.................................145.1 使用的仪器仪表....................................................145.2 系统调试..........................................................145.3 测试结果..........................................................14 结论..........................................................15参考文献......................................................16 附录1 程序....................................................17附录2 仿真效果图..............................................27第1章绪论在新的世纪我们已经步入了第二个十年,随着全球经济的复苏和发展,由于在世界范围内人类需求的巨大释放,以及消费结构的升级,同时传统能源的稀缺以及带来的环境的破坏,都将带来新一轮的科技革命的巨变。

LCD显示的指针式电子钟

LCD显示的指针式电子钟

信息工程学院课程设计报告书题目: LCD显示的指针式电子钟专业:电子信息的科学与技术班级: 0311410学号: 031141012学生姓名:何标指导教师:高林2014年 5 月 15 日信息工程学院课程设计任务书2014年5月20 日信息工程学院课程设计成绩评定表目录1 任务提出与方案论证 (6)1.1设计要求 (6)1.2原理说明 (6)2 总体设计 (7)3 详细设计 (8)3.1 AT89C51单片机简介 (8)3.2时钟模块设计 (9)3.3 显示模块设计 (10)3.4 设置模块 (10)3.5 振荡电路 (10)3.6 复位设置 (11)4 总结 (12)参考文献 (13)附录仿真电路图 (14)摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。

单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。

本设计就是应用单片机强大的控制功能制作而成的指针式电子钟,该指针式电子钟实现如下功能:液晶屏模拟表盘与时分秒指针显示当前时钟,K1键用于选择调节对象,K2键用于调整时分秒,在按下K4键时确定调节值,时钟继续运行。

本设计采用的是AT89C51单片机,AT89C51单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时。

芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。

显示器件采用PG12864LCD液晶,12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示,也可以显示8×4个(16×16点阵)汉字。

电子时钟lcd课程设计

电子时钟lcd课程设计

电子时钟lcd课程设计一、课程目标知识目标:1. 学生能理解电子时钟的基本原理,掌握LCD显示技术的基本概念。

2. 学生能够解释电子时钟中LCD显示部分的电路组成及其功能。

3. 学生能够描述电子时钟中时间计算和处理的方法。

技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的电子时钟LCD显示系统。

2. 学生通过实际操作,掌握电路连接、程序编写和调试的基本技能。

3. 学生能够运用问题解决策略,对LCD显示系统进行故障排查和优化。

情感态度价值观目标:1. 学生培养对电子技术和编程的兴趣,激发创新意识和探索精神。

2. 学生通过团队合作,学会交流、分享和协作,培养集体荣誉感。

3. 学生意识到科技发展对生活的影响,提高对科学技术的尊重和责任感。

课程性质:本课程为实践性强的信息技术课程,注重学生动手操作和问题解决能力的培养。

学生特点:六年级学生具备一定的逻辑思维和动手能力,对电子技术和编程感兴趣,但需进一步培养实际操作和团队协作能力。

教学要求:结合学生特点,注重理论与实践相结合,强调在实践中学习,培养学生解决问题的能力和团队协作精神。

通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。

二、教学内容本课程教学内容主要包括以下几部分:1. 电子时钟原理:介绍电子时钟的基本工作原理,包括时钟芯片、晶振、LCD 显示等组成部分。

- 教材章节:第二章“电子时钟的原理与设计”- 内容列举:时钟芯片的工作原理、晶振的作用、LCD显示原理。

2. LCD显示技术:讲解LCD显示技术的基本概念,以及电子时钟中LCD显示部分的电路组成和功能。

- 教材章节:第三章“LCD显示技术”- 内容列举:LCD显示原理、电子时钟LCD电路组成、显示驱动程序编写。

3. 电路设计与搭建:教授如何设计并搭建一个简单的电子时钟LCD显示系统。

- 教材章节:第四章“电子时钟设计与制作”- 内容列举:电路设计方法、元器件选型、电路搭建与调试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电气工程及自动化专业单片机原理及应用课程设计报告姓名:XXXXXX学号:XXXXXXX专业班级:XXXXXX题目:电子时钟(LCD显示)电气与电子工程学院二〇一四年十二月三十日目录一、设计目的 (2)二、设计任务和要求 (2)三、设计原理分析 (2)四、硬件资源及其分配 (3)五、硬件图 (4)六、程序框图 (5)七、程序 (7)八、调试运行 (13)九、仿真截图 (13)十、设计心得体会 (14)一、设计目的1、设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时间。

2、 使用字符型LCD 显示器显示当前时间。

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

3、用4个功能键操作来设置当前时间。

4、熟悉掌握proteus 编成软件以及keil 软件的使用 二、设计任务与要求本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD 显示器上显示出来。

该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD 显示器上作出相应的反应。

由于LCD 显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。

该课题中有四个控制开关KM1、KM2、KM3、KM4分别控制时、分、秒、确定的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。

三、设计原理分析1、按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。

图一 系统总原理图2、软件主要完成功能(1)显示时间程序用软件调节时间,通过程序的调节,最后用LED现实时钟(2)调节时间程序按键调节时间,能实现时、分的调节3、软件设计主要流程时间控制程序时间控制程序,用中断准确的控制时间,采用60进制,60秒为一分钟,60分钟为一个小时,全天设置为24小时。

四、硬件资源及原理图AT89C51芯片AT89C51 是美国ATMEL 公司生产的8 位Flash ROM 单片机。

其最突出的优点是片内ROM 为Flash ROM,可擦写1000 次以上,应用并不复杂的通用ROM 写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序ROM 二级保密系统。

因此可灵活应用于各种控制领域。

AT89C51 包含以下一些功能部件:1. 一个8 位CPU ;2. 一个片内振荡器和时钟电路;3. 4KB Flash ROM ;4. 128B 内RAM;5. 可寻址64KB 的外ROM 和外RAM 控制电路;6. 两个16 位定时/计数器;7. 21 个特殊功能寄存器;8. 4 个8 位并行I/O 口;9. 一个可编程全双工串行口;10. 5 个中断源,可设置成2 个优先级。

AT89C51 单片机一般采用双列直插DIP 封装,共40 个引脚,图2-1 为其引脚排列图。

40 个引脚大致可分为4 类:电源、时钟、控制各I/O 引脚五、硬件图六、程序框图七、程序#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}sbit K1 =P0^0;sbit K2 =P0^1;sbit K3 =P0^2;sbit K4 =P0^3;sbit SPK=P3^0;sbit RS =P2^0;sbit RW =P2^1;sbit E =P2^2;uchar code Str1[] = " Current Time "; //一下两个字符串的串长均为16uchar code Str2[] = "Set New Time... ";uchar HMS_String[]=" 00:00:00 ";//带显示的时间串bit Settime=0; //是否修改时间bit Change_H_or_M =1;//1表示修改时.0表示修改分uchar MilliSecond,Hour =0,Minute=0, Second =0;//延时函数void DelayMS(uint x){uchar i;while(x--) for(i=0;i<120;i++);}//LCD忙状态检测bit LCD_Busy_Check(){bit result;RS = 0;RW = 1;E = 1;DelayNOP();result = (bit)(P0 & 0x80);E = 0;return result;}//写LCD命令void LCD_Write_Command(uchar cmd){while(LCD_Busy_Check());//判断LCD是否忙碌RS = 0;RW = 0;E = 0;_nop_();_nop_();P0 = cmd; DelayNOP();E = 1;DelayNOP();E = 0;}//设置LCD显示位置void LCD_Set_Pos(uchar pos){LCD_Write_Command(pos | 0x80);}//写LCD数据void LCD_Write_Data(uchar dat){while(LCD_Busy_Check());//判断LCD是否忙碌RS = 1;RW = 0;E = 0;P0 = dat; DelayNOP();E = 1;DelayNOP();E = 0;}//LCD初始化void LCD_Initialize(){LCD_Write_Command(0x38);DelayMS(1);LCD_Write_Command(0x0c);DelayMS(1);LCD_Write_Command(0x06);DelayMS(1);LCD_Write_Command(0x01);DelayMS(1);}// 显示函数,在LCD指定的行上显示字符串void Display_String(uchar*str,uchar LineNo) {uchar k;LCD_Set_Pos(LineNo);for(k=0;k<16;k++) LCD_Write_Data(str[k]);}//蜂鸣函数void Beep(){uchar i, j = 70;for(i=0;i<200;i++){while(--j);SPK= ~SPK;}DelayMS(300); SPK=0;}//时分秒显示void Display_HMS(uchar h,m,s){if(Settime) HMS_String[3] = '>';//显示修改标志else HMS_String[3] = ' '; //不显示修改标志HMS_String[4] = h/10 + '0'; //时HMS_String[5] = h%10 + '0';HMS_String[7] = m/10 + '0'; //分HMS_String[8] = m%10 + '0';HMS_String[10]= s/10 + '0'; //秒HMS_String[11]= s%10 + '0';Display_String(HMS_String,0x40);}//设置时间void Change_Time(){Settime=0;if(K1==0||K2==0||K3==0) //按下k1 k2 k3中的任何一个键即进入修改状态{TR0 = 0;Display_String(Str2,0x00); //第一行提示修改时间Settime = 1;}while (Settime){if(K1 == 0) //确定调整小时还是分钟{Beep();while(K1 == 0)Change_H_or_M = !Change_H_or_M;}else if(K2 == 0) //增加{Beep();while(K2 == 0);if(Change_H_or_M==1){if(++Hour == 24) Hour = 0;}else{if(++Minute == 60) Minute = 0;}}else if(K3 == 0) //减少Beep();while(K3 == 0);if(Change_H_or_M == 1){if(--Hour == 0xff) Hour = 23;}else{if(--Minute == 0xff) Minute = 59;}}else if(K4 == 0) //确定{Beep();while(K4 == 0);Display_String(Str1,0x00); //第一行还原显示str1 Settime = 0;TR0 = 1;}Display_HMS(Hour,Minute,Second);} //外层While在这里结束}//定时器0中断void Time0() interrupt 1{TH0 = (65536 -50000)/256;TL0 = (65536 -50000)%256; //重新装入50MS定时if(++MilliSecond == 20) //50*20=1s{MilliSecond = 0;if(++Second == 60){Second = 0;if(++Minute == 60)Minute = 0;if(++Hour == 24){Hour = 0;Minute = 0;Second = 0;}}}}}//主函数void main(){TMOD = 0x01;TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;IE = 0x82;SPK = 0;LCD_Initialize();Display_String(Str1,0x00); //第一行显示TR0 = 1;P1 = 0xFF;while(1){Display_HMS(Hour,Minute,Second); //第二行显示时分秒DelayMS(500);Change_Time(); //显示过程中允许修改时间}}八、调试运行1、按硬件原理图接线用4个功能键操作来设置当前时间。

功能键K1~K4功能如下。

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

K2—设置小时。

K3—设置分钟。

K4—确认完成设置。

程序执行后工作指示灯LED闪动,表示程序开始执行,LED显示“00:00:00”,然后开始计时九、仿真截图结论:采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。

相关文档
最新文档