电子时钟(LCD显示)课程设计说明书

合集下载

电子时钟LCD显示课程设计

电子时钟LCD显示课程设计

题目2 电子时钟(LCD 显示) 1. 设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时刻: 利用字符型LCD 显示器显示当前时刻。

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

用4个功能键操作来设置当前时刻。

功能键K1~K4功能如下。

K1—进入设置此刻的时刻。

K2—加1 。

K3—减1。

K4—确认完成设置。

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

1.时钟的整体设计思路依照系统的设计功能要求,本时钟系统的设计必需采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。

图一系统总原理图3.系统硬件设计 单片机控制系统本次设计时钟电路,利用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,利用键盘键上的按键来调整时钟的时、分、秒,同时利用C 语言程序来控制整个时钟显示,使得编程变得更易,如此通过三个模块:键盘、芯片、显示屏即可知足设计要求。

原理如图一所示。

ATC89C51单片机芯片VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被概念为输入。

P0能够用于外部程序数据存储器,它能够被概念为数据/地址的低八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,现在P0外部必需接上拉电阻。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外手下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH 编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

LCD显示电子时钟设计

LCD显示电子时钟设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数字电子钟的课程设计

数字电子钟的课程设计

数字电子钟的课程设计一、课程目标知识目标:1. 学生能够理解数字电子钟的基本原理,掌握计时、显示等关键功能的工作机制。

2. 学生能够阐述数字电子钟中常见电子元件如晶体振荡器、计数器、显示器的功能及其相互关系。

3. 学生能够运用所学知识,分析并解释数字电子钟电路图的构成及工作原理。

技能目标:1. 学生能够通过小组合作,完成数字电子钟的搭建,并对其进行调试。

2. 学生能够运用基本的电路知识和编程技能,实现对数字电子钟功能的修改和优化。

3. 学生能够运用信息检索和问题解决策略,自主解决在搭建和调试过程中遇到的技术难题。

情感态度价值观目标:1. 培养学生对电子技术和物理科学的兴趣,激发他们探索未知、创造新知的欲望。

2. 培养学生团队协作意识,提高沟通与协作能力,培养共同解决问题的责任感。

3. 通过对数字电子钟的学习与实践,增强学生的环保意识和科技伦理观念,引导他们合理使用电子设备,关注电子产品对环境的影响。

课程性质分析:本课程属于电子技术领域,结合物理科学与工程技术,注重理论联系实际,强调实践操作能力。

学生特点分析:考虑到学生所在年级,应具备一定的物理知识和数学基础,同时具备初步的电路理解和动手能力。

教学要求:结合学生特点,教学应注重理论与实践相结合,鼓励学生动手实践,通过项目式学习,促进学生深度理解和技能掌握。

通过具体的学习成果分解,为教学设计和评估提供明确的标准。

二、教学内容1. 数字电子时钟原理:晶体振荡器、时钟芯片、计数器、显示器工作原理及其在数字电子钟中的应用。

- 教材章节:第二章第三节《计时器与电子时钟》2. 电路元件功能与连接:介绍常见电子元件,如电阻、电容、二极管、三极管等在数字电子钟中的作用及连接方式。

- 教材章节:第一章《电子元件及其特性》3. 数字电子钟电路分析与设计:分析典型数字电子钟电路图,学习电路设计方法和技巧。

- 教材章节:第三章《数字电路分析与设计》4. 数字电子钟编程与调试:介绍简单的编程知识,使用编程软件对数字电子钟进行编程与调试。

电子钟说明书

电子钟说明书

机电一体化强化训练单片机系统设计说明书电子时钟设计院(系)机电系专业/方向机械工程及自动化/机电一体化班级学生姓名指导老师2011年11月1号华南理工大学广州学院单片机系统设计任务书兹发给08机械2班学生冯嘉健龙健欧李光耀吴东霖课程大作业任务书,内容如下:1.设计题目:电子时钟设计2.应完成的项目:(1)完成原理图,各元器件封装(2)布铜,打印图纸,转印电路图(3)腐蚀PCB板,钻孔,焊接各元器件(4)检查PCB板上的线路是否有短接,虚焊,断路等问题(5)编写程序,调试3.参考资料以及说明:(1)百度文库芯片封装(2)单片机原理及应用/李全利,仲伟峰-北京:清华大学出版社,2006.2 (3)机电一体化系统设计(第三版)张建民-北京:高等教育出版社2007.7 (4)4.本任务书于2011年9月27日发出,应于2011 年11月03日前完成,然后进行答辩。

专业教研室,研究所负责人审核年月日指导教师签发年月日设计评语:设计总评成绩:设计答辩负责人签字:年月日摘要本设计是简单定时闹钟系统,不仅能实现系统要求的功能:(1)能显示时时-分分-秒秒,(2)能设定和修改定时时间,(3)定时时间到后能发出报警声;而且还有附加功能,即还能设定和修改当前所显示的时间。

本设计采用单片机AT89C52作为核心元件,12MHZ晶振,由P1口与锁存器74lS573控制数码管的显示。

在其基础上扩展外围芯片与电路,附加时钟电路及LED电路。

LED采用共阴极接法,低电平有效选中相应的LED。

单片机具有集成度高、功能强、通用性好、特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动化产品等领域。

为了进一步的熟悉并掌握单片机的应用及开发,认真的做好此次课程设计非常必要。

一个单片机的定时闹钟系统离不开软件和硬件,硬件是软件的依托,软件是硬件的内核。

(完整版)电子时钟(LCD显示)

(完整版)电子时钟(LCD显示)

电气工程及自动化专业单片机原理及应用课程设计报告姓名: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 单片机。

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课程设计一、课程目标知识目标: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显示系统。

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

单片机课程设计实验报告lcd电子时钟

单片机课程设计实验报告lcd电子时钟

单片机原理与应用课程名称:单片机原理与应用设计题目:LCD电子钟院系:电子信息工程学院班级:自动化0706设计者:全宏宇指导教师:一,设计目标LCD显示电子钟的基本功能1,实现时钟功能;2,实现闹铃功能;3,实现秒表功能;4,具有一定的计时精度。

LCD显示电子钟的基本要求1,掌握单片机开发编程设计的基本流程;2,了解Keil及Proteus软件的基本使用;3,了解LCD的基本使用;4,学习单片机硬件制作。

二,具体实现1,软件平台1)Keil编程Keil 的开发工具的使用的基本过程:○1创建C 或汇编语言的源程序;○2编译或汇编源文件;○3纠正源文件中的错误;○4从编译器和汇编器连接目标文件;○5测试连接的应用程序。

2)Proteus仿真Proteus软件不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

在编译方面,它也支持IAR,Keil,PLAB等多种编译器。

2,硬件开发平台JD51开发板的基本资料○1LED 电路,8 只独立LED 发光管,可做指示或各种闪烁效果用。

○2数码管电路,4只共阳一体8 段数码显示管,可实现各种数据显示,如计数、时钟等。

○3蜂鸣器电路,可用于设计各种提示音、演奏音乐等。

○4键盘电路,学习按键控制相关编程。

○5LCD 显示电路,编程控制LCD 显示。

○6串口电路,学习编程实现JD51 和PC 或其他符合该通信协议的电路之间的通信。

○7红外电路,通过选配的红外遥控器,学习红外解码并可实现红外遥控JD51。

○8温度模块电路,采用一线式温度传感器实现温度的采集并可显示在数码管或者LCD 上,通过温度数据处理便可实现温度控制器功能。

○9除了以上提到的可编程电路本学习板还有一些常用的不可编程电路,包括电源电路、复位电路、晶振电路等。

本次LCD电子钟实验用到其中的蜂鸣器,按键,LCD显示接口。

3,总体设计1)基本资源的使用本次实验采用了89C52型单片机,1602LCD液晶显示屏,蜂鸣器。

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

目录1. 设计要求 (1)2. 时钟总体设计思路 (1)3. 系统硬件设计 (1)3.1单片机控制系统 (3)3.2 键盘控制系统设计 (3)3.3 显示电路 (4)3.4 硬件原理及说明 (4)3.5 主要性能参数 (5)4. 软件设计 (5)4.1 软件功能 (5)4.2软件设计 (6)4.3 汇编源程序 (5)5. Proteus仿真 (11)6. 课程设计总结 (12)参考文献 (13)1. 设计要求以AT89C51单片机为核心的时钟,在LED 显示器上显示当前的时间: 使用字符型LCD 显示器显示当前时间。

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

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

功能键K1~K4功能如下。

K1—设置小时。

K2—设置分钟。

K3—设置秒数。

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

单片机是一种集成电路芯片,采集超大规模集成电路技术把具有数据处理能力(如算数运算、逻辑运算、数据传送、中断处理)的微型处理器,随机存取数据存储器(RAM )、只读程序存储器(ROM )、输入/输出电路(I/O ),可能还包括定时/计数器、串行通信口(SCI )、显示驱动电路(LCD 或LED 驱动电路)、脉宽调制电路(PWM )、模拟多路转化器及A/D 转化器等电路集成到一片芯片上,构成一个最小而又完善的计算机系统。

这些电路能在软件的控制下准确、迅速、高效的完成程序设计者事先规定的任务。

2. 时钟的总体设计思路按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟的调整及显示。

图一 系统总原理图3. 系统硬件设计3.1 单片机控制系统本次设计时钟电路,采用了ATC89C51单片机芯片控制电路,这种单片机芯片比较简单,并且省去了很多复杂的线路,更容易表达和理解,通过按钮来调节电微型控制器 时钟电路数据显示 按键调时子钟的时、分、秒。

并且这次电路我采用了一个按钮控制一个显示的方案,在调节小时/分钟/秒数时,只需要按下对其控制的按钮进行调节就行了,不要普遍所见的需要进入调节界面。

同时这次我采用了c语言控制整个时钟的显示,这样通过三个模块:单片机芯片、LED显示屏、按钮控制电路即可达到设计要求。

3.2 键盘控制系统设计按键需要3个,分别实现为调整小时、分钟、秒数三个功能。

用单片机的3个I/O口接收控制信号,其电路如图下:图五按键调时电路通过控制键来控制所要调节的是时、分、还是秒。

在按下小时/分/秒键后将对小时/分/秒进行调整调整,从而调整到自己所需要的时间。

3.3 显示电路显示电路如图所示:图六显示电路LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA (CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。

IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的对应关系,CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM4.1 软件功能..........................................4 . 0[3] 丁元杰.单片微机原理及应用.北京:机械工业出版社,1994 (13)3.4 硬件原理及说明AT89C51是美国Intel公司生产的低电压,高性能CHMOS8位单片机,片内含有4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用Intel公司的高密度、非易失性存储技术生产,片内置通用4位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机适合于许多较为复杂控制应用场合。

3.5主要性能参数与MCS-51产品指令和引脚完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz—24MHz三级加密程序存储器128×8字节内部RAM32个可编程I/O口线2个16位定时/计数器5个中断源可编程串行UART通道低功耗空闲和掉电模式4. 软件设计4.1 软件主要完成的功能(1)显示时间程序用软件调节时间,通过程序的调节,最后用LED现实时钟(2)调节时间程序按键调节时间,能实现时、分的调节4.2软件设计的主要流程时间控制程序时间控制程序,用中断准确的控制时间,采用60进制,60秒为一分钟,60分钟为一个小时,全天设置为24小时。

程序用C语言编写。

编程时采用KEIL C,而仿真用PROTUES,仿真时仿真图如图所示图七定时中断流程图4.3 汇编源程序#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}sbit K1 =P1^0;sbit K2 =P1^1;sbit K3 =P1^2;sbit K4 =P1^3;sbit SPK=P3^0;sbit RS =P2^0;sbit RW =P2^1;sbit E =P2^2;uchar code Str1[] = " Current Time "; //一下两个字符串的串长均为16 uchar 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(); //显示过程中允许修改时间}}5. Proteus仿真用Protues软件画出电路,用keil软件代码进行编译成功后,未添加源程序时的仿真电路图图八电路原理图输入汇编源程序后程序后,电路的仿真图图九电路professional仿真图6.课程设计总结通过这次的单片机课程设计,我更进一步了解到单片机的优点和强大功能,在查找资料的过程中,认识到单片机应用的广泛性。

相关文档
最新文档