单片机课程设计-电脑时钟

合集下载

单片机课程设计电子时钟

单片机课程设计电子时钟

单片机课程设计电子时钟一、课程目标知识目标:1. 让学生理解单片机的基本原理和编程方法,掌握单片机在电子时钟设计中的应用。

2. 使学生掌握电子时钟的组成和工作原理,包括时、分、秒的显示与计时功能。

3. 帮助学生了解电子时钟设计中涉及的硬件知识,如晶振、计数器、显示器件等。

技能目标:1. 培养学生运用单片机编程实现电子时钟功能的能力,提高学生的动手实践能力。

2. 培养学生分析问题、解决问题的能力,能够针对电子时钟设计过程中遇到的问题进行调试和优化。

3. 培养学生团队协作能力,通过分组合作完成课程设计任务。

情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养学生主动学习的积极性。

2. 培养学生严谨的科学态度,注重实验数据的真实性,养成良好的实验习惯。

3. 增强学生的创新意识,鼓励学生在课程设计中发挥想象力和创造力,提高学生的创新能力。

课程性质:本课程为实践性课程,注重培养学生的动手能力和实际应用能力。

学生特点:学生已具备一定的单片机基础知识和编程技能,对电子制作有较高的兴趣。

教学要求:结合课本内容,注重理论与实践相结合,通过课程设计提高学生的综合应用能力。

将课程目标分解为具体的学习成果,以便在教学设计和评估过程中有针对性地指导学生。

二、教学内容1. 理论知识:- 单片机原理与编程:复习课本第三章内容,重点掌握单片机的内部结构、工作原理、指令系统及编程方法。

- 电子时钟原理:学习课本第四章关于时钟电路的设计,了解时、分、秒的计数原理及显示技术。

2. 实践操作:- 硬件设计:根据课本第五章内容,选用51单片机及相关元器件,设计电子时钟的硬件电路,包括晶振、计数器、显示器件等。

- 软件编程:运用C语言或汇编语言,编写电子时钟的程序代码,实现时、分、秒的显示与计时功能。

3. 教学大纲:- 第一周:复习单片机基础知识,讲解电子时钟原理,分配课程设计任务。

- 第二周:进行硬件电路设计,学习并选用合适的元器件,绘制原理图。

单片机数字时钟课程设计

单片机数字时钟课程设计

单片机数字时钟课程设计一、课程目标单片机数字时钟课程设计旨在让八年级学生在巩固已学电子技术知识的基础上,通过实践操作,实现以下目标:1. 知识目标:(1)理解单片机的基本原理,掌握其编程方法;(2)掌握数字时钟的构成和工作原理;(3)学会使用相关电子元件,如LED显示屏、时钟芯片等。

2. 技能目标:(1)能够运用C语言进行单片机编程,实现数字时钟的基本功能;(2)通过动手实践,提高电路搭建和调试能力;(3)培养团队协作和问题解决能力。

3. 情感态度价值观目标:(1)激发学生对电子技术的兴趣,培养创新精神和动手实践能力;(2)养成严谨的学习态度,提高自主学习能力;(3)培养学生关爱环境、珍惜资源的意识,强化责任感。

本课程针对八年级学生的认知特点,注重理论与实践相结合,以学生为主体,教师为主导。

通过本课程的学习,学生能够将所学知识应用于实际项目中,提高综合运用能力,培养科学精神和创新意识。

课程目标分解为具体学习成果,便于后续教学设计和评估。

二、教学内容依据课程目标,教学内容围绕单片机数字时钟设计与实现展开,包括以下部分:1. 理论知识:(1)单片机原理及编程基础,参考教材第3章;(2)数字时钟工作原理及电路设计,参考教材第5章;(3)C语言编程及应用,参考教材第4章。

2. 实践操作:(1)数字时钟电路搭建,使用LED显示屏、时钟芯片等元件;(2)单片机编程,编写控制程序,实现时钟显示、校时等功能;(3)调试与优化,对搭建的数字时钟进行调试,确保其稳定运行。

3. 教学大纲:第1周:回顾单片机原理及编程基础,学习数字时钟工作原理;第2周:学习C语言编程,编写简单的数字时钟程序;第3周:设计数字时钟电路,进行电路搭建;第4周:编程实现数字时钟功能,进行调试与优化。

教学内容注重科学性和系统性,结合教材章节内容,以实践操作为主,使学生能够将理论知识与实际应用紧密结合,提高综合运用能力。

同时,教学进度安排合理,确保学生在规定时间内完成课程学习。

单片机数字钟课程设计

单片机数字钟课程设计

单片机数字钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握数字时钟的工作机制;2. 学生能描述数字时钟的各个模块功能,如时钟电路、计数器、显示电路等;3. 学生能运用所学编程语言,如C语言,编写数字时钟的程序代码。

技能目标:1. 学生能运用单片机开发工具进行程序编写、调试和下载;2. 学生能动手搭建数字时钟硬件电路,实现时钟的显示和计时功能;3. 学生能通过实际操作,掌握基本电路故障排查和程序调试技巧。

情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新意识和动手能力;2. 学生在团队协作中学会沟通、分享和承担责任,培养合作精神;3. 学生通过解决实际问题,体会科技对社会发展的作用,增强社会责任感。

课程性质:本课程为实践性较强的课程,结合理论教学和动手操作,让学生在实际操作中掌握单片机数字时钟的制作。

学生特点:学生具备一定的电子基础知识,对单片机有一定了解,喜欢动手实践,具有较强的求知欲和好奇心。

教学要求:注重理论与实践相结合,强调学生在操作过程中掌握知识,培养学生动手能力、创新意识和团队协作能力。

通过课程学习,使学生能够独立完成单片机数字时钟的设计与制作。

二、教学内容1. 理论知识:- 单片机原理:介绍单片机的硬件结构、工作原理和编程方法;- 数字时钟原理:分析数字时钟的组成、工作原理及各模块功能。

2. 实践操作:- 硬件设计:指导学生设计数字时钟的硬件电路,包括时钟电路、计数器、显示电路等;- 程序编写:教授学生使用C语言编写单片机程序,实现数字时钟的功能;- 调试与下载:教授学生如何使用开发工具进行程序调试和下载。

3. 教学大纲:- 第一周:单片机原理学习,了解数字时钟的基本原理;- 第二周:分析数字时钟各模块功能,学习C语言编程基础;- 第三周:设计数字时钟硬件电路,编写程序代码;- 第四周:进行程序调试,搭建完整的数字时钟系统。

4. 教材关联:- 教材第一章:单片机原理及其应用;- 教材第二章:数字电路设计基础;- 教材第三章:C语言编程基础;- 教材第四章:单片机程序设计与实践。

单片机课程设计电子时钟

单片机课程设计电子时钟

xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:电子时钟院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (3)2.3功能模块的设计与实现 (4)第3章结果测试及分析 (11)3.1结果测试 (11)3.2结果分析 (11)参考文献 (12)附录 A (13)附录 B (21)附录 C (22)第1章总体设计方案1.1 设计原理根据课程设计任务书的内容,要求实现在MCS51单片机上对数字电子钟的基本功能设计,对当前时间正确显示,并可根据需要对时间进行更改,以完成时间的校对和闹钟的设置。

时钟时间以时、分、秒在6位数码管上显示,小时以24小时计时模式,分秒均为60进位。

用6MHz晶振产生振荡脉冲,定时器进行秒计时。

调整设置时间的过程运用可编程键盘上的按键进行控制,共设有5个按键,首先按键A进入校时模式或E进入闹钟模式,再分别按键B对小时或C分钟进行更改,每按键一次数码管计数显示加一,更改结束后按键D退出设置,时钟正常显示。

闹钟时间到时,蜂鸣器鸣响10秒后时钟正常显示。

1.2 设计思路采用C语言程序设计结合硬件电路设计方法,利用Lab6000实验箱来实现数字电子钟的设计。

1)提出方案根据设计要求,可将本次设计分为3个模块进行:1)时钟显示模块:主要用于时间的正确显示。

2)校时模块:此模块用于时钟的校对,以完成用户更改时间的需求。

3)闹钟模块:用于实现闹钟的时间设置和定点闹铃的功能。

2)方案论证时钟显示模块中,利用可编程定时器中断进行秒计时,将时间显示在6位数码管上。

校时模块主要利用键盘上5个键的控制完成各项功能,并在数码管上动态显示改变结果,完成设置后进入时钟显示模块。

闹钟模块的设置过程与校时模块相似,但设置完成进入时间显示模块后则等待闹铃时间,到规定时间后,通过数码管闪烁及蜂鸣器的鸣响来实现定点闹铃提醒功能。

单片机时钟显示课程设计

单片机时钟显示课程设计

单片机时钟显示课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握时钟显示电路的组成与功能。

2. 学生能描述时钟显示的编程方法,理解相关寄存器的作用和使用方法。

3. 学生了解实时时钟(RTC)的工作原理,能读取和设置时钟数据。

技能目标:1. 学生具备使用编程软件进行单片机程序设计的能力,能够编写简单的时钟显示程序。

2. 学生能够正确连接和调试时钟显示电路,排除基本故障。

3. 学生掌握利用单片机进行时间计算与显示的基本技巧。

情感态度价值观目标:1. 学生通过实际操作,培养对单片机编程和电路设计的兴趣,增强创新意识和实践能力。

2. 学生在团队协作中,学会相互交流、探讨,培养合作精神和问题解决能力。

3. 学生认识到单片机技术在实际应用中的重要性,增强学习责任感和社会责任感。

课程性质:本课程为实践性较强的课程,结合理论知识,注重培养学生的动手能力和实际操作技能。

学生特点:学生处于高年级阶段,具备一定的单片机基础知识,具备独立思考能力和动手操作能力。

教学要求:教师需采用任务驱动法,引导学生主动探究,注重理论与实践相结合,提高学生的实际应用能力。

通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的全面实现。

二、教学内容1. 单片机基础知识回顾:主要包括单片机的基本结构、工作原理、寄存器功能等,为学生编写时钟程序打下基础。

(对应教材第1章)2. 时钟显示电路设计:详细讲解时钟电路的组成、原理,包括晶振、RTC、显示模块等,指导学生进行电路连接和调试。

(对应教材第3章)3. 编程软件使用:介绍编程软件的使用方法,指导学生进行程序编写、编译和下载,掌握单片机编程的基本技巧。

(对应教材第2章)4. 时钟显示程序设计:分析时钟显示程序的结构,讲解相关寄存器的设置和使用,引导学生编写并优化程序。

(对应教材第4章)5. 实践操作:组织学生进行实际操作,包括电路连接、程序编写、调试等,培养学生动手能力和问题解决能力。

52单片机时钟课程设计

52单片机时钟课程设计

52单片机时钟课程设计一、课程目标知识目标:1. 学生能理解并掌握52单片机的基本原理及其在时钟设计中的应用。

2. 学生能描述时钟电路的工作原理,包括时钟晶振、分频器等组成部分。

3. 学生能运用C语言编写程序,实现对时钟的显示、调整和时间计算功能。

技能目标:1. 学生能独立完成52单片机的时钟电路连接和程序编写。

2. 学生通过实验操作,培养动手能力和问题解决能力,能够调试并优化时钟程序。

3. 学生能够运用所学知识,结合实际需求,设计简单的时钟应用项目。

情感态度价值观目标:1. 学生通过学习单片机时钟设计,培养对电子技术和编程的兴趣,激发创新意识。

2. 学生在团队协作中,学会分享、交流和合作,提高沟通能力。

3. 学生认识到科技对社会生活的影响,增强社会责任感和时代使命感。

课程性质:本课程为实践性较强的电子技术课程,结合理论教学和实验操作,旨在培养学生的动手能力、编程能力和创新能力。

学生特点:学生已具备一定的电子技术基础知识,对编程有一定了解,但对单片机应用尚处于起步阶段。

教学要求:教师需结合学生特点,注重理论与实践相结合,关注个体差异,引导学生主动探究,培养其解决问题的能力。

通过课程学习,使学生能够将所学知识应用于实际项目中。

二、教学内容本课程教学内容主要包括以下几部分:1. 52单片机基础知识:介绍52单片机的结构、工作原理、引脚功能等,结合教材相关章节,让学生对单片机有基本的认识。

2. 时钟电路原理:讲解时钟电路的组成,包括时钟晶振、分频器等,分析时钟信号的产生、传输和作用。

3. C语言编程:复习C语言基础知识,重点讲解与52单片机编程相关的内容,如寄存器操作、I/O口编程、中断处理等。

4. 时钟程序设计:详细讲解如何利用52单片机实现时钟功能,包括时钟显示、调整和时间计算等,结合教材实例,让学生动手实践。

5. 实验操作与调试:指导学生进行时钟电路的连接、程序下载和调试,培养学生动手能力和问题解决能力。

单片机电脑时钟课程设计

单片机电脑时钟课程设计

单片机电脑时钟课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其硬件结构和功能模块;2. 学会使用单片机编程,实现电脑时钟的基本功能;3. 掌握电脑时钟的时、分、秒显示和闹钟功能的实现方法;4. 了解单片机与其他电子元件的接口技术。

技能目标:1. 能够运用C语言编写单片机程序,实现电脑时钟功能;2. 能够使用调试工具对单片机程序进行调试和排错;3. 能够独立完成单片机电脑时钟的硬件连接和程序设计;4. 能够分析和解决电脑时钟在实际应用中遇到的问题。

情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,提高学习积极性;2. 培养学生团队合作精神,学会相互交流和分享经验;3. 增强学生的创新意识,鼓励他们勇于尝试和改进;4. 培养学生严谨、细致的学习态度,提高他们分析问题和解决问题的能力。

课程性质:本课程为实践性课程,以项目为导向,结合单片机原理和编程技术,培养学生动手能力和实际应用能力。

学生特点:学生具备一定的电子基础知识,熟悉C语言编程,对单片机有一定了解,但实践能力有待提高。

教学要求:注重理论与实践相结合,强调动手实践,鼓励学生自主学习和探究,提高学生的综合能力。

将课程目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容1. 单片机基础理论:介绍单片机的硬件结构、工作原理、功能模块等,为学生后续编程打下基础。

- 教材章节:第一章 单片机概述、第二章 单片机硬件结构- 内容:单片机的基本概念、CPU、存储器、I/O口、定时器等。

2. C语言编程:复习C语言基础知识,讲解单片机编程方法和技巧。

- 教材章节:第三章 单片机C语言编程- 内容:数据类型、运算符、控制语句、函数、数组等。

3. 单片机时钟设计:详细讲解电脑时钟的原理和实现方法,包括时、分、秒显示和闹钟功能。

- 教材章节:第四章 单片机定时器、第五章 显示技术- 内容:定时器工作原理、显示技术、时钟程序设计。

4. 硬件连接与调试:介绍单片机与其他电子元件的接口技术,指导学生进行硬件连接和程序调试。

单片机电子时钟课程设计

单片机电子时钟课程设计

单片机电子时钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握电子时钟的工作原理;2. 使学生掌握单片机编程技术,能独立完成电子时钟的程序编写;3. 帮助学生了解电子时钟的设计过程,掌握相关电子元器件的使用。

技能目标:1. 培养学生运用单片机解决实际问题的能力,提高编程和调试技巧;2. 培养学生动手实践能力,能独立完成电子时钟的组装和调试;3. 提高学生的团队协作和沟通能力,能在小组项目中发挥积极作用。

情感态度价值观目标:1. 激发学生对电子技术和单片机编程的兴趣,培养创新意识;2. 培养学生严谨、细致的学习态度,养成良好的学习习惯;3. 增强学生的自信心和责任感,使其在项目实践中勇于面对挑战。

课程性质:本课程为实践性较强的课程,旨在通过项目实践,让学生掌握单片机编程和应用,培养实际操作能力。

学生特点:学生具备一定的单片机基础知识和编程技能,对电子技术有一定了解。

教学要求:注重理论与实践相结合,强调动手实践,鼓励学生创新和团队协作。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 单片机基础:回顾单片机的基本原理、结构、工作方式,重点掌握时钟电路、I/O 口编程、中断系统等基础知识。

教材章节:《单片机原理与应用》第1-3章2. 电子时钟原理:学习电子时钟的基本构成、工作原理,分析时钟芯片DS1302的功能和应用。

教材章节:《单片机原理与应用》第6章3. 程序设计:学习C语言编程,编写电子时钟程序,掌握定时器、中断处理、数据存储等编程方法。

教材章节:《单片机C语言程序设计》第4-6章4. 硬件设计:学习电子时钟硬件电路设计,包括单片机、时钟芯片、显示模块、按键模块等。

教材章节:《电子电路设计》第2-3章5. 调试与优化:学习电子时钟系统的调试方法,分析常见问题,进行程序和硬件优化。

教材章节:《单片机原理与应用》第8章6. 项目实践:分组进行电子时钟项目实践,从硬件组装、编程调试到产品展示,全面锻炼学生的动手能力。

单片机电脑时钟设计与制作

单片机电脑时钟设计与制作

单片机电脑时钟设计与制作一、设计背景和目标电脑时钟是现代化办公生活中必不可少的一项工具。

在设计单片机电脑时钟时,我们的目标是实现一个精确、稳定、功能完善的时钟系统,能够显示时间、日期,并具备闹钟功能。

本设计将使用单片机作为核心控制器,通过外围电路驱动数码显示器来显示时间和日期,并结合按键开关来设置和调节时间。

二、硬件设计1.时钟芯片:选择一个精度高、稳定可靠的时钟芯片,如DS3231,该芯片具备高精度的内部时钟发生器和日历功能,并通过I2C总线与单片机通信。

2.单片机:选择一款功能丰富、易操作的单片机,如STM32系列,它具备多个GPIO口、定时器和串口等功能。

将单片机与时钟芯片连接,通过I2C总线进行通信。

3.数码显示器:选择一款具有较大显示面积、亮度可调节的数码显示器。

设计时考虑到显示的效果、操作的便捷性,选择数码管来显示时间和日期。

4.外部输入电路:设计按键开关用来调节时间和日期,并设置闹钟功能。

将按键与单片机的GPIO口相连,通过软件中断的方式实现按键事件的响应。

5.电源管理电路:为了保证系统的正常工作,需要设计电源管理电路,提供稳定的电源给单片机和时钟芯片。

三、软件设计1.I2C通信驱动:在单片机的软件中编写I2C通信驱动程序,通过I2C总线与时钟芯片进行通信,获取时间和日期信息,并设置时间和日期。

2.显示驱动:在单片机的软件中编写数码显示驱动程序,将时间和日期信息转化为数码管的显示形式,并通过GPIO口驱动数码管进行显示。

3.按键驱动:在单片机的软件中编写按键驱动程序,通过与按键相连的GPIO口检测按键事件,并根据不同的按键事件进行相应的操作。

4.闹钟功能:设计并编写闹钟功能,通过按键设置闹钟的时间,并在闹钟时间到达时进行提醒。

在程序中需要设置定时器,不断检测当前时间是否与闹钟时间相符。

四、制作和测试1.PCB设计:根据硬件设计和软件设计,设计并制作电路板。

在PCB板上布置各个元器件,完成连线,注意引脚的连接。

单片机数字电子钟课程设计

单片机数字电子钟课程设计

单片机数字电子钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基础知识,掌握数字电子时钟的原理和工作流程。

2. 学生能描述单片机编程的基本步骤,特别是与计时相关的指令和程序设计方法。

3. 学生能够解释数字电子钟各部分功能,如时钟电路、显示电路等,并了解它们之间的协作关系。

技能目标:1. 学生能够运用所学的单片机知识,设计并实现一个简单的数字电子钟程序。

2. 学生通过动手实践,提高焊接和电路排错的能力,能够组装和调试电子钟电路。

3. 学生能够利用仿真软件对电子钟程序进行测试和优化,培养问题解决和程序调试技巧。

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

2. 通过团队协作完成项目,增强学生的合作意识和沟通能力。

3. 学生在课程学习过程中,能够体验到知识与实践相结合的成就感,培养科学、严谨的学习态度。

分析课程性质、学生特点和教学要求:本课程设计针对高中年级学生,假设他们已具备基础物理知识和一定的编程能力。

课程性质为实践性强的综合设计课,旨在通过单片机数字电子钟的制作,巩固学生的电子技术知识与技能。

课程目标设定时考虑了学生的年龄特点和认知水平,注重理论与实践的结合,鼓励学生动手操作和探究学习,旨在提高学生的综合技术应用能力。

通过具体的学习成果分解,本课程旨在让学生不仅学习到知识,而且能够将知识应用到实际问题的解决中,充分体现课程的实用性和创新性。

二、教学内容1. 单片机基础知识回顾:重点复习单片机的内部结构、工作原理及编程基础,关联教材第二章内容。

2. 数字电子时钟原理:讲解时钟电路、计数器、振荡器等组成部分,对应教材第四章第二节。

- 时钟电路的构成与工作原理- 计数器的作用及其编程方法- 振荡器的种类及其在电子时钟中的应用3. 单片机编程设计:结合教材第三章,介绍编写电子时钟程序所需的指令和编程技巧。

- 基本计时指令的使用- 程序流程图的绘制- 中断处理在电子时钟中的应用4. 电路设计与制作:依据教材第五章,指导学生进行电子时钟的电路设计和组装。

单片机时钟课程设计

单片机时钟课程设计

单片机时钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握时钟电路的组成与工作原理。

2. 使学生学会编程控制单片机时钟,实现时钟的显示与调整功能。

3. 帮助学生了解实时时钟芯片的应用,掌握相关寄存器的配置方法。

技能目标:1. 培养学生运用单片机进行时钟设计与实现的能力,提高编程技巧。

2. 培养学生动手实践能力,学会使用开发工具进行电路设计与调试。

3. 提高学生团队协作能力,学会在项目过程中分工合作,共同解决问题。

情感态度价值观目标:1. 激发学生对电子技术的兴趣,培养主动学习的习惯。

2. 培养学生面对问题的积极态度,勇于尝试,不断优化解决方案。

3. 增强学生的自信心,让他们在实践中体验成功,认识到努力的价值。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握单片机时钟相关知识的基础上,能够独立完成时钟设计与实现,培养实际操作能力,同时注重培养学生团队协作精神,提高解决问题的能力。

通过本课程的学习,学生将具备以下具体学习成果:1. 掌握单片机时钟电路的原理与设计方法。

2. 能够使用编程语言实现单片机时钟的显示与调整功能。

3. 熟悉实时时钟芯片的使用,并能进行相关寄存器的配置。

4. 提高动手实践能力,具备团队协作和解决问题的能力。

5. 增强学习兴趣,形成积极向上的学习态度。

二、教学内容根据课程目标,本章节的教学内容主要包括以下几部分:1. 单片机基础理论:回顾单片机的基本原理,重点讲解时钟电路的组成、工作原理及常用时钟芯片。

2. 时钟电路设计与编程:介绍时钟电路的设计方法,包括晶振电路、时钟芯片的连接与配置。

结合教材章节,学习编程控制单片机时钟,实现显示与调整功能。

3. 实时时钟芯片应用:以教材为依据,详细讲解实时时钟芯片(如DS1302、DS3231等)的使用方法,包括寄存器配置、数据读取与写入等。

4. 教学大纲安排:a. 第一周:回顾单片机基础理论,学习时钟电路的组成与工作原理。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

单片机简易时钟课程设计

单片机简易时钟课程设计

单片机简易时钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握时钟电路的组成及工作原理。

2. 学生能运用所学编程知识,编写简易时钟程序,实现时、分、秒的正常显示。

3. 学生了解单片机在日常生活和工业中的应用,认识到单片机技术的重要性。

技能目标:1. 学生能独立完成单片机简易时钟的电路搭建,提高动手实践能力。

2. 学生能通过编程实现对时钟时间的调整,培养问题解决能力和逻辑思维能力。

3. 学生能够运用所学知识,进行课程项目的展示和汇报,提高沟通表达能力。

情感态度价值观目标:1. 学生对单片机技术产生兴趣,培养积极探索、求知若渴的学习态度。

2. 学生在课程实践中,养成团队协作、共同解决问题的良好习惯。

3. 学生通过单片机简易时钟的制作,认识到科技改变生活,增强社会责任感和创新意识。

课程性质:本课程为实践性较强的课程,结合理论知识,培养学生的动手能力和创新精神。

学生特点:学生在本年级已具备一定的单片机基础知识和编程能力,对实践操作有较高的兴趣。

教学要求:教师应注重理论与实践相结合,关注学生的个体差异,引导学生主动探究,培养实际操作能力。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 理论知识:- 单片机基础原理复习;- 时钟电路的组成和工作原理;- 程序设计基础,重点讲解循环结构和条件判断;- 单片机I/O口编程及应用。

2. 实践操作:- 电路搭建:指导学生搭建简易时钟电路,熟悉相关电子元器件的使用;- 程序编写:指导学生编写简易时钟程序,实现时、分、秒的显示和调整;- 系统调试:教授学生如何对程序进行调试,确保时钟运行稳定。

3. 教学大纲:- 第一阶段:复习单片机基础原理,学习时钟电路原理,为期2课时;- 第二阶段:学习程序设计基础,进行I/O口编程实践,为期3课时;- 第三阶段:进行电路搭建和程序编写,为期4课时;- 第四阶段:系统调试,课程项目展示与评价,为期1课时。

单片机时钟课程设计

单片机时钟课程设计

单片机时钟 课程设计一、课程目标知识目标:1. 理解单片机时钟的基本原理,掌握时钟电路的组成和功能。

2. 学会使用相关编程语言(如C语言)编写时钟程序,实现时钟的显示与控制。

3. 了解实时时钟(RTC)芯片的工作原理及其在单片机系统中的应用。

技能目标:1. 能够独立设计并搭建单片机时钟电路,完成硬件连接和调试。

2. 掌握编程技巧,编写出可稳定运行的单片机时钟程序,实现对时、分、秒的准确显示。

3. 学会使用调试工具对程序进行调试,解决常见的问题和故障。

情感态度价值观目标:1. 培养学生对单片机技术及电子制作的兴趣,激发学生的创新意识和动手能力。

2. 增强学生团队协作意识,培养合作解决问题的能力。

3. 引导学生关注科技发展,认识到单片机技术在实际应用中的价值。

针对课程性质、学生特点和教学要求,本课程将目标分解为具体学习成果,以便后续教学设计和评估。

学生应通过本课程的学习,能够掌握单片机时钟相关知识,具备实际操作和解决问题的能力,并在情感态度上得到积极的引导和培养。

二、教学内容1. 单片机基础理论:介绍单片机的概念、发展历程、基本结构和工作原理,以课本第二章内容为基础。

- 时钟电路原理:讲解时钟电路的组成、作用和分类,结合课本第三章第二节内容。

2. 硬件设计:学习时钟电路的硬件搭建,包括单片机、RTC芯片、显示屏等元件的选型和连接。

- 选用STC89C52单片机,结合课本第四章内容进行讲解。

3. 软件编程:学习使用C语言编写时钟程序,实现时钟的显示和控制功能。

- 编程基础:回顾C语言基础知识,以课本第五章内容为参考。

- 时钟程序设计:讲解程序结构、函数调用、中断处理等,结合课本第六章内容。

4. 程序调试与优化:学习使用仿真器、调试器等工具对程序进行调试和优化,确保时钟程序稳定运行。

- 调试技巧:介绍常见问题的排查与解决方法,参考课本第七章内容。

5. 实践与拓展:安排实际操作环节,让学生动手搭建时钟电路,编写并调试程序。

单片机课程设计数字钟的设计

单片机课程设计数字钟的设计

实验任务(1.开机时,显示12:00:00的时间开始计时;(2.P0.0/AD0控制“秒”的调整,每按一次加1秒;(3.P0.1/AD1控制“分”的调整,每按一次加1分;(4.P0.2/AD2控制“时”的调整,每按一次加1个小时;2.电路原理图P0_0~P0_3要加上拉电阻。

图4.20.1 3.系统板上硬件连线(2.把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3.把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;4.相关基本知识(1.动态数码显示的方法(2.独立式按键识别过程(3.“时”,“分”,“秒”数据送出显示处理方法5.程序框图6.汇编源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT P0.2MINITEK BIT P0.1SECONDK BIT P0.0DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV SECOND,#00HMOV MINITE,#00HMOV HOUR,#12MOV DISPBIT,#00HMOV T2SCNTA,#00HMOV T2SCNTB,#00HMOV TEMP,#0FEHLCALL DISP ;2KB范围内长调用MOV TMOD,#01HMOV TH0,#(65536-2000) / 256 ;2msMOV TL0,#(65536-2000) MOD 256WT: JB SECONDK,NK1 ;SECONDK是1转NK1,即按键SP1按下时转.LCALL DEL Y10MSJB SECONDK,NK1INC SECONDMOV A,SECONDCJNE A,#60,NS60MOV SECOND,#00HNS60: LCALL DISPJNB SECONDK,$NK1: JB MINITEK,NK2LCALL DEL Y10MSJB MINITEK,NK2INC MINITEMOV A,MINITECJNE A,#60,NM60MOV MINITE,#00HNM60: LCALL DISPJNB MINITEK,$NK2: JB HOURK,NK3LCALL DELY10MSJB HOURK,NK3INC HOURMOV A,HOURCJNE A,#24,NH24MOV HOUR,#00HNH24: LCALL DISPJNB HOURK,$NK3: LJMP WTDEL Y10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETDISP: ;将得出的时间存入40H (DISPBUF)之后的地址MOV A,#DISPBUFADD A,#8DEC AMOV R1,AMOV A,HOURMOV B,#10DIV ABMOV @R1,A ;累加器送内部RAM单元@R1与R1区分?:@R1——R1为地址,@R1指向其内容。

课程设计电脑时钟

课程设计电脑时钟

课程设计电脑时钟一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握电脑时钟的基本概念、设计和制作方法。

技能目标要求学生能够运用相关软件和工具,独立设计和制作一个功能完整的电脑时钟。

情感态度价值观目标要求学生在学习过程中培养对电脑技术的兴趣和热情,增强创新意识和团队合作精神。

教学目标应具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。

同时,要分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容根据课程目标,本课程的教学内容主要包括电脑时钟的基本概念、设计和制作方法。

教学大纲如下:1.第一章:电脑时钟概述1.1 电脑时钟的定义和发展历程1.2 电脑时钟的功能和应用领域2.第二章:电脑时钟设计基础2.1 设计原则和思路2.2 界面设计和布局3.第三章:电脑时钟制作技术3.1 常用的编程语言和工具3.2 时钟核心功能实现3.3 用户交互设计和实现4.第四章:电脑时钟案例分析4.1 经典电脑时钟案例解析4.2 学生作品展示和分析教学内容的安排和进度将根据学生的学习情况适时调整,确保学生能够扎实掌握所学知识。

本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:用于向学生传授基本概念、原理和方法,引导学生掌握电脑时钟的设计和制作方法。

2.讨论法:通过小组讨论,让学生分享自己的想法和经验,培养团队合作精神和创新意识。

3.案例分析法:分析经典电脑时钟案例,让学生了解实际应用中的问题和解决方案,提高学生的分析和解决问题的能力。

4.实验法:让学生动手实践,独立设计和制作电脑时钟,培养学生的实际操作能力和创新能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用《电脑时钟设计与制作》作为主教材,辅助以相关论文和资料。

2.参考书:推荐《计算机科学导论》、《编程语言基础》等书籍,为学生提供更多学习资源。

单片机时钟系统课程设计

单片机时钟系统课程设计

单片机时钟系统课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握时钟系统的组成和工作机制。

2. 使学生掌握定时器/计数器的原理,并能运用其设计简单的时钟程序。

3. 让学生了解中断系统的功能,学会运用中断技术实现时钟的精确控制。

技能目标:1. 培养学生动手实践能力,能够独立完成单片机时钟系统的硬件连接与程序编写。

2. 提高学生的问题分析能力,能够针对实际需求设计合适的时钟方案。

3. 培养学生的团队协作能力,通过分组讨论和实践,共同完成课程设计任务。

情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养其探索精神。

2. 培养学生严谨、认真的科学态度,养成良好的实验操作习惯。

3. 增强学生的自信心和成就感,使其在完成课程设计的过程中感受到学习的乐趣。

课程性质:本课程为实践性较强的课程设计,侧重于培养学生的动手能力、问题解决能力和团队协作能力。

学生特点:学生已具备一定的单片机基础知识,具备基本的编程能力和实验操作能力。

教学要求:结合学生特点,注重理论与实践相结合,以学生为主体,充分调动学生的积极性,引导他们主动探索、实践和解决问题。

在教学过程中,关注学生的个体差异,给予个性化指导,确保每个学生都能达到课程目标。

通过课程设计,使学生将所学知识应用于实际项目中,提高综合运用能力。

二、教学内容1. 理论部分:(1)单片机基础原理复习,重点回顾时钟系统的作用和构成。

(2)定时器/计数器原理,讲解其工作模式及应用场景。

(3)中断系统原理,分析中断优先级和中断处理程序的编写方法。

2. 实践部分:(1)硬件连接,指导学生完成单片机时钟系统的电路搭建。

(2)程序设计,教授学生编写定时器、中断等模块的代码,实现时钟功能。

(3)调试与优化,引导学生分析程序运行过程中可能出现的问题,并提出解决方案。

3. 教学内容安排与进度:(1)第1周:理论复习,讲解时钟系统原理及实践要求。

(2)第2周:学习定时器/计数器原理,进行电路搭建。

单片机课程设计--电子时钟设计

单片机课程设计--电子时钟设计

电子时钟设计课程设计:单片机原理与应用课程设计专业:班级:设计内容:设计一个简易时钟,设计内容包括:(1)使用8051单片机片内定时器设计一个简易时钟。

(2)使用8位LED对测量结果进行显示(3)能通过键盘对对时钟设计内容与设计要求进行实时调整。

(4)具有闹钟功能●注:带●者为选做设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)进行软硬件调试;主要设计条件1、教材2、单片机开发板、PROTEUS软件3、参考书:1)单片机原理及运用电子工业出版社2)单片机应用技术新教程电子工业出版社目录设计内容: 0设计要求: (1)一、系统总体方案选择与说明 (1)1.系统总体方案选择 (1)2. 说明 (1)二、系统结构框图与工作原理 (3)1. 系统结构框图 (3)2.工作原理 (4)三、各单元硬件设计说明及计算方法 (5)1.定时器\计数器 (5)2 .中断系统: (6)3 .键盘 (6)4 .LED数码管显示器: (7)5 .LED数码显示器有两种连接方法 (7)图(1)LED引脚排列 (8)四、软件设计与说明(包括流程图) (8)1.主程序 (8)2.数码管显示模块 (9)3.定时器/计数器T0中断服务程序 (10)4.按键处理模块 (11)五、程序清单 (13)1.中断子程序 (13)2.延时程序 (13)3.主程序和定时器中断子程序 (13)4.LED显示子程序 (14)5.按键控制子程序 (15)6.数字电子时钟系统PROTUES仿真 (19)六、参考文献 (20)致谢 (21)一、系统总体方案选择与说明1.系统总体方案选择该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计的一个单片机电子时钟。

设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等,用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为50000。

单片机课程设计-电脑时钟

单片机课程设计-电脑时钟

ORG LJMP 0000H MAINORG 000BHLJMP TIM01 ;0.1s T0 中断ORG 0300HMAIN: ACALL INIT ;调用初始化函数LOOP: LCALL KEYIN ;键盘输入AJMP LOOPINIT: MOV 7FH,#7EH ;7FH存当前输入位置79-7EHMOV 79H,#0 ;初始化显示MOV 7AH,#0MOV 7BH,#0MOV 7CH,#0MOV 7DH,#0MOV 7EH,#0MOV 70H,#0 ;初始化初始时间0h0m0sMOV 71H,#0MOV 72H,#0MOV 73H,#0SETB 20H.0 ;20H.0存储当前输入状态,闹钟输入,或初始值输入KEYIN: LCALL KEY ;键盘输入函数,循环对79-7EH输入,或是命令输入CLR CPUSH ACC ;入栈,保存A值SUBB A,#10 ;和10比较JNC CONTRL ;大于等于10,命令键POP ACC ;A出栈数字键,放到显示缓存MOV R0,7FH ;A放到7FH内容指向地址处MOV @R0,AMOV A,7FH ;是否出了79H-7EH范围CJNE A,#79H,RU ;出范围,循环到7EHMOV 7FH,#7FHRETRU: DEC 7FH ;范围内自减1RETCONTRL: POP ACC ;控制键,执行相应控制操作CJNE A,#0DH,N0CLCALL KJUD;D控制计时开始,KJUD判断是否在有效时间范围内JNC N0 ;控制操作完成退出LCALL TIMINIT ;定时器及相关内容初始化N0C: CJNE A,#0CH,N0B ;C 暂停开始键CPL EA ;中断开关控制计时起止N0B: CJNE A,#0BH,N0 ;B 选择输入是闹钟还是起始值CPL 20H.0 ;20H.。

为其标志0起始1闹钟MOV C,20H.0 ;指示灯表示输入闹钟还是起始值MOV P1.0,CN0: RETTIMINIT:MOV TH0,#03CH ;定时器及相关初始化MOV TL0,#0B0H ;初值SETB TR0 ;运行SETB ET0 ;允许定时器中断SETB EA ;总中断允许MOV 70H,#0 ;载入计时初值MOV 71H,74HMOV 72H,75HMOV 73H,76HRETDISP: MOV R0,#79H ;显示函数从右至左显示MOV R3,#01HMOV A,R3DIO: MOV DPTR,#0FFDDHMOVX @DPTR,AMOV A,@R0MOV DPTR,#TAB1MOVC A,@A+DPTR ;得到键值MOV DPTR,#0FFDCHDIR1: MOVX @DPTR,ALCALL DELAY1INC R0MOV A,R3JB ACC.5,LD1RL AMOV R3,AAJMP DIOLD1: RETTAB1: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H ;显示表A灭B显示P (错误信号)DB 080H,090H,0FFH,08CH,0C6H,0A1H,086H,08EHTAB2: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H ;键值校正表DB 02H,0FH,03H,0EH,0CH,0DHDELAY1: MOV R7,#02H ;延时函数12M时精确延时1msDE1: MOV DE2: DJNZDJNZRET R6,#0FFH R6,DE2 R7,DE1JUDGE: MOVDPTR,#0FFDDH ;判断是否有效MOV A,#00HMOVX @DPTR,AINC DPTRMOVX A,@DPTRCPL AANL A,#0FHRETKEY: LCALL JUDGEJNZ LK1LCALL DISP;AJMP KEYLK1: LCALL DISP;LCALL JUDGEJNZ LK2LCALL DISPAJMP KEYLK2: MOV R2,#0FEHMOV R4,#00HLK3: MOV DPTR,#0FFDDH MOV A,R2MOVX @DPTR,AINC DPTRMOVX A,@DPTRLINE0: JB ACC.0,LINE1MOV A,#00HAJMP LKPLINE1: JB ACC.1,LINE2MOV A,#08HAJMP LKPLINE2: JB ACC.2,LINE3MOV A,#10HAJMP LKPLINE3: JB ACC.3,NEXTMOV A,#18HLKP: ADD A,R4PUSH ACCNT: LCALL DISPLCALL JUDGEJNZ NTPOP ACCCJNE A,#10H,NN: JNC EXITMOV DPTR,#TAB2MOVC A,@A+DPTREXIT: RETNEXT: INC R4MOV A,R2JNB ACC.7,KND ;4*8RL AMOV R2,AAJMP LK3KND: AJMP KEYTIM01: PUSH PSW ;0.1s定时中断PUSH ACC ;保护现场MOV TH0,#03CH ;载入初值MOV TL0,#0B0HMOV A,70H ;0.1s计时值存到70HCJNE A,#59,EX01MOV 70H,#0MOV A,71H ;秒值放入71HCJNE A,#59,EX1SMOV 71H,#0MOV A,72H ;分钟放入72HCJNE A,#59,EX1MMOV 72H,#0MOV A,73HCJNE A,#23,EX1HMOV 73H,#0 ;小时73HEX01: INC 70HAJMP IEXITEX1S: INC 71HACALL ALJUD ;判断报警信号函数JNZ ALARMSETB P1.1AJMP IEXIT ;报警ALARM : CLR P1.1AJMP IEXITEX1M: INC 72HAJMP IEXITEX1H: INC 73HAJMP IEXITIEXIT: LCALL DISTIMPOP ACC ;恢复现场PSWPOPRETIALJUD: CLR C ;报警判断MOV A,73HSUBB A,66H ;闹钟值和现在时间值比较JC ALEXCLR CMOV A,72HSUBB A,65HJC ALEXSETB CMOV A,71HSUBB A,64HJC ALEXACLRRETA,#1ALEX: MOVRETDISTIM: MOV B,#10 ;把当前时间值放入79-7EH显示MOV A,71HDIV ABMOV 79H,BMOV 7AH,AMOV A,72HMOV B,#10DIV ABMOV 7BH,BMOV 7CH,AMOV A,73HMOV B,#10DIV ABMOV 7DH,B7EH,AMOVRETKJUD: CLR C ;键值判断,判断输入是否有效MOV A,7EHMOV B,#10MUL ABADD A,7DHJB 20H.0,ALHMOV 76H,AAJMP GOHALH: MOV 66H,A ;初始值放入74-76H闹钟放入64-66H GOH: SUBB A,#24JNC EXMOV A,7CHMOV B,#10MUL ABADD A,7BHJB 20H.0,ALMMOV 75H,AAJMP GOMALM: MOV 65H,AGOM: SUBB A,#60JNC EXMOV A,7AHMOV B,#10MUL ABADD A,79HJB 20H.0,ALSMOV 74H,AAJMP GOSALS: MOV 64H,AGOS: SUBB A,#60JNC EXRETEX: MOV 79H,#0BH ;输入值无效显示PPPPPPMOV 7AH,#0BHMOV 7BH,#0BHMOV 7CH,#0BHMOV 7DH,#0BHMOV 7EH,#0BHRETEND。

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

ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TIM01 ;0.1s T0中断
ORG 0300H
MAIN: ACALL INIT ;调用初始化函数
LOOP: LCALL KEYIN ;键盘输入
AJMP LOOP
INIT: MOV 7FH,#7EH ;7FH存当前输入位置79-7EH
MOV 79H,#0 ;初始化显示
MOV 7AH,#0
MOV 7BH,#0
MOV 7CH,#0
MOV 7DH,#0
MOV 7EH,#0
MOV 70H,#0 ;初始化初始时间0h0m0s
MOV 71H,#0
MOV 72H,#0
MOV 73H,#0
SETB 20H.0 ;20H.0存储当前输入状态,闹钟输入,或初始值输入KEYIN: LCALL KEY ;键盘输入函数,循环对79-7EH输入,或是命令输入CLR C
PUSH ACC ;入栈,保存A值
SUBB A,#10 ;和10比较
JNC CONTRL ;大于等于10,命令键
POP ACC ;A出栈数字键,放到显示缓存
MOV R0,7FH ;A放到7FH内容指向地址处
MOV @R0,A
MOV A,7FH ;是否出了79H-7EH范围
CJNE A,#79H,RU ;出范围,循环到7EH
MOV 7FH,#7FH
RET
RU: DEC 7FH ;范围内自减1
RET
CONTRL: POP ACC ;控制键,执行相应控制操作
CJNE A,#0DH,N0C
LCALL KJUD ;D 控制计时开始,KJUD判断是否在有效时间范围内
JNC N0 ;控制操作完成退出
LCALL TIMINIT ;定时器及相关内容初始化
N0C: CJNE A,#0CH,N0B ;C 暂停开始键
CPL EA ;中断开关控制计时起止
N0B: CJNE A,#0BH,N0 ;B 选择输入是闹钟还是起始值
CPL 20H.0 ;20H.0为其标志0 起始1 闹钟
MOV C,20H.0 ;指示灯表示输入闹钟还是起始值
MOV P1.0,C
N0: RET
TIMINIT:MOV TH0,#03CH ;定时器及相关初始化
MOV TL0,#0B0H ;初值
SETB TR0 ;运行
SETB ET0 ;允许定时器中断
SETB EA ;总中断允许
MOV 70H,#0 ;载入计时初值
MOV 71H,74H
MOV 72H,75H
MOV 73H,76H
RET
DISP: MOV R0,#79H ;显示函数从右至左显示
MOV R3,#01H
MOV A,R3
DIO: MOV DPTR,#0FFDDH
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#TAB1
MOVC A,@A+DPTR ;得到键值
MOV DPTR,#0FFDCH
DIR1: MOVX @DPTR,A
LCALL DELAY1
INC R0
MOV A,R3
JB ACC.5,LD1
RL A
MOV R3,A
AJMP DIO
LD1: RET
TAB1: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H ;显示表A灭B显示P(错误信号)
DB 080H,090H,0FFH,08CH,0C6H,0A1H,086H,08EH
TAB2: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H ;键值校正表DB 02H,0FH,03H,0EH,0CH,0DH
DELAY1: MOV R7,#02H ;延时函数12M时精确延时1ms
DE1: MOV R6,#0FFH
DE2: DJNZ R6,DE2
DJNZ R7,DE1
RET
JUDGE: MOV DPTR,#0FFDDH ;判断是否有效MOV A,#00H
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
CPL A
ANL A,#0FH
RET
KEY: LCALL JUDGE
JNZ LK1
LCALL DISP;
AJMP KEY
LK1: LCALL DISP;
LCALL JUDGE
JNZ LK2
LCALL DISP
AJMP KEY
LK2: MOV R2,#0FEH
MOV R4,#00H
LK3: MOV DPTR,#0FFDDH
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
LINE0: JB ACC.0,LINE1
MOV A,#00H
AJMP LKP
LINE1: JB ACC.1,LINE2
MOV A,#08H
AJMP LKP
LINE2: JB ACC.2,LINE3
MOV A,#10H
AJMP LKP
LINE3: JB ACC.3,NEXT
MOV A,#18H
LKP: ADD A,R4
PUSH ACC
NT: LCALL DISP
LCALL JUDGE
JNZ NT
POP ACC
CJNE A,#10H,N
N: JNC EXIT
MOV DPTR,#TAB2
MOVC A,@A+DPTR
EXIT: RET
NEXT: INC R4
MOV A,R2
JNB ACC.7,KND ;4*8
RL A
MOV R2,A
AJMP LK3
KND: AJMP KEY
TIM01: PUSH PSW ;0.1s定时中断PUSH ACC ;保护现场
MOV TH0,#03CH ;载入初值
MOV TL0,#0B0H
MOV A,70H ;0.1s计时值存到70H
CJNE A,#59,EX01
MOV 70H,#0
MOV A,71H ;秒值放入71H
CJNE A,#59,EX1S
MOV 71H,#0
MOV A,72H ;分钟放入72H
CJNE A,#59,EX1M
MOV 72H,#0
MOV A,73H
CJNE A,#23,EX1H
MOV 73H,#0 ;小时73H
EX01: INC 70H
AJMP IEXIT
EX1S: INC 71H
ACALL ALJUD ;判断报警信号函数
JNZ ALARM
SETB P1.1
AJMP IEXIT ;报警
ALARM: CLR P1.1
AJMP IEXIT
EX1M: INC 72H
EX1H: INC 73H
AJMP IEXIT
IEXIT: LCALL DISTIM
POP ACC ;恢复现场
POP PSW
RETI
ALJUD: CLR C ;报警判断
MOV A,73H
SUBB A,66H ;闹钟值和现在时间值比较
JC ALEX
CLR C
MOV A,72H
SUBB A,65H
JC ALEX
SETB C
MOV A,71H
SUBB A,64H
JC ALEX
CLR A
RET
ALEX: MOV A,#1
RET
DISTIM: MOV B,#10 ;把当前时间值放入79-7EH 显示MOV A,71H
DIV AB
MOV 79H,B
MOV 7AH,A
MOV A,72H
MOV B,#10
DIV AB
MOV 7BH,B
MOV 7CH,A
MOV A,73H
MOV B,#10
DIV AB
MOV 7DH,B
MOV 7EH,A
RET
KJUD: CLR C ;键值判断,判断输入是否有效
MOV B,#10
MUL AB
ADD A,7DH
JB 20H.0,ALH
MOV 76H,A
AJMP GOH
ALH: MOV 66H,A ;初始值放入74-76H 闹钟放入64-66H GOH: SUBB A,#24
JNC EX
MOV A,7CH
MOV B,#10
MUL AB
ADD A,7BH
JB 20H.0,ALM
MOV 75H,A
AJMP GOM
ALM: MOV 65H,A
GOM: SUBB A,#60
JNC EX
MOV A,7AH
MOV B,#10
MUL AB
ADD A,79H
JB 20H.0,ALS
MOV 74H,A
AJMP GOS
ALS: MOV 64H,A
GOS: SUBB A,#60
JNC EX
RET
EX: MOV 79H,#0BH ;输入值无效显示PPPPPP
MOV 7AH,#0BH
MOV 7BH,#0BH
MOV 7CH,#0BH
MOV 7DH,#0BH
MOV 7EH,#0BH
RET
END。

相关文档
最新文档