单片机定时闹钟课程设计
单片机设计闹钟课程设计
单片机设计闹钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握闹钟设计的硬件组成和功能模块。
2. 使学生掌握C语言编程基础,能够运用C语言编写简单的闹钟程序。
3. 帮助学生了解单片机中断、定时器等知识,并能将其应用于闹钟设计。
技能目标:1. 培养学生动手实践能力,能够独立完成闹钟硬件电路的搭建和程序编写。
2. 提高学生问题解决能力,能够根据实际需求调整闹钟程序,实现相应功能。
3. 培养学生团队协作能力,能够在小组合作中发挥个人优势,共同完成课程任务。
情感态度价值观目标:1. 培养学生对单片机及编程的兴趣,激发学习热情,树立自信心。
2. 培养学生勇于尝试、不断探索的精神,使其面对困难时保持积极态度。
3. 培养学生遵守实验规程,注重安全意识,养成良好的实验习惯。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握单片机设计与编程的基本技能。
学生特点:学生处于高年级阶段,已具备一定的电子技术基础和编程知识,具备独立思考和解决问题的能力。
教学要求:教师应注重理论与实践相结合,引导学生主动参与,关注个体差异,激发学生潜能,提高教学质量。
通过课程学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
二、教学内容1. 硬件知识:介绍闹钟电路的组成,包括单片机芯片、时钟电路、蜂鸣器、按键等部件的功能和连接方式。
- 教材章节:《单片机原理与应用》第三章“单片机硬件结构”2. C语言编程:讲解C语言基础知识,重点掌握数据类型、运算符、控制语句等,并应用于单片机程序编写。
- 教材章节:《C语言程序设计》第二章“C语言基础”3. 单片机编程:学习单片机编程基础,掌握中断、定时器等编程方法,实现闹钟功能。
- 教材章节:《单片机原理与应用》第四章“中断与定时器”4. 闹钟程序设计:根据实际需求,编写闹钟程序,实现设定时间、响铃、停止等功能。
- 教材章节:《单片机原理与应用》第七章“项目实践案例”5. 实践操作:指导学生进行闹钟硬件电路搭建,程序编写和调试,培养学生动手能力。
定时闹钟单片机课程设计
定时闹钟单片机课程设计设计背景与目的定时闹钟是我们日常生活中经常使用的一种设备。
它可以帮助人们准时起床或提醒完成某项任务。
在现代社会快节奏的生活中,定时闹钟的使用频率越来越高,因此,设计一个定时闹钟单片机课程是非常有必要的。
本次设计的目的是让学生能够通过实践了解单片机的基本原理和操作。
通过设计一个定时闹钟,学生可以深入理解定时器的使用,了解时钟的工作原理,并通过实际操作掌握单片机编程技能。
设计原理和流程设计原理本次定时闹钟单片机课程设计主要使用了单片机的定时器和外部中断功能。
单片机的定时器可以生成计时中断,而外部中断可以用来接收按键输入。
设计的基本原理是,定时器定时一定的时间后触发计时中断,中断函数中实现闹钟功能。
同时,通过外部中断接收按键输入,用来设置闹钟时间。
设计流程1.设置定时器的工作模式和计时时间。
2.设置外部中断,用于接收按键输入。
3.编写中断函数,实现闹钟功能。
4.编写主函数,初始化单片机和相关端口。
5.在主函数中进入循环,不断监听按键输入和处理闹钟逻辑。
设计实现硬件设计本次设计使用的硬件主要包括单片机、按键和数码管。
1.单片机:选择一款适合的单片机,如STC89C52系列单片机,具备定时器和外部中断功能。
2.按键:使用几个按键来实现闹钟的设置和关闭。
3.数码管:用于显示当前时间和闹钟设置时间。
软件设计本次设计使用Keil C编程软件和Proteus仿真软件。
软件设计主要包括以下几个模块。
1.定时器和中断:初始化定时器并设置工作模式和计时时间,编写中断函数来实现闹钟的功能。
2.IO口:根据接线设计,设置IO口的输入输出模式并初始化端口状态。
3.按键扫描:通过外部中断接收按键输入,并根据按键的不同功能来进行相应的操作。
4.数码管驱动:编写数码管的显示函数,根据当前时间和闹钟设置时间来显示相应的信息。
设计测试与改进设计完成后,需要对定时闹钟进行测试和改进。
测试阶段主要包括功能测试和稳定性测试。
单片机定时闹钟课程设计
单片机定时闹钟课程设计一、课程目标知识目标:1. 理解单片机定时器的工作原理,掌握定时器的编程方法;2. 学会使用单片机实现闹钟功能,了解时间计算与时间显示的基本方法;3. 掌握相关电子元器件的原理和功能,如晶振、电容、数码管等。
技能目标:1. 能够运用C语言编写单片机程序,实现闹钟的定时与显示功能;2. 学会使用调试工具对单片机程序进行调试,解决常见问题;3. 提高动手能力,能够独立完成单片机定时闹钟的硬件电路搭建与程序编写。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生团队协作精神,学会共同解决问题;3. 增强学生实践操作能力,树立实践出真知的观念。
课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力与实际应用能力。
学生特点:学生具备一定的单片机基础知识,对编程有一定了解,但对实际应用尚缺乏经验。
教学要求:结合学生特点,注重理论与实践相结合,以学生为主体,引导学生主动参与,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 理论知识:- 单片机定时器/计数器的工作原理与编程方法;- 时间计算与时间显示技术;- 硬件电路设计原理,包括晶振、电容、数码管等元器件的应用。
2. 实践操作:- 搭建单片机定时闹钟的硬件电路;- 编写单片机程序,实现定时与显示功能;- 使用调试工具对程序进行调试,解决常见问题。
3. 教学大纲:- 第一阶段:回顾单片机基础知识,介绍定时器/计数器原理,分析闹钟功能需求;- 第二阶段:学习时间计算与显示技术,讲解硬件电路设计方法;- 第三阶段:动手实践,分组进行硬件电路搭建与程序编写;- 第四阶段:程序调试与优化,展示成果,总结经验。
4. 教材关联:- 教材第3章:单片机定时器/计数器的原理与应用;- 教材第4章:C语言编程基础,涉及闹钟程序编写;- 教材第5章:电子元器件及其应用,用于硬件电路设计。
单片机课程设计定时闹钟
单片机课程设计定时闹钟-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN一、任务说明本设计师定时闹钟的设计,由单片机AT89C51芯片和LCD、LED显示器,辅以必要的的电路,构成一个单片机定时闹钟。
电子钟可采用数字电路实现,也可以采用单片机来完成。
LCD显示“时”,“分”,LED闪动来做秒计数,定时时间到能发出警报声或者启动继电器,从而控制电器的启停。
现在是自动化高度发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持。
在这次设计中主要是用AT89S51来进行定时,也结合着其他辅助电路实施控制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分钟加一;到达预设的时间,此电路就会发出报警声音提示已经到点。
二、原理图绘制说明1、原理及工作过程说明(1)定时闹钟的基本功能如下:(a)使用LCD液晶显示器来显示现在的时间。
(b)程序执行之后显示“Time:00:00”;并且LED闪烁,表示开始已经计时。
(c)由LED闪动来做秒计数表示。
(2)按键功能如下:按键K1设置现在的时间和时调整;按键K2显示闹钟设置的时间和分调整;按键K3设置闹铃的时间和设置完成;按键K4闹铃ON/OFF的状态设置,设置为ON时连续三次发出“哗”的一声,设置为OFF发出“哗”的一声和闹铃时间到时,发出一阵声响,按下本键可以停止声响。
(3)调整计时器时间如下:按下K1键,然后按K1调整小时,K2调整分钟,按下K3表示时间设置完成。
(4)调整闹钟时间设置如下 :再次按下K3开始闹中设置,LCD下一行显示“Alarm:00:00”按下K1设置小时,按一下K2设置分钟,再次按下K3设置完成,并且设置时间消失,当再次按一下K2时“Alarm:00:00再次显示并马上消失。
按一下K4关闭闹钟,再次按下打开闹钟。
2、原理总框图图1 总原理图3、元器件功能说明AT89C51单片机引脚功能说明本设计的核心硬件就是8051芯片,这里选择了AT89C51,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
基于单片机的定时闹钟设计.
目录目录 (I)一设计题目 (1)二设计要求 (1)三作用与目的 (1)四设备及软件 (2)1.AT89C51单片机 (2)2. Proteus仿真软件 (2)3.Keil软件 (3)五系统设计方案 (4)1 电路的总体原理框图 (4)2 工作原理 (5)六系统硬件设计 (5)1.系统总体设计 (5)2.系统时钟电路设计 (6)3.系统复位电路的设计 (6)4.闹钟指示电路设计 (6)5.电子闹钟的显示电路设计 (6)七系统软件设计 (7)1.主模块的设计 (7)2.基本显示模块设计 (8)3. 时间设定模块设计 (9)4. 闹铃功能的实现 (10)八 Proteus软件仿真 (11)1.本次试验的效果图 (12)2.性能及误差分析: (12)九设计中的问题及解决方法 (13)十设计心得 (14)参考文献 (15)致谢 (16)附录1 系统整体结构电路原理图 (17)附录2 程序清单 (18)基于单片机的定时闹钟设计一设计题目基于单片机的定时闹钟二设计要求1、能显示时时-分分-秒秒。
2、能够设定定时时间、修改定时时间。
3、定时时间到能发出报警声或者启动继电器,从而控制电器的启停。
三作用与目的以单片机为核心的数字时钟是很有社会意义和社会价值的。
钟表原先的报时功能已经原不能满足人们日益增长的要求,现代的电子时钟多带有类似自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等功能数字闹钟通过数字电路实现时、分、秒。
数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。
多功能数字钟的应用非常普遍。
由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以进行校时、定时等功能。
单片机课程设计报告-定时闹钟(含程序)
河南理工大学单片机课程设计报告定时闹钟姓名:XXX学号:XXX专业班级:XXX指导老师:XXX所在学院:电气工程与自动化学院XXX年6月30日本设计是用单片机原理及其相关硬件的运用实现的定时闹钟。
数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
显示部分采用六位一体的共阳极数码管,运用同相三态双向总线收发器74LS245作为输出驱动显示部件的元件。
在编写程序的过程采用了定时程序和时间调整程序对称的编写方法。
并且在时间的调整或设置过程中本设计采用了长按进行调时或调分的选择,短按是进行在选择后进行加1,每短按一次,该单位加1.调整完毕以后再次长按原设置键即可跳出设置循环,显示部分――共阳极数码管显示正常走时的时间。
但是该程序在硬件的仿真过程中有点瑕疵。
在仿真开始时警示灯直接亮,必须通过闹钟定时键K2的闹钟设置以后时间才可以正常走时。
之后可以进行时间的调整或闹钟的重新调整。
1 概述 (3)1.1设计任务 (3)1.2设计要求 (3)1.3设计意义 (3)2 系统总体方案与硬件选择设计 (4)2.1系统总体方案 (4)2.2硬件选择设计 (4)3 软件设计 (9)3.1程序流程图 (9)3.2程序模块 (10)4 PROTEUS软件仿真 (17)5 课程设计体会 (19)参考文献 (19)附1:源程序代码 (21)附2:系统原理图 (33)1概述1.1 设计任务在熟练掌握单片机及其仿真系统的使用方法的基础上,综合应用单片机原理,微机原理,微机接口技术等专业知识,设计采用一个AT89C51单片机控制的定时闹钟。
单片机定时闹钟课程设计
单片机定时闹钟课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解定时器的功能和工作原理。
2. 使学生掌握定时闹钟程序编写的基本方法,了解中断处理的相关知识。
3. 帮助学生了解电子时钟的基本构成,掌握时间计算和显示的相关技巧。
技能目标:1. 培养学生动手实践能力,学会使用编程软件编写、调试程序,实现单片机定时闹钟功能。
2. 提高学生分析问题和解决问题的能力,能够独立完成定时闹钟课程的各项任务。
3. 培养学生团队协作能力,学会在项目过程中进行有效沟通和分工合作。
情感态度价值观目标:1. 培养学生对单片机编程的兴趣,激发他们探索未知、自主学习的精神。
2. 培养学生勇于尝试、不怕失败的品质,提高他们面对困难时的心理素质。
3. 增强学生的创新意识,鼓励他们发挥想象力和创造力,设计出具有个性的定时闹钟作品。
课程性质分析:本课程属于电子技术与应用领域的实践课程,旨在让学生通过动手实践,掌握单片机定时闹钟的设计与制作。
学生特点分析:学生处于中学阶段,具有一定的电子技术基础和编程能力,对新鲜事物充满好奇,喜欢动手实践。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重培养学生的创新精神和团队协作能力,提高他们的综合素质。
3. 以学生为主体,关注个体差异,因材施教,使每个学生都能在课程中取得进步。
二、教学内容1. 单片机基础原理回顾:包括单片机的结构、工作原理、定时器/计数器功能。
2. 定时器编程技术:重点讲解定时器的初始化、中断处理程序编写,以及定时器应用实例。
- 教材章节:第三章《单片机定时器/计数器》3. 中断系统原理:介绍中断的概念、中断优先级、中断向量表,以及中断处理流程。
- 教材章节:第四章《中断系统》4. 显示技术:讲解数码管、LCD等显示器件的工作原理和编程方法。
- 教材章节:第五章《显示技术》5. 定时闹钟设计与实现:包括闹钟功能的整体设计、程序编写、调试与优化。
单片机课程设计定时闹钟
单片机课程设计定时闹钟一、课程目标知识目标:1. 理解单片机的基本原理和内部结构,掌握定时器/计数器的工作原理;2. 学会使用C语言编写单片机程序,实现对定时闹钟的功能设计;3. 掌握单片机中断系统的使用,了解其在定时闹钟中的应用。
技能目标:1. 能够运用所学知识,独立设计并实现一个具有定时功能的闹钟;2. 培养学生动手实践能力,学会使用编程软件和开发工具,进行程序编写、调试与下载;3. 提高学生的问题分析和解决能力,学会在设计过程中考虑实际需求,优化程序性能。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学习热情;2. 培养学生的团队协作意识,学会在项目合作中沟通与分享;3. 培养学生严谨的科学态度,注重细节,追求卓越。
课程性质:本课程属于实践性较强的学科,要求学生将理论知识与实际操作相结合,完成具有实际应用价值的设计项目。
学生特点:学生已具备一定的单片机基础知识,对编程有一定了解,但实践经验不足。
教学要求:结合学生特点,注重实践操作,以项目为导向,引导学生通过自主探究、小组合作等方式,完成课程目标。
将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容1. 理论知识:- 单片机内部结构及工作原理复习;- 定时器/计数器原理及其在单片机中的应用;- 中断系统原理及其使用方法;- C语言编程基础复习,重点讲解定时器编程方法。
2. 实践操作:- 使用编程软件(如Keil)进行程序编写和调试;- 单片机最小系统搭建,了解并实践时钟电路、复位电路等;- 设计并实现定时闹钟程序,掌握定时中断的使用;- 调试与优化,确保定时闹钟功能的准确性。
3. 教学大纲:- 第一周:复习单片机基础知识,讲解定时器/计数器原理;- 第二周:学习中断系统,实践定时器编程;- 第三周:编写定时闹钟程序,进行初步调试;- 第四周:优化程序,完成定时闹钟功能,并进行展示与评价。
教材章节关联:- 《单片机原理与应用》第三章:单片机的内部结构和工作原理;- 第四章:定时器/计数器及中断系统;- 第九章:C语言编程。
单片机课程设计——定时闹钟的设计
1 概述1.1设计目的本设计是一个定时闹钟,它仅使用单片的40引脚单片机完成闹钟的全部功能。
设计目的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力。
1.2设计任务本文设计的定时闹钟采用80c51芯片,用汇编语言进行编程,时、分、秒用6位LED数码管显示。
在电路中通过四个按键S1、S2、S3和S4来进行定时和调时,定时时间到通过喇叭发出报警声。
1.3设计系统的主要功能·能显示时时-分分-秒秒。
·能够设置定时时间、修改定时时间。
·到定时时间能发出报警2 系统总体方案及硬件设计2.1 系统总体方案1)由于要显示数字时间,所以需要6位数码管。
2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出。
3)80c51单片机加上外围器件(2个3位共阳数码管,8个限流电阻和一个蜂鸣器)和应用程序(ISIS 7 Professional软件和KEIL编译软件),构成相应的应用系统。
2.2系统设计方框图图1系统设计方框图2.3硬件设计2.3.1芯片:80c5180c51芯片内不包含一个8位中央处理器cpu,4kb程序存储器ROM,128B随机存取存储器,RAM,4个8位并行I/O接口,1个全双工串行通信接口,2个16 位定时器、计数器级及21个特殊功能寄存器。
外部具有64KB程序存储器寻址能力和64KB数据存储器寻址能力。
指令系统中增加了乘法指令,提高了运算及数据处理能力,且具有位操作能力。
由先进CMOS 工艺制造并带有非易失性Flash 程序存储器全部支持12 时钟和6 时钟操作P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32 条I/O 口线 3 个16 位定时/计数器 6 输入4 优先级嵌套中断结构 1 个串行I/O 口可用于多机通信I/O 扩展或全双工UART以及片内振荡器和时钟电路。
51单片机闹钟课程设计
51单片机闹钟课程设计一、课程目标知识目标:1. 让学生掌握51单片机的硬件结构和编程原理;2. 让学生了解闹钟的基本工作原理和功能需求;3. 使学生能够运用所学知识,设计并实现一个具有实际功能的51单片机闹钟。
技能目标:1. 培养学生动手实践能力,能够独立完成51单片机的硬件连接和程序编写;2. 培养学生分析问题和解决问题的能力,能够根据闹钟功能需求进行程序设计和调试;3. 提高学生的团队协作能力,能够在小组合作中发挥各自优势,共同完成课程设计。
情感态度价值观目标:1. 培养学生对电子制作的兴趣和热情,激发创新意识;2. 培养学生严谨的学习态度,注重实践操作中的细节问题;3. 培养学生珍惜时间、守时的观念,将课程设计与实际生活相结合。
课程性质:本课程为实践性较强的课程设计,侧重于培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的51单片机知识基础,对电子制作感兴趣,具有较强的学习意愿。
教学要求:结合学生特点和课程性质,教师需引导学生主动参与,注重理论与实践相结合,鼓励学生创新和团队协作。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 理论部分:- 51单片机硬件结构及原理回顾;- 闹钟功能需求分析;- 闹钟程序设计基础,包括定时器、中断处理等;- 程序编写及调试方法。
2. 实践部分:- 硬件连接与电路图设计;- 闹钟程序编写与调试;- 闹钟功能测试与优化;- 小组讨论与成果展示。
教学大纲安排:第一周:回顾51单片机硬件结构及原理,分析闹钟功能需求;第二周:学习闹钟程序设计基础,编写初步闹钟程序;第三周:实践硬件连接与电路图设计,进行程序调试;第四周:完成闹钟功能测试与优化,进行小组讨论和成果展示。
教材章节关联:《单片机原理与应用》第三章:51单片机的结构和工作原理;第四章:中断系统与定时器;第七章:程序设计与调试。
教学内容确保科学性和系统性,结合课程目标,使学生能够将所学理论知识应用于实践操作中,提高学生的综合运用能力。
定时闹钟单片机课程设计
定时闹钟单片机课程设计一、课程设计概述本次课程设计的主要目的是通过学习单片机的基本原理和应用,掌握单片机的编程技术和应用能力,完成一个定时闹钟的设计。
二、课程设计内容1. 硬件设计(1)电源模块:使用稳压电源芯片LM7805实现5V直流电源输出。
(2)时钟模块:使用DS1302实时时钟芯片,实现时间显示和闹钟功能。
(3)数码管模块:使用共阳数码管,通过74HC595芯片驱动。
(4)按键模块:使用矩阵按键模块,实现对时间设置和闹钟设置等操作。
2. 软件设计(1)初始化程序:对各个模块进行初始化设置。
(2)显示程序:将当前时间和闹钟时间显示在数码管上。
(3)设置程序:通过按键输入,实现对时间和闹钟时间的设置。
(4)闹铃程序:在设定的闹钟时间到达时,触发蜂鸣器响铃。
三、课程设计步骤1. 硬件设计首先进行硬件电路图的绘制,并进行元器件选型。
根据电路图进行焊接和调试。
其中需要注意以下几点:(1)稳压电源芯片的输入电压需要在7V以上。
(2)DS1302时钟芯片的接线需要按照电路图进行,同时需要设置时钟芯片的时间和闹钟时间。
(3)数码管模块需要进行74HC595芯片的驱动设置,同时需要设置数码管显示的位数和显示内容。
(4)矩阵按键模块需要进行按键扫描程序设计,并设置对应的操作功能。
2. 软件设计根据硬件设计完成后,进行软件程序设计。
主要包括以下几个部分:(1)初始化程序:对各个模块进行初始化设置,如时钟芯片、数码管、矩阵按键等。
(2)显示程序:将当前时间和闹钟时间显示在数码管上。
可以通过时钟芯片获取当前时间,并将其转换为数码管可以显示的格式。
(3)设置程序:通过矩阵按键输入,实现对时间和闹钟时间的设置。
可以通过编写按键扫描函数来实现对按键输入的检测,并根据不同的按键操作来实现对应的功能。
(4)闹铃程序:在设定的闹钟时间到达时,触发蜂鸣器响铃。
可以通过判断当前时间是否等于设定闹钟时间来触发蜂鸣器响铃,并在屏幕上显示提示信息。
单片机课程设计—带有LCD的定时闹钟
单片机的发展历程
1971年,Intel公司推出4004微处理器, 标志着单片机的诞生
1990年代,ARM公司推出ARM架构,成为现 代智能手机、平板电脑等设备的主流处理器
1976年,Intel公司推出8080微处理器, 成为第一个广泛使用的单片机
2000年代,RISC-V架构出现,成为开 源硬件领域的新宠
判断按键类型:根 据按键的状态,判 断按下的是哪个按 键
执行相应操作:根据按 键类型,执行相应的操 作,如设置闹钟时间、 调整闹钟音量等
更新显示内容:根据 按键操作,更新LCD 显示内容,如显示当 前时间、闹钟时间等
定时器和中断服务程序
定时器:用于定时触发中断服务程序 中断服务程序:用于处理定时器中断 定时器初始化:设置定时器参数,如定时器模式、定时器周期等 中断服务程序编写:编写中断服务程序,处理定时器中断,如更新LCD显示、控制闹钟等
通信设备:如手机、路由 器等
计算机外设:如打印机、 扫描仪等
定时闹钟的设计 思路
设计背景和意义
单片机课程设计:作为单片机课程的一部分,设计定时闹钟可以加深对单片机原理和应用的理解。 实际应用:定时闹钟在日常生活中具有广泛的应用,如提醒、定时等。 技术挑战:设计定时闹钟需要掌握单片机编程、电路设计、LCD显示等技术,具有一定挑战性。 创新性:设计带有LCD的定时闹钟,可以提高产品的用户体验,增加产品的市场竞争力。
功能:接收用 户按键输入, 控制闹钟功能
模块组成:按 键、电阻、电 容、单片机IO
口
工作原理:通过 按键按下,改变 电阻电容的电平, 从而改变单片机 IO口的电平,实
现按键输入
设计要点:按 键的布局、按 键的响应速度、 按键的防抖处
STM8单片机课程设计报告(闹钟+定时器)
课程设计内容与要求课程设计目的:1、巩固和加深对单片机原理知识的理解和运用。
2、进一步提高学生综合运用所学知识的能力。
3、培养学生综合分析问题、发现问题和解决问题的能力基本要求:1)显示时间和日期2)可设置多个闹钟3)可以调整时间扩展功能:1)按键复用共有六个按键,每个按键在不同模式下有不同的功能。
2)秒表功能进入秒表界面后,再按一下就秒表开始计时,再按一下秒表停止。
3)省电模式在每天00:00会自动进入省电模式,8个数码管会自动关闭,到5:00时会自动退出省电模式;也可以手动进入和退出省电模式。
4)查看/删除闹钟查看闹钟时间为五秒,五秒内按键无动作则自动退出。
器件介绍本次设计主要用到的硬件有:1、51实验板1块2、stm8s105c6开发板1快51实验板:主要用到实验板上的硬件有:1)两个四位一体的共阴LED数码管,电路图如下:2)两个74HC573的锁存芯片:3)8个独立按键,用了其中6个5)一个蜂鸣器:Stm8s105c6开发板:总共有48个引脚,本设计共用引脚20个引脚。
PB0~PB7和PE6~PE7用于数码管显示控制,PD0~PD5用于键盘输入,PD6、PE0、PE3用于LED指示灯控制。
PD7用于蜂鸣器控制。
设计方案本次设计采用51实验板和stm8s105c6开发板来完成,没有做实物。
显示电路采用8个共阳数码管显示;控制按键采用六个独立按键,每一个按键都有复用功能;闹钟提醒采用蜂鸣器;外加四个不同颜色的LED发光二极管,当进入相应功能模式时对应的指示灯就会亮。
1、键盘设计:在键盘电路中,使用的是6个独立键盘。
键盘在源程序中的功能安排如下:1)当扫描到有键盘按下时,设置相应标志位,然后延时一定时间消抖。
2)键盘的设置键盘表面如图:其中各键设置为:待机状态下是“设置闹钟”,在其他模式下是“递增功能”待机状态下是“调整时间”,在其他模式下是“递减功能”。
待机状态下是“秒表功能”,在其他模式下是“左移功能”。
带定时功能的闹钟单片机课程设计
带定时功能的闹铃时钟设计摘要:本次设计主要包括电源部分、单片机控制部分、数码管显示部分、按键调时、定时控制部分、指示灯蜂鸣器五部分构成。
通过这五个模块以实现时钟的正走和定时功能。
定时闹钟在单片机控制部分采用了AT89S52芯片,用8位数码管来进行显示,用P1口进行位选控制,用P0口进行数码管段码驱动,采用的是动态扫描,能够比较准确的显示时间,电源电路主要是由变压器、桥堆、电容、稳压器、电阻、发光二极管等元件构成,由电容和晶振等构成时钟电路,一个开关和电容电阻接上电源构成了复位电路,然后通过S1、S2、S3和S4四个功能按键可以时间对事件的修改和定时,定时时间到后蜂鸣器发出响声。
在软件方面采用C语言编程,整个系统能完成时间的显示、调时和定时闹钟、复位等功能,并通过仿真后得到正确的结果。
关键词:单片机电源时钟显示定时闹钟目录1. 设计背景 (1)1.1 单片机的发展史 (1)1.2 单片机的发展前景 (1)2.设计方案 (2)2.1定时闹钟的系统设计: (2)2.2时钟设计方案 (2)2.3定时闹钟的硬件和软件设计 (3)2.4数码管显示方案 (3)3. 方案实施 (4)3.1系统硬件组合图 (4)3.2电路模块 (4)3.3软件设计: (7)4. 结果与结论 (9)4.1 结果 (9)4.2 结论 (9)5. 收获与致谢 (10)6. 参考文献 (11)7. 附件 (12)附件1:元器件清单 (12)附件2:电路原理图 (13)附件3:软件程序 (14)1.1 单片机的发展史在我们的今天单片机已无处不,可以说单片机为我么们的生活提供了巨大的方便。
我们对单片机可谓是熟悉而又陌生,因为我们对它的内部结构原理却知道的很少。
单片机诞生于20世纪70年代末,大致经历了四个阶段,第一阶段(1974年—19176年)单片机进入初级阶段只有8位的CPU、64B RAM和两个并行口;第二阶段(1976年—1978年)位单片机低性能阶段,不过它也取得了进一步的发展;第三阶段(1978年—1983年)单片机进入高性能阶段,Intel公司在此领域做出了巨大的贡献,推出了MCS—51系列,无论是位数还是串行口、存储空间都得到了很大的改进;第四阶段(1983—现在)8位机得到稳固、发展、16、32推出阶段,并且32位机得到广大用户的青睐,总之单片机这个领域在短短时间内取得了巨大的发展,并与我们的生活息息相关。
(完整word版)单片机定时闹钟课程设计
目录一、设计目的…………………………………………………………二、设计要求…………………………………………………………三、设计的总体结构…………………………………………………3.1电路的总体原理框图……………………………………………3.2 工作原理………………………………………………………3.3 元器件名称……………………………………………………四、各部分电路设计…………………………………………………4.1 主电路……………………………………………………………………4.2 显示电路…………………………………………………………………4.3 内部时钟方式的电路……………………………………………………4.4 按键及蜂鸣器电路………………………………………………………五、整体电路图………………………………………………………六、设计总结…………………………………………………………6.1 设计过程中遇到的问题及解决方法………………………………………6.2 设计体会……………………………………………………………………6.3 对设计的建议………………………………………………………………七、C语言程序………………………………………………………八、附图…………………………………………………………………一、设计目的此次设计的目的是培养同学们系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力,以及一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案;通过完成所选题目的分析与设计,达到技术性能要求。
二、设计要求1、能显示时时-分分-秒秒。
2、能够设定定时时间、修改定时时间。
3、定时时间到能发出报警声或者启动继电器,从而控制电器的启停。
三、设计的总体结构3.1 电路的总体原理框图图3.1 电路原理框图3.2 工作原理当给电路足够的电源时,电路开始正常初始化,此时显示“00 :00 :00”,若不进行时间调整和定时,时钟将正常计时下去。
单片机定时闹钟设计
Proteus课程定时闹钟的设计专业:电子信息科学与技术学号:**********XX:陈宇摘要本次课程设计是在单片机授课结束的情况下,通过老师的指导和小组同学的协助,独立自主的完成项目设计,我们小组选定的是定时闹钟的设计,下面简单阐述一下该项目的设计思路。
利用动态数码管作为显示器,K20-K27作为输入按键,蜂鸣器作为声音输出制作一个定时闹钟。
最后结果要求做到:1、正确显示时分。
2、可以利用按钮调整时间和设定闹钟时间。
3、当时间到达设定的闹钟时间时,蜂鸣器发出嘀、嘀、嘀的报警声。
4、通过串口在PC上设定时间和闹钟。
关键字:定时闹钟目录1.设计思想2.STC89C52RC单片机简要介绍3.内部定时器计数器中断系统简介4.键盘和LED数码管显示器简介5.程序流程图及设计相关事宜6.课程设计感悟总结附录:7.参考文献8.Proteus软件仿真图9.基于C语言的程序设计STC89C52RC单片机简要介绍单片机应用系统由硬件系统和软件系统两部分组成。
硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。
软件系统包括监控程序和各种应用程序。
在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。
与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。
在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。
在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。
配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。
在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。
显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绪论摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
、电子闹钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时自动报时及自动控制的领域。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
关键字:C52、单片机、定时闹钟、电子设计一.设计目的和要求1.1设计任务:设计一个可控制的定时闹钟。
1.2设计目的:1.了解定时闹钟的组成及工作原理。
2.进一步熟悉和掌握单片机的结构和工作原理。
1.3设计要求:A.基本要求:1).由晶振电路产生1HZ标准秒信号。
2).秒、分为00-59六十进制计数器。
3).时为00-23二十四进制计数器。
4).可手动校正:能分别进行秒、分、时的校正。
只要将开关置于手动位置,可分别对秒、分、时进行连续脉冲输入调整。
5).当时间到达闹钟设定时间时,蜂鸣器发出报警声。
B.提高要求:a).通过按钮快速切换闹钟显示。
b).通过计算机串口在PC上快速设定时间闹钟c).整点报时。
二.系统设计2.1硬件系统:2.1.1电源电路:电源是单片机系统的重要组成部分,它不仅为系统提供多路电压源,还直接影响到系统的技术指标和抗干扰性能。
AT89C51单片机和一般的数字芯片一样,都是5V电压供电,所以可以共用一个5V 电源。
另外,为了提高电源的稳定性,在离电源的最近处做好退耦处理,即用一个47UF和一个10UF电容,以滤去干扰,保证电源的稳定。
2.1.2 AT89C51单片机AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
使用时VCC接电源,GND接地。
P0-P3可作为输入或者输出端口。
RST接复位电路。
2.1.3时钟电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。
本系统中AT89C51单片机采用内部时钟方式。
最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHz~12MHz之间。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。
单片机的时钟产生AT89C51、2.1.4数码管显示电路要同时使得6个数码管点亮,所需的IO口是很多的。
为了节省单片机的IO口,通常采用动态扫描的显示方法,将每个数码管的同名段连在一起,分6次向数码管写数据,每次对6个数码管写相同的数据,每次选通一个数码管,完成扫描,通过调整、缩短扫描的时间,由于人眼的视觉暂留作用,使得人们看起来就像同时显示一样,以达到动态显示的目的.2.2设计原理2.2.1 系统总体方案1)由于要显示数字时间,所以需要6位数码管。
2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出。
3)AT89S52单片机加上外围器件(6个共阴数码管,限流电阻和一个蜂鸣器)和应用程序(KEIL编译软件),构成相应的应用系统。
2.2.2 系统设计方框图2.2.3 软件设计流程图1系统设计方框图三.实验结果和讨论在确立了编程设计的基本思路后,我们开始查找相关的编程资料,然后采用C语言对软件设计的要求进行编译。
一开始进展很慢,并且编程过程中出现个各种错误,经过大量时间的编译与完善,我们终于逐步完成定时闹钟的软件设计过程。
最终程序如下:#include<reg51.h>#define uint unsigned int#define uchar unsigned charuchar code shu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0~9uchar code shu2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //带小数点0~9uchar code wei[]={0xef,0xdf,0xbf,0x7f,0xf7,0xfb};//数码管位选码uchar x[]={0,0,0,0};uchar y[]={0,0,0,0,0,0};uint hour=12,min,sec,h=22,m=0;uint a,s1=1,s2=1,s3=0,i=0,status=0,num=0,class=0;bit flag=0;sbit P3_7=P3^7;void delay(uint t);voidkeyprint(unsigned char key);void display();void timer0();void sint()interrupt 4//串口中断,实现PC上快速设定时间与闹钟{s3++;s3=s3%4;if(RI&&s3==1){RI=0;hour=SBUF;}if(RI&&s3==2){RI=0;min=SBUF;}if(RI&&s3==3){RI=0;h=SBUF;}if(RI&&s3==0){RI=0;m=SBUF;}if(!TI)TI=0;}void delay(uint t) {uint i;while(t--)for(i=0;i<125;i++); }main(){uchar n;uchar input;n=0x0f;TMOD=0x21;TH0=(65536-5000)/256;TL0=(65536-5000)%256;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON=0x00;TR1=1;IP=0x10;TR0=1;IE=0x92; //开定时器0,串口中断while(1) //键扫描程序{input=P2&0x0f;if(input!=0x0f&&s1==1){delay(10);s1=0;if(input!=0x0f&&s2==1){s2=0; //按住不放n = input; //n用来暂时存放键值}}if(input==0x0f&&s1==0){s1=1;s2=1;keyprint(n);n=0x0f;}if((hour==h&&min==m)||(h!=0&&min==0)) {if(sec==0)P3_7=0;if(sec==1)P3_7=1;if(sec==2)P3_7=0;if(sec==3)P3_7=1;if(sec==4)P3_7=0;if(sec==5)P3_7=1;}elseP3_7=1;if(h>=24)h=0;display();}}void keyprint(unsigned char key) //各个按键功能{if(key==0x0e){num++;if(num==1) {class=1;}if(num==2) {class=2;num=0;}}if(key==0x0d){status++;if(status>=5)status=0;}if(key==0x0b){if(status==1){if(min<59) min++;else {min=0;hour++;}}if(status==2){if(hour<23) hour++;else hour=0;}if(status==3){if(m<59) m++;else {m=0;h++;}}if(status==4){if(h<23) h++;else h=0;}}}void display()//数码管数值显示函数{uchar d=0;if(class==1||class==0){x[0]=hour/10; // 显示时的十位x[1]=hour%10; // 显示时的个位x[2]=min/10; // 显示分的十位x[3]=min%10; // 显示分的个位while(d<4){P2=wei[d];P0=shu[x[d]];delay(1);d++;}}else if(class==2){y[0]=h/10; // 显示时的十位y[1]=h%10; // 显示时的个位y[2]=m/10; // 显示分的十位y[3]=m%10; // 显示分的个位d=0;if(flag==0) // 每过0.5s小数点闪烁一次{while(d<4){P2=wei[d];P0=shu2[y[d]];delay(1);d++;}}else if(flag==1){while(d<4){P2=wei[d];P0=shu[y[d]];delay(1);d++;}}}}void timer0() interrupt 1 //定时器0方式1中断函数{uint count;TH0=(65536-5000)/256; // 定时器0设置初始值1ms中断初始值TL0=(65536-5000)%256;TR0=1;count++; //正常计时if(count>=100){flag=1;if(count>=200) // 定时1S 到,以下为时钟的正常走钟逻辑{flag=0;count=0;sec++;if(sec>= 60){sec=0;min++; //秒到60分加一,秒清零}if(min>= 60){min=0;hour++; //分到60时加一,分清零}if(hour>= 24){hour=0; //时到24立即变为0}}}}四.结论4.1本次课程设计的特点:本次课程设计对单片机这么课程的知识原理要求比较高,具有一定的编程要求。