实例解析单片机定时器系统硬件单元电路设计

合集下载

单片机定时器的设计

单片机定时器的设计

摘要随着时代的进步,电子行业的发展,定时器的应用也越来越广泛,单片机以其强大的功能,成为许多功能电子产品的首选。

本次电子定时器电路根据设计要求采用AT89C51单片机来实现最大99秒倒计时,采用两位数码管显示。

文章的核心主要是硬件介绍及连接和软件编程两个大的方面。

硬件电路主要包括AT89C51、晶振电路、数码管,发光二级管,按键。

软件用汇编语言实现,主要包括主程序、倒计时、重启控制程序等软件模块。

采用软硬件配合基本能实现设定定时时间倒计时功能,达到了设计的要求和目的。

并在Proteus软件上进行了仿真和调试。

关键词 AT89C51单片机;定时器;倒计时目录摘要……………………………………………………………………………………………第一章绪论.........................................................1.1定时器的发展......................................1.2 电子定时器的应用 ....................................1.3选题的目的和意义.....................................1.4 本章小结第二章单片机的基础知识 (3)2.1单片机简介 (3)2.2单片机的特点 (3)2.3 本章小节第三章功能实现及硬件介绍 (4)3.1 设计功能实现 (4)3.2 C51单片机引脚介绍 (9)3.3时钟和复位电路3.4数码管显示 (10)3.5键盘 (12)3.6电气原理图………………………………………………………3.7本章小结第四章软件设计 (15)4.1 程序流程图 (15)4.2定时1秒设计 (16)4.3重新启动 (17)4.4程序 (17)4.5 本章小结结论................................................................ 参考文献............................................................ 致谢 ...........................................................第一章绪论1.1定时器的发展人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。

单片机课程设计定时器控制4只LED滚动闪烁系统解析

单片机课程设计定时器控制4只LED滚动闪烁系统解析

目录1设计目的1.1设计目的1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。

2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。

1.2设计内容和要求内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。

要求:利用单片机的定时器定时,控制LED显示器显示。

1.3 设计思路1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。

2.了解各个硬件的工作原理,3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。

2设计原理分析2.1十秒秒表的系统设计通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。

每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。

采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。

2.2十秒秒表的功能要求本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。

2.2.1计时显示定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能2.2.2中断设置每累计若干次定时器中断才执行一次闪烁。

2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。

图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。

系统的总体框图如上所示。

因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。

特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。

推荐-单片机的课程设计-30秒定时器

推荐-单片机的课程设计-30秒定时器

目录一、篮球计时器作用 (1)二、设计的具体实现 (1)1.系统概述 (1)1.1总体设计思路及方案 (1)1.2流程图 (2)1.3计数原理 (3)1.4定时器工作方式 (5)2.单元电路设计 (7)2.1 8051单片机 (7)2.2两个基本电路 (9)2.3八段数码管的驱动方式 (12)3.软件程序设计 (13)单片机的定时器设计一、篮球计时器的作用在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。

本课程设计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。

一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。

二、设计的具体实现1.系统概述1.1总体设计思路及方案图1.1.1 总设计图流程图:最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。

单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。

此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。

图1.1.2最小系统1.2计数原理80C51单片机内部设有两个16位的可编程定时器/计数器。

在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。

1.2.1定时器/计数器的结构16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。

每个寄存器均可单独访问。

这些寄存器是用于存放定时或计数初值的。

此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。

这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。

1.2.2定时计数器的原理当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,显然,定时器的定时时间与系统的振荡频率有关。

基于单片机的定时器的设计与实现_毕业设计

基于单片机的定时器的设计与实现_毕业设计

(二 〇 一 二 年 六 月本科毕业设计说明书 题 目:基于单片机的定时器的设计与实现 学生姓名:w w s 学 院:信息工程 系 别:电子信息工程 专 业:电子信息工程 班 级:... 指导教师:...摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

数子时钟在日常生活中最常见,应用也最广泛。

本次做的数子时钟是以单片机(AT89C51)为核心,结合相关的元器件(时钟芯片DS1302、LCD液晶显示器),达到制作简易数字时钟的目的,文章的核心主要是硬件设计和软件编程两个大的方面。

硬件电路设计由包括中央处理单元电路、液晶显示电路、人机接口电路等几部分组成,软件用汇编语言来实现。

其硬件部分难点在于元器件的选择、布局及焊接。

关键词:单片机AT89C51 LCD液晶显示器时钟芯片DS1302AbstractRecent years , the use of singlechip is moving toward deeply with the filter of computer in the society and the development of the large scale integrated circuit. Singlechip is especially equal to the system relation to the control because of its strong funtion 、samll volume、low power consumption、inexpensive price、credibility work and its handy.it is used in the area of automata、Intelligent instrument、appearance、data acquisition、production of war industry 、domestic appliance and so on.the singlechip is used usually as the centerpiece,It can be perfect bases the specific Hardware infrastructureand aim at the integrated hardware and software device of the specific complexion.Digital clock is the most common and the most widely used in our daily lives.The singlechip is the hardcore in the digital clock made in this timethe digital clock can reach the purpose of facility digital clock with the correlation parts of an apparatus(Real Time Clock chip DS1302, Display-panel LCD an so on) To achieve the purpose of making simple digital clock.The core part of this article incluedes two aspeacts, one is hardware design,the other is software programming. The hardware design circuit consists of the central processing unit circuit、the liquid crystal display circuit、the man-machine interface circuit.The difficulites of the hardware part are choice and layout of components,and the components of welding.Keywords: singlechip AT89C51 real time clock chip DS1302, LCD Monitor目录引言 (1)第一章硬件介绍 (3)1.1AT89C51简介 (3)1.2AT89C51结构图 (5)1.3DS1302时钟芯片简介 (5)1.4 LCD1602液晶显示器简介 (8)1.4.1 概述 (8)1.4.2 LCD1602 (9)第二章硬件设计 (13)2.1系统硬件框图 (13)2.1.1框图说明: (13)2.2电路原理图 (14)2.2.1系统电路说明 (15)第三章软件设计 (18)3.1程序流程图 (18)3.2软件仿真图 (19)3.2按键功能子程序流程图 (20)总结 (21)参考文献 (22)附录 (23)源程序 (23)致谢 (49)引言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于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课题背景及研究意义进入信息时代,计算机的影子无处不在,带有像单片机一类嵌入式处理器的小型智能化电子产品,已经成为家用电器的主流,市场需求前景广阔,因此,掌握小型单片机应用系统设计方法,已成为当今电子应用工程师所必备的技能,定时闹钟具备小型单片机应用系统的一切要素,其结构简单、成本低廉、走时精确、设置方便,所以智能化方面有广泛的用途。

单片机课程设计基于单片机的定时器设计

单片机课程设计基于单片机的定时器设计

一、设计要求 (2)1.1 设计内容及要求 (2)1.2 设计方案及思路 (2)二、系统硬件设计 (2)2.1 硬件电路的总体设计方案及框图 (2)2.2 各单元硬件设计 (3)2.2..1 复位电路设计 (3)2.2.2 时钟电路设计 (3)2.2.3 显示电路设计 (4)2.2.4 主要硬件元器件介绍 (4)2.3 EDA辅助设计 (6)2.3.1 定时器的原理图 (6)2.3.2 定时器的PCB图 (6)三、系统软件设计 (9)3.1 主程序流程图 (9)3.2定时子程序流程图 (9)3.3 定时器完整程序 (12)四、系统软件仿真 (15)五、总结 (17)六、参考文献 (17)附录一:七段数码管字型码 (18)附录二:元器件清单 (18)摘要:本次课程设计是基于8051单片机控制的电子定时器设计。

设计中应用了单片中断及LED显示等技术,经历了方案设计、电路硬件设计、软件设计、软件仿真等过程,经过此次课程设计掌握了单片机应用系统的设计过程,单片机应用系统的设计流程如图所示:一、设计要求1.1 设计内容及要求以89C51单片机为核心,设计一个定时器,4位LED显示,分别显示10分,分,10秒,秒。

定时范围从1秒到59分59秒,有按键设置定时时间,按开始键后开始计时,每过一秒刷新一次定时时间,若计时时间到,停止计时,并在LED上显示定时的时间。

仪器工作过程:1、通电或复位状态显示0000;2、由按键设置定时时间;3、定时开始键按下,开始定时,每一秒刷新一次计时时间;4、定时时间到,停止计时,4位LED显示设定时间;5、复位后恢复初始状态,准备进行下一次定时。

1.2 设计方案及思路根据设计要求,本系统初步设定由单片机系统、键0——3、LED显示组成。

1、按键的输入:键0——3四个键作为时间设定的控制键,由P1口输入2、定时的显示电路:8051显示电路由4位共阴极数码管显示,由8051的串行口输出,并通过74LS164八位移位寄存器输入给数码管二、系统硬件设计2.1 硬件电路的总体设计方案及框图设计一个控制系统总体设计方案很重要,关系设计接下来的操作程序,一下就是本设计的总体框架。

用单片机制作的定时开关控制器

用单片机制作的定时开关控制器

用单片机制作的定时开关控制器定时开关控制器在各种场合都有着极为广泛的用途。

本文利用凯思迪公司的k-51a单片机实验板设计的定时开关控制器具有简单易制、价格低廉、控制点数多、控制时间可精确到秒等特点,供有兴趣的朋友参考。

1.主板电路部分本电路主要是利用单片机at89c2051(-24pi)作为主控制元件,通过外围电路控制用电设备的电源,以达到定时开、关机的目的。

at89c2051具有体积小、功能强大、运行速度快、价格低廉等优点,非常适合制作集成度较高的控制电路。

图1为主电路原理图,图2为按其制作的主板(双面)大小只有95mm×70mm的器件位置图。

主板电路包括mcuat89c2051、键盘与显示、输入与输出口、复位和电源滤波等电路组成。

(1)键盘与表明表明电路由u2、u3、q1~q7和l1a、l2a共同组成。

u2为bcd-7段译码器(74ls47),通过单片机u1的p1.4~p1.7口将要显示字符的bcd码输入至u2的四个输出端的,经u2译码后输入适当的笔段驱动led数码管(共阳)。

led数码管表明使用动态读取方式,即为在某一时刻,只有一个数码管被照亮。

数码管的位选信号由单片机u1的p3.3~p3.5输入,经u3(74hc138)译码后通过q1~q6压缩,驱动适当的数码管。

r17~r24为限流电阻。

由于u2只能输出7段笔段码,而数码管除了七段笔段外,还要控制点亮小数点,因此,小数点必须有另外的驱动电路来完成,在这里,通过q7来驱动小数点。

当需要点亮小数点时,在u1的p1.3输出高电平即可。

键盘电路跟显示电路一样,采用扫描方式,利用动态显示时的数码管驱动位置信号来判断相应按键的状态。

u1的p3.3~p3.5口输出的bcd码经u3译码后,相应y口呈低电平,而u1的p3.7口平时为高电平(由于r8上拉),当某一键按下时,p3.7被下拉为低电平,这时mcu利用程序查询p3.7是否为低电平,如果p3.7为低电平,就读回u1p3.3~p3.5口的值(从缓冲区读取),则可判断是哪个按键按下,然后调用相应的处理程序进行处理。

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

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

第一章单片机的简介一个8位的80c51微处理器,片内256字节数据存储器RAM/SFR,用以存放可以读写的数据,如运算的中间结果,最终结果以及欲显示的数据;片内4kb程序存储器Flash ROM,用以存放程序,一些原始数据和表格;4个8位并行I/O 口P0~P3,每个端口既可用作输入,也可用作输出;两个16位的定时器/计数器,每个定时器/计数器都可设置成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或者定时的结果实现计算机控制;具有5个中断源,两个中断优先级的中断控制系统;一个全双工UART(通用异步接受发送器)的串行I/O口,用于实现单片机之间或者单片机与PC机之间的串行通信;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许震荡频率为24MHz;89c51与80c51相比具有节电工作方式,即休闲方式及掉电方式。

1.1中央处理器(CPU):CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。

1.1.1 运算器:运算器用来完成算术运算和逻辑运算功能,它是 89C51内部处理各种信息的主要部件。

运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组成。

算术逻辑单元(ALU): 89C51中的ALU由加法器和一个布尔处理器组成。

累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。

暂存寄存器(TMP1、TMP2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。

状态寄存器(PSW):PSW是一个8位标志寄存器,用来存放ALU操作结果的有关状态。

1.1.2控制器:控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。

控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID和定时控制逻辑电路等构成。

程序计数器PC是专门用于存放现行指令的16位地址的。

单片机课程设计——单片机定时器实验

单片机课程设计——单片机定时器实验
T1:定时/计数器1中断
TI/RI:串行I/O中断
1)中断允许寄存器:IE(1:允许;0:不允许)
2)TF1:定时器T1溢出中断请求。当定时器T1产生溢出时,定时器T1中断请求标志位(TCON.7)置位(由硬件自动执行),请求中断处理。
3)中断处理过程
包含:中断请求、中断响应、中断服务、中断返回四个阶段.。
}
}
(四)仿真结果
(1)第1秒钟
除了读方式外,2716还有如下工作方式:
(2)禁止方式;
(3)备用方式;
(4)写入方式;
(5)校核方式;
图4-14 Intel2716读时序波形
(6)编程。
设计步骤
(一)原理
以2716为8031程序存储,用P1控制LED灯。
(二)实验电路图及连接
(三)实验程序设计框图及程序清单
(1)实验程序设计框图如下:
(2)实验目的:
1)学习8031内部计数器的使用和编程方法。
2)掌握中断处理程序的编程方法。
(3)设计要求:
1)实验电路及连接。
2)实验程序设计框图及程序清单。
3)验证实验可靠性。
主要芯片简介
8031单片机简介
(一)8031单片机的引脚
(1)主电源引脚Vss和Vcc
1)Vss接地
2)Vcc正常操作时为+5伏电源
(二)8031单片机的定时器和中断
8031片内有两个16位定时/计数器(增量式计数)
(1)工作方式(方式0、方式1、方式2、方式3)
方式1(16位定时/计数)
(2)控制寄存器
1)定时/计数器方式控制寄存器:TMOD
2)定时/计数器控制寄存器:TCON
TF1,TF0:定时/计数器中断请求标志,1:有请求;0:无请求

微型计算机课程设计-51单片机时钟电路设计

微型计算机课程设计-51单片机时钟电路设计

微型计算机课程设计
51









一.设计框架
设计思路:AT89C52单片机作为程序处理器控制外围设备,由数码管作为显示输出模块显示时间,蜂鸣器作为提醒输出发出闹钟定时响声,通过按键来调节设定时间;其次还要有最小系统与电源提供基本保障。

二.各部分电路设计
1.AT89C52最小系统
(1)复位电路
(2)晶振电路
2.数码管显示电路
其中,数码管位选由P1口通过芯片74H573控制,其作用是增强IO口驱动能力。

3.蜂鸣器电路
需要用一个三极管提供驱动能力。

4.按键电路
用三个按键分别进行时,分,秒的设定。

三.总设计电路。

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

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

基于51单片机的定时器设计1.设计要求:以89C51单片机为核心,设计一个定时器,4位数码管显示,分别显示10分,分,10秒,秒。

定时范围从1秒到59分59秒,由按键设置定时时间,按开始键后开始计时,每过一秒刷新一次计时时间,若计时时间到,停止计时,并在数码管上显示定时时间,同时LED灯闪烁,蜂鸣器响,提示时间到。

2.仪器工作过程:a)通电或复位状态显示00.00;b)由按键设置定时时间;c)定时开始键按下后,开始定时,每一秒刷新一次计时时间;d)定时时间到,停止计时,4位数码管显示设定的时间,同时LED灯闪烁,蜂鸣器响,提示时间到。

3.硬件电路图:图1:单片机最小系统电路图2:数码管显示电路图3:按键、LED、蜂鸣器电路4.源程序:////////////////////////--基于51单片机的定时器程序设计--///////////////制作人:李上峰//班级:测控1004班//学号:201005010425//版本号: 1.0.1//制作时间:2013.5.31//单位:西安石油大学//版权所有,转载请注明出处。

/////////////////////////////////////////////////////////////////////////////////////////////******************************************************************** 功能说明:1.四个独立按键控制各自的数码管,能独立的进行显示数码的更改;2.设置好定时时间后,按开始按键后,开始定时。

3.到达定时时间后,数码管显示定时时间,同时LED灯闪烁,蜂鸣器报警。

*******************************************************************/ /******************************************************************* 单片机资源分配说明:1.P1口对应四位数码管段选信号;2.P2.0~P2.4:对应按键KEY0~KEY4;3.P3.0~P3.3:对应四位数码管的位选通信号;(实际使用PNP三极管加强IO口的驱动能力)4.LED灯对应P3.4;蜂鸣器对应P3.5;********************************************************************/ //头文件#include<reg52.h>#include <intrins.h>//类型重定义typedef unsigned char INT8U;typedef unsigned int INT16U;//不带小数点的:0、1、2、3、4、5、6、7、8、9INT8U code tab1[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//带小数点的:0、1、2、3、4、5、6、7、8、9INT8U code tab2[] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// sbit KEY0 = P2^0;//启动定时器按键sbit KEY1 = P2^1;//调节第一个数码管数值按键sbit KEY2 = P2^2;//调节第二个数码管数值按键sbit KEY3 = P2^3;//调节第三个数码管数值按键sbit KEY4 = P2^4;//调节第四个数码管数值按键sbit SMG1 = P3^0;//第一位数码管选通信号:“0”表示选通;sbit SMG2 = P3^1;//第二位数码管选通信号:“0”表示选通;sbit SMG3 = P3^2;//第三位数码管选通信号:“0”表示选通;sbit SMG4 = P3^3;//第四位数码管选通信号:“0”表示选通;sbit LED = P3^4;//LED灯控制端sbit BUZ = P3^5;//蜂鸣器控制端/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //数码管数据显示子程序void display(INT8U ge,INT8U shi,INT8U bai,INT8U qian);//按键检测子程序void anjian(void);INT8U counter1 = 0,counter2 = 0;INT8U flag = 0;///////////////////////////////////////////////////////////////////////////void exdelay()//简单延时子程序{INT8U i = 5;while(i--);}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////INT8U ge,shi,bai,qian;INT8U g = 0,s = 0,b = 0,q = 0;int main(){ge = 0,shi = 0,bai = 0,qian = 0;//数码管显示清零EA = 1; //开总中断ET0 = 1; //开定时器0中断ET1 = 1; //开定时器1中断TH0 = 0x3c; //定时器赋初值TL0 = 0xb0;TH1 = 0x3c;TL1 = 0xb0;LED = 1; //初始化LED灯BUZ = 1; //蜂鸣器初始化while(1){if (KEY0 == 0) exdelay();//启动定时器按键检测if(KEY0 == 0) //如果按键0确认按下{TR0 = 1;//启动定时器0while(1){if (flag == 1){flag = 0;if ((g == ge) && (s == shi) && (b == bai) && (q == qian)){TR0 = 0;TR1 = 1;while(1){display(g,s,b,q);}}g++;if (g == 10){g = 0;s++;if (s == 6){s = 0;b++;if (b == 10){b = 0;q++;if (q == qian){q == qian,b = bai,s = shi,g = ge;}}}}}display(g,s,b,q);}}anjian();}return 0;}///////////////////////////////////////////////////////////////////////////////////////////////////////////////// void anjian(void){INT16U a;a = 500;if (KEY1 == 0) exdelay();if(KEY1 == 0){ge++;if (ge == 10){ge = 0;}}if (KEY2 == 0) exdelay();if (KEY2 == 0){shi++;if (shi == 6){shi = 0;}}if (KEY3 == 0) exdelay();if (KEY3 == 0){bai++;if (bai == 10){bai = 0;}}if (KEY4 == 0) exdelay();if (KEY4 == 0){qian++;if (qian == 6){qian = 0;}}while(a--){display(ge,shi,bai,qian);}}///////////////////////////////////////////////////////////////////////////////////////////// //数码管动态扫描子程序void display(INT8U ge,INT8U shi,INT8U bai,INT8U qian) {SMG1 = 0;P1 = tab1[ge];exdelay();P1 = 0xff;SMG1 = 1;SMG2 = 0;P1 = tab1[shi];exdelay();P1 = 0xff;SMG2 = 1;SMG3 = 0;P1 = tab2[bai];exdelay();P1 = 0xff;SMG3 = 1;SMG4 = 0;P1 = tab1[qian];exdelay();P1 = 0xff;SMG4 = 1;}////////////////定时器0中断服务子程序///////////////////////////void timer0(void) interrupt 1{counter1++;TH0 = 0x3c;TL0 = 0xb0;if (counter1 == 150){counter1 = 0;flag = 1;}}///////////////定时器1中断服务子程序///////////////////////////void time1(void) interrupt 3{TH1 = 0x3c;TL1 = 0xb0;counter2++;if(counter2 == 50){counter2 = 0;LED = ~LED;BUZ = ~BUZ;}}(说明:本意是定时器每次定时50ms,但是在做出硬件后,发现计数值设置为20时根本就达不到1s,在经过多次调试计数值,大约定时在1s左右。

单片机课程设计(家用多功能定时器设计与制作)

单片机课程设计(家用多功能定时器设计与制作)

《单片机技术》课程设计报告项目名称:家用多功能定时器设计与制作第一章绪论1.1设计任务及目标本次课程设计的任务如下:1,完成单片机最小系统板设计与制作。

2,编程设计家用多路定时控制器目标:1,具有正常数字钟功能,包括时间校正,具有至少三路定时开关控制功能,每路定时时间可以任意设置2,自主创新的功能。

第二章系统电路设计2.1 系统总体设计框架结构2.2 系统硬件单元电路设计2.2.1 时钟电路设计该电路为时钟电路,主要功能为:与单片机内部振荡器构成振荡电路,为单片机工作提供时序。

晶体是12MHz,电容选用33pf,时钟周期为1/12us,机器周期为1/12*12=1us2.2.2 复位电路设计电阻为10k,电容为0.1uf,由于电容的阻抗对直流而言比较大,当复位开关未按下时,通过电容和电阻分压使得RESET端为低电平,当按下复位键时,通过两个电阻分压在RESET为高电平,从而实现复位.电阻的作用不是限制电流的大小,而是控制复位时间.电容充电时间与R C的值成正比.2.2.3 按键电路设计按键电路为2行6列式矩阵键盘,例如,Shift键将Y0与Line1连接起来,当Y0口为低电平时,如果此时检测到Line1为低电平,则唯一说明Shift键按下,此时记录当前按键键值为1.2.3 系统硬件总电路系统总体电路图第三章 系统软件设计3.1 系统软件流程图主程序流程图主程序在初始化参数后进入while 循环,不断调用子程序进行刷新缓冲区,刷新显示LED ,定时时间检测,按键处理等操作。

定时器0中断计时子程序流程图:定时器0中断主要用于计时,首先设定一次中断所需的时间,这里为50MS,故初始值为TH0=0x3C; TL0=0xB0;检测50ms计数单元是否加满10次,若是,则LED取反闪烁,若不是则跳过。

检测50ms计数单元是否加满20次,若是,则秒计数单元+1,若不是则结束。

检测秒计数单元是否加满60次,若是,则分计数单元+1,若不是则结束。

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

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

重庆三峡学院毕 业 设 计题目基于51单片机定时器的设计与实现院系电子与信息工程学院专业电子信息工程年级2011级学生姓名学生学号指导教师职称完成毕业设计(论文)时间2015 年1目录摘要 (4)关键词 (4)第一章引言 (6)1.1 选题背景 (6)1.2 选题现状 (6)1.3选题意义 (7)第二章系统设计方案 (8)2.1 课题研究内容 (8)2.2 技术方案的选择 (8)2.2.1 单片机选型 (8)2.2.2 时钟芯片选型 (8)2.2.3 液晶选择 (9)第三章硬件系统的设计 (9)3.1 系统硬件框图 (9)3.2 硬件介绍 (10)3.2.1 AT89C51简介 (10)3.2.2 DS1302时钟芯片简介 (11)3.2.3 LCD1602液晶显示器简介 (14)3.3 电路原理图 (15)3.3.1 系统电路说明 (16)第四章软件设计 (19)4.1 程序流程图 (19)4.2 时间设置的子程序流程图 (24)4.3 按钮子程序流程图 (26)4.4 定时时间设置子程序 (28)第五章系统的测试 (29)5.1 时间读取测试 (29)5.2 定时功能测试 (29)第六章总结 (31)致谢 (32)参考文献 (33)附录 .....................................................................3基于51单片机定时器的设计与实现重庆三峡学院电子与信息工程学院电子信息工程专业重庆万州 404000摘要本设计是一款关于数字时钟开关的设计方案。

该方案使用AT89C51为主控,该单片机属于51单片机,但是用法简单,功能全面,成本低廉。

最重要的是,他满足数字时钟的硬件设计要求。

AT89C51通过与时钟芯片DS1302进行“三线通讯”并交换时间数据,AT89C51可对DS1302读写操作,需要注意的时是,DS1302写操作前,需要关闭写保护,写完之后需要开启写保护。

基于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单片机定时器的电子时钟设计步骤,包括硬件设计和软件编程。

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

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

单片机实训at89c51电子时钟电路图

单片机实训at89c51电子时钟电路图

at89c51电子时钟电路图:1.功能:1 开机时,显示12:00:00的时间开始计时;2 P0.0/AD0控制“秒”的调整,每按一次加1秒;3 P0.1/AD1控制“分”的调整,每按一次加1分;4 P0.2/AD2控制“时”的调整,每按一次加1个小时;源程序:3.系统板上硬件连线(1)把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;(2)把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3)把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;4. 汇编源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT P0.0MINITEK BIT P0.1SECONDK BIT P0.2DISPBUF 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 DISPMOV TMOD,#01HMOV TH0,#(65536-2000) / 256MOV TL0,#(65536-2000) MOD 256SETB TR0SETB ET0SETB EAWT: JB SECONDK,NK1LCALL DELY10MSJB SECONDK,NK1INC SECONDMOV A,SECONDCJNE A,#60,NS60 MOV SECOND,#00H NS60: LCALL DISP JNB SECONDK,$NK1: JB MINITEK,NK2 LCALL DELY10MSJB MINITEK,NK2 INC MINITEMOV A,MINITE CJNE A,#60,NM60 MOV MINITE,#00H NM60: LCALL DISP JNB MINITEK,$NK2: JB HOURK,NK3 LCALL DELY10MSJB HOURK,NK3INC HOURMOV A,HOUR CJNE A,#24,NH24 MOV HOUR,#00H NH24: LCALL DISP JNB HOURK,$NK3: LJMP WT DELY10MS:MOV R6,#10D1: MOV R7,#248 DJNZ R7,$DJNZ R6,D1RETDISP:MOV A,#DISPBUF ADD A,#8DEC AMOV R1,AMOV A,HOURMOV B,#10DIV ABMOV @R1,ADEC R1MOV A,BMOV @R1,ADEC R1MOV A,#10MOV@R1,ADEC R1MOV A,MINITEMOV B,#10DIV ABMOV @R1,ADEC R1MOV A,BMOV @R1,ADEC R1MOV A,#10MOV@R1,ADEC R1MOV A,SECONDMOV B,#10DIV ABMOV @R1,ADEC R1MOV A,BMOV @R1,ADEC R1RETINT_T0:MOV TH0,#(65536-2000) / 256 MOV TL0,#(65536-2000) MOD 256 MOV A,#DISPBUFADD A,DISPBITMOV R0,AMOV A,@R0MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P1,AMOV A,DISPBITMOV DPTR,#TABMOVC A,@A+DPTRMOV P3,AINC DISPBITMOV A,DISPBITCJNE A,#08H,KNAMOV DISPBIT,#00HKNA: INC T2SCNTAMOV A,T2SCNTACJNE A,#100,DONEMOV T2SCNTA,#00HINC T2SCNTBMOV A,T2SCNTBCJNE A,#05H,DONEMOV T2SCNTB,#00HINC SECONDMOV A,SECONDCJNE A,#60,NEXTMOV SECOND,#00HINC MINITEMOV A,MINITECJNE A,#60,NEXTMOV MINITE,#00HINC HOURMOV A,HOURCJNE A,#24,NEXTMOV HOUR,#00HNEXT: LCALL DISPDONE: RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH END。

基于单片机精确计时的电源开关程序的硬件系统的设计

基于单片机精确计时的电源开关程序的硬件系统的设计

基于单片机精确计时的电源开关程序的硬件系统的设计2.1. 设计方案1. 选择DS1307芯片作为系统的时钟/日历,当前时间可从DS1307芯片中读出2、系统显示采用8位LED数码管。

LED数码管的段码输入由P0产生、位码输入由P2产生3、时间调整与定时时间的输入通过接入键盘电路实现。

设计4个键,分别定义为:(1) SET键(时间调整设置键):其功能是当该键按下时,进入时间调整功能(2) ALM键(定时时间设置键):其功能是当该键按下时,进入定时时间输入功能(3)+1键:其功能是当该键按下时,被调整位加一(4) RET键:其功能是当该键按下时,指向下一个要调整的位5、报警声响用蜂鸣器产生,蜂鸣器接入P1口的P1.6脚6、外部电源的通断用小型中功率电磁继电器JZC_23F来完成这个功能,继电器触点的断开与接通,通过P1口的P1.7脚控制2.2. 硬件设计电路框图根据设计方案,硬件电路设计框图如下图所示:硬件电路结构由8个部分组成:按键输入电路、时钟与复位电路、蜂鸣器电路、LED显示器及驱动电路、继电器电路和时钟/日历电路组成。

如图 2.1所示:图2.1 硬件设计电路框图2.3. 机型及器件选择2.3.1. 单片机的选择在此选择ATMEL公司生产的型号为AT89S51的单片机。

该单片机与MCS-51系列单片机完全兼容,是ATMEL公司最新推出的替代AT89C51系列的新款机型,比AT89C51系列又增加了WTD、ISP等功能,物美价廉,经济实用,并且使用起来更加方便。

2.3.2. 时钟电路的设计单片机工作的时间基准是由时钟电路提供的。

在单片机的XTAL0和XTAL1两个引角之间,接一只晶振及两只电容就构成了单片机的时钟电路。

如图 2.2 所示:图 2.2 时钟电路电路中,电容器C1和C2可以对晶振有微调作用,通常的取值范围是30±10pF晶振选择12MHz2.3.3. 复位电路的设计单片机的RST引脚为主机提供一个外部复位信号输入端口。

利用单片机设计定时器

利用单片机设计定时器

二﹑系统硬件设计2.1硬件电路的总体设计方案以及框图设计一个一个定时器的总体方案是很重要,其设计的好坏以及复杂程度将来直接影响程序的设计,以下就是设计的总体方案。

按照设计要求,确定硬件电路的总体设计框图:以8031单片机为核心的控制电路,此定时器电路有复位电路,时钟电路,按键输入,显示电路等组成,以后将会具体说明。

2.2各个单元硬件设计2.21复位电路设计复位是单片机得一个重要的工作状态,在单片机开始工作是需要复位,以保证单片机和系统中其他部件处于某种确定的初始状态。

在振荡器的作用下,在RESET引脚上保持两个以上的机器周期的高电平,就可以使其可靠的复位。

有两种形式的复位电路:上电自动复位和按钮开关复位电路(如下图所示)在本系统中使用上电复位。

22.2.2时钟电路的设计8031单片机芯片内部集成了一个高增益的反相放大器用于构成振荡器,为单片机提供工作时所需要的时钟,引脚分别为XTAL1和XTAL2.有内部方式和外部方式两个形式产生单片机所需的时钟信号。

(1)内部方式如图所示,利用单片机芯片上提供的反相放大器,在XTAL1和XTAL2之间接振荡源,自激振荡器与单片机内部的时钟发生器构成时钟电路,有OSC和两个电容组成。

3(1)外部方式对于外部的时钟信号源没有特殊的要求,但是需要保证脉冲宽度,一般采用频率为1.2-12MHZ,如上图所示。

2.2.3显示电路设计8031显示电路有4个共阴极数码管显示,有串行口输出,并通过74LS164八位寄存器输给数码管,如图2.2.4主要元器件介绍(1)单片机MCS-8031芯片8031单片引脚如图1 主电源引脚VCC和VSSVCC——————40脚接+5V电压VSS ----------------------20脚接地42 外接晶体引脚XTAL1和XTAL2(1)XTAL1(19脚):接外部晶体的一个引脚。

在单片机内部,它是反向放大器的的输入端。

这个放大器构成了片内振荡器。

单片机时钟电路的设计

单片机时钟电路的设计

单片机时钟电路的设计1.时钟结构与原理单片机时钟的结构部分主要分为硬件和软件两部分。

其中硬件部分比较简单,主要89c51单片机,LED,数码管和按键开关组成,如下图所示。

单片机p0端口接有4为共阳极LED数码管显示器。

数码管的8个引脚依照a,b,c,d,e,f,g,dp 顺序依次与p0端口的8个引脚相连,,R是电阻。

限流电阻p0端口上。

使用方法:P1.1为暂停键,按下后开始进行设置时间,p1.4设置秒,p1.3设置分,p1.2设置时,p1.5为运行键。

基本原理:时钟一般由走时显示和调整时间3项基本功能组成,这些功能在单片机时钟主要由软件设计体现出来。

其中,走时部分利用单片机离得定时/计数器产生的中断。

例如,设置定时器在T0工作模式0状态下,设置每隔5ms中断一次,中断200次正好是一秒。

中断服务程序里记载着中断的次数,中断200次为1秒,60秒为1分,60分为一小时,24小时为一天。

时钟的显示是使用4为LED数码管,其软件设计原理是:由中断产生的秒,分,小时,经转换子程序转换为适应LED数码管显示的数据,并通过单片机的输出功能输入到数码管显示器,再经过显示器扫描程序,显示出时钟的走时时间。

调整时间是利用了单片机的输入功能,把按键开关作为单片机的输入信号,通过检测被按下的开关,从而执行赋予该开关调整时间。

因此,在设计程序时把单片机时钟功能分解为走时,显示和调整时间3个主要部分,每一部分的功能通过编写相应的程序来完成,然后再通过主程序调用子程序,使这3部分有机的连在一起,完成单机片的时钟设计调整时间的设置:M1: JB K2,M2 ;未按下k1建,则继续扫描JMP LOOPM2: JB K3,M3 ; 未按下k2建,则继续扫描JMP LOOPM3: JB K4,M4JMP LOOPM4: JB K5,M5JMP LOOPM5: JMP LOOP走时功能的设计:T0_SRV: PUSH ACCMOV TL0,#(8192-4900)MOD 32MOV TH0,#(8192-4900)/32INC DEDAMOV A,DEDACJNE A,#200,TT1MOV DEDA,#0INC SECMOV A,SECCJNE A,#60,TT1INC MINMOV SEC,#0MOV A,MINCJNE A,#60,TT1INC HOURMOV MIN,#0MOV A,HOURCJNE A,#24,TT1MOV SEC,#0MOV MIN,#0MOV HOUR,#0TT1:POP ACCRETI显示功能的设计:CONV: ;转换小时数据MOV A,HOURMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF,AMOV A,BMOVC A,@A+DPTRMOV BUF+1,A;转换分数据MOV A,MINMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF+2,AMOV A,BMOVC A,@A+DPTRMOV BUF+3,A;转换秒数据MOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF+4,AMOV A,BMOVC A,@A+DPTRMOV BUF+5,ARETTABLE:DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,6FHDISP:MOV R0,#BUF ;指向显示器显示缓冲区起始地址MOV R2,#6MOV ACC,#11111110BS1:PUSH ACCMOV A,@R0MOV P0,APOP ACCACALL DELAY1MOV P2,ACCRL A ;向右移动一位INC R0DJNZ R2,S1RETSET_TIME:CLR TR0MOV SEC,#0L0:ACALL DISPJB K2,L1JNB K2,$INC HOURMOV A,HOURCJNE A,#24,L11MOV HOUR,#0L11:ACALL CONV ;小时的设置ACALL DISPJMP L0L1: ; 分的设置JB K3,L2JNB K3,$INC MINMOV A,MINCJNE A,#60,L21MOV MIN,#0L21:ACALL CONVACALL DISPJMP L0L2:JB K4,L3 ;秒的设置JNB K4,$INC SECMOV A,SECCJNE A,#60,L22MOV SEC,#0L22:ACALL CONVACALL DISPJMP L0L3:JB K5,L0JNB K5,$//ACALL LED_BLSETB TR0RET实现调整时间子程序:BUF EQU 30HHOUR EQU 36HMIN EQU 37HSEC EQU 38HDEDA EQU 39H;K1 EQU P1.1K2 EQU P1.2K3 EQU P1.3K4 EQU P1.4K5 EQU P1.5;程序开始执行地址ORG 00HJMP MAINORG 0BHJMP T0_SRV; 主程序MAIN://////////时钟初始化////////////MOV TMOD,#00HMOV IE,#82HMOV TL0,#(8192-5000)MOD 32MOV TH0,#(8192-5000)/32SETB TR0MOV HOUR,#0MOV MIN,#0MOV SEC,#0MOV DEDA,#0;加载显示器初始数据MOV A,#3FHMOV P0,A;无穷循环LOOP:ACALL CONVACALL DISPJB K1,M1ACALL SET_TIMEJMP LOOP; 实现走时功能的子程序T0_SRV:PUSH ACCMOV TL0,#(8192-4900)MOD 32MOV TH0,#(8192-4900)/32INC DEDAMOV A,DEDACJNE A,#200,TT1MOV DEDA,#0INC SECMOV A,SECCJNE A,#60,TT1INC MINMOV SEC,#0MOV A,MINCJNE A,#60,TT1INC HOURMOV MIN,#0MOV A,HOURCJNE A,#24,TT1MOV SEC,#0MOV MIN,#0MOV HOUR,#0TT1:POP ACCRETI实现显示功能的子程序CONV:;转换小时数据MOV A,HOURMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF,AMOV A,BMOVC A,@A+DPTRMOV BUF+1,A;转换分数据MOV A,MINMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF+2,AMOV A,BMOVC A,@A+DPTRMOV BUF+3,A;转换秒数据MOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF+4,AMOV A,BMOVC A,@A+DPTRMOV BUF+5,ARETTABLE:DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,6FHDISP:MOV R0,#BUF ;指向显示器显示缓冲区起始地址MOV R2,#6MOV ACC,#11111110BS1:PUSH ACCMOV A,@R0MOV P0,APOP ACCACALL DELAY1MOV P2,ACCRL A ;向右移动一位INC R0DJNZ R2,S1RET实现调整时间子程序SET_TIME:CLR TR0MOV SEC,#0L0:ACALL DISPJB K2,L1JNB K2,$INC HOURMOV A,HOURCJNE A,#24,L11MOV HOUR,#0L11:ACALL CONV ;小时的设置ACALL DISPJMP L0L1: ; 分的设置JB K3,L2JNB K3,$INC MINMOV A,MINCJNE A,#60,L21MOV MIN,#0L21:ACALL CONVACALL DISPJMP L0L2:JB K4,L3 ;秒的设置JNB K4,$INC SECMOV A,SECCJNE A,#60,L22MOV SEC,#0L22:ACALL CONVACALL DISPJMP L0L3:JB K5,L0JNB K5,$//ACALL LED_BLSETB TR0RETDELAY:MOV R6,#10D1:MOV R7,#100DJNZ R7,$DJNZ R6,D1DJNZ R5,DELAYRETDELAY1:MOV R6,#50D2:MOV R7,#50DJNZ R7,$DJNZ R6,D2RETEND延时子程序:DELAY: MOV R6,#10D1:MOV R7,#100DJNZ R7,$DJNZ R6,D1DJNZ R5,DELAYRETDELAY1:MOV R6,#50D2:MOV R7,#50DJNZ R7,$DJNZ R6,D2RET总程序为:BUF EQU 30HHOUR EQU 36HMIN EQU 37HSEC EQU 38HDEDA EQU 39H;K1 EQU P1.1K2 EQU P1.2K3 EQU P1.3K4 EQU P1.4K5 EQU P1.5;程序开始执行地址ORG 00HJMP MAINORG 0BHJMP T0_SRV; 主程序MAIN://////////时钟初始化////////////MOV TMOD,#00HMOV IE,#82HMOV TL0,#(8192-5000)MOD 32MOV TH0,#(8192-5000)/32SETB TR0MOV HOUR,#0MOV MIN,#0MOV SEC,#0MOV DEDA,#0;加载显示器初始数据MOV A,#3FHMOV P0,A;无穷循环LOOP:ACALL CONVACALL DISPJB K1,M1ACALL SET_TIMEJMP LOOP//////////////////////////////////////////////////////////////////////////////////////////M1: JB K2,M2 ;未按下k1建,则继续扫描JMP LOOPM2: JB K3,M3 ; 未按下k2建,则继续扫描JMP LOOPM3: JB K4,M4JMP LOOPM4: JB K5,M5JMP LOOPM5: JMP LOOP; 实现走时功能的子程序T0_SRV:PUSH ACCMOV TL0,#(8192-4900)MOD 32 MOV TH0,#(8192-4900)/32 INC DEDAMOV A,DEDACJNE A,#200,TT1MOV DEDA,#0INC SECMOV A,SECCJNE A,#60,TT1INC MINMOV SEC,#0MOV A,MINCJNE A,#60,TT1INC HOURMOV MIN,#0MOV A,HOURCJNE A,#24,TT1MOV SEC,#0MOV MIN,#0MOV HOUR,#0TT1:POP ACCRETI; 实现显示功能的子程序CONV:;转换小时数据MOV A,HOURMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF,AMOV A,BMOVC A,@A+DPTRMOV BUF+1,A;转换分数据MOV A,MINMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF+2,AMOV A,BMOVC A,@A+DPTRMOV BUF+3,A;转换秒数据MOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV BUF+4,AMOV A,BMOVC A,@A+DPTRMOV BUF+5,ARETTABLE:DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,6FHDISP:MOV R0,#BUF ;指向显示器显示缓冲区起始地址MOV R2,#6MOV ACC,#11111110BS1:PUSH ACCMOV A,@R0MOV P0,APOP ACCACALL DELAY1MOV P2,ACCRL A ;向右移动一位INC R0DJNZ R2,S1RET;实现调整时间子程序SET_TIME:CLR TR0MOV SEC,#0L0:ACALL DISPJB K2,L1JNB K2,$INC HOURMOV A,HOURCJNE A,#24,L11MOV HOUR,#0L11:ACALL CONV ;小时的设置ACALL DISPJMP L0L1: ; 分的设置JB K3,L2JNB K3,$INC MINMOV A,MINCJNE A,#60,L21MOV MIN,#0L21:ACALL CONVACALL DISPJMP L0L2:JB K4,L3 ;秒的设置JNB K4,$INC SECMOV A,SECCJNE A,#60,L22MOV SEC,#0L22:ACALL CONVACALL DISPJMP L0L3:JB K5,L0JNB K5,$//ACALL LED_BLSETB TR0RETDELAY:MOV R6,#10D1:MOV R7,#100DJNZ R7,$DJNZ R6,D1DJNZ R5,DELAYRETDELAY1:MOV R6,#50D2:MOV R7,#50DJNZ R7,$DJNZ R6,D2RETEND硬件图为。

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

实例解析单片机定时器系统硬件单元电路设计
单片机定时器在51单片机的工作运行过程中,能够精确的对工作时间进行把控,是一种不可或缺的重要组件。

本文将会通过一个真实案例,展现单片机定时器的系统硬件单元电路设计的全部过程和步骤,以便于工程师更好的使用51单片机或研发新产品。

 时钟电路设计
 对于51单片机来说,时钟电路是非常重要的组成部分,在平时的工作中单片机的每个功能都要以时钟电路为基础进行工作。

通常来看,单片机定时器内部大多自带一个时钟电路,外部接入定时控制元件即可构成一个稳定的自激振荡器。

其中机器周期共有12个振荡脉冲周期,因此,机器周期是时钟周期的12倍。

在本案例中,时钟电路中使用的晶体是12MHz,则时钟周期为(1/12)us,机器周期为1us。

其实验图的设计如下图所示。

 单片机定时器时钟电路图
 复位电路设计
 在单片机定时器的硬件电路设计中,常见的复位操作设计模式有上电自动复位、按键电平复位和外部脉冲复位三钟方式。

在本案例中,我们所使用的是按键电平复位。

这种复位电路能够利用电容的充放电公式来选择所需的电容、电阻,能保证复位信号高电平持续时间大于2个机器周期。

该种复位电路的设计电路图如下所示。

相关文档
最新文档