(完整版)单片机毕业课程设计—带有LCD的定时闹钟
毕业设计36LCD电子钟的功能
![毕业设计36LCD电子钟的功能](https://img.taocdn.com/s3/m/03dac714227916888486d714.png)
摘要本设计是采用单片机技术的电子定时闹钟,近年来集成电路技术的出现和应用,是推动了人类文明的突飞猛进。
基于集成电路技术的单片机产品更是方便了人们的生活和工作,目前以单片机技术的应用为核心的产品种类非常丰富。
应用我们所学过的知识和查阅相关资料,我制作了这个单片机技术为基础的LCD 可校时可定时电子闹钟,这是一个简单的实用的单片机电子设计产品。
本“LCD定时电子闹钟’设计采用AT89C51为主控芯片。
在充分理解了设计的要求后,准确的定位了设计的目的,然后构思了总体的方案。
在选择和合适的硬件完成了电路的设计后,又进行了软件的设计和调试。
本系统的硬件组成以及工作原理都有详细的图文说明,所应用的软件技术和各个模块设计的功能及工作过程也有详细的介绍,最后的部分则详细描述了了软件仿真及调试过程。
本电子钟设计是以单片机技术为核心,采用了中小规模集成度的单片机制作的功能较为完善的电子闹钟。
硬件设计应用了成熟的数字钟电路的基本设计方法以,并详细介绍了系统的工作原理。
硬件电路中使用了除AT89C51外,另外还有LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件。
在硬件电路的基础上,软件设计按照系统设计功能的要求,运用所学的汇编语言,实现的功能包括‘时时-分分-秒秒’显示、设定和修改定时时间的小时和分钟、校正时钟时间的小时、分钟和秒、定时时间到能发出一分钟的报警声。
最后应用‘伟福’及‘Proteus’等软件将硬件电路和软件系统链接在一起对各个部分及整体进行仿真并调试构成了整个完整的电子闹钟的设计。
最后通过反复的实际仿真和测试表明,该系统能够实现所有要求的功能包括:(1)能显示‘时时-分分-秒秒’。
(2)能够设定定时时间、修改定时时间及时钟。
(3)定时时间到蜂鸣器能发出铃声,另外还在此基础上实现了其他的附加功能比如万年历。
当然这个系统仍然是属于比较简单的单片机应用系统,要设计功能更强的更复杂的系统还需要我进一步的学习。
LCD显示的定时闹钟
![LCD显示的定时闹钟](https://img.taocdn.com/s3/m/2914c5af284ac850ad0242e7.png)
西南科技大学单片机原理及接口技术课程设计报告课题名称LCD显示的定时闹钟姓名刘XX学号2011XXXX学院制造科学与工程学院班级机械11XX指导教师张XX2014年 06 月 12 日目录1.设计要求 (1)2.设计方案 (1)2.1原理 (1)2.2系统总框图 (2)2.3原理及工作过程说明 (2)3.元器件介绍 (2)3.1AT89C51 (2)3.2 1602LCD液晶显示器 (5)3.3 其他重要元件 (6)4.软件设计 (8)4.1系统流程图 (8)4.2 源代码 (10)5.系统仿真 (20)5.1系统总图 (20)5.2设定时间时LCD显示 (20)5.3设定闹钟时LCD显示 (21)5.4显示闹钟时LCD显示 (21)5.5待机时LCD显示 (21)6.实物图 (22)7.实验总结及心得体会 (22)8.参考资料 (24)1.设计要求使用AT89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD 时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可使用。
定时闹钟的基本功能如下:⏹显示格式为“时时:分分”。
⏹由LED闪动来做秒计数表示。
⏹一旦时间到则发出声响,同时继电器启动,可以扩充控制家电开启和关闭。
⏹程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00”,按下操作键K1~K4动作如下:(1) K1—设置现在的时间。
(2) K2—显示闹钟设置的时间。
(3) K3—设置闹铃的时间。
(4) K4—闹铃ON/OFF的状态设置,设置为ON时连续三次发出“哗”的一声,设置为OFF发出“哗”的一声。
设置当前时间或闹铃时间如下。
(1) K1—时调整。
(2) K2—分调整。
(3) K3—设置完成。
(4) K4—闹铃时间到时,发出一阵声响,按下本键可以停止声响。
本项目的难点在于4个按键每个都具有两个功能,以最终实现菜单化的输入功能。
采用通过逐层嵌套的循环扫描,实现嵌套式的键盘输入。
单片机定时闹钟课程设计
![单片机定时闹钟课程设计](https://img.taocdn.com/s3/m/546e9f73657d27284b73f242336c1eb91b37336e.png)
单片机定时闹钟课程设计一、课程目标知识目标:1. 理解单片机定时器的工作原理,掌握定时器的编程方法;2. 学会使用单片机实现闹钟功能,了解时间计算与时间显示的基本方法;3. 掌握相关电子元器件的原理和功能,如晶振、电容、数码管等。
技能目标:1. 能够运用C语言编写单片机程序,实现闹钟的定时与显示功能;2. 学会使用调试工具对单片机程序进行调试,解决常见问题;3. 提高动手能力,能够独立完成单片机定时闹钟的硬件电路搭建与程序编写。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生团队协作精神,学会共同解决问题;3. 增强学生实践操作能力,树立实践出真知的观念。
课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力与实际应用能力。
学生特点:学生具备一定的单片机基础知识,对编程有一定了解,但对实际应用尚缺乏经验。
教学要求:结合学生特点,注重理论与实践相结合,以学生为主体,引导学生主动参与,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 理论知识:- 单片机定时器/计数器的工作原理与编程方法;- 时间计算与时间显示技术;- 硬件电路设计原理,包括晶振、电容、数码管等元器件的应用。
2. 实践操作:- 搭建单片机定时闹钟的硬件电路;- 编写单片机程序,实现定时与显示功能;- 使用调试工具对程序进行调试,解决常见问题。
3. 教学大纲:- 第一阶段:回顾单片机基础知识,介绍定时器/计数器原理,分析闹钟功能需求;- 第二阶段:学习时间计算与显示技术,讲解硬件电路设计方法;- 第三阶段:动手实践,分组进行硬件电路搭建与程序编写;- 第四阶段:程序调试与优化,展示成果,总结经验。
4. 教材关联:- 教材第3章:单片机定时器/计数器的原理与应用;- 教材第4章:C语言编程基础,涉及闹钟程序编写;- 教材第5章:电子元器件及其应用,用于硬件电路设计。
C51单片机LCD电子时钟课程设计
![C51单片机LCD电子时钟课程设计](https://img.taocdn.com/s3/m/446a4e83b8f67c1cfad6b8e8.png)
中南大学《自动化工程训练》设计题目 LCD时钟程序设计指导老师设计者专业班级自动化级班号设计日期2016年9月目录一、设计任务要求分析 (1)1.1设计总体方案及其方案论证 (1)二、组成电路介绍 (1)2.1 复位电路: (1)2.2晶振电路: (1)2.3键盘控制系统设计: (2)2.4闹钟部分: (3)2.5显示电路设计 (3)2.5.1 LCD1602简介 (3)三、软件设计 (4)3.1程序主流程图 (5)3.2初始化流程图 (5)3.3延时中断子程序 (6)3.4时间设置子程序 (7)四、系统测试 (7)4.1 测试方法 (7)4.2 测试结果 (7)4.3 结果分析 (8)五、源程序 (8)一、设计任务要求分析本设计要实现的功能是:实时显示当前的时钟,并且可以设定闹铃,以蜂鸣器鸣响5秒的方式作为闹铃。
1.1设计总体方案及其方案论证按照系统的设计功能所要求的,液晶显示电子时钟原理图如图所示。
液晶显示电子时钟原理图本系统以AT89C51单片机为核心,该单片机可把数据进行处理,从而把数据传输到显示模块LCD1602液晶显示器,实现时间及日期的显示。
以LCD 液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化,还可以对时间和日期进行设置,主要靠按键来实现。
二、组成电路介绍2.1 复位电路:复位电路复位电路有两种方式:上电复位和按钮复位,我们主要用按钮复位方式。
如图所示:2.2晶振电路:晶振电路如图所示:晶振模块原理图选取原则:电容选取22pF,晶振为12MHz。
1)电源:AT89S51单片机的供电电源是5V的直流电。
2)EA非/Vpp脚:我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。
2.3键盘控制系统设计:按键需要4个,分别实现为时间调整、时间的加、时间的减、闹钟调整四个功能。
用单片机的4个I/O口接收控制信号,其电路如图所示:按键调时电路通过控制键来控制所要调节的是时、分、还是秒。
单片机课程设计--智能电子钟(LCD显示)
![单片机课程设计--智能电子钟(LCD显示)](https://img.taocdn.com/s3/m/9848e2cbd5bbfd0a79567393.png)
课程设计课程名称_ 单片机原理与接口技术题目名称多功能数字时钟学生学院_ 材料与能源学院专业班级_ 电子材料及元器件方向学号_ _学生姓名_ ____________ 指导教师_2013 年 1 月16 日广东工业大学课程设计任务书题目名称多功能数字时钟学生学院材料与能源学院专业班级姓名学号一、课程设计的内容用AT89C52单片机制作一个时钟:1.设计并绘制硬件电路图;2.布置元件并焊接好元器件;3.编写程序并将调试好的程序固化到单片机中。
4.增加温度测试功能。
二、课程设计的要求与数据单片机采用STC89C52芯片,时钟芯片采用DALLAS 公司的DS1302,即涓流充电时钟芯片,它内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24 或12 小时格式,DS1302 与单片机之间能简单地采用同步串行的方式进行通信。
同时用选DS18B20 传感器将采集的室内温度显示于LCD上。
按此要求设计硬件和软件以实现这些功能。
三、课程设计应完成的工作1. 完成下载线的制作,为程序下载到单片机芯片中做好准备;2. 完成软件、硬件的设计,并进行硬件的焊接制作,并将调试成功的程序固化到单片机中,最后进行硬件与软件的调试;3.撰写设计说明书。
四、课程设计进程安排摘要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的液晶显示温度和时钟设计,时间可由键盘调整。
主要用到的芯片有单片机STC89C52.液晶1602LCM模块.时钟芯片DS1302.温度传感器DS18B20等。
关键词:单片机STC89C52,1602LCM模块,DS1302.,DS18B20目录1 系统需求分析 (1)1.1 电子时钟研究的背景和意义 (1)1.2 系统实用功能分析 (1)2 设计要求与方案 (2)2.1 设计要求 (2)2.1.1 基本要求 (2)2.1.2发挥部分 (2)2.2 系统基本方案选择 (2)2.2.1 芯片的选择 (2)2.2.2 显示模块选择方案 (2)2.2.3 时钟信号的选择方案 (3)2.3 电路设计最终方案决定 (3)3 系统的硬件设计与实现 (3)3.1 数字钟电路设计框图 (3)3.2 系统硬件概述 (4)3.3 硬件电路结构的设计 (4)3.3.1 单片机主控制模块的设计 (4)3.3.2 显示模块的设计 (4)3.3.3 LCD原理说明 (5)3.3.4 开关模块说明 (6)4 系统的软件设计 (7)4.1 程序流程框图 (7)4.2 LCD的初始化与及显示程序 (7)5 系统调试 (9)5.1软件调试 (9)5.2硬件调试 (9)参考文献 (10)附录 (11)1 系统需求分析1.1 电子时钟研究的背景和意义20实际末,电子技术获得了飞速的发展。
单片机定时闹钟课程设计
![单片机定时闹钟课程设计](https://img.taocdn.com/s3/m/aaa186043a3567ec102de2bd960590c69fc3d812.png)
单片机定时闹钟课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解定时器的功能和工作原理。
2. 使学生掌握定时闹钟程序编写的基本方法,了解中断处理的相关知识。
3. 帮助学生了解电子时钟的基本构成,掌握时间计算和显示的相关技巧。
技能目标:1. 培养学生动手实践能力,学会使用编程软件编写、调试程序,实现单片机定时闹钟功能。
2. 提高学生分析问题和解决问题的能力,能够独立完成定时闹钟课程的各项任务。
3. 培养学生团队协作能力,学会在项目过程中进行有效沟通和分工合作。
情感态度价值观目标:1. 培养学生对单片机编程的兴趣,激发他们探索未知、自主学习的精神。
2. 培养学生勇于尝试、不怕失败的品质,提高他们面对困难时的心理素质。
3. 增强学生的创新意识,鼓励他们发挥想象力和创造力,设计出具有个性的定时闹钟作品。
课程性质分析:本课程属于电子技术与应用领域的实践课程,旨在让学生通过动手实践,掌握单片机定时闹钟的设计与制作。
学生特点分析:学生处于中学阶段,具有一定的电子技术基础和编程能力,对新鲜事物充满好奇,喜欢动手实践。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重培养学生的创新精神和团队协作能力,提高他们的综合素质。
3. 以学生为主体,关注个体差异,因材施教,使每个学生都能在课程中取得进步。
二、教学内容1. 单片机基础原理回顾:包括单片机的结构、工作原理、定时器/计数器功能。
2. 定时器编程技术:重点讲解定时器的初始化、中断处理程序编写,以及定时器应用实例。
- 教材章节:第三章《单片机定时器/计数器》3. 中断系统原理:介绍中断的概念、中断优先级、中断向量表,以及中断处理流程。
- 教材章节:第四章《中断系统》4. 显示技术:讲解数码管、LCD等显示器件的工作原理和编程方法。
- 教材章节:第五章《显示技术》5. 定时闹钟设计与实现:包括闹钟功能的整体设计、程序编写、调试与优化。
51单片机课程设计lcd时钟
![51单片机课程设计lcd时钟](https://img.taocdn.com/s3/m/ace7140976232f60ddccda38376baf1ffc4fe3b6.png)
51单片机课程设计lcd时钟一、课程目标知识目标:1. 让学生掌握51单片机的基本原理,了解LCD显示模块的工作原理及其与单片机的接口技术。
2. 使学生学会编写程序,实现LCD显示时钟功能,理解时钟算法和实时时钟操作。
3. 引导学生掌握利用51单片机进行LCD时钟项目设计的步骤和技巧。
技能目标:1. 培养学生动手实践能力,能够独立完成51单片机与LCD模块的连接和调试。
2. 提高学生编程技能,学会编写和优化LCD显示时钟程序,实现准确的时间显示。
3. 培养学生问题解决能力,能够分析和解决在LCD时钟设计过程中遇到的技术问题。
情感态度价值观目标:1. 培养学生对电子技术及编程的兴趣,激发学习主动性和创新精神。
2. 培养学生的团队合作意识,学会在项目设计中相互协作、共同解决问题。
3. 引导学生认识到科技对社会生活的影响,增强社会责任感和使命感。
本课程针对高中年级学生,具有较强的实践性和应用性。
结合学生特点,课程目标注重理论知识与实践技能的结合,以提高学生的综合运用能力和创新思维能力。
在教学过程中,要求教师注重启发式教学,引导学生主动探究,关注学生个体差异,确保每个学生能够达到课程目标。
课程目标的实现将通过具体的实践活动和学习成果进行评估。
二、教学内容1. 理论知识:- 51单片机基础:原理、结构、编程语言。
- LCD显示模块:工作原理、接口技术、编程控制。
- 实时时钟:时钟算法、时钟芯片应用、时间读取与设置。
2. 实践操作:- 51单片机与LCD模块的连接与调试。
- 编写和优化LCD显示时钟程序,实现时间显示、校准等功能。
- 设计LCD时钟项目,包括硬件选型、程序编写、功能测试。
3. 教学大纲:- 第一阶段(2课时):51单片机基础、LCD显示模块原理学习。
- 第二阶段(2课时):实时时钟知识学习,时钟算法掌握。
- 第三阶段(2课时):实践操作,连接51单片机与LCD模块,编写程序实现时钟功能。
- 第四阶段(2课时):项目设计与优化,团队协作解决问题,完成LCD时钟项目。
课程设计带LCD显示的按时闹钟
![课程设计带LCD显示的按时闹钟](https://img.taocdn.com/s3/m/2c1c078a27d3240c8547ef5c.png)
交通与汽车工程学院课程设计说明书课程名称: 微机原理及应用课程设计课程代码: 8234570 题目: 带LCD显示的按时闹钟年级/专业/班: 09级汽电三班学生姓名: 杨宇学号:开始时间: 2012 年 07 月 02 日完成时间: 2021 年 07 月 06 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总分(100)指导教师签名:年月日目录摘要 (2)1 引言 (3)1.1 问题的提出 (3)任务与分析 (3)2 系统方案设计 (5)2.1 系统设计方案 (5)2.2 系统整体框图 (6)3 系统硬件电路设计 (7)3.1 89C51单片机 (7)1602LCD (9)3.3 键盘 (12)4 系统软件设计 (13)4.1 proteus软件环境介绍 (13)4.2 Protel软件环境介绍 (13)系统软件分析 (14)4.3.1 系统时钟电路设计 (14)系统复位电路的设计 (14)4.3.3 闹钟指示电路设计 (15)4.3.4 电子闹钟的显示电路设计 (15)4.4 程序流程图 (15)5.系统调试进程 (21)结论 (24)致谢 (25)参考文献 (26)附表(本设计所有程序) (38)摘要本设计是基于AT89C51单片机为操纵核心的按时闹钟设计。
系统采纳了美国DALLAS 公司的DS1302实不时钟芯片组成了计时电路,实现了时刻和日期的显示。
T89C51单片机结合七段显示器设计的简易按时闹铃时钟,能够设置此刻的时刻及显示闹铃设置时刻,假设时刻到那么发出一阵声响,进—步能够扩充操纵电器的启停。
本设计说明书对该系统的硬件电路,工作原理进行了详细的介绍。
同时给出了软件设计的流程图和要紧源代码。
关键词:89C51单片机 DS1302时钟芯片 LED显示器1 引言1.1 问题的提出随着人类科技文明的进展,人们关于时钟的要求在不断地提高。
单片机课程设计—带有LCD的定时闹钟
![单片机课程设计—带有LCD的定时闹钟](https://img.taocdn.com/s3/m/edfdc2a45ff7ba0d4a7302768e9951e79b8969e8.png)
单片机的发展历程
1971年,Intel公司推出4004微处理器, 标志着单片机的诞生
1990年代,ARM公司推出ARM架构,成为现 代智能手机、平板电脑等设备的主流处理器
1976年,Intel公司推出8080微处理器, 成为第一个广泛使用的单片机
2000年代,RISC-V架构出现,成为开 源硬件领域的新宠
判断按键类型:根 据按键的状态,判 断按下的是哪个按 键
执行相应操作:根据按 键类型,执行相应的操 作,如设置闹钟时间、 调整闹钟音量等
更新显示内容:根据 按键操作,更新LCD 显示内容,如显示当 前时间、闹钟时间等
定时器和中断服务程序
定时器:用于定时触发中断服务程序 中断服务程序:用于处理定时器中断 定时器初始化:设置定时器参数,如定时器模式、定时器周期等 中断服务程序编写:编写中断服务程序,处理定时器中断,如更新LCD显示、控制闹钟等
通信设备:如手机、路由 器等
计算机外设:如打印机、 扫描仪等
定时闹钟的设计 思路
设计背景和意义
单片机课程设计:作为单片机课程的一部分,设计定时闹钟可以加深对单片机原理和应用的理解。 实际应用:定时闹钟在日常生活中具有广泛的应用,如提醒、定时等。 技术挑战:设计定时闹钟需要掌握单片机编程、电路设计、LCD显示等技术,具有一定挑战性。 创新性:设计带有LCD的定时闹钟,可以提高产品的用户体验,增加产品的市场竞争力。
功能:接收用 户按键输入, 控制闹钟功能
模块组成:按 键、电阻、电 容、单片机IO
口
工作原理:通过 按键按下,改变 电阻电容的电平, 从而改变单片机 IO口的电平,实
现按键输入
设计要点:按 键的布局、按 键的响应速度、 按键的防抖处
定时闹铃LCD
![定时闹铃LCD](https://img.taocdn.com/s3/m/9bc1fd768e9951e79b8927b6.png)
单片机课程设计报告学号:xxx姓名:xxx指导老师:xxx题目:定时闹铃LCD目的:通过本课程设计可以学习8051定时器时间计时处理,按键扫描及LCD显示的设计方法。
功能说明:定时闹铃的基本功能如下:1,文字型LCD(16x2)显示。
2,显示格式为“时时分分”。
3,由LED闪动来做秒计数表示。
4,具有4个按键来做功能设置,可以设置现在的时间及显示闹铃设置时间。
程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00 00”,按下操作键K1~K4动作如下:1,操作键K1:设置现在的时间。
2,操作键K2:显示闹铃设置时间。
3,操作键K3:设置闹铃时间。
4,操作键K4:闹铃ON/OFF的状态设置,设为ON时连续三次发出哔的一声,设为OFF时发出哔的一声。
设置现在的时间或是闹铃时间设置如下:1,操作键K1:调整时。
2,操作键K2:调整分。
3,操作键K3:设置完成。
时间到时发出一阵声响,按下K4键可以停止声响。
控制电路:定时闹铃的控制电路分为以下几部分:♫单片机8051♫LCD显示器♫按键控制♫压电喇叭完整的控制电路图如下:LCD接口设计:•LCD接口可以分为8位及4位控制方式,本课程设计使用的是4位控制方式,使用D4~D7数据线来传送控制命令及数据。
使用4位数据线做控制时需分两次来传送,先送出高4位数据,再送出低4位数据。
•4为控制电路如图所示:••以8051 P0的6条输出控制线来实现控制,P0还接有提升电阻以增加其驱动能力,控制信号说明如下:•(1)R/W LCD读写控制线•直接接地,由于R/W=0时,LCD执行写入的动作,R/W=1时则执行读取的动作。
因此简化设计后,则无法对LCD实现读取动作。
所有控制数据的写入需加入适当的延迟,以配合LCD内部控制信号的执行•(2)RS 寄存器选择控制线•由P0.0控制,当RS=0时,可以写入指令寄存器,如果RS=1则写入数据寄存器。
•(3)EN 启用控制线•由P0.1控制,高电平动作。
电子时钟lcd课程设计
![电子时钟lcd课程设计](https://img.taocdn.com/s3/m/482e54744a73f242336c1eb91a37f111f1850dfe.png)
电子时钟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定时闹钟](https://img.taocdn.com/s3/m/c9ea2e37524de518974b7d00.png)
设计总说明这次课程设计的任务是是利用MCS51系列单片外加必要的辅助电路从而设计一个带有LCD显示的定时闹钟。
该闹钟应具有的功能是:当定时闹钟到了人为设定好的时间后,它就发出声音,并且在LCD显示器上显示出你所设定的闹钟时间以及当前时间,并能够随时调整时间。
本课设所用器件有:AT89C52单片机、LCD显示器(LM016L)、上拉电阻(Respack-8)、晶振电路、复位电路(带有复位键)以及四个控制键。
1、在控制时分电路设计中,分别设置了四个键:K1键-用来设置当前时间以及在设置中用来设置时钟K2键-显示闹钟时间以及在设置中用来设置分钟K3键-设置闹钟时间K4键-控制闹铃的开关2、在控制时分秒电路的设计中,分别设置了五个键,即在1的基础上增加了一个控制秒的按键。
当然本课程设计中所用到的元器件还可以应用其他的一些器件。
比如AT89C52完全可以用AT89C51来代替,LM016L型号的LCD显示器可以用LM017L 型号的LCD显示器来代替(其他一些显示器也可以用),上来电阻也可以用分电阻来表示。
初次做课程设计,肯定会有许多不足之处,希望老师们指点!关键字: AT89C52单片机 LCD显示器闹钟目录1、主要内容 (3)2、目的和意义 (3)3、基本要求 (3)、显示时-分功能 (3)、显示时-分-秒功能 (3)4、系统设计AT89C52单片机简介 (4)电路总体设计 (6)主程序流程图 (7)5、详细设计设计电路图 (7)程序代码 (12)5.2.1 时-分程序代码 (12)5.2.2 时-分-秒程序代码 (23)6、结论结果分析 (33)心得体会 (33)7、设计总结 (34)8、参考文献 (34)1、主要内容:本次课程设计的内容为设计一个以MCS51单片机为核心的带有LCD显示的定时闹钟,完成原理图设计,软件编制及设计报告。
设使用AT89C52单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟,若LCD 选择有背光显示的模块,在夜晚或黑暗的场合中也可以使用。
单片机课程设计—带有LCD的定时闹钟
![单片机课程设计—带有LCD的定时闹钟](https://img.taocdn.com/s3/m/9ba1dc1417fc700abb68a98271fe910ef12daee3.png)
单⽚机课程设计—带有LCD的定时闹钟郑州轻⼯业学院软件学院单⽚机与接⼝技术课程设计总结报告设计题⽬:带有LCD的定时闹钟学⽣姓名:系别:专业:班级:学号:指导教师:2011年12⽉16⽇郑州轻⼯业学院课程设计任务书题⽬带有LCD的定时闹钟专业、班级学号姓名主要内容:设使⽤89C51单⽚机结合字符型LCD显⽰器设计⼀个简易的定时闹钟LCD 时钟,若LCD选择有背光显⽰的模块,在夜晚或⿊暗的场合中也可以使⽤。
基本要求:.字符型LCD(16*2)显⽰器.显⽰格式“时时分分”。
.由LED闪动来做秒计数表⽰。
.⼀旦时间到侧发动声响,同时继电器启动,可以扩充控制家电开启和关闭。
.程序执⾏后⼯作指⽰灯LED闪动,表⽰程序开始执⾏,LCD显⽰“00 00”,按下操作键K1-k4动作如下:(1)K1—设置现在的时间。
(2)K2—显⽰闹钟设置的时间。
(3)K3—设置闹铃的时间。
(4)K4—闹铃ON/OFF的状态设置,设置ON时连续三次发出“哗”的⼀声,off置为哗的⼀声。
设置当前时间或闹铃时间如下:(1)K1—时的调整。
(2)K2—分的调整。
(3)K3—设置完成。
(5)OFF发出“哗”K4---闹铃时间到时,发出⼀阵声响,按下本键可以停⽌声响。
除了显⽰当前时间的功能外,还可以扩充如下功能;.增加减计数功能。
.增加多组计数的功能。
参考⽂献郭天祥 51单⽚机C语⾔教程-⼊门。
余发⼭单⽚机原理及应⽤技术。
中国矿业⼤学出版社。
涂世亮,张友德。
单⽚微机控制技术。
清华⼤学出版社。
⼀.设计本电⼦定时闹钟的⽬的和意义以单⽚机为核⼼的数字时钟是很有社会意义和社会价值的。
钟表原先的报时功能已经原不能满⾜⼈们⽇益增长的要求,现代的电⼦时钟多带有类似⾃动报警、按时⾃动打铃、时间程序⾃动控制、定时⼴播、⾃动起闭路灯、通断动⼒设备、甚⾄各种定时电⽓的⾃动启⽤等功能。
1.1 本LCD电⼦闹钟的特点和功能介绍数字钟介绍时钟是将⼩时、分钟、秒钟显⽰于⼈的⾁眼的计时装置。
带有LCD的电子闹钟课程设计
![带有LCD的电子闹钟课程设计](https://img.taocdn.com/s3/m/f929c345c4da50e2524de518964bcf84b9d52d8a.png)
带有LCD的电子闹钟课程设计一、课程目标知识目标:1. 学生能理解电子闹钟的基本工作原理,掌握LCD显示原理。
2. 学生能掌握闹钟设置、时间调整等基本操作,了解电子闹钟的功能特点。
3. 学生能了解电子闹钟中涉及的电子元件及其作用。
技能目标:1. 学生能运用所学知识,正确组装带有LCD的电子闹钟。
2. 学生能通过实际操作,掌握电子闹钟的调试与故障排除方法。
3. 学生能运用创新思维,对电子闹钟进行改进设计。
情感态度价值观目标:1. 学生通过动手实践,培养对电子技术的兴趣和热情。
2. 学生在合作学习中,培养团队协作能力和沟通表达能力。
3. 学生在学习过程中,增强对科技产品的理解和尊重,树立正确的科技价值观。
课程性质:本课程为实践性较强的课程,结合理论知识与动手操作,培养学生电子技术的实际应用能力。
学生特点:学生在本年级已具备一定的电子技术基础知识,具有较强的动手能力和探究精神。
教学要求:教师需引导学生将理论知识与实际操作相结合,注重培养学生的动手实践能力和创新思维。
通过课程学习,使学生在掌握基本技能的同时,提升情感态度价值观。
将课程目标分解为具体学习成果,以便进行教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子闹钟基本原理:介绍电子闹钟的工作原理,LCD显示原理,以及闹钟中涉及的电子元件及其作用。
2. 闹钟组装与调试:讲解闹钟的组装过程,包括电路连接、LCD显示、按键设置等,以及闹钟的调试方法与故障排除。
3. 闹钟功能特点:分析电子闹钟的功能特点,如闹铃设置、时间调整、背光显示等,并介绍相关操作方法。
4. 创新设计与改进:引导学生运用所学知识,对电子闹钟进行创新设计,提高闹钟的实用性和趣味性。
教学内容安排如下:第一课时:电子闹钟基本原理学习,了解LCD显示原理及闹钟中的电子元件。
第二课时:闹钟组装与调试,学生动手实践,掌握组装与调试方法。
第三课时:学习闹钟的功能特点,进行实际操作,熟悉各项功能。
带有LCD显示的定时闹钟
![带有LCD显示的定时闹钟](https://img.taocdn.com/s3/m/7640b484ce2f0066f533229b.png)
设计总说明单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
而51单片机是各单片机中最为典型和最有代表性的一种。
本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它5V直流电源供电。
在硬件方面,除了CPU 外,使用6个7段LCD显示器来进行显示,LCD采用的是动态扫描显示,使用74LS245芯片进行驱动。
通过LCD能够较为准确地显示时、分、秒,利用四个简单的按键实现对时间的调整。
软件方面采用汇编语言编程,整个电子钟系统能完成时间的显示、调时、校时和定时的功能。
选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。
介绍并使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。
关键词:单片机,LCD,定时器,闹钟目录1设计要求与实现思路............................................ - 1 -1.1设计要求................................................ - 1 -1.2实现思路................................................ - 1 - 2电子时钟...................................................... - 2 -2.1电子时钟简介............................................ - 2 -2.2电子时钟的基本特点...................................... - 2 - 3单片机........................................................ - 3 -3.1程序存储器.............................................. - 3 -3.2 MCS-51部数据存储器..................................... - 3 - 4控制系统的硬件设计............................................ - 4 -4.1器件的选择及功能原理.................................... - 4 -4.1.1单片机型号的选择.................................. - 4 -4.1.2液晶显示器的选择.................................. - 4 -4.1.3按键的选择........................................ - 4 -4.1.4电源的选择........................................ - 5 -4.1.5计时部分的选择.................................... - 5 -4.2总体设计思想及原理...................................... - 6 -4.2.1时钟电路的设计.................................... - 6 -4.2.2键盘电路设计...................................... - 7 -4.2.3闹铃功能的实现.................................... - 8 -4.2.4中断服务的设计.................................... - 9 -4.2.5显示器驱动电路.................................... - 9 -4.3整个电路原理图......................................... - 10 - 5控制系统的软件设计........................................... - 12 -5.1程序设计............................................... - 12 -5.2程序流程图............................................. - 12 -5.3仿真图................................................. - 13 -5.4仿真结果分析........................................... - 14 - 设计总结....................................................... - 16 - 参考文献....................................................... - 17 - 程序源代码..................................................... - 18 -1设计要求与实现思路1.1设计要求1)能显示时时—分分—秒秒。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州轻工业学院软件学院单片机与接口技术课程设计总结报告设计题目:带有LCD的定时闹钟学生姓名:系别:专业:班级:学号:指导教师:2011年12月16日郑州轻工业学院课程设计任务书题目带有LCD的定时闹钟专业、班级学号姓名主要内容:设使用89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可以使用。
基本要求:.字符型LCD(16*2)显示器.显示格式“时时分分”。
.由LED闪动来做秒计数表示。
.一旦时间到侧发动声响,同时继电器启动,可以扩充控制家电开启和关闭。
.程序执行后工作指示灯LED闪动,表示程序开始执行,LCD 显示“00 00”,按下操作键K1-k4动作如下:(1)K1—设置现在的时间。
(2)K2—显示闹钟设置的时间。
(3)K3—设置闹铃的时间。
(4)K4—闹铃ONOFF的状态设置,设置ON时连续三次发出“哗”的一声,off置为哗的一声。
设置当前时间或闹铃时间如下:(1)K1—时的调整。
(2)K2—分的调整。
(3)K3—设置完成。
(5)OFF发出“哗”K4---闹铃时间到时,发出一阵声响,按下本键可以停止声响。
除了显示当前时间的功能外,还可以扩充如下功能;.增加秒表计数。
.闹铃时间到侧产生音乐声。
.增加减计数功能。
.增加多组计数的功能。
参考文献郭天祥 51单片机C语言教程-入门。
余发山单片机原理及应用技术。
中国矿业大学出版社。
涂世亮,张友德。
单片微机控制技术。
清华大学出版社。
一.设计本电子定时闹钟的目的和意义以单片机为核心的数字时钟是很有社会意义和社会价值的。
钟表原先的报时功能已经原不能满足人们日益增长的要求,现代的电子时钟多带有类似自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等功能。
1.1 本LCD电子闹钟的特点和功能介绍数字钟介绍时钟是将小时、分钟、秒钟显示于人的肉眼的计时装置。
而单片机模块中最常见的正是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
而LCD电子定时闹钟是以单片机为基础的数字电路实现对时、分、秒的数字显示的数字计时装置,它的计时周期为24小时,另外应有校时功能和一些显示日期、闹钟等附加功能。
一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,“星期”计数器、校时电路、报时电路和振荡器组成。
目前电子钟广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手。
2 总体方案设计2.1 总体设计方案本LCD定时闹钟,是以单片机及外围接口电路为核心硬件,辅以其他外围硬件电路,用汇编语言设计的程序来实现的。
根据C51单片机的外围接口特点扩展相应的硬件电路,然后根据单片机的指令设计出数字钟相应的软件,再利用软件执行一定的程序来实现数字钟的功能。
由于采用集成芯片性的单片机来制作电子钟,这样设计制作简单而且功能多、精确度高,也可方便扩充其他功能,实现也十分简单。
本设计是利用AT89C51单片机为主控芯片,由LCD、晶振、电阻、电容、发光二极管、开关、喇叭等元件组成硬件电路,通过编写软件程序来实现和控制的数字定时闹钟。
3 硬件设计3.1 主控芯片AT89C51的设计在本LCD电子闹钟设计中就是采用利用我们熟悉的AT89C51单片机为主控芯片。
AT89C51单片机由微处理器,存储器,IO口以及特殊功能寄存器SFR等部分构成。
其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。
89C51单片机有4个8位的并行IO口:P0口,P1口,P2口和P3口。
各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。
P1口是唯一的单功能口,仅能用作通用的数据输入输出口。
P3口是双功能口除了具有数据输入输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。
在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址数据总线,P2口可作为高8位的地址总线。
P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号.3.2 时钟电路部分设计AT89C51系列的单片机的时钟方式分为内部方式和外部方式。
内部方式就是在单片机的XTAL1和XTAL2的两引脚外接晶振,就够成了自激振荡器在单片机内部产生时钟脉冲信号。
外部时钟方式是把外部已经有的时钟信号引入到单片机内部。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟有两方面的图3.2含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。
本LCD电子闹钟设计是采用内部时钟方式,用一个12MHz晶振和两个30Pf瓷片电容组成,为单片机提供标准时钟,其中两个瓷片电容起微调作用.其电路图见图3.2。
之所以采用高性能的振荡电路,因为:1.单片机电子钟的计时脉冲基准是由外部晶振的频率经过12分频后提供,采用内部的定时计数器来实现计时功能。
所以,外接晶振频率精确度直接影响电子钟计时的准确性。
2.单片机电子钟利用内部定时计数器溢出产生中断(12M晶振一般为50ms)再乘以相应的倍率来实现秒、分、时的转换。
大家都知道从定时计数器产生中断请求到响应中断需要3-8个机器周期,定时中断子程序中的数据入栈和重装定时计数器的初值还需要占用数个机器周期,还有从中断入口转到中断子程序也要占用一定的机器周期。
3.3 LCD显示电路部分为了获得更好的效果本设计并没有采用常见的LED,而是采用了型号为1602的LCD。
LCD有LED数码显示更好的更的直观效果,也更加经久耐用。
液晶显示模块体积小功耗低、显示内容丰富,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件之一了。
本LCD是2行16列液晶可显示2行16列英文字符,有8位数据总线D0-D7,RS,RW,EN三个控制端口(共14线),工作电压为5V。
没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚). 该模块也可只用D4-D7作为四位数据分两次传送。
这样的话可以节省MCU的IO口资源。
引脚说明,见表3.1。
VDD:电源正极,4.5-5.5V,通常使用5V电压;VL:LCD对比度调节端,电压调节范围为0-5V。
接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度或者直接串接一个电阻到地;RS:MCU写入数据或者指令选择端。
MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;RW:读写控制端。
RW为高电平时,读取数据;RW为低电平时,写入数据;E:LCD模块使能信号控制端。
写数据时,需要下降沿触发模块。
D0-D7:8位数据总线,三态双向。
如果MCU的IO口资源紧张的话,该模块也可以只使用4位数据线D4-D7接口传送数据。
本充电器就是采用4位数据传送方式;BLA:LED背光正极。
需要背光时,BLA串接一个限流电阻接VDD,BLK接地,实测该模块的背光电流为50mA左右;BLK:LED背光地端。
[12]表3.1 LCD显示屏引脚说明4 软件设计4.1 软件设计概述这里用汇编的单片机程序构成了本LCD电子闹钟的软件系统。
该程序实现时间及定时(时间以0点0分0秒为基准计算,闹铃定时以0时0分为基准计算)的显示,有外中断0和五个开关实现校时,闹钟功能。
其中程序的晶振频率为12MHz,最小计时单位为120秒。
主芯片p0.1-p0.7输出数据到LCD数据总线,p3.0-2.2输出LCD控制信号,P2.1输出声音信号,.P1.0-P1.3输入外部控制信号,整个软件系统也是根据这个关系连接成一个完整的系统。
4.2 主函数的设计本LCD电子闹钟的的主程序流程图如图4.1所示:4.3.1 程序初始化在系统开始上电时,需要.首先初始化液晶:void TimeInit(){write_com(0x01); 初始化1602液晶write_com(0x80); 设置现实初始坐标for(num=0;num<9;num++) 显示年月日{write_date(table[num]);delay(5);}write_com(0x80+0x40+6); 写出时间显示部分的两个冒号write_date(':');delay(5);write_com(0x80+0x40+9);write_date(':');delay(5);write_sfm(4,shi); 分别送去液晶显示write_com(0x80+0x40+4);write_sfm(7,fen);write_com(0x80+0x40+7);write_sfm(10,miao);write_com(0x80+0x40+10)4.3.2 闹钟的实现闹钟功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。
闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。
闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。
当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃判别。
程序设计思想如图4.3。
[8]4.3.3 显示程序显示程序包括时钟显示和定时显示程序。
具体程序见附录。
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表 4.1是TC1602EL液晶模块的内部显示地址。
[15]表4.1 内部显示地址硬件原理图程序:#include <reg52.[]="ALARM TIME: ON";sbit lcden=P3^2;sbit lcdrs=P3^0;sbit lcdrw=P3^1;sbit K1=P1^0;sbit K2=P1^1;sbit K3=P1^2;sbit K4=P1^3;sbit beep=P2^1;uchar flag,num,count,k1num,k2num,k3num,k4num; char miao,shi,fen,ashi,afen;延时函数void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--); }蜂鸣器子程序void di(){beep=0;delay(100);beep=1;}写命令函数void write_com(uchar com) {lcdrs=0;lcdrw=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}写数据函数void write_date(uchar date){lcdrs=1;lcdrw=0;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}写时间函数void write_sfm(uchar add,uchar date) {uchar shi,ge;shi=date10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}显示时间初始化void TimeInit(){write_com(0x01);write_com(0x80);for(num=0;num<9;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40+6);write_date(':');delay(5);write_com(0x80+0x40+9);write_date(':');delay(5);write_sfm(4,shi);write_com(0x80+0x40+4);write_sfm(7,fen);write_com(0x80+0x40+7);write_sfm(10,miao);write_com(0x80+0x40+10); }设置当前时间void SetNowTime(){if(K1==0){delay(5);if(K1==0){while(!K1);di();shi++;if(shi==24)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);write_add(3,shi);}}if(K2==0){delay(5);if(K2==0){while(!K2);di();fen++;if(fen==60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);write_add(2,fen);}}if(K3==0){delay(5);if(K3==0){while(!K3);di();k1num=0;TR0=1;TimeInit();}}}设置闹钟时间void SetAlarmTime() {flag=0;if(K1==0){delay(5);if(K1==0){while(!K1);di();ashi++;if(ashi==24)ashi=0;write_sfm(4,ashi);write_com(0x80+0x40+4);write_add(4,ashi);}}if(K2==0){delay(5);if(K2==0){while(!K2);di();afen++;if(afen==60)afen=0;write_sfm(7,afen);write_com(0x80+0x40+7);write_add(5,afen);}}if(K3==0){delay(5);if(K3==0){while(!K3);di();k3num=0;EA=1;flag=1;TimeInit();}}}显示闹钟函数void DisplayAlarmTime(){write_com(0x01);write_com(0x80);for(num=0;num<11;num++){write_date(alarm[num]);delay(5);}write_com(0x80+0x40+6);write_date(':');delay(5);write_sfm(4,ashi);write_com(0x80+0x40+4);write_sfm(7,afen);write_com(0x80+0x40+7);}键盘扫描函数void keyscan(){if(K1==0){delay(5);if(K1==0){TR0=0;while(!K1);di();k1num++;}}if(k1num!=0){write_com(0x80);for(num=0;num<13;num++){write_date(table1[num]);delay(5);}SetNowTime();}else{if(K2==0){delay(5);if(K2==0){while(!K2);di();k2num++;}}if(k2num==1){EA=0;DisplayAlarmTime();k2num=2;}if(k2num==3){k2num=0;EA=1;TimeInit();}else{if(K3==0){delay(5);if(K3==0){while(!K3);di();k3num++;write_com(0x01);}}if(k3num==1){EA=0;write_com(0x80);for(num=0;num<15;num++){write_date(table2[num]);delay(5);}write_com(0x80+0x40+6);write_date(':');delay(5);write_sfm(4,ashi);write_com(0x80+0x40+4);write_sfm(7,afen);write_com(0x80+0x40+7);SetAlarmTime();}else{if(K4==0){delay(5);if(K4==0){while(!K4);di();k4num++;}}if(k4num==1){di();k4num=2;flag=0;}if(k4num==3){k4num=0;di();delay(500);di();delay(500);di();flag=1;}}}}if(flag==1&&shi==ashi&&fen==afen) {beep=~beep;delay(500);}if(K4==0&&flag==1){delay(5);if(K4==0&&flag==1){while(!K4);di();flag=0;k4num=0;}}}lcd1602初始化void init(){lcden=0;shi=0;fen=0;miao=0;ashi=0;afen=0;count=0;k1num=0;init_24c08();write_com(0x38); 设置16X2显示,5X7点阵,8位数据接口write_com(0x0c); 设置开显示,不显示光标write_com(0x06); 写一个字符后地址指针加1write_com(0x01); 显示清0,数据指针清0miao=read_add(1); 首次上电从AT24C08中读取出存储的数据fen=read_add(2);shi=read_add(3);ashi=read_add(4);afen=read_add(5);TimeInit();TMOD=0x01;TH0=()256;TL0=()%256;EA=1;ET0=1;TR0=1;}主函数void main(){init();write_com(0x80);while(1){keyscan();}}中断服务子程序void timer0() interrupt 1 {TH0=()256;TL0=()%256;count++;if(count==20){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;}write_sfm(4,shi);write_add(3,shi);}write_sfm(7,fen);write_add(2,fen);}write_sfm(10,miao);write_add(1,miao);}}设计总结这一次的单片机课程设计,使我考虑的很多东西,通过一个礼拜的学习与实践,使我对所学的知识进行了系统的复习与巩固,在以前的学习中不够清晰的概念得到了更好地理解。