单片机模拟电子时钟设计与实现

0 下载量 99 浏览量 更新于2024-06-23 收藏 591KB DOC 举报
"单片机模拟电子时钟设计文档详细介绍了基于单片机的电子时钟设计过程,包括设计目的、任务、原理以及硬件和软件方案。作者为谭善文,指导教师为张华,专业为电气工程及其自动化,具体方向为低压电力智能控制。文档包含前言、设计目的、任务与要求、设计原理、总体设计方案、小结与展望、致谢和参考文献等部分。" 在单片机模拟电子时钟设计中,首先,【前言】强调了单片机在日常生活和工业生产中的广泛应用,并指出学习单片机的重要性和意义,旨在提高对单片机的感性认识,掌握其软硬件技术。 【设计目的】包括四个方面:了解单片机发展历程,学会汇编语言编程及调试,理解单片机结构原理,以及熟练掌握汇编语言程序设计技巧。 【设计任务与要求】明确了任务是利用单片机的定时功能实现电子时钟计时,要求设计控制方案、描述硬件需求并编写汇编程序进行调试。 【设计原理】阐述了单片机如何通过定时器作为时钟基准,结合计数单元来实现年、月、日、时、分、秒的计时功能。 【总体设计方案】的硬件电路部分详细列举了各个组件的作用,如电源部分由USB供电,通过电解电容C1储能缓冲,滤波电容C2和保护电阻R1确保稳定和安全。 此外,文档还提及了其他硬件组件,如晶振用于提供精确时钟信号,LED用于显示时间,复位电路确保系统正常启动,蜂鸣器发出声音提示,按键用于用户交互,串行口用于数据通信,单片机作为核心处理单元,数码管用于显示时间。程序编写部分未在摘要中展开,但可以推测会涉及对单片机的编程,可能包括设置定时器、处理中断、更新显示等内容。 整体来看,这份文档提供了一个完整的单片机电子时钟设计案例,涵盖了硬件搭建和软件编程的全过程,对于学习单片机应用和嵌入式系统设计具有很高的参考价值。
2023-02-27 上传
单片机电子时钟设计 摘 要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注, 应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低 廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛 地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体 化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业 设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易 的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而 到达学习、设计、开发软、硬件的能力。 关键词:单片机 AT89S51 电子时钟 数码管 1. 前言 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不 断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人 民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石 英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数 字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针 显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以 进行时和分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个 单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时 信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二 是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即 用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高 的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种 方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机A T89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。 2. 方案论证与比较 2.1数字时钟方案 数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。 方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体 振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以 用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突 发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自 动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证 芯片的正常运行,以备随时提供正确的时间。 方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节 分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次 中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1 ;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。 该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所 以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将 不工作。 基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。 2.2数码管显示方案 方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极 管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示 的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。 方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每 一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须 保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间 与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口, 降低了能耗。 从节省I/O口和降低能耗出发,本设计采用方案二。 3. 系统设计 3.1总体设计 3.1.1系统说明 利用单片机(AT89S51)制作简易电子时钟,由六个LED数码管分别显示小时十位、小 时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。6个PNP管(9012)分别控制六个 数码管的亮灭,一个按键用于
2023-02-27 上传
模拟电子时钟设计 模拟数字时钟的设计 1 课程设计技术要求 以89c51单片机为核心芯片,设计一个数字时钟,要求如下: 利用LED显示数字时钟的时和分; 可以对数字时钟进行初始时间设置; 可以调整数字时钟的时间; 2 设计方案及原理 本设计以AT89C51单片机为核心控制器,P0口接LED显示模块,P1口接按键,通过按键输入来控制显示器的显示。在上电时LED显示器开始显示时间并自动计时,自动计时采用单片机内部T0中断实现,在按键电路中只设置了三个按键,通过检测第一个按键按下的次数来实现调时、调分、调秒按键的作用,再通过LED显示器显示时、分、秒的改变。首先设定单片机内部的一个定时器\计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器\计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。 AT89C51引脚图如图1所示: 模拟电子时钟设计全文共18页,当前为第1页。 模拟电子时钟设计全文共18页,当前为第1页。 图1 AT89C51引脚图 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 模拟电子时钟设计全文共18页,当前为第2页。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 模拟电子时钟设计全文共18页,当前为第2页。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写"1"时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址"1"时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入"1"后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 模拟电子时钟设计全文共18页,当前为第3页。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 模拟电子时钟设计全文共18页,当前为第3页。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H- FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚