基于单片机的家用定时器设计

合集下载

基于单片机的定时闹钟设计

基于单片机的定时闹钟设计

基于单片机的定时闹钟设计设计定时闹钟是人们日常生活中常见的需求之一,而单片机技术的发展为定时闹钟的实现提供了可行的解决方案。

本文将介绍基于单片机的定时闹钟设计。

一、研究背景及意义在现代社会中,时间是人们日常生活中非常重要的一个因素。

为了更好地规划时间和提高生活效率,人们需要定时提醒自己进行各种活动。

闹钟作为定时提醒的工具,在人们的日常生活中扮演着不可替代的角色。

而基于单片机的定时闹钟实现具有高精度、多功能等优点,因此备受人们青睐。

二、技术方案设计本文设计的基于单片机的定时闹钟主要由三部分组成:时钟电路、单片机控制电路和显示电路。

1. 时钟电路时钟电路采用RTC芯片,可以提供高精度的时间计量。

RTC芯片内部自带晶振,保证了较高的时钟精度。

时钟电路主要功能为提供当前时间,包括小时、分钟和秒。

2. 单片机控制电路单片机控制电路是实现定时闹钟的核心部分。

程序流程如下:①初始化:单片机启动后,需要对RTC芯片和闹钟设定进行初始化,包括设定当前时间和设定闹钟时间。

②计时函数:单片机开启定时器,在每秒钟时钟信号来临时,计时器会进行一次计数。

③闹钟判断:单片机判断当前时间是否等于闹钟设定时间,如果相等,则触发闹钟事件,启动蜂鸣器提示。

④按键设置:单片机可以通过按键进行时间设置和闹钟设置,包括增加或减少小时、分钟和秒数,并将设置信息保存至RTC芯片内存中。

3. 显示电路显示电路采用数码管进行显示,使用单片机控制输出数据。

数码管分为小时显示、分钟显示和秒显示,可以满足不同的显示需求。

三、实验结果分析通过实验结果可以发现,本文设计的基于单片机的定时闹钟可以准确地显示时间和定时提醒。

同时,可以通过按键进行时间和闹钟的设置,并存储至RTC芯片内部,保证了时间和闹钟的持久性。

四、结论及展望基于单片机的定时闹钟设计具有实用性和可行性,可以提高人们生活的效率和品质。

然而,本设计在信号筛选和抗干扰能力方面还有一定的改进空间,需要通过更深入的研究来进一步完善。

基于单片机的简易电子时钟设计_毕业设计论文 精品

基于单片机的简易电子时钟设计_毕业设计论文 精品

论文题目基于单片机的简易电子时钟设计班级:xxxxxx专业:电子信息工程学生姓名:xxxx指导教师:xxxx日期:xxxx-xx-xx摘要数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。

在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

关键字:单片机,数字时钟。

AbstractDigital clock has become an indispensable necessities in People's Daily life, widely used in personal family and office and other public places, to people's life, study, work, entertainment, bring great convenience. Due to the development of the digital integrated circuit technology and adopts the advanced quartz technology, walking make digital clock has advantages of accurate, stable performance, easy to carry, it is also used in timing, automatic feed and automatic control and other fields. Although already on the market at present the ready-made digital clock chip for sale, cheap, use is convenient, but in view of the single chip microcomputer timer function also can complete the design of the digital clock circuit, therefore is necessary for the design of digital clock. Here we will have learned more fragmented knowledge of digital circuit of the organic link, the system used in practice, to develop our comprehensive analysis and circuit design, programming, debugging circuit ability.SCM has small volume and powerful function, high reliability, low price and a series of advantages, not only has become widely used in the field of industrial measurement and control intelligent control instruments, and has penetrated into every corner of the people work and life, effectively promote the industry's technological transformation and upgrading of products, the wide prospect of application.Keywords: Single chip microcomputer,Digital clock.目录第一章设计方案 (1)1.1 课程设计目的 (1)1.2 设计要求 (1)1.3 实现时钟计时的基本方法 (1)1.4 电子钟的时间显示 (1)1.5 电子钟的时间调整 (2)1.6 总体方案介绍 (2)1.6.1 计时方案 (2)1.6.2 控制方案 (2)第二章系统硬件电路设计 (3)2.1 单片机模块设计 (3)2.1.1 芯片分析 (3)2.1.2 晶振电路 (4)2.1.3 复位电路 (5)2.2 数码显示模块设计 (5)2.3 按键模块 (8)第三章系统软件设计 (9)3.1 软件设计分析 (9)3.2 系统软件设计流程图 (9)3.2.1 主程序流程图 (9)3.2.2 定时器流程图 (9)3.2.3 按键检测流程图 (10)3.2.4 时间显示流程图 (10)3.3 源程序清单 (11)第四章系统仿真与实验测试 (16)4.1 系统仿真 (16)4.2 实验测试 (16)小结 (17)致谢 (18)参考文献 (19)附录 (20)第一章设计方案1.1 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。

单片机定时器毕业设计(论文)

单片机定时器毕业设计(论文)

毕业设计毕业设计题目:学生学号:学生姓名:所在系(部):专业及班级:指导教师:完成日期:《电气自动化》专业毕业设计任务书课题名称:定时系统课题类型:模拟课题设计的目的:(1)定时设定由按键部分控制(2)实现定时时间的显示数码管显示:分(十位)分(个位)∶秒(十位)秒(个位)(3)到点响铃(4)系统运行中可重新设定定时值(5)最大实现99分59秒的定时设计的任务及主要内容::第一章概述1 任务设计(1)定时设定由按键部分控制(2)实现定时时间的显示数码管显示:分(十位)分(个位)∶秒(十位)秒(个位)(3)到点响铃(4)系统运行中可重新设定定时值(5)最大实现99分59秒的定时2 总体方案(1)设计框图系统框图如图1(2)设计思路利用89C51单片机作为本系统的中控模块。

上电后,按下功能键进入调时状态,通过各单元电路将按键部分设定的时间通过定时时间显示部分中的LED数码管显示出来,当时间设定完毕后再次按下按键部分的功能键,闹铃模块的蜂鸣器鸣叫0.5S以示定时器开始工作,到点实现响铃,再由按键部分关闹铃。

中途可重新设置定时数值。

复位部分除上电初实现复位外,其余任何时候可按键实现复位。

注:按键部分一共有4个按键,分别为功能键P3.0,秒设定键P3.1(增),分设定键P3.2(增)分设定键P3.3(减)。

3、方案论证(1)定时部分定时部分是本设计的核心部分。

方案:本方案完全用软件实现定时。

原理为:在单片机内部存储器设两个字节分别存放时钟的分、秒信息。

利用键盘部分对定时时间进行设定,由定时显示部分数码管显示,同时定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒个位减1;若秒个位减到0,则判秒十位值是否为0,若不是,则秒个位赋9,秒十位减1;分同理。

该方案具有硬件电路简单的特点。

(2)闹铃器件的选择方案:采用蜂鸣器闹铃,当到设定时间时,单片机向蜂鸣器送出高电平,蜂鸣器发生。

采用蜂鸣器闹铃结构简单,控制方便。

基于单片机控制的专用定时器设计.doc

基于单片机控制的专用定时器设计.doc

扬州工业职业技术学院2009 —2010学年第二学期毕业设计课题名称:基于单片机控制的专用定时器设计设计时间:2010年9月—2010年12月系部:电子信息工程系班级:0801电气自动化技术姓名:顾臻指导教师:马小燕总目录第一部分任务书第二部分开题报告第三部分毕业设计正文第一部分任务书扬州工业职业技术学院毕业设计任务书第二部分开题报告扬州工业职业技术学院电子信息工程系11届毕业设计(论文)开题报告书(表1)第三部分毕业设计正文基于单片机控制专用定时器设计顾臻0801电气技术[摘要]本次毕业设计的内容是基于单片机控制的专用定时器,是用LED数码管显示的,以AT89C51芯片为核心,在LED数码管上显示3段时间。

且用按键可以切换设置定时界面和定时界面,用2个中断按键来设置需要定时的时间,到了定时的时间LED灯亮,还有个按键是用来切换剩余时间的。

因为是用单片机控制的,所以定时精度还是可以的。

[关键词] 单片机 LED数码管 c语言Based on single-chip microcomputer control special timer designGu Zhen0801 Electrical TechnologyAbstract:The graduation design content is based on single chip microcomputer control is to use special timer, LED digital display, based on AT89C51 single chip pipe chips for the core, in LED digital display 3 time tube. And use the buttons can switch Settings timing interface and timing interface, with two buttons to set the timer interruption of time, need to regular time LED lights, there is also a button is used to toggle the remaining time. Because it is the control of the MCU, so the timing precision can still.Key words:SCM LED Digital Tube C Language目录第一章绪论 (1)1.1 课题研究的背景 (1)1.2 定时器的发展和简介 (1)1.3 设计方案的比较和选择 (1)第二章硬件电路设计 (3)2.1 LED数码管简介 (3)2.1.1 LED数码管显示原理 (3)2.1.2 LED数码管显示方式的分类 (3)2.2 相关控制寄存器 (4)2.3系统元器件介绍 (5)2.3.1 AT89C51单片机的介绍 (5)2.3.2 独立键盘 (8)2.3.3晶振与复位电路的介绍 (8)2.3.4电路工作原理图 (10)第三章软件电路设计 (12)3.1系统流程图 (12)3.1.1 按键检测 (12)3.1.2定时器过程流程图 (13)3.2 程序设计 (13)第四章单片机的仿真与调试 (16)心得体会 (19)致谢 (20)参考文献 (21)第一章绪论1.1 课题研究的背景在我们平时的生活中,有许多地方可以看到定时的影子,如手表定时、电脑电视定时、工厂车间零件制作定时等等。

基于51单片机的简易电子钟设计

基于51单片机的简易电子钟设计

基于51单片机的简易电子钟设计一、设计目的现代社会对于时间的要求越来越精确,电子钟成为家庭和办公场所不可缺少的设备之一、本设计基于51单片机,旨在实现一个简易的电子钟,可以显示当前的时间,并且能够通过按键进行时间的调整和设置闹钟。

二、设计原理本设计主要涉及到51单片机的IO口、定时器、中断、LCD显示技术等方面知识。

1.时钟模块时钟模块采用定时器0的中断进行时间的累加和更新。

以1秒为一个时间单位,每当定时器0中断发生,就将时间加1,并判断是否需要更新小时、分钟和秒的显示。

同时,根据用户按键的操作,可以调整时间的设定。

2.显示模块显示模块采用16x2字符LCD显示屏,通过51单片机的IO口与LCD连接。

可以显示当前时间和设置的闹钟时间。

初次上电或者重置后,LCD显示时间为00:00:00,通过定时器中断和键盘操作,实现时间的更新和设定闹钟功能。

3.键盘模块键盘模块采用矩阵键盘连接到51单片机的IO口上,用于用户进行时间的调整和设置闹钟。

通过查询键盘的按键状态,根据按键的不同操作,实现时间的调整和闹钟设定功能。

4.中断模块中断模块采用定时器0的中断,用于1秒的定时更新时间。

同时可以添加外部中断用于响应用户按键操作。

三、主要功能和实现步骤1.系统初始化。

2.设置定时器,每1秒产生一次中断。

3.初始化LCD显示屏,显示初始时间00:00:00。

4.查询键盘状态,判断是否有按键按下。

5.如果按键被按下,根据不同按键的功能进行相应的操作:-功能键:设置、调整、确认。

-数字键:根据键入的数字进行时间的调整和闹钟设定。

6.根据定时器的中断,更新时间的显示。

7.判断当前时间是否与闹钟设定时间相同,如果相同,则触发闹钟,进行提示。

8.循环执行步骤4-7,实现连续的时间显示和按键操作。

四、系统总结和改进使用51单片机设计的简易电子钟可以显示当前时间,并且实现时间的调整和闹钟设定功能。

但是由于硬件资源有限,只能实现基本的功能,不能进行其他高级功能的扩展,例如闹铃的音乐播放、温度、湿度的显示等。

基于AT89C51单片机定时闹钟设计

基于AT89C51单片机定时闹钟设计

塔里木大学信息工程学院《单片机原理与外围电路》课程论文题目:单片机定时闹钟设计姓名:海热古丽·依马木学号:**********班级:计算机15-1班摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。

本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。

LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。

通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。

在软件方面采用汇编语言编程。

整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。

关键词:单片机、AT89C51、定时闹钟、仿真Abstract:T his design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 chip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always -sub -seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results.Keywords: single chip microcomputer, AT89C51, alarm clock, simulatio目录1绪论 (2)1.1课题背景及研究意义 (2)1.2国内外现状 (2)1.3课题的设计目的 (2)1.4课题的主要任务 (2)1.5课题的主要功能 (2)2系统概述 (3)2.1方案论证 (3)2.2系统设计原理 (3)3系统硬件设计 (4)3.1单片机AT89C51简介 (4)3.2数码管显示电路 (6)3.3时钟电路 (7)3.4喇叭:SPEAKER (8)4系统软件设计 (8)4.1系统软件设计说明 (8)4.2 程序调试 (8)4.3 程序流程图 (9)4.3仿真步骤 (10)4.4仿真结果 (10)结论 (12)参考文献 (13)附录A 系统整体电路 (14)附录B 全部程序清单 (14)附录C:PCB图和3D图 (23)1绪论1.1课题背景及研究意义进入信息时代,计算机的影子无处不在,带有像单片机一类嵌入式处理器的小型智能化电子产品,已经成为家用电器的主流,市场需求前景广阔,因此,掌握小型单片机应用系统设计方法,已成为当今电子应用工程师所必备的技能,定时闹钟具备小型单片机应用系统的一切要素,其结构简单、成本低廉、走时精确、设置方便,所以智能化方面有广泛的用途。

基于at89c51单片机的定时闹钟的设计

基于at89c51单片机的定时闹钟的设计

基于at89c51单片机的定时闹钟的设计本文介绍了基于AT89C51单片机的定时闹钟的设计。

文章将探讨设计目的和背景,并着重阐述定时闹钟的实现原理和功能。

本文档将介绍基于at89c51单片机的定时闹钟的硬件设计要点,包括电源、显示器、按键等组件选择和连接方式。

电源选择与连接在设计定时闹钟的硬件方案时,选择合适的电源是非常重要的。

以下是一些电源选择和连接的要点:使用稳定可靠的电源模块,例如直流电源模块,以确保单片机工作的稳定性。

将电源模块的正负极连接到at89c51单片机的VCC和GND引脚上。

注意电源的电压和电流要符合at89c51单片机的工作要求。

显示器选择与连接显示器是定时闹钟中显示时间和其他信息的重要组件。

以下是一些显示器选择和连接的要点:考虑使用液晶显示器 (LCD) 或数码管作为显示器,这些显示器可以清晰地显示数字和字符。

根据设计需求,选择合适的显示器尺寸和类型。

将显示器的控制引脚与at89c51单片机的相应引脚连接,以实现时间和信息的显示。

按键选择与连接按键是控制定时闹钟设置和功能的重要组件。

以下是一些按键选择和连接的要点:选择合适的按键类型,例如触摸按键或机械按键。

根据设计需求,确定所需的按键数量和布局。

将按键的引脚连接到at89c51单片机的GPIO引脚,以接收按键输入并实现相应的功能。

上述是基于at89c51单片机的定时闹钟的硬件设计要点,通过合理选择和连接电源、显示器和按键等组件,可以确保定时闹钟的稳定运行和正常功能。

本文将阐述基于at89c51单片机的定时闹钟的软件设计要点,包括如下内容:定时器的设置:使用at89c51单片机的定时器来实现定时功能,可以通过对定时器寄存器的设置来调整定时的时间间隔。

中断处理:在定时器到达设定的时间间隔时,通过中断处理来触发相应的操作。

可以通过设定中断优先级来确保定时器中断的可靠性。

闹钟功能的实现:通过软件算法和控制电路,将定时器和中断处理结合起来实现闹钟功能。

单片机定时器的设计

单片机定时器的设计

单片机定时器的设计一、单片机定时器的基本原理单片机定时器是通过内部或外部时钟源产生固定时间间隔触发中断来实现的。

在单片机中,通常采用计数器的方式来实现定时器功能。

计数器在一次计数结束之后会自动从初始化值重新开始计数,并且触发中断。

因此,我们可以通过设置计数器的计数值和时钟源的频率来实现所需的定时功能。

二、单片机定时器的设计步骤要设计一个有效的单片机定时器,我们需要按照以下步骤进行操作。

1.确定所需的定时时长首先需要确定所需的定时时长,以便后续的计数器设置。

可以根据具体应用场景来确定定时时长,比如几毫秒、几十毫秒、几百毫秒等。

2.选择合适的计数器位宽计数器位宽决定了定时器能够计数的最大值。

通常,单片机提供的计数器位宽有8位、16位、32位等多种选择。

要根据所需的定时时长来选择合适的计数器位宽,确保可以覆盖所需的最大计数值。

3.设置计数器初始值计数器的初始值决定了定时器的倒计时开始值。

根据所需的定时时长和计数器的位宽,可以通过简单的计算得出计数器初始值。

同时,还需要考虑时钟源的频率是否与计数器的位宽匹配,以避免定时器溢出或计数不准确的问题。

4.配置定时器中断定时器中断是实现定时功能的核心部分。

在单片机中,定时器溢出时会产生中断,通过中断服务函数来处理定时器事件。

可以根据具体需求选择在时间到达时产生中断,还是定时一段时间后再产生中断。

三、单片机定时器的实现方法根据单片机的不同型号和架构,实现定时器的方法有所不同。

下面以常见的基于8051单片机的定时器实现为例进行说明。

1.选择定时器模式8051单片机中,定时器可以工作在16位定时器(Timer0和Timer1)和8位定时器(Timer2)两种模式下。

根据实际需求选择合适的定时器模式。

2.配置定时器控制寄存器定时器控制寄存器用于设置定时器的工作模式和时钟源。

根据实际需求,设置定时器模式、计数器位宽、时钟源等参数。

3.设置计数器初始值设置计数器初始值,使定时器开始倒计时。

基于单片机设计定时器CH451

基于单片机设计定时器CH451

LOAD BIT P1.2DIN BIT P1.0DCLK BIT P1.1DOUT BIT P3.3ST EQU 21H ;存状态号KEY EQU 22H ; 存放按键键码KD EQU 23H ;存放按键号KEY_F BIT 00H ;有键标志位SEC EQU 25H ;秒单元MIN EQU 26H ;分单元HOUR EQU 27H ;小时单元ORG 0000HAJMP MAINORG 0013H ;键盘中断入口LJMP KEY_INTORG 000BH ;定时器中断入口LJMP CLOCKORG 100HMAIN:MOV SP, #60H ;初始化MOV ST, #0CLR KEY_FMOV KEY,#0MOV KD,#0MOV HOUR,#0MOV SEC,#0MOV MIN,#0MOV TMOD,#01H ;定时器初始化MOV TH0,#3CHMOV TL0,#0B0HMOV IE,#82HMOV R0 ,#14HCH451_INIT: ;CH451初始化子程序MOV P1,#60HCLR DIN ;先低后高SETB DCLK ;置为默认的高电平SETB DIN ;输出上升沿CH451选择4线串行接口SETB LOADSETB DOUT ;置为输入NOPMOV B,#04H ;设置CH451MOV A,#03H ;关看门狗开显示键盘LCALL WRITENOPMOV B,#05H ;设置显示模式为译码方式MOV A,#80HLCALL WRITENOPCLR IT1 ;置外部中断信号为低电平触发CLR IE1 ;清中断标志SETB EX1 ;允许键盘中断SETB EA ;开总中断START1: LCALL DISP ;当前计时显示START2:JNB KEY_F,START1 ;无按键等待CLR KEY_F ;有按键,清按键标志GET_ADD: ;获得状态行地址MOV DPTR,#STABMOV A,STMOV B,#6MUL ABADD A,DPL ; DPTR=#STAB + ST*6 MOV DPL,AMOV A,BADDC A,DPHMOV DPH,ANEXT_ST: ;获得次状态MOV A, KDRL A ;KD*2MOV R0,AMOVC A,@A+DPTR ;查表取出次状态号MOV ST,A ;更新STMOV A,R0INC A ;偏移量加1GET_TASK:MOVC A,@A+DPTR ; 得到任务号MOV B,#3MUL AB ;每个LJMP占3个字节MOV DPTR,#TASKJMP @A+DPTR ;散转到子任务程序入口TASK:LJMP P_0LJMP P_1LJMP P_2LJMP P_3LJMP P_4LJMP P_5LJMP P_6LJMP P_7LJMP P_8LJMP P_9LJMP P_10P_0:NOPSETB TR0LCALL DISPMOV ST ,#0LJMP START2P_1:CLR TR0MOV B,#06HMOV A,#03HLCALL WRITELJMP START2P_2:CLR TR0CLR CMOV A,#9AHSUBB A,#01HADD A,HOURDA ACJNE A,#99H,LOOP1MOV A,#23H LOOP1:MOV HOUR ,AMOV ST ,# 1CLR CLJMP START2P_3: CLR TR0MOV A,HOURINC ADA ACJNE A,#24H,LOOP2MOV A,#00HLOOP2: MOV HOUR ,A MOV ST ,#1LJMP START2P_4:CLR TR0MOV B,#06HMOV A,#18HLCALL WRITELJMP START2P_5:CLR TR0CLR CMOV A,#9AHSUBB A,#01HADD A,MINDA ACJNE A,#99H,LOOP3MOV A,#59H LOOP3:MOV MIN ,ACLR CMOV ST ,#2LJMP START2P_6:CLR TR0MOV A,MININC ADA ACJNE A,#60H,LOOP4MOV A,#00H LOOP4:MOV MIN ,AMOV ST ,#2LJMP START2P_7:CLR TR0MOV B,#06HMOV A,#0C0HLCALL WRITELJMP START2 P_8:SETB TR0MOV B,#06HMOV A,#00HLCALL WRITELCALL DISPMOV ST ,#0LJMP START2P_9:CLR TR0CLR CMOV A,#9AHSUBB A,#01HADD A,SECDA ACJNE A,#99H,LOOP5MOV A,#59HLOOP5:MOV SEC ,ACLR CMOV ST ,#3LJMP START2P_10:CLR TR0MOV A,SECINC ADA ACJNE A,#60H,LOOP6MOV A,#00HLOOP6:MOV SEC ,AMOV ST ,#3LJMP START2STAB: DB 0,0, 1,1, 0,0 ; stat0DB 1,2, 2,4, 1,3 ; stat1DB 2,5, 3,7, 2,6 ; stat2DB 3,9, 0,8, 3,10 ; stat3KEY_INT:PUSH DPLPUSH DPH ; 保护主程序现场PUSH ACCPUSH PSWLCALL READ ; 读键码MOV R3, A ; 将健码放到R3中K0: CJNE R3,#40H,K1 ; 以下比较健码得出键值, MOV A,#0H ; 放到A中SJMP KEY_L1 ; 转换成键号K1: CJNE R3,#41H,K2MOV A,#1HSJMP KEY_L1K2: CJNE R3,#42H, KEY_OUTMOV A,#2HKEY_L1: MOV KD,A ; 保存键值SETB KEY_F ; 置有键标记KEY_OUT:POP PSWPOP ACC ; 恢复主程序现场POP DPHPOP DPLRETICLOCK: PUSH PSWPUSH ACCDJNZ R0,NEXTMOV R0 ,#14HLCALL JINWEINEXT: MOV TH0,#3CH ;MOV TL0,#0B0HPOP ACCPOP PSWRETIJINWEI:MOV A,SECCLR CMOV A,#9AHSUBB A,#01HADD A,SECDA AMOV SEC,ACJNE A,#99H,END1MOV SEC,#59HMOV A,MINMOV A,#9AHSUBB A,#01HADD A,MINDA AMOV MIN,ACJNE A,#99H,END1MOV MIN,#59HMOV A,HOURMOV A,#9AHSUBB A,#01HADD A,HOURDA AMOV HOUR,ACJNE A,#99H,END1MOV HOUR,#23HEND1:RETDISP: ;显示子程序PUSH PSWPUSH ACCMOV B,#0FH ;加载字数据7MOV A,SECANL A,#0FHACALL WRITEMOV A,SECSWAP AANL A,#0FHDEC B ;加载字数据6ACALL WRITEMOV A,#10HDEC B ;加载字数据5ACALL WRITEMOV A,MINANL A,#0FHDEC B ;加载字数据4ACALL WRITEMOV A,MINSWAP AANL A,#0FHDEC B ;加载字数据3ACALL WRITEMOV A,#10HDEC B ;加载字数据2ACALL WRITEMOV A,HOURANL A,#0FHDEC B ;加载字数据1ACALL WRITEMOV A,HOURSWAP AANL A,#0FHDEC B ;加载字数据0ACALL WRITEPOP ACCPOP PSWRETWRITE:PUSH PSWPUSH ACCCLR EX1CLR LOADMOV R7,#08HWRITE_8:RRC ACLR DCLKMOV DIN,CSETB DCLKDJNZ R7,WRITE_8MOV A,BMOV R7,#04HWRITE_4:RRC ACLR DCLKMOV DIN,CSETB DCLKDJNZ R7,WRITE_4SETB LOADSETB EX1POP ACCPOP PSWRETREAD: CLR EX1 ;禁止键盘中断CLR LOAD ;命令开始MOV A, #07H ;读取键值命令的高4位0111BMOV R7, #04H ;忽略12位命令的低8位RE_4: RRC A ;低位在前,高位在后CLR DCLK ;MOV DIN,C ;送出一位数据SETB DCLK ;产生上升沿通知CH451输入位数据DJNZ R7, RE_4 ;位数据未完继续SETB LOAD ;产生加载上升沿通知CH451处理命令数据CLR A ; 先清键值单元以便移位MOV R7,#07H ;读入7位键值RE_7: MOV C, DOUT ;读入一位数据CLR DCLK ;产生时钟下降沿通知CH451输出下一位数据RLC A ;数据移入ACC,高位在前,低位在后SETB DCLK ;DJNZ R7,RE_7 ;数据未完继续CLR IE1 ;清中断标志,读操作过程中有低电平脉冲SETB EX1 ;准许键盘中断RETEND。

基于单片机的定时器设计

基于单片机的定时器设计

基于单片机的定时器设计1.引言定时器是一种非常常见的电子设备,用于测量和控制时间。

在嵌入式系统中,定时器通常由单片机来实现。

单片机是一种高度集成的微型计算机,拥有处理器、存储器和输入输出设备。

本文将介绍基于单片机的定时器设计,并进行详细探讨。

2.单片机定时器的概念单片机定时器是单片机内部的一个功能模块,用于生成定时的脉冲信号。

通过控制定时器的设置,可以实现各种不同的定时功能,如时间测量、延时控制、周期性信号生成等。

在控制系统中,定时器的应用广泛,对于实时控制和时间精度要求较高的场景尤为重要。

3.单片机定时器的工作原理单片机定时器通常由计数器和预分频器组成。

计数器用于计数,每计数到一个特定的值,就会产生一个中断或输出脉冲。

预分频器用于控制计数器的计数速度,通过调整预分频器的设置,可以实现不同的计数速度和定时周期。

4.单片机定时器的应用单片机定时器广泛应用于各种场景中,如通信设备、工业自动化、仪器仪表等。

在通信设备中,定时器用于生成各种调制解调信号、时钟信号等。

在工业自动化中,定时器用于周期性的控制任务,如定时采样、定时测量等。

在仪器仪表中,定时器用于测量和显示时间,并和其他功能模块进行协调。

5.单片机定时器的设计要点在进行单片机定时器设计时,需要注意以下几个要点:5.1确定定时器的应用需求根据实际的应用需求,选择适当的定时器类型和工作模式。

不同类型的单片机定时器提供了不同的功能和参数设置,需要根据具体的应用场景进行选择。

5.2设置定时器的计数值和预分频器根据应用的时间精度要求和计数周期,设置合适的计数值和预分频器。

计数值和预分频器之间存在一定的数学关系,需要进行计算和调整。

5.3配置定时器的工作模式和中断根据应用的实际需要,选择合适的定时器工作模式和中断方式。

定时器可以工作在单次触发模式和周期性触发模式,可以选择中断方式或输出脉冲方式。

5.4编写相应的程序控制定时器通过单片机的编程,用相应的指令和函数来控制定时器的工作。

基于单片机实现的定时器设计

基于单片机实现的定时器设计

基于单片机实现的定时器设计一、定时器的基本原理定时器的核心思想是通过对时钟信号进行计数来实现定时功能。

在单片机中,通常使用内部的计数器来完成这一任务。

计数器会在每个时钟周期内递增或递减,当计数值达到预设值时,就会产生定时中断或触发相应的输出。

为了实现准确的定时,需要考虑时钟源的精度和稳定性。

单片机的时钟源可以是内部振荡器,也可以是外部晶振。

外部晶振通常能够提供更高的精度和稳定性,但会增加硬件成本和设计复杂度。

二、单片机的选择在选择用于实现定时器的单片机时,需要考虑多个因素。

首先是单片机的性能,包括处理速度、存储容量和接口资源等。

其次是成本和开发难度,对于一些简单的定时应用,可以选择成本较低、开发容易的单片机;而对于复杂的系统,则可能需要性能更强的单片机。

常见的单片机系列如 51 单片机、STM32 单片机等都具备实现定时器的能力。

51 单片机是经典的 8 位单片机,具有简单易用的特点;STM32 单片机则是 32 位单片机,功能更为强大,适用于更复杂的应用场景。

三、硬件设计硬件设计主要包括单片机最小系统的搭建和定时器相关的外围电路。

单片机最小系统通常包括电源电路、复位电路和时钟电路。

电源电路为单片机提供稳定的工作电压,复位电路用于在系统启动时将单片机初始化到一个已知状态,时钟电路则为单片机提供时钟信号。

对于定时器的外围电路,如果需要输出定时信号来控制外部设备,可以添加驱动电路和接口电路。

例如,如果要控制一个电机的转动时间,可以使用继电器或晶体管来驱动电机,并通过单片机的 GPIO 口与驱动电路连接。

四、软件设计软件设计是实现定时器功能的关键部分。

首先需要对单片机进行初始化,包括设置时钟源、配置定时器的工作模式和预分频系数等。

定时器的工作模式通常有多种选择,如定时模式、计数模式等。

在定时模式下,可以设置定时器的定时周期;在计数模式下,可以通过外部脉冲来控制计数值。

预分频系数用于对时钟信号进行分频,以实现不同精度的定时。

基于单片机的定时器设计汇编

基于单片机的定时器设计汇编

基于单片机的定时器设计摘要:生活处处都有单片机,家里的所有电器只要是智能控制的都是单片机控制、现在智能手机中arm处理器也是一种高级单片机。

本文是对实时控制中的,实时显示这一功能进行进一步的研究。

实时控制系统,相对于其他的控制系统,最重要的一点就是实时。

文中的实时,指的是对时间的显示。

时间的显示包括对时、分的显示。

这些时间的显示,可以按照自己的需求进行进一步的设定。

这个实时系统,可以是通过串口接收的上位机,接收上位机中的信号,根据需求来进行时间的显示,帮助系统实现实时的效果。

同时,它可进行时间的独立显示。

利用STC89C51RC单片机作为本系统的中控模块。

上电后,按下功能键进入调时状态,通过各单元电路将按键部分设定的时间通过定时时间显示部分中的LED数码管显示出来。

中途可重新设置定时数值,复位部分除上电初实现复位外,也可人工复位。

关键词:实时;单片机;数码管;按键复位。

Based on single chip microcomputer timer designAbstract:Life is a single chip, all appliances at home as long as the intelligent control is now SCM control Intelligent mobile phone ARM processor is a kind of advanced single chip microcomputer.This article is in real-time control, real-time display this function for further studies. Real-time control system, relative to other control system, the most important thing is that in real time. In this paper, the real-time, refers to the display of time. The display includes pair, the display of the time. The display of the time, can according to your needs further. The real-time system, can be via a serial port to receive the upper machine, receiving signals in the PC, according to the demand for time display, help system to realize real time effect. At the same time, it can be independent of time.Using 89C51 microcontroller as the system control module. After power on, press the function key to transfer state, through each unit circuit timing LED digital display part of the display through the key part of the set time. You may re set the timer values, reset parts in addition to power up reset, the buttons can be reset at any time.Key Words : microcontrolle;digital tube;The Key to return.目录1引言 (1)1.1课题的来源和意义 (1)1.2定时器的应用 (1)1.3电子定时器的发展前景 (1)1.4 确定设计方案 (2)2 51单片机内部结构及计数原理 (2)2.1 51单片机内部机构 (2)2.2计数原理 (2)3 系统硬件配件设计 (4)3.1 芯片的选择 (4)3.2 交流控制接口电路 (5)3.3显示电路 (5)3.4 继电器 (5)3.5数码管 (6)4 硬件电路设计 (7)4.1 中继触发电路 (7)4.2继电器开关电路 (8)4.3时钟电路 (9)5 软件设计 (10)5.1 实现功能 (10)结论 (11)参考文献 (13)致谢 (14)附录1:程序 (15)附录2:系统仿真原理图 (21)1 引言我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。

基于单片机的LCD1602电子时钟设计

基于单片机的LCD1602电子时钟设计

基于单片机的LCD1602电子时钟设计近年来,随着物联网和智能设备的快速发展,电子时钟作为一种常见的智能设备,广泛应用于家庭、办公室等各种场合。

本文将基于单片机设计一款LCD1602电子时钟,实现时间显示、闹钟设置等功能。

一、硬件设计1.单片机选择在本设计中,选择常用的51系列单片机AT89C51,具有丰富的外设资源和强大的处理能力。

该单片机具有8位数据总线、16位地址总线,并且集成了定时/计数器、中断控制器和串行通信接口等外设。

2.显示模块选择3.时钟模块选择通过接入DS1302时钟模块,可以实现实时时钟的功能。

DS1302模块具有时钟计数器、电压检测电路、串行通信接口等,并且具有低功耗特点。

4.控制板设计根据LCD1602的引脚连接方式,设计一个控制板,用于将单片机、显示模块和时钟模块等连接在一起。

同时,需注意设计供电电路、外设输入输出电平等电路。

二、软件设计1.初始化设置通过单片机的GPIO口配置,将LCD1602和DS1302对应的引脚设置为输出模式,同时初始化LCD显示屏并进行清屏操作。

此外,需设置DS1302时钟模块的时钟、日期、闹钟等参数。

2.时间显示通过读取DS1302时钟模块的计数器,获得当前的小时、分钟和秒数,然后将其格式化为HH:MM:SS的形式,并通过LCD显示出来。

3.时间设置通过单片机的外部中断,当用户按下设置按钮后,进入时间设置模式。

在时间设置模式下,用户可以通过按下不同的按键来调整小时、分钟和秒数。

调整完成后,再次按下设置按钮即可保存设置。

4.闹钟设置通过单片机的定时器中断,设定一个闹钟定时器。

当闹钟定时器触发时,触发相应的中断,然后通过LCD显示闹钟提示。

此外,用户也可以通过按下按钮来设置闹钟时间,并通过单片机的外部中断进行处理。

5.闹钟响铃当闹钟时间到达时,触发相应的中断,通过LCD显示闹钟提示,并通过蜂鸣器发出响铃声。

总结通过本设计,可以实现一款功能齐全的LCD1602电子时钟。

基于单片机控制的智能定时闹钟方案设计书(含完整程序仿真图)

基于单片机控制的智能定时闹钟方案设计书(含完整程序仿真图)

本设计是定时闹钟的设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子定时闹钟。

电子钟设计可采用数字电路实现,也可以采用单片机来完成。

数字电子钟是用数字集成电路构成的,用数码管显示“时”,“分”,“秒”的现代计时装置。

若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。

若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。

片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。

另外,AT89C51的指令系统和引脚与8051完全兼容,片内有128B的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。

AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响,进—步可以扩充控制电器的启停。

设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路等几部分的设计。

采用四个开关来控制定时闹钟的工作状态,分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。

课设准备中我根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真实验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。

设计完成的定时闹钟达到课程设计的要求,在到达定时的时间便立即发出蜂鸣声音,持续一分钟。

显示采用的六位数码管电路,如果亮度感觉不够,可以通过提升电阻来调节,控制程序中延迟时间的长短,可以获得不同的效果。

基于单片机的厨房定时器可预置分秒倒计时装置

基于单片机的厨房定时器可预置分秒倒计时装置

基于51单片机的厨房定时器设计报告学院:信息光电子科技学院专业:光电信息科学与工程年级:姓名:学号:一、设计报告概述日常生活中熬个汤、煮个蛋……都需要预定一定的时间,设计一个厨房定时器,用户预设倒计时的时长,启动后系统开始倒计时,当时间为0后,启动蜂鸣器报警。

本设计报告中的厨房定时器,是以单片机(STC89C52),四位七段数码管、按键开关和蜂鸣器等组成的综合设计系统电路。

上电,电源指示灯点亮,数码管显示为0000,用户可以通过按键开关预设定时时间,启动后系统开始倒计时,当时间为0后,蜂鸣器报警。

数码管显示分、秒,计时时间上限为99分钟,按键开关以10分钟或1分钟单位调整时间。

图1 系统设计结构图本系统组成如图1 系统设计结构图所示,主要由五个部分组成。

报警电路 (蜂鸣器)1.AT89C52单片机——控制芯片AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。

AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。

图2 AT98C52引脚图2.时钟震荡电路AT89C52中有一个用于构成内部振荡器的高增益反相放大器,与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。

如果使用石英晶体,电容使用30pF ±10pF,而如使用陶瓷谐振器建议选择40pF±10pF,可以使系统更稳定,避免噪音干扰而死机。

此设计采用的是12MHz的石英晶振。

基于单片机的智能定时器毕业设计

基于单片机的智能定时器毕业设计

毕业设计(论文)基于51单片机的智能定时控制器系统设计毕业设计(论文)任务书课题名称基于51单片机的智能定时控制器系统设计课题性质工程应用专业应用电子技术班级10电子(2)班学生姓名学号指导教师教研室主任系部主任发放日期一、课题条件:随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,各种各样的电子产品也正在日新月异地向着高精尖技术发展。

数字电子时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

二、毕业论文(设计)主要内容:1、时间显示:用4位数码管显示当前小时和分钟,秒功能用两LED灯代替(每秒闪烁一次)。

2、可手动设定时间。

3、开机流程:系统有红色和蓝色指示灯,上电10S内,每秒红色指示灯闪烁一次,并伴有蜂鸣声,作为开机/重启提醒,此时绿色指示灯灭。

10S后红色指示灯灭,若光线较强则绿色指示灯亮,若光线较弱则绿色指示灯亮度减半进入节能模式。

3、具有整点报时功能(四短一长),可自行设定报时时间段;三、计划进度:1. 资料的收集撰写开题报告6月20日至9月8日2. 方案设计9月9日至9月15日3. 电路的设计指标分析与确定;后期的电路优化元器件的选择与参数确定9月16日至11月2日4. 毕业设计论文的修改、完善11月3日至11月10日5. 毕业设计答辩11月15 日至11月20日四、主要参考文献:a)康光华主编.电子技术基础.北京:高等教育出版社,1999.6b)b)何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.07c)c)杨西明,朱骐主编.单片机编程与应用入门.北京:机械工业出版社.2004.06d)d)先锋工作室编著.单片机程序设计实例.北京:清华大学出版社.2003.01指导教师(系)教研室主任年月日年月日摘要本次设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟,它由5V直流电源供电。

基于51单片机定时器的电子时钟设计

基于51单片机定时器的电子时钟设计

基于51单片机定时器的电子时钟设计电子时钟是一种集计时、显示时间等功能于一体的电子设备。

它可以准确地显示当前的时间,并通过定时器控制乃至更新时间。

本文将介绍基于51单片机定时器的电子时钟设计。

设计步骤如下:步骤一:硬件设计首先,需要准备以下硬件元件:1.51单片机:作为主要控制单元;2.DS1302实时时钟芯片:用于计时和保存时间数据;3.16x2字符LCD显示屏:用于显示时间;4.4x4矩阵键盘:用于调整时间和设置闹钟;5.蜂鸣器:用于报时功能;6.电位器:用于调整LCD背光亮度。

将这些硬件元件按照电路图连接起来,注意正确连接引脚和电源。

步骤二:软件设计在51单片机上编写程序,实现以下功能:1.初始化:a.初始化DS1302实时时钟芯片,设置初始时间;b.初始化LCD显示屏;c.初始化矩阵键盘;2.获取时间:a.从DS1302芯片读取当前时间;3.显示时间:a.将时间数据转换为字符,并在LCD上显示出来;4.键盘输入:a.监测矩阵键盘输入,判断用户按下的是哪个键;b.根据不同的键,执行相应的操作,如设置时间、设置闹钟等;5.闹钟功能:a.设置闹钟时间,当当前时间与闹钟时间相同时,触发蜂鸣器报时;b.可以通过按键来设置闹钟时间和开启/关闭闹钟功能。

以上是基本的电子时钟功能,可以根据实际需求进行扩展和添加其他功能。

步骤三:测试与调试步骤四:优化与扩展在基本功能正常运行的基础上,可以对电子时钟进行优化和扩展。

添加一些实用的功能,如温湿度显示、日期显示、闹钟音乐选择等,以提高电子时钟的实用性和用户体验。

总结:本文介绍了基于51单片机定时器的电子时钟设计步骤,包括硬件设计和软件编程。

通过该设计,可以实现准确显示时间、调整时间、设置闹钟等功能。

为了使电子时钟更加实用,可以根据需要进行优化和扩展。

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

吉首大学《单片机技术》课程设计报告项目名称:家用多功能定时器设计与制作专业年级:物理机电工程工程2012级学号: 20124052023学生姓名:刘锐指导教师:陈善荣报告完成日期2015 年7 月 1 日评阅结果评阅教师第一章绪论 (1)1.1 系统背景 (1)1.1.1 单片机的电子技术 (1)1.1.2 定时器介绍 (1)1.2 设计要求 (2)第二章系统电路设计 (2)2.1 设计框架介绍 (2)2.2 系统硬件单元电路设计 (2)2.2.1 复位电路设计 (2)2.2.2 时钟电路设计 (3)2.2.3 按键电路设计 (4)2.3 系统硬件总电路 (4)第三章系统软件设计 (5)3.1 系统软件流程图 (5)3.2 系统程序设计 (5)3.2.1 主程序 (5)3.2.2 中断程序 (12)第四章实验结果和分析 (13)4.1 实验使用的仪器设备 (13)4.2测试结果分析 (13)结束语 (13)参考文献 (14)第一章绪论1.1 系统背景1.1.1 单片机的电子技术单片机是将CPU、RAM\ROM\定时器/计数器以及输入输出(I/O)接口等计算机的主要部件集成在一块的集成电路芯片,作为微机系统它还可以实现模/数转换、脉宽调制、计数器捕获/比较逻辑、高速I/O口和WDT各种控制功能。

通过在MCS-51系列的单片机中增设了全双工串行口I/O、片内数据存储器采用寻址范围为256kb的8位地址、均有四种工作方式的2个16位的定时/计数器、增加了中断系统、增设了颇具特色的布尔处理机、让单片机具有较强的指令寻址和运算功能这些技术,使单片机拥有了完善的外部并行总线(AB、DB、CB)具有多机识别功能的串行通信接口,规范了功能单元的特殊功能寄存器控制模式及适应控制器特点的布尔处理系统和指令系统,位发展具有良好兼容性的新一代单片机奠定了良好的基础。

单片机被广泛地应用在各种领域。

例如用来作家用电器中如洗衣机、电冰箱、微波炉、电饭煲、电视机、录像机以及其他视频音像设备的控制器;在办公室中用作大量通信、信息的承载体,比如磁盘驱动、打印机、复印机、电话等;它还可以来构成电子秤、收款机、仓储安全检测系统、空气调节系统等冷冻保鲜系统等的专用系统;在工业中,像工业过程控制、过程监制以及机电一体化控制等系统都是以单片机为核心火多网络系统;它还可以构成一些智能仪表与集成智能传感器传统的控制电路,实现一些像存储、数据处理、查找、判断、联网和语音功能等智能化功能,还可以构成一些电子系统中的集中显示系统、动力检测控制系统、自动驾驶系统、通信系统以及运行监视器等的冗余网络系统。

1.1.2 定时器介绍人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。

1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。

它利用机械钟带动开关来控制煤气阀门。

定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多,家用电器都安装了定时器来控制开关或工作时间。

1.2 设计要求主要内容和任务:完成单片机最小系统板设计与制作,在此基础上通过编程设计家用多路定时控制器。

目标:通过编写程序,使单片机最小系统具有正常数字钟功能,包括时间校正,具有至少三路定时开关控制功能,每路定时时间可以任意设置。

第二章系统电路设计2.1 设计框架介绍按键输入电路:对定时器输入定时时间、时钟时间,并对其调整。

时钟电路:给单片机一个时钟信号,让其工作。

复位电路:使单片机为初始状态,并从初态开始工作。

数码管:显示时间或者其它。

2.2 系统硬件单元电路设计2.2.1 复位电路设计复位操作有上电自动复位、按键电平复位和外部脉冲复位三钟方式,本次实验用的是按键电平复位,利用电容的充放电公式来选择所需的电容、电阻,能保证复位信号高电平持续时间大于2个机器周期。

2.2.2 时钟电路设计该时钟电路是由晶体振荡器和两个微调电容组成的。

在单片机芯片内部有一个高增益反相放大器,其输入端为引脚XTAL1,其输出端为引脚XTAL2。

只需要在片外通过XTAL1和XTAL2引脚跨接晶体振荡器或在引脚与地之间加接微调电容,形成反馈电路,振荡器即可工作。

由于该晶振使用的是12MHZ的晶体,因此它的时钟周期是0.167us,机器周期为1us。

2.2.3 按键电路设计键K1(图中下方)控制状态的切换:K1为0时,表示出处在正常的计时工作状态;为1,处在校正数字钟的“时”;为2,处在校正数字钟的“分”;为3,处在调整定时起始时间的“时”;为4,处在调整定时起始时间的“分”;为5,处在调整定时终止时间的“时”;为6,处在调整定时终止时间的“分”。

键K2(图中上方)为加号键,控制在各状态时加1。

该系统键扫描的方式为中断扫描方式,当键位上有键压下时,产生中断请求,CPU响应中断,执行中断服务程序,判断键位上压下的键的键号,继而做相应的处理。

2.3 系统硬件总电路第三章系统软件设计3.1 系统软件流程图主程序在执行时,通过单片机内部中断对程序不断的扫描判断、刷新显示,当有键按下时,将数字钟中的时间与定时时间相比较,然后根据比较程序显示状态,并且还要延时消除抖动,之后进行按键处理,从而显示不同的状态,如此周期循环。

3.2 系统程序设计3.2.1 主程序ORG 0000HLJMP START;ORG 0003H;LJMP KEY_1 ;时钟、定时时间修改的切换键ORG 000BHLJMP TO_50ms ;数字钟时间定时器。

每次定时时间为50ms,20次定时为1S,产生数字钟所需要的秒ORG 0013H;LJMP KEY_2 ;时钟、定时时间修改的+号键ORG 0030HSTART: MOV SP,#60H ;初始化堆栈首地址MOV 5FH,#0 ;定时器T0溢出次数单元清零MOV 5EH,#0 ;“秒”计数单元清MOV 5DH,#00 ; 数字钟“分”初始值为0分钟MOV 5CH,#12 ;数字钟“时”初始值设为12点MOV 5BH,#30 ;定时起始时间“分”初始值设为30分MOV 5AH,#11 ;定时起始时间“时”初始值设为11 MOV 50H,#40 ;定时终止时间“分”初始值设40分MOV 4fH,#11 ;定时终止时间“时”初始值设11点MOV 51H,#00H;设置显示方式为:显示正常时间和定时时间的初始时间SETB 20H.0CLR 20H.1;首先显示定时时间的起始时间;中断和定时器初始化MOV TMOD,#00000001H;设定定时器T0工作在定时方式,工作在方式1,16位计数方式SETB IE0;外部中断INT0为边沿触发方式SETB IE1;外部中断INT1为边沿触发方式SETB ET0;允许定时器产生中断SETB EX0;允许外部中断INT0产生中断SETB EX1;允许外部中断INT1产生中断SETB EA;开启所有中断mov p1,#0ffhclr p1.0;定时器初始化MOV TH0,#3CH;设置定时时间常数,定时时间为50msMOV TL0,#0B0H;SETB TR0;启动T0开始定时计数LOOP1: lcall key_1lcall key_2jb 20h.1,loop_qishiLCALL BCD;将数字钟和定时器的时间转换为显示字符码,送相应的字符码存储单元ljmp loopaloop_qishi: lcall bcd1loopa: JB 20H.0,LOOP2;在小时的低位的数码管的小数点每0.5秒闪动一次MOV A,58HANL A,#01111111BMOV 58H,ALJMP LOOP4LOOP2: MOV A,58HORL A,#10000000BMOV 58H,AJB 20H.1,LOOP3;如果处在调整定时终止时间状态,则定时时间“小时”的低位数码管的小数点点亮,否则该小时点熄灭MOV A,54HANL A,#01111111BMOV 54H,ALJMP LOOP4LOOP3: MOV A,54HORL A,#10000000BMOV 54H,ALOOP4: LCALL DISPLAY ;调用显示子程序,显示数字钟时间和定时时间LJMP LOOP1SJMP $KEY_1: jb p1.6 ,key_1k;lcall delay40mslcall delay40mslcall delay40msjb p1.6 ,key_1kMOV A,51HCJNE A,#06H,KEY_1AMOV 51H,#00HSJMP KEY_1endKEY_1A: INC 51Hkey_1end: mov a,51hcjne a,#00h,key_1ccclr 20h.1sjmp key_1kkey_1cc: cjne a,#01h,key_1cclr 20h.1sjmp key_1kkey_1c: cjne a,#02h,key_1dclr 20h.1sjmp key_1kkey_1d: cjne a,#03h,key_1eclr 20h.1sjmp key_1kkey_1e: cjne a,#04h,key_1fclr 20h.1sjmp key_1kkey_1f: cjne a,#05h,key_1hsetb 20h.1sjmp key_1kkey_1h: cjne a,#06h,key_1k setb 20h.1key_1k: RETkey_2: jb p1.7,key_2bb;lcall delay40mslcall delay40mslcall delay40msjb p1.7 ,key_2endMOV A,51HCJNE A,#01H,KEY_2AMOV A,5CHCJNE A,#23,KEY_2BMOV 5CH,#00HLJMP KEY_2ENDKEY_2B: INC 5CHkey_2bb: LJMP KEY_2ENDKEY_2A: CJNE A,#02H,KEY_2C MOV A,5DHCJNE A,#59,KEY_2DMOV 5DH,#00HLJMP KEY_2ENDKEY_2D: INC 5DHLJMP KEY_2ENDKEY_2C: CJNE A,#03H,KEY_2E MOV A,5AHCJNE A,#23,KEY_2FMOV 5AH,#00HLJMP KEY_2ENDKEY_2F: INC 5AHLJMP KEY_2ENDKEY_2E: CJNE A,#04H,KEY_2G MOV A,5BHCJNE A,#59,KEY_2HMOV 5BH,#00HLJMP KEY_2ENDKEY_2H: INC 5BHLJMP KEY_2ENDKEY_2G: CJNE A,#05H,KEY_2I MOV A,4FHCJNE A,#23,KEY_2JMOV 4FH,#00HLJMP KEY_2ENDKEY_2J: INC 4FHLJMP KEY_2ENDKEY_2I: CJNE A,#06H,KEY_2ENDMOV A,50HCJNE A,#59,KEY_2KMOV 50H,#00HLJMP KEY_2ENDKEY_2K: INC 50HKEY_2END: RETBCD: MOV DPTR,#TAB ;设置字符码首地址MOV A,5CH ;取数字钟“小时”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 59H,A ;通过高位的值查表,获得高位数的字符码,并存入59H单元MOV A,BMOVC A,@A+DPTRMOV 58H,A ;通过低位的值查表,获得低位数的字符码,并存入58H单元MOV A,5DH ;取数字钟“分”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 57H,A ;通过高位的值查表,获得高位数的字符码,并存入57H单元MOV A,BMOVC A,@A+DPTRMOV 56H,A ;通过低位的值查表,获得低位数的字符码,并存入56H单元MOV A,5AH ;取定时器“小时”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 55H,A ;通过高位的值查表,获得高位数的字符码,并存入55H单元MOV A,BMOVC A,@A+DPTRMOV 54H,A ;通过低位的值查表,获得低位数的字符码,并存入54H单元MOV A,5BH ;取定时器“分”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 53H,A ;通过高位的值查表,获得高位数的字符码,并存入53H单元MOV A,BMOVC A,@A+DPTRMOV 52H,A ;通过低位的值查表,获得低位数的字符码,并存入52H单元RETBCD1: MOV DPTR,#TAB ;设置字符码首地址MOV A,5CH ;取数字钟“小时”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 59H,A ;通过高位的值查表,获得高位数的字符码,并存入59H单元MOV A,BMOVC A,@A+DPTRMOV 58H,A ;通过低位的值查表,获得低位数的字符码,并存入58H单元MOV A,5DH ;取数字钟“分”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 57H,A ;通过高位的值查表,获得高位数的字符码,并存入57H单元MOV A,BMOVC A,@A+DPTRMOV 56H,A ;通过低位的值查表,获得低位数的字符码,并存入56H单元MOV A,4fH ;取定时器“小时”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 55H,A ;通过高位的值查表,获得高位数的字符码,并存入55H单元MOV A,BMOVC A,@A+DPTRMOV 54H,A ;通过低位的值查表,获得低位数的字符码,并存入54H单元MOV A,50H ;取定时器“分”的值MOV B,#10DIV AB ;分离高位和地位的值,A中存放高位值,B中存放低位的值MOVC A,@A+DPTRMOV 53H,A ;通过高位的值查表,获得高位数的字符码,并存入53H单元MOV A,BMOVC A,@A+DPTRMOV 52H,A ;通过低位的值查表,获得低位数的字符码,并存入52H单元RETDISPLAY: MOV P2,#11111110B ;将数字钟“小时”的高位的字符码送第一个数码管显示MOV P0,59HLCALL DELAY20MS ;显示时间为20msMOV P2,#11111101B ;将数字钟“小时”的低位的字符码送第二个数码管显示MOV P0,58HLCALL DELAY20MS ;显示时间为20msMOV P2,#11111011B ;将数字钟“分”的高位的字符码送第三个数码管显示MOV P0,57HLCALL DELAY20MS ;显示时间为20msMOV P2,#11110111B ;将数字钟“分”的低位的字符码送第四个数码管显示MOV P0,56HLCALL DELAY20MS ;显示时间为20msMOV P2,#11101111B ;将定时器“时”的高位的字符码送第五个数码管显示MOV P0,55HLCALL DELAY20MS ;显示时间为20msMOV P2,#11011111B ;将定时器“时”的低位的字符码送第六个数码管显示MOV P0,54HLCALL DELAY20MS ;显示时间为20msMOV P2,#10111111B ;将定时器“分”的高位的字符码送第七个数码管显示MOV P0,53HLCALL DELAY20MS ;显示时间为20msMOV P2,#01111111B ;将定时器“分”的低位的字符码送第八个数码管显示MOV P0,52HLCALL DELAY20MS ;显示时间为20msRET ;上述显示方式,一直循环,实现动态显示3.2.2 中断程序TO_50ms: CLR TR0;关闭T0中断MOV A,5FH;读中断次数CJNE A,#9,TO_50ms2;判断是否到0.5秒CPL 20h.0;到0.5秒,标志位求反,实现“时”的地位闪动效果,是对秒指示TO_50ms2: CJNE A,#19,TO_50ms1;未到1秒,中断次数加1,退出定时中断MOV 5FH,#00H;到1秒,中断次数单元内容清0,同时转到对“秒”的判CPL 20h.0;到0.5秒,标志位求反,实现“时”的地位闪动效果,是对秒指示SJMP MIAOTO_50ms1: INC 5FHLJMP T0_ENDMIAO: MOV A,5EH;读秒单元内容CJNE A,#59,MIAO1;判断是否到60秒,没有到60秒,则秒单元加1MOV 5EH,#00H;否则秒单元清0,同时转到”分”单元的判断LJMP FENMIAO1: INC 5EHLJMP T0_ENDFEN: MOV A,5DH;读分单元内容CJNE A,#59,FEN1;判断是否到60分,没有到60分,则分单元加1MOV 5DH,#00H;否则分单元清0,同时转到对“时“单元的判断LJMP SHIFEN1: INC 5DHLJMP T0_ENDSHI: MOV A,5CH;读“时”单元内容CJNE A,#23,SHI1;判断是否到24小时,没有到24小时,则时单元加1MOV 5CH,#00H;否则时单元清0,LJMP T0_ENDSHI1: INC 5CHT0_END: SETB TR0;启动T0中断MOV TH0,#3CH;设置定时时间常数,定时时间为50msMOV TL0,#0B0H;RETIDELAY20MS: MOV R7,#10DELAY1: MOV R6,#200DELAY2: DJNZ R6,DELAY2DJNZ R7,DELAY1RETDELAY40MS: MOV R7,#100DELAY3: MOV R6,#200DELAY4: DJNZ R6,DELAY4DJNZ R7,DELAY3RETTAB: DB 40H,79H,24H,30H,19H,12H,02H ;0 1 2 3 4 5 6的字符码 DB 78H,00H,10H,08H,03H,46H,21H,06H,0EH;7 8 9 A B C D E F的字符码TAB1: DB 8CH;P.的字符码TAB2: DB 7FH;空,不显示的字符END第四章实验结果和分析4.1 实验使用的仪器设备电脑,PTOTEUS软件,KEIL软件,电烙铁,吸锡器,钳子,直流电源,电阻,电容等基本元器件。

相关文档
最新文档