简易电子时钟设计单片机
基于51单片机的多功能电子钟设计
![基于51单片机的多功能电子钟设计](https://img.taocdn.com/s3/m/85bc5ac1cd22bcd126fff705cc17552707225ef5.png)
基于51单片机的多功能电子钟设计1. 本文概述随着现代科技的发展,电子时钟已成为日常生活中不可或缺的一部分。
本文旨在介绍一种基于51单片机的多功能电子钟的设计与实现。
51单片机因其结构简单、成本低廉、易于编程等特点,在工业控制和教学实验中得到了广泛应用。
本文将重点阐述如何利用51单片机的这些特性来设计和实现一个具有基本时间显示、闹钟设定、温度显示等功能的电子钟。
本文的结构安排如下:将详细介绍51单片机的基本原理和特点,为后续的设计提供理论基础。
接着,将分析电子钟的功能需求,包括时间显示、闹钟设定、温度显示等,并基于这些需求进行系统设计。
将详细讨论电子钟的硬件设计,包括51单片机的选型、时钟电路、显示电路、温度传感器电路等。
软件设计部分将介绍如何通过编程实现电子钟的各项功能,包括时间管理、闹钟控制、温度读取等。
本文将通过实验验证所设计的电子钟的功能和性能,并对实验结果进行分析讨论。
通过本文的研究,旨在为电子钟的设计提供一种实用、经济、可靠的方法,同时也为51单片机的应用提供一个新的实践案例。
2. 51单片机概述51单片机,作为一种经典的微控制器,因其高性能、低功耗和易编程的特性而被广泛应用于工业控制、智能仪器和家用电器等领域。
它基于Intel 8051微处理器的架构,具备基本的算术逻辑单元(ALU)、程序计数器(PC)、累加器(ACC)和寄存器组等核心部件。
51单片机的核心是其8位CPU,能够处理8位数据和执行相应的指令集。
51单片机的内部结构主要包括中央处理单元(CPU)、存储器、定时器计数器、并行IO口、串行通信口等。
其存储器分为程序存储器(ROM)和数据存储器(RAM)。
程序存储器通常用于存放程序代码,而数据存储器则用于存放运行中的数据和临时变量。
51单片机还包含特殊功能寄存器(SFR),用于控制IO端口、定时器计数器和串行通信等。
51单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。
基于单片机电子时钟的设计与实现
![基于单片机电子时钟的设计与实现](https://img.taocdn.com/s3/m/81465c414b7302768e9951e79b89680203d86baf.png)
基于单片机电子时钟的设计与实现一、设计目标设计一个基于单片机的电子时钟,能够准确显示时间并能够进行设置和调整。
二、硬件设计1.时钟部分:采用晶振芯片提供准确的时钟信号2.数码管显示部分:使用共阴数码管进行数字显示3.按键部分:设计几个按键用于设置和调整时间4.电源部分:采用直流电源供电三、软件设计1.功能设计a.时间设置功能:通过按键可以设置当前的时间,包括小时、分钟和秒钟。
b.时间调整功能:通过按键可以调整当前的时间,包括小时、分钟和秒钟。
c.时间显示功能:通过数码管可以实时显示当前的时间。
2.代码实现以C语言为例,以下是一个基于单片机的电子时钟的代码实现示例:```c#include <reg51.h>sbit DS18B20=P1^3; // 定义18B20数据线接口sbit beep=P2^3; // 定义蜂鸣器接口unsigned char hour,min,sec; // 定义小时、分钟、秒钟变量//函数声明void Delay_1ms(unsigned int count);bit Ds18b20Init(;unsigned char Ds18b20ReadByte(;void ReadTime(;void WriteTime(;void DisplayTime(;//主函数void mainP2=0x00;WriteTime(; // 写入时间while(1)ReadTime(; // 读取时间DisplayTime(; // 显示时间Delay_1ms(1000); // 延时1秒}//毫秒延时函数void Delay_1ms(unsigned int count) unsigned int i, j;for(i=0; i<count; i++)for(j=0; j<1275; j++);//18B20初始化函数bit Ds18b20Initbit presence;DS18B20=0;Delay_1ms(100); // 延时450us~1000us DS18B20=1;Delay_1ms(10); // 延时15us~60us presence=DS18B20;Delay_1ms(30); // 延时60us~240us return presence;//18B20读取字节函数unsigned char Ds18b20ReadByte unsigned char i, dat;for(i=0; i<8; i++)DS18B20=0;//主机发起读时序_nop_(; // 延时1us_nop_(; // 延时1us_nop_(; // 延时1usDS18B20=1;//主机释放总线_nop_(; // 延时1us_nop_(; // 延时1us_nop_(; // 延时1usdat,=(DS18B20<<i); // 读取数据位,存放在dat变量中Delay_1ms(3); // 读时序完成后等待48us再接收下一位}return dat;//读取时间函数void ReadTimeunsigned char temp;temp=0x00;while(temp!=0xaa)Ds18b20Init(; // 初始化温度传感器Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0xbe;Delay_1ms(1);temp=Ds18b20ReadByte(; // 读取时间数组的标志位}for(temp=0; temp<7; temp++)//写入时间函数void WriteTimeunsigned char i,j;while(1)Ds18b20Init(;Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0x4e;Delay_1ms(1);for(i=0; i<7; i++)DS18B20=0x55;Delay_1ms(1);DS18B20=0xaa;Delay_1ms(1);Ds18b20Init(;Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0x48;Delay_1ms(1);j=Ds18b20ReadByte(; // 判断是否写入成功if(j==0x0a)break;}//显示时间函数void DisplayTimeP1=seg[hour/10]; // 显示十位小时P2=(P2&0xf0),0x08; // 点亮第一个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[hour%10]; // 显示个位小时P2=(P2&0xf0),0x04; // 点亮第二个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[min/10]; // 显示十位分钟P2=(P2&0xf0),0x02; // 点亮第三个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[min%10]; // 显示个位分钟P2=(P2&0xf0),0x01; // 点亮第四个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=0x00;//空显示P2=0x00;//熄灭数码管```四、总结通过以上的硬件设计和软件实现,可以实现一个基于单片机的电子时钟。
基于单片机的电子时钟设计与实现
![基于单片机的电子时钟设计与实现](https://img.taocdn.com/s3/m/6064124bf342336c1eb91a37f111f18583d00cd5.png)
基于单片机的电子时钟设计与实现电子时钟是现代人生活中不可或缺的一部分。
随着现代科技的发展,基于单片机的电子时钟已经成为人们常见的选择。
本文将详细介绍基于单片机的电子时钟设计与实现。
一、基于单片机的电子时钟的原理基于单片机的电子时钟是通过控制晶体振荡器的频率来实现时钟的精度。
当晶体振荡器振荡周期稳定时,控制晶体振荡器的频率就可以实现时钟的精确。
二、基于单片机的电子时钟的设计1、硬件设计(1)时钟芯片:MCU常用的计时器是AT89S52,这是一个高性能的、低功耗的8位CMOS微控制器,使用半导体工艺方案,集成了66个I/O口和4个定时/计数器。
MCU的定时器的时钟源要保证准确,采用低失真、低相位噪声的晶振可以保证这一点。
(2)显示器件:本设计采用单片机驱动数码管来显示时间,以节省成本。
数码管是由点阵组成的,共有八段,其中七段是用来表示数字的,而第八段是用来显示小数点、时间标志等字符。
(3)按键及配套链路:按键和链路的作用是用来调整电子时钟的计时和校准。
采用常开或常闭接触式按钮即可实现这一功能。
2、软件设计(1)时钟芯片:AT89S52时钟芯片采用C语言编程,最终生成.HEX文件,充当芯片程序的载体,烧录进芯片后即可实现自动扫描、计时、纠偏、时间显示、闹铃、定时关闭等多项功能。
(2)扫描及计时:8个数码管需要进行扫描的操作,程序运行时根据八个位选信号,依次驱动八个共阳数码管的位选脚。
在每次扫描完成后即进行时钟计时的工作,判断闹钟时间是否到达,若到达则执行闹铃程序。
(3)时间设置:根据按键的输入状态,进行时间值的修改,来实现时钟时间的设置。
(4)闹铃:当当前时间与闹钟设置时间相等时,启动闹铃程序,进行可选的led闪烁、蜂鸣器响声等提醒操作。
三、基于单片机的电子时钟的实现将设计好的电路板焊接好,控制程序烧录进入AT89S52芯片,并将电子时钟放置在合适的位置或固定于墙壁上即可使用。
四、基于单片机的电子时钟的优缺点优点:精度高、误差小、易于校对和设置、功能多样化、体积小、寿命长。
基于单片机电子时钟设计与制作
![基于单片机电子时钟设计与制作](https://img.taocdn.com/s3/m/f93c9d33001ca300a6c30c22590102020740f23b.png)
基于单片机电子时钟设计与制作一、设计需求与原理我们的目标是设计一款能够准确显示时间(包括小时、分钟和秒),具备设置时间功能,并且可以在不同的显示模式(如 12 小时制和 24小时制)之间切换的电子时钟。
其工作原理主要基于单片机的控制。
单片机作为核心控制器,接收来自时钟芯片的时间数据,并将其处理后输出到显示模块进行显示。
同时,通过按键模块,用户可以向单片机输入指令,实现时间的设置和显示模式的切换等操作。
二、硬件设计1、单片机选择我们选用常见的 STC89C52 单片机,它具有性能稳定、价格低廉、易于编程等优点。
2、时钟芯片DS1302 时钟芯片被用于提供准确的时间信息。
它能够在掉电情况下保持时间数据不丢失,保证了时钟的可靠性。
3、显示模块为了清晰直观地显示时间,采用了液晶显示屏(LCD1602)。
它能够显示多行字符,满足我们显示小时、分钟、秒以及其他相关信息的需求。
4、按键模块设置四个独立按键,分别用于时间的调整(增加、减少)、显示模式的切换以及时间设置的确认。
5、电源模块为整个系统提供稳定的 5V 直流电源,可以通过 USB 接口或者电池进行供电。
三、软件设计1、编程语言使用 C 语言进行编程,它具有语法简单、可读性强、可移植性好等特点。
2、程序流程初始化系统后,单片机不断从时钟芯片读取时间数据,并将其显示在液晶显示屏上。
当检测到按键操作时,进入相应的处理函数,实现时间设置和显示模式切换等功能。
四、制作过程1、硬件焊接首先,将各个元器件按照原理图焊接在电路板上。
注意焊接的质量,避免虚焊和短路。
2、软件烧录使用编程器将编写好的程序烧录到单片机中。
3、系统调试接通电源,检查液晶显示屏是否正常显示,按键是否能够准确响应操作。
如果出现问题,通过调试工具(如示波器、逻辑分析仪等)进行故障排查和修复。
五、系统测试1、时间准确性测试将制作好的电子时钟与标准时间进行对比,观察其在长时间运行中的时间准确性。
2、功能测试测试时间设置功能、显示模式切换功能是否正常,按键操作是否灵敏可靠。
基于51单片机的简易电子钟设计
![基于51单片机的简易电子钟设计](https://img.taocdn.com/s3/m/4ef0e57886c24028915f804d2b160b4e767f81e6.png)
基于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单片机设计的简易电子钟可以显示当前时间,并且实现时间的调整和闹钟设定功能。
但是由于硬件资源有限,只能实现基本的功能,不能进行其他高级功能的扩展,例如闹铃的音乐播放、温度、湿度的显示等。
基于单片机的电子时钟设计
![基于单片机的电子时钟设计](https://img.taocdn.com/s3/m/a2a808b4d1d233d4b14e852458fb770bf78a3b28.png)
基于单片机的电子时钟设计电子时钟是人们日常生活中常见的设备之一,它不仅能够准确显示时间,还可以搭配其他功能,如闹钟、温度显示等。
本文将介绍基于单片机的电子时钟的设计原理和步骤,并探讨其在现代生活中的应用。
一、设计原理基于单片机的电子时钟主要由以下几个模块组成:时钟模块、显示模块、控制模块和电源模块。
时钟模块负责获取当前时间并进行计时,显示模块用于将时间信息显示出来,控制模块用于处理用户的输入操作,电源模块为电子时钟提供稳定的电源。
1. 时钟模块时钟模块的核心是一个定时器,它可以定时触发中断,通过中断服务程序来更新时间。
在单片机中,我们可以使用定时器模块来实现这个功能,通过设定合适的定时器参数,可以实现从毫秒级到秒级的计时精度。
2. 显示模块显示模块通常采用数码管或者液晶显示屏来显示时间信息。
数码管可以直接显示数字,在低功耗和成本方面具有优势;液晶显示屏可以显示更多的信息,具有更好的可视角度和美观性。
在电子时钟中,我们可以通过控制显示模块的引脚,以适当的方式显示小时、分钟和秒数。
3. 控制模块控制模块主要用于处理用户的输入操作,如设置闹钟时间、调整时间等。
可以通过按键开关、旋转编码器或者触摸屏等方式来实现用户交互。
当用户按下按键或者滑动触摸屏时,控制模块会相应地改变时钟模块中的时间数据或者触发其他操作。
4. 电源模块电子时钟需要一个稳定的电源来工作,通常使用交流电转直流电的方式进行供电。
电源模块可以通过整流、滤波和稳压等电路来提供稳定的直流电源。
二、设计步骤基于单片机的电子时钟的设计步骤如下:1. 确定需求和功能:首先需要明确设计的需求和功能,包括显示方式、时间格式、附加功能等。
2. 选择单片机:根据需求选择适合的单片机型号,考虑处理性能、存储空间、外设接口等因素。
3. 设计电路图:根据选择的单片机和其他模块,设计电子时钟的电路图。
包括时钟模块、显示模块、控制模块和电源模块的连接方式。
4. 编写源代码:根据电路图和功能需求,编写单片机的源代码。
单片机电子时钟课程设计实验报告(1)
![单片机电子时钟课程设计实验报告(1)](https://img.taocdn.com/s3/m/63fcbe1bbc64783e0912a21614791711cc7979c1.png)
单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
单片机电子时钟设计程序
![单片机电子时钟设计程序](https://img.taocdn.com/s3/m/1cb8c7e0294ac850ad02de80d4d8d15abe230090.png)
单片机电子时钟设计程序
1.引用头文件和定义全局变量
首先需要引用相应的头文件,例如`reg52.h`,并定义全局变量用于
存储时间、闹钟时间以及其他相关参数。
2.初始化时钟
在主函数中,首先进行时钟的初始化。
这包括设置定时器和中断相关
的寄存器,以及初始化显示屏和按钮等外设。
3.时间更新
编写一个中断服务函数,用于根据定时器的中断来更新时间。
在该中
断服务函数中,需要将全局变量中的时间进行递增,并考虑到分钟、小时、日期和星期等的进位和换算。
4.按钮输入
设置一个子函数用于读取按钮输入,并根据按钮的状态来进行相应的
操作,比如切换时钟显示模式、设置闹钟等。
5.显示时间
编写一个子函数用于将时间信息显示在数码管上。
这需要先将时间信
息转换为数码管的显示格式,然后通过IO口输出控制数码管的显示。
6.闹钟设置
使用按钮输入的功能,可以设置闹钟时间和开关闹钟功能。
当闹钟时
间到达时,可以通过控制蜂鸣器发声或点亮LED等方式来进行提醒。
7.主函数
在主函数中,循环执行按钮输入的检测和相应操作,以及时间的更新和显示等功能。
可以通过一个状态机来控制整个程序的流程。
以上是一个简要的单片机电子时钟设计程序的概述。
实际的程序设计过程中,还需要考虑到各个模块之间的交互、错误处理、电源管理以及代码的优化等细节问题。
具体的程序实现可以根据具体需求和硬件平台的差异进行适当的修改和扩展。
单片机电子时钟课程设计报告
![单片机电子时钟课程设计报告](https://img.taocdn.com/s3/m/68393864dc36a32d7375a417866fb84ae45cc39d.png)
单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
基于单片机的简易电子时钟设计
![基于单片机的简易电子时钟设计](https://img.taocdn.com/s3/m/e6da67996e1aff00bed5b9f3f90f76c660374c5b.png)
基于单片机的简易电子时钟设计电子时钟是一种以数字形式显示时间的设备,它使用电子元件来实现计时和显示功能。
基于单片机的简易电子时钟设计是一种使用单片机芯片作为核心控制器的时钟设备。
本文将介绍一个基于单片机的简易电子时钟设计的方案,并详细讨论其硬件和软件实现。
一、硬件设计基于单片机的电子时钟设计的核心是单片机芯片,这里我们选择AT89C51作为控制器。
AT89C51是一款典型的80C51系列单片机,具有高速、低功耗和强大的计数和定时功能。
此外,还需要以下硬件元件实现电子时钟设计:1.电源模块:提供电源给单片机和其他电路元件。
2.晶振:用于提供时钟信号给单片机。
3.液晶显示模块:用于显示时间。
4.按键模块:用于设置和调节时间,以及其他功能操作。
5.蜂鸣器:用于发出小时、分钟和秒的提示音。
二、软件设计基于AT89C51的电子时钟设计需要编写相应的嵌入式软件程序。
以下是设计思路和主要功能点:1.初始化设置:在电子时钟启动时,进行一些初始化设置,如设置系统时钟、显示模式和其他参数。
2.时钟计时:使用定时器和计数器模块,实现时钟的计数功能。
根据时钟信号逐秒递增,并根据设定的模式进行小时、分钟和秒的更新。
3.时间显示:将当前的小时、分钟和秒数转化成对应的数字,在液晶显示模块上显示出来。
4.时间调整:通过按键模块,实现时间的调整功能。
可以通过按键设置、递增和递减来调整小时、分钟和秒。
5.其他功能:可以添加一些其他功能,如闹钟设置、闹铃功能等,以增强电子时钟的实用性。
三、实施步骤1.硬件搭建:按照上述硬件设计需求,搭建电子时钟的硬件电路。
注意连接正确的引脚,提供稳定的电源。
2.软件编写:根据设计思路和功能点,编写相应的嵌入式软件程序。
使用C语言或汇编语言编写代码,并调试和测试程序。
4.测试和优化:将电源连接到电子时钟,进行测试和优化。
检查时钟的计时和显示功能是否正常,是否可以调整时间。
四、实际应用总结:基于单片机的简易电子时钟设计是一种使用单片机芯片作为核心控制器的时钟设备。
单片机电子时钟的设计
![单片机电子时钟的设计](https://img.taocdn.com/s3/m/85ab7bf6db38376baf1ffc4ffe4733687f21fc57.png)
单片机电子时钟的设计单片机电子时钟是一个用于显示时间的电子装置,是一种非常常见和实用的电子设备之一。
设计一款单片机电子时钟需要掌握一定的电子知识和编程技能,本文将介绍单片机电子时钟的设计原理和具体实现步骤。
一、设计原理单片机电子时钟的设计原理比较简单,其核心是一个单片机芯片,通过单片机芯片控制液晶显示屏显示时间,并通过操作键盘来实现对时间的设置和校准。
具体来说,单片机电子时钟的设计原理包括以下几个方面:1. 外设器件单片机电子时钟的外设器件要包括单片机芯片、晶振、电源模块、LCD液晶显示屏和按键模块等,其中晶振是单片机以时钟的形式工作的关键部件,LCD液晶显示屏可以显示时间和各种提示信息,按键模块可以实现对时间的设置和调整。
2. 时间计算单片机电子时钟的原理其核心部分是时间计算,电子时钟需要能够计算出当前的时间,用于更新时间显示。
在计算当前时间时,我们需要对时间、日期等进行加减,同时设定一个基准时间,比如说格林威治标准时间(GMT),然后通过加减偏移来得到当前时间。
3. 时间显示时间显示模块的核心是一个LCD液晶显示屏,屏幕上显示的时间应该是易于读取,时分秒的划分应该清晰,以免产生误解。
同时,还需要考虑到屏幕的亮度和占用空间等问题。
4. 操作控制单片机电子时钟的操作控制要包括时间设置、时间调整、闹铃设定、亮度设置、背光设置等,这些都可以通过按键模块控制。
二、实现步骤1. 确定单片机型号和晶振型号确定单片机型号和晶振型号是单片机电子时钟设计的第一步。
单片机的型号要选取适合于自己的技能水平的型号,晶振型号的选择要考虑到单片机的时钟频率和计算精度等问题。
2. 电路设计根据单片机型号和晶振型号进行电路设计,主要包括单片机芯片、晶振、电源电路、LCD液晶显示屏和键盘模块,可以参考一些开源的资料或者进行自己的设计,注意要根据实际情况进行调整和改进。
3. 程序编写程序编写是电子时钟设计的关键环节,主要需要完成时间计算、时间显示和操作控制等功能。
基于单片机的电子时钟的设计与实现
![基于单片机的电子时钟的设计与实现](https://img.taocdn.com/s3/m/07208dc48662caaedd3383c4bb4cf7ec4afeb6bb.png)
基于单片机的电子时钟的设计与实现电子时钟是一种使用微处理器或单片机作为主控制器的数字时钟。
它不仅能够显示当前时间,还可以具备其他附加功能,如闹钟、日历、温度显示等。
一、设计目标设计一个基于单片机的电子时钟,实现以下功能:1.显示时间:小时、分钟和秒钟的显示,采用7段LED数码管来显示。
2.闹钟功能:设置闹钟时间,到达设定的时间时会发出提示音。
3.日历功能:显示日期、星期和月份。
4.温度显示:通过温度传感器获取当前环境温度,并显示在LED数码管上。
5.键盘输入和控制:通过外部键盘进行时间、日期、闹钟、温度等参数的设置和调整。
二、硬件设计1.单片机选择:选择一款适合的单片机作为主控制器,应具备足够的输入/输出引脚、中断和定时器等功能,如STC89C522.时钟电路:使用晶振为单片机提供稳定的时钟源。
3.7段LED数码管:选择合适的尺寸和颜色的数码管,用于显示小时、分钟和秒钟。
4.温度传感器:选择一款适合的温度传感器,如DS18B20,用于获取环境温度。
5.喇叭:用于发出闹钟提示音。
6.外部键盘:选择一款适合的键盘,用于设置和调整时间、日期、闹钟等参数。
三、软件设计1.初始化:设置单片机定时器、外部中断和其他必要的配置。
2.时间显示:通过定时器中断,更新时间,并将小时、分钟和秒钟分别显示在相应的LED数码管上。
3.闹钟功能:设置闹钟时间,定时器中断检测当前时间是否与闹钟时间一致,若一致则触发警报。
4.日历功能:使用定时器中断,更新日期、星期和月份,并将其显示在LED数码管上。
5.温度显示:通过定时器中断,读取温度传感器的数据,并将温度显示在LED数码管上。
6.键盘输入和控制:通过外部中断,读取键盘输入,并根据输入进行相应的操作,如设置时间、闹钟、日期等。
7.警报控制:根据设置的闹钟时间,触发警报功能,同时根据用户的设置进行控制。
四、测试与调试完成软件设计后,进行系统测试与调试,包括验证显示时间、日期、温度等功能的准确性,以及闹钟和警报功能的触发与控制。
基于单片机的智能电子时钟的设计及应用
![基于单片机的智能电子时钟的设计及应用](https://img.taocdn.com/s3/m/25c2095f15791711cc7931b765ce050877327548.png)
基于单片机的智能电子时钟的设计及应用一、引言智能电子时钟是一种应用广泛的电子产品,它不仅能够准确显示时间,还具备了一系列智能化的功能,如闹钟、温湿度显示、定时开关等。
基于单片机的智能电子时钟设计是近年来电子技术领域中备受关注的研究方向。
本文将详细介绍基于单片机的智能电子时钟设计及其应用,并对其进行深入研究。
二、基于单片机的智能电子时钟设计原理1. 选取合适的单片机芯片在设计基于单片机的智能电子时钟之前,首先需要选取合适的单片机芯片。
常见选择包括51系列、AVR系列和ARM系列等。
根据具体需求和功能要求进行选择,并考虑到其性价比、易用性和扩展性。
2. 时钟模块设计在整个系统中,准确显示时间是最基本也是最关键的功能之一。
因此,需要设计一个稳定可靠且精度高的时钟模块。
常见选择包括RTC 芯片和GPS模块等。
3. 显示模块选择与驱动为了实现时间的直观显示,需要选择合适的显示模块。
常见选择包括LED数码管、LCD液晶显示屏和OLED显示屏等。
同时,还需要设计合适的驱动电路,以实现对显示模块的控制。
4. 功能模块设计除了基本的时间显示功能外,智能电子时钟还可以具备一系列智能化功能。
常见功能包括闹钟、温湿度显示、定时开关等。
这些功能需要通过相应的传感器和控制电路来实现。
三、基于单片机的智能电子时钟应用1. 家庭生活基于单片机的智能电子时钟在家庭生活中有着广泛应用。
它可以作为家庭闹钟,准确地唤醒人们起床;同时也可以作为温湿度监测器,在家中监测室内温湿度,并提供相应数据。
2. 办公场所在办公场所中,基于单片机的智能电子时钟可以作为时间提醒器,在工作时间结束时提醒人们休息;同时也可以作为定时开关,在指定时间自动打开或关闭相应设备。
3. 公共场所在公共场所中,基于单片机的智能电子时钟具备更多应用场景。
例如,在火车站、机场等候车室中,它可以作为候车时间显示器,为旅客提供准确的候车时间信息。
四、基于单片机的智能电子时钟设计案例以基于51系列单片机的智能电子时钟设计为例,具体设计方案如下:1. 硬件设计选用51系列单片机作为主控芯片,搭配RTC芯片作为时钟模块。
基于单片机的简易电子时钟设计
![基于单片机的简易电子时钟设计](https://img.taocdn.com/s3/m/b957d329b94ae45c3b3567ec102de2bd9605ded7.png)
基于单片机的简易电子时钟设计引言:电子时钟是人们日常生活中广泛应用的一种设备,基于单片机的电子时钟可以实现精确的时间显示、闹钟设置、定时功能等。
本设计将使用单片机控制电子时钟的各种功能,通过一个LCD显示屏来显示时间和其他信息。
一、设计目标:1.实现准确显示时间功能;2.设计带有闹钟设置的功能;3.实现定时功能。
二、设计原理:该电子时钟工作原理主要是通过单片机将外部的时钟信号进行调整和处理,然后控制液晶显示屏显示时间。
电子时钟的核心是单片机,通过单片机的计时功能实现时钟的准确显示,并通过输入设备设置闹钟功能和定时功能。
三、设计流程:1.系统初始化:首先,将单片机初始化,设置时钟和计时器的相关参数,开启显示屏的显示功能。
2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。
3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。
4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。
四、硬件设计:1.单片机选择:选用一款适合的单片机,如51系列单片机。
2.时钟电路:通过外部晶振或者RTC芯片来提供准确的时钟信号。
3.输入设备:使用按键作为输入设备,用于设置闹钟和定时功能;4.显示屏:选用合适的液晶显示屏,用于显示时间。
五、软件设计:1.系统初始化:设置时钟和计时器的相关参数,开启显示屏的显示功能。
2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。
3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。
4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。
六、实验结果:本设计可以准确显示时间,并可以设置闹钟和定时功能。
当闹钟和定时时间到达时,会触发相应的动作,实现了基本要求。
基于单片机的LCD1602电子时钟设计
![基于单片机的LCD1602电子时钟设计](https://img.taocdn.com/s3/m/f067ab876037ee06eff9aef8941ea76e58fa4af8.png)
基于单片机的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电子时钟。
简易电子时钟设计单片机
![简易电子时钟设计单片机](https://img.taocdn.com/s3/m/cb2ec17e82c4bb4cf7ec4afe04a1b0717fd5b39c.png)
简易电子时钟设计单片机
设计一个简易的电子时钟可以使用单片机实现。
以下是一个基本的设计方案,包括硬件和软件部分的实现。
硬件部分:
1.单片机选择:可以选择8051系列的单片机,如AT89C51或
AT89S52等。
2.时钟源:使用晶体振荡器作为时钟源,通常选择11.0592MHz。
3.显示器:选择合适的数码管或液晶显示器,用于显示时间。
4.键盘:选择合适的按钮或矩阵键盘,用于设置时间和功能选择。
5.蜂鸣器:可以选择一个蜂鸣器用于报时功能。
6.电源:选择适当的电源模块,例如稳压电源模块或直流电源。
软件部分:
1.初始化:设置片内RAM、定时器、IO端口等。
2.时间设置:通过按键输入设置时钟的小时和分钟,可以使用中断的方式进行按键扫描。
3.时间更新:使用定时器中断来更新时钟的显示,在中断处理程序中实现时间累加,包括秒数、分钟数和小时数。
4.时间显示:将时间显示在数码管或液晶显示器上,可以使用数码管驱动芯片或液晶显示驱动程序进行显示。
5.报时功能:当时钟显示到设置的时间时,触发蜂鸣器进行报时。
6.闹钟功能:设置一个闹钟时间,到达闹钟时间时触发蜂鸣器报警。
7.周期功能:设置一个周期,例如每天、每周等,当时钟显示到周期
时间时触发蜂鸣器报时或报警。
8.温度显示:如果有温度传感器,可以通过温度传感器测量室内温度,并在显示器上显示当前温度。
总结:
这只是一个基本的设计方案,你可以根据实际需求进行改进和扩展。
通过合适的单片机、显示器、键盘和蜂鸣器的选择,以及基于中断的软件
编程,你可以实现一个简易的电子时钟。
基于51单片机的电子时钟设计
![基于51单片机的电子时钟设计](https://img.taocdn.com/s3/m/b64219241fd9ad51f01dc281e53a580216fc50e7.png)
基于51单片机的电子时钟设计
电子时钟是一种使用电子元件和计算机技术制造的时计,它可以显示年、月、日、时、分、秒等时间信息,并且具有显示精确、功能齐全、操
作简便等特点。
本文将基于51单片机设计一个电子时钟。
一、硬件设计:
1.时钟模块:我们可以使用DS1302时钟模块作为实时时钟芯片,它
可以提供精确的时间信息,并且可以通过单片机与之进行通信。
2.显示模块:我们可以使用共阳数码管进行时间的显示,将时钟设计
成6位7段显示器。
3.按键模块:我们可以使用按键作为输入方式,通过按键调整时间信息。
二、软件设计:
1.初始化:首先,我们需要初始化时钟模块和显示模块,使它们正常
工作。
同时,设置时钟的初始时间为系统当前时间。
2.获取时间:通过与时钟模块的通信,获取当前的时间信息,包括年、月、日、时、分、秒等。
3.显示时间:将获取到的时间信息通过显示模块显示出来,分别显示
在6个数码管上。
4.时间调整:通过按键模块的输入,判断用户是否需要调整时间。
如
果需要,可以通过按键的不同组合来调整时、分、秒等时间信息。
5.刷新显示:通过不断更新显示模块的输入信号来实现时钟的流动性,保持秒针不断运动的效果。
6.时间保存:为了保证时钟断电后依然能够保持时间,我们需要将时
钟模块获取到的时间信息保存在特定的EEPROM中。
7.闹钟功能:可以通过按键设置闹钟,当到达闹钟时间时,会通过蜂
鸣器发出响声。
以上就是基于51单片机的电子时钟设计方案。
通过对硬件和软件的
综合设计,我们可以实现一个功能齐全的电子时钟。
简易电子时钟设计单片机
![简易电子时钟设计单片机](https://img.taocdn.com/s3/m/bf37e1fb49649b6648d747d8.png)
基于单片机的简易电子时钟设计一功能分析1).时制式为24小时制。
2).采用LED数码管显示时、分,秒采用数字显示。
3).具有方便的时间调校功能。
4).计时稳定度高,可精确校正计时精度。
二总体方案设计论证比较2.1 实现时钟计时的基本方法利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。
(1) 计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。
假设使用T/C0,方式1,50ms定时,fosc=12MHz。
则初值X满足(216-X)×1/12MHz×12μs =50000μsX=15536→10000→3CB0H(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。
2.2 电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H时十位时个位分隔分十位分个位分隔秒十位秒个位2.3 电子钟的时间调整电子钟设置3个按键通过程序控制来完成电子钟的时间调整。
A键调整时;B键调整分;C键复位2.4 总体方案介绍2.4.1 计时方案利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。
该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。
2.4.2 控制方案AT89S51的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。
基于51单片机的简易电子钟设计
![基于51单片机的简易电子钟设计](https://img.taocdn.com/s3/m/4681e2cb195f312b3169a5bf.png)
m a j o ri t v o f e l e c t r o n i C t e c h n o l o g y e n t h u s i a s t S c a n r e f e r t o a n d m a k e t h e i r o w n .
电子钟 显示时间是用数码 管实 现的, 本设计选用的数码管是 6位数码管, 以分别实现对“ 时” 、 “ 分” 、 “ 秒” 进 行数字显示 , 它们 之
间的间隔用数码管上 的小数点来分割 , 采用 7 4 H C 5 7 3 锁 存器来驱动六位 8段数 码管 ,并利用石英晶振产生时钟脉冲, 并利用 单片机 内部的定时器计数, 通过程序和外 围电路控制数码管进行动态显示 。 本 文提供一种简单且廉价的设计方 案, 广大的电子
Ke y wo r d s: e 1 e c t r o n i C C 1 o c k: d i g i t a l c o n t r o l :S T C 8 9 C 5 1 M C U
0引言
电子钟 是当前市面上 十分普及 的计时装置 , 它成本 低廉 , 计
时准确, 而 且 由于 其 显示 装 置 可 以 发光 , 因此夜间也清晰可见, 它 的性 价 比 是 比较 高 的 , 现 在 人们 尤 其 是 在青 年 人 群 中 , 使 用 电子 计
M e n g Y u j i a
( C o l l e g e o f m e c h a n i c a l a n d e l e c t r i c a l e n g i n e e r i n g N o r t h e a s t F o r e s t r y U n i v e r s i t y ,H e i l o n g j i a n g H a r b i n , 1 5 0 0 4 0 )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的简易电子时钟设计一功能分析1).时制式为24小时制。
2).采用LED数码管显示时、分,秒采用数字显示。
3).具有方便的时间调校功能。
4).计时稳定度高,可精确校正计时精度。
二总体方案设计论证比较2.1 实现时钟计时的基本方法利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。
(1) 计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。
假设使用T/C0,方式1,50ms定时,fosc=12MHz。
则初值X满足(216-X)×1/12MHz×12μs =50000μsX=15536→10000→3CB0H(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。
2.2 电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H时十位时个位分隔分十位分个位分隔秒十位秒个位2.3 电子钟的时间调整电子钟设置3个按键通过程序控制来完成电子钟的时间调整。
A键调整时;B键调整分;C键复位2.4 总体方案介绍2.4.1 计时方案利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。
该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。
2.4.2 控制方案AT89S51的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。
AT89S51 是一种低功耗,高性能的CMOS 8位微型计算机。
它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。
简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。
三硬件电路设计根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图1所示。
图1 硬件电路方框图四各模块电路设计4.1.1 芯片分析AT89C51单片机引脚图如下:图2 AT89C51引脚图MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:VCC:+5V电源。
VSS:接地。
RST:复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。
XTAL1和XTAL2:外接晶体引线端。
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。
P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。
P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。
P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。
当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。
当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1所示。
4.1.2 晶振电路右图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
图3晶振电路4. 1.3复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。
例如,若时钟频率为12 MHz,每机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。
单片机常见的复位如图所示。
电路为上电复位电路,它是利用电容充电来实现的。
在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。
只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。
该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。
图4单片机复位电路4.2 数码显示模块设计系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。
动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。
图5 数码显示电路4.3 按键模块下图为按键模块电路原理图,A为复位键,B为时钟调控键,C为分钟调控键。
图6 按键模块电路原理图五软件设计流程图在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。
在主程序中,对不同的按键进行扫描,实现秒表,时间调整,复位清零等功能,系统总流程图如下图7:图7 软件设计流程图六程序清单ORG 0000HMOV 30H,#1 设置时钟的起始时间12.00.00,分配显示数据内存MOV 31H,#2MOV 32H,#0MOV 33H,#0MOV 34H,#0MOV 35H,#0MOV TMOD,#01 启动计数器XS0: SETB TR0 使TRO位置1MOV TH0,#00H 计数器置零MOV TL0,#00HXS:MOV 40H,#0FEH 扫描控制字初值MOV DPTR,#TAB 取段码表地址MOV P2,40H 从P2口输出MOV A,30H 取显示数据到AMOVC A,@A+DPTR 查显示数据对应段码MOV P0,A 段码放入P0中LCALL YS1MS 显示1MSMOV P0,#0FFH PO端口清零MOV A,40H 取扫描控制字放入A中RL A A中数据循环左移MOV 40H,A 放回40H地址段内MOV P2,40HMOV A,31HADD A,#10 进位显示MOVC A,@A+DPTRMOV P0,ALCALL YS1MSMOV P0,#0FFH MOV A,40HRL AMOV 40H,AMOV P2,40HMOV A,32HMOVC A,@A+DPTR MOV P0,ALCALL YS1MS MOV P0,#0FFH MOV A,40HRL AMOV 40H,AMOV P2,40HMOV A,33HADD A,#10MOVC A,@A+DPTR MOV P0,ALCALL YS1MS MOV P0,#0FFH MOV A,40HRL AMOV 40H,AMOV P2,40HMOV A,34HMOVC A,@A+DPTRMOV P0,ALCALL YS1MSMOV P0,#0FFHMOV A,40HRL AMOV 40H,AMOV P2,40HMOV A,35HMOVC A,@A+DPTRMOV P0,ALCALL YS1MSMOV P0,#0FFHMOV A,40HRL AMOV 40H,AJB TF0,JIA 如果TF0为1时,则执行JIA,否则顺序执行JNB P1.0,P100 为0则转移到P100JNB P1.1,P1000 为0则转移到P1000JNB P1.2,P10000 为0则转移到P10000AJMP XS 跳转到XSP100: MOV 30H,#0 清零程序MOV 31H,#0MOV 32H,#0MOV 33H,#0MOV 34H,#0MOV 35H,#0JIA: CLR TF0 TF0清零MOV A,35H 秒单位数据到ACJNE A,#9,JIA1 与9进行比较,大于9就转移到JIA1MOV 35H,0 秒个位清零MOV A,34H 秒十位数据到ACJNE A,#5,JIA10 与5进行比较,大于5就转移到JIA10MOV 34H,#0 秒十位清零P10000: JNB P1.2,P10000 为0则转移到P10000MOV A,33H 取分的个位到ACJNE A,#9,JIA100 与9进行比较,大于9就转移到JIA100MOV 33H,#0 分的个位清零MOV A,32H 分十位数据到ACJNE A,#5,JIA1000 与5进行比较,大于5就转移到JIA1000MOV 32H,#0 分的十位清零P1000: JNB P1.1,P1000 为0则转移到P1000MOV A,31H 时个位数据到ACJNE A,#9,JIA10000 与9进行比较,大于9就转移到JIA10000MOV 31H,#0 时的个位清零MOV A,30H 时十位数据到ACJNE A,#2,JIA100000 与2进行比较,大于5就转移到JIA100000MOV 30H,#0 时的十位清零AJMP XS0 转移到XSOJIA100000:INC 30H 加1AJMP XS0 跳转到XS0JIA10000:CJNE A,#3,JIAJIA 与3进行比较,大于则转移到JIAJIAMOV A,30H 将时的十位放到ACJNE A,#02,JIAJIA 与2进行比较,大于则转移到JIAJIAMOV 30H,#0 时段清零MOV 31H,#0AJMP XS0 跳转到XSOJIAJIA:INC 31H 加一AJMP XS0JIA1000:INC 32HAJMP XS0JIA100: INC 33HAJMP XS0JIA10: INC 34HAJMP XS0JIA1: INC 35HAJMP XS0RET 返回YS1MS: MOV R6,#9H 延时程序YL1: MOV R7,#19HDJNZ R7,$DJNZ R6,YL1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H 共阳段码表DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010HEND七运行结果说明电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。