基于单片机的简易电子时钟

合集下载

基于单片机的简易时钟设计

基于单片机的简易时钟设计

基于单片机的简易时钟设计摘要:本毕业设计旨在设计并实现一款基于单片机的简易时钟。

采用嵌入式系统的设计思想,结合单片机的处理能力和丰富的外设接口,实现了时钟的显示、时间的设置和调整、闹铃功能等。

关键词:单片机,嵌入式系统,时钟,闹铃一、引言随着社会的进步和人们生活水平的不断提高,人们对时间的精准掌握越来越重要。

时钟作为计量时间的一种工具,已经成为人们生活中必不可少的物品之一、本设计旨在通过嵌入式系统的设计思想,基于单片机开发一款简易时钟,以满足人们对时间的准确获取和闹铃功能的需求。

二、设计内容与思路设计以STC89C52单片机为核心,利用其丰富的外设接口和较高的计算速度,实现时钟的显示、时间的设置和调整、闹铃功能等。

1.电路设计电路的主要部分包括单片机STC89C52、数码管显示模块和按键模块。

其中,数码管显示模块用于显示当前的时间,按键模块用于设置时间和闹铃。

2.硬件设计硬件设计主要包括电源设计、单片机与外设的连接、数码管显示和按键输入等。

单片机通过连接电源模块获取工作电压,通过IO口与数码管和按键连接,实现与外设的交互。

3.软件设计软件设计主要包括时钟显示、时间设置和闹铃功能的实现。

通过定时器中断实现时钟的显示,通过按键中断实现时间的设置和调整,通过闹铃中断实现指定时间的闹铃功能。

三、设计结果与分析经过设计与实现,本简易时钟实现了如下功能:1.时钟的显示:通过数码管显示当前的时间,包括小时和分钟。

2.时间的设置和调整:通过按键设置和调整时间,可设定小时和分钟。

3.闹铃功能:设置指定时间后,到达指定时间后会触发闹铃,并进行提醒。

通过测试和实际应用,本设计的时钟显示准确、稳定,操作简单方便,功能实用。

四、总结与展望本毕业设计基于单片机的简易时钟设计,利用嵌入式系统的设计思想,实现了时钟的显示、时间的设置和调整、闹铃功能等。

通过分析结果可以看出,该时钟设计稳定可靠,操作简单方便,能满足人们对时间的准确获取和闹铃功能的需求。

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计

基于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单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。

基于单片机电子时钟的设计与实现

基于单片机电子时钟的设计与实现

基于单片机电子时钟的设计与实现一、设计目标设计一个基于单片机的电子时钟,能够准确显示时间并能够进行设置和调整。

二、硬件设计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;//熄灭数码管```四、总结通过以上的硬件设计和软件实现,可以实现一个基于单片机的电子时钟。

基于51单片机的电子时钟

基于51单片机的电子时钟

1、电子闹钟的硬件系统框架:设计出电子闹钟的基本整体框架。

2、电子闹钟的电源设计:采用交直流供电电源。

电子钟一般采用数码管等显示介质,因而必须以交流供电为主,以直流电源为后备辅助电源。

3、电子闹钟的主机电路设计:主要有1)系统时钟电路设计:对时间要求不是很高,只要能使系统可靠起振并稳定运行就行。

2)系统复位电路设计:本系统采用的是RC复位方式3)按键与按钮电路设计:按键与按钮电路设计中关键要考虑的就是按键的去抖动问题。

本系统采用软件去抖。

考虑到对时和设定闹铃时间操作的使用频率不高,为了精简系统和降低成本,本系统只设置两个按键。

a)SET键,对应系统的不同工作状态,具有3个功能:在复位后的待机状态下,用于启动设定时间参数(对时或定闹);在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于结束当前位的设定,当前设定位下移;在设定最低位(分个位)的状态下,用于结束本次时间设定。

b)+1键,用于对当前设定位进行加1操作。

4)闹铃声光指示电路设计:本系统采用声音指示,关键元件是蜂鸣器。

4、电子闹钟的显示电路设计:设计一个由LED数码管组成的显示电路,显示采用共阳极数码管,其目的是为了简化限流电路的设计和实现亮度可调的要求。

一功能模、设计指标:1. 显示时、分、秒。

2. 可以24小时制或12小时制。

3. 具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。

校时时钟源可以手动输入或借用电路中的时钟。

4. 具有正点报时功能,正点前10秒开始,蜂鸣器1秒响1秒停地响5次。

5. 为了保证计时准确、稳定,由晶体振荡器提供标准时间的基准信号。

二、设计要求:1. 画出总体设计框图,以说明数字钟由哪些相对独立的块组成,标出各个模块之间互相联系,时钟信号传输路径、方向和频率变化。

并以文字对原理作辅助说明。

2. 设计各个功能模块的电路图,加上原理说明。

3. 选择合适的元器件,在面包上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在充分电路正确性同时,输入信号和输出方式要便于电路的测试和故障排除。

基于单片机的简易时钟设计

基于单片机的简易时钟设计

基于单片机的简易时钟设计引言:随着科技的迅猛发展,数字化时钟的需求也越来越大。

而基于单片机的简易时钟设计,具有体积小、功耗低、精确度高等优势,被广泛应用于各个领域。

本文将从硬件设计、软件设计、功能完善等方面介绍基于单片机的简易时钟设计。

一、硬件设计1.电源部分时钟的电源部分通常采用直流电源,由电源模块提供稳定的电压和电流。

可以通过使用稳压器或者降压模块,将输入的直流电源稳定为所需电压(通常是3.3V或者5V)。

2.时钟显示部分时钟显示通常采用数码管进行显示。

数码管分为共阳数码管和共阴数码管两种。

共阳数码管是指数码管的阳极(COM)接VCC,数码管的每一个LED阴极(Segment)通过控制脚控制。

共阴数码管则是数码管的阴极接地,数码管的每一个LED阳极通过控制脚控制。

3.按键部分按键用于对时钟进行设置和调整。

常用的按键有4个,分别为设置按键、调整按键、确认按键和返回按键。

通过按下不同的按键,可以对时钟进行不同的设置和调整。

4.单片机部分单片机是时钟的核心部分,负责控制全部的功能。

可以选择各种不同的单片机,如AVR、STM32等。

根据需求选择合适的单片机,具有较好的处理能力和存储容量。

二、软件设计1.初始化在启动时,需要对单片机进行初始化,包括端口的设置、时钟的设置、定时器的设置等。

通过初始化,可以保证系统正常运行。

2.时钟计时通过定时器控制单片机的工作频率,实现时钟的精确计时。

可以设置定时器的计数周期,根据设定的时钟频率进行计时,并将计时结果转换为时、分和秒显示在数码管上。

3.按键控制通过按键控制可以对时钟进行设置和调整。

可以通过编程实现按键的检测和响应,并且根据按键的不同操作进行相应的功能。

4.时钟显示时钟显示是时钟设计的核心部分。

通过将时钟计时得到的时、分和秒显示在数码管上,实现时间的显示功能。

可以通过多个数码管的组合方式,实现不同格式的时间显示,如时、分、秒的显示、年、月、日的显示等。

三、功能完善1.闹钟功能可以在时钟中添加闹钟功能。

基于51单片机,电子显示时钟带闹钟、整点报时、日期、星期

基于51单片机,电子显示时钟带闹钟、整点报时、日期、星期
void xianshishuzu()
{ StrTab[1]=second/10; //秒十位
StrTab[0]=second%10; //秒个位
StrTab[2]=10; //间隔符-
StrTab[4]=minute/10; //分十位
StrTab[3]=minute%10; //分个位
StrTab[5]=10; //间隔符-
void display(uchar w[32])
{ unsigned int i,j,c=0;
if(a==0)//正常时间显示
{ for(i=0;i<8;i++) //依次将数组w中八个数取出,并显示
{ P2=weikong_code[i]; //位选
j=w[i]; //取出要显示的数码
P0=tab[j]; //取出段选编码
if(month==13)
{month=1; year++;
if(year==10000)
year=0;}}
week++;//星期走
if(week==8)
week=1;
data1();
week1();
while(second==err);
}
}
/**********************键盘扫描子程序*************************/
{if(dБайду номын сангаасy==30); //闰年29天
{day=1; month++;
if(month==13)
{month=1; year++;
if(year==10000)
year=0;}}}

基于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单片机设计的简易电子钟可以显示当前时间,并且实现时间的调整和闹钟设定功能。

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

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

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

基于51单片机的简易电子时钟设计摘要今天,电子时钟是生活中不可或缺的一部分。

电子时钟通过数码管显示,具有整点报时等功能,可以使得我们的生活变得更加有序。

电子时钟也通过不断地改进,变得功能越来越强大。

本次设计的电子时钟利用单片机STC89C5进行控制的,利用单片机1自身的定时器功能,采用数码管显示,可对电子时钟进行调整校准。

此设计具有相当重要的现实意义和实用价值。

基于单片机STC89C5的电子时钟,采用数码管显示“时“分“秒”1而且可用按键进行调整校准。

此次设计与传统的机械表相比,它具有走的更精准,显示更直观等特点,而且单片机的数字时钟具有灵活编程,便于功能扩充等特点。

本次所设计主要有三个模块:显示模块,按键模块,闹铃模块。

该时钟采用STC89C5单片机自身定时器进行计时,按键模块采用独立式键1盘(4个按键),闹铃部分由8550三极管和蜂鸣器构成,显示时、分、秒用两个四位共阴极数码管显示,具有可调整时间功能和设定闹钟功能,在设计过程中硬件和软件应同时进行。

关键词:电子时钟,单片机,闹钟,蜂鸣器SIMPLE ELECTRONIC CLOCK DESIGN BASED ON 51MCUABSTRACTToday, the electronic clock is an integral part of life. Through the digital display electronic clock, with the whole point timekeeping function, can make our life more orderly. The electronic clock also through continuous improvement, has become more and more powerful.The design of the electronic clock using STC89C51 MCU to control the use of single-chip, self timer function, the use of digital tube display, can adjust the calibration of the electronic clock. Has very important realistic significance and practical value of this design.The electronic clock based on MCU STC89C51, using digital tube display "when""seconds" and the button can be used to adjust the calibration. And the design of the traditional mechanical watch, it has to go more accurate, more intuitive display characteristics, and the digital clock has flexible programming, easy to function expansion and so on.This design has three main modules: the display module, keyboard module, alarm module. The clock uses STC89C51 microcontroller timer timing, key module with separate keyboard (4 buttons), the alarm is composed of 8550 transistors and a buzzer, when the display is divided by two seconds, four common cathode digital display, which can adjust the time and set the alarm function, hardware and software in the design process should be carried out at the same time.Key Words: electronic clock, microcontroller, alarm clock, a buzzer第一章绪论.......................................................... - 1 -1.1课题背景及意义................................................1.2课题内容....................................................1.2.1题目及要求..............................................1.2.2主要部分...................................................第二章方案.......................................................... - 2 -2.1 功能要求.....................................................2.3 数码管显示方案 ...............................................第三章电子时钟的硬件设计........................................ - 4 -3.1电子时钟的组成................................................3.2单片机最小系统图...........................................3.3STC89C51引脚功能.............................................3.4数码管显示模块................................................3.5闹铃部分 .....................................................3.6按键模块 .....................................................第四章电子时钟的软件设计........................................ - 8 -4.1电子时钟程序流程框图 .....................................4.2按键调整流程图................................................4.3子程序的设计 ................................................4.3.1数码管显示模块 ......................................4.3.2按键子模块..............................................4.3.3主程序 ..................................................第五章硬件的制作与测试分析 ................................... - 13 -5.1电子时钟的硬件制作........................................5.2硬件测试 .....................................................5.3软件调试 .....................................................5.4测试结果分析与结论........................................5.4.1数码管测试结果分析 .................................5.4.2按键测试结论...........................................5.4.3测试结论.............................................总结与致谢........................................................ - 16 -参考文献............................................................ - 18 -附录 ................................................................. - 20 -附录一分组表 .................................................附录二程序 ......................................................-1 --1 --1 --2 --2 --3 --4 --5 --6 --7 --7 --8 --8 --20 --21附录三电子时钟实物图........................................微机原理与单片机接口技术课程设计报告第一章绪论1.1课题背景及意义二十一世纪的今天,电子时钟已经融入到千千万万户家庭中,它已经成为了人们生活中不可或缺的一部分。

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

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

基于单片机的简易电子时钟设计电子时钟是一种以数字形式显示时间的设备,它使用电子元件来实现计时和显示功能。

基于单片机的简易电子时钟设计是一种使用单片机芯片作为核心控制器的时钟设备。

本文将介绍一个基于单片机的简易电子时钟设计的方案,并详细讨论其硬件和软件实现。

一、硬件设计基于单片机的电子时钟设计的核心是单片机芯片,这里我们选择AT89C51作为控制器。

AT89C51是一款典型的80C51系列单片机,具有高速、低功耗和强大的计数和定时功能。

此外,还需要以下硬件元件实现电子时钟设计:1.电源模块:提供电源给单片机和其他电路元件。

2.晶振:用于提供时钟信号给单片机。

3.液晶显示模块:用于显示时间。

4.按键模块:用于设置和调节时间,以及其他功能操作。

5.蜂鸣器:用于发出小时、分钟和秒的提示音。

二、软件设计基于AT89C51的电子时钟设计需要编写相应的嵌入式软件程序。

以下是设计思路和主要功能点:1.初始化设置:在电子时钟启动时,进行一些初始化设置,如设置系统时钟、显示模式和其他参数。

2.时钟计时:使用定时器和计数器模块,实现时钟的计数功能。

根据时钟信号逐秒递增,并根据设定的模式进行小时、分钟和秒的更新。

3.时间显示:将当前的小时、分钟和秒数转化成对应的数字,在液晶显示模块上显示出来。

4.时间调整:通过按键模块,实现时间的调整功能。

可以通过按键设置、递增和递减来调整小时、分钟和秒。

5.其他功能:可以添加一些其他功能,如闹钟设置、闹铃功能等,以增强电子时钟的实用性。

三、实施步骤1.硬件搭建:按照上述硬件设计需求,搭建电子时钟的硬件电路。

注意连接正确的引脚,提供稳定的电源。

2.软件编写:根据设计思路和功能点,编写相应的嵌入式软件程序。

使用C语言或汇编语言编写代码,并调试和测试程序。

4.测试和优化:将电源连接到电子时钟,进行测试和优化。

检查时钟的计时和显示功能是否正常,是否可以调整时间。

四、实际应用总结:基于单片机的简易电子时钟设计是一种使用单片机芯片作为核心控制器的时钟设备。

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

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

基于单片机的电子时钟的设计基于单片机的电子时钟是一种采用单片机作为主控芯片的数字显示时钟。

它能够准确显示时间,并可以通过编程实现其他功能,如闹钟、倒计时、温湿度显示等。

本文将介绍基于单片机的电子时钟的设计原理、硬件电路和软件编程等内容。

1.设计原理基于单片机的电子时钟的设计原理是通过单片机的计时器和定时器模块来实现时间的计数和显示。

单片机的计时器可以通过设定一个固定的时钟频率进行计数,而定时器可以设定一个固定的计数值,当计数到达设定值时,会触发一个中断,通过中断服务程序可以实现时间的更新和显示。

2.硬件电路基于单片机的电子时钟的硬件电路主要包括单片机、显示模块、按键模块和时钟模块。

其中,单片机作为主控芯片,负责控制整个电子时钟的运行;显示模块一般采用数字管或液晶屏,用于显示时间;按键模块用于设置和调整时间等功能;时钟模块用于提供稳定的时钟信号。

3.软件编程基于单片机的电子时钟的软件编程主要分为初始化和主程序两个部分。

初始化部分主要是对单片机进行相关寄存器的设置,包括计时器和定时器的初始化、中断的使能等;主程序部分是一个循环程序,不断地进行时间的计数和显示。

3.1初始化部分初始化部分首先要设置计时器模块的时钟源和计数模式,一般可以选择内部时钟或外部时钟作为时钟源,并设置计时器的计数模式,如自动重装载模式或单次模式;然后要设置定时器模块的计数值,一般可以通过设定一个固定的计数值和计数频率来计算出定时时间;最后要设置中断使能,使得当定时器计数器达到设定值时触发一个中断。

3.2主程序部分主程序部分主要是一个循环程序,通过不断地读取计时器的计数值,并计算得到对应的时间,然后将时间转换成显示的格式,并显示在显示模块上。

同时,还可以通过按键来实现时间的设置和调整功能,如增加和减少小时和分钟的值,并保存到相应的寄存器中。

4.功能扩展-闹钟功能:设置闹钟时间,并在设定的时间到达时触发报警;-温湿度显示:通过连接温湿度传感器,实时显示当前的温度和湿度数据;-倒计时功能:设置一个倒计时的时间,并在计时到达时触发相应的动作。

基于单片机的电子时钟的设计与实现

基于单片机的电子时钟的设计与实现

基于单片机的电子时钟的设计与实现电子时钟是一种使用微处理器或单片机作为主控制器的数字时钟。

它不仅能够显示当前时间,还可以具备其他附加功能,如闹钟、日历、温度显示等。

一、设计目标设计一个基于单片机的电子时钟,实现以下功能: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.警报控制:根据设置的闹钟时间,触发警报功能,同时根据用户的设置进行控制。

四、测试与调试完成软件设计后,进行系统测试与调试,包括验证显示时间、日期、温度等功能的准确性,以及闹钟和警报功能的触发与控制。

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

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

基于单片机的简易电子时钟设计引言:电子时钟是人们日常生活中广泛应用的一种设备,基于单片机的电子时钟可以实现精确的时间显示、闹钟设置、定时功能等。

本设计将使用单片机控制电子时钟的各种功能,通过一个LCD显示屏来显示时间和其他信息。

一、设计目标:1.实现准确显示时间功能;2.设计带有闹钟设置的功能;3.实现定时功能。

二、设计原理:该电子时钟工作原理主要是通过单片机将外部的时钟信号进行调整和处理,然后控制液晶显示屏显示时间。

电子时钟的核心是单片机,通过单片机的计时功能实现时钟的准确显示,并通过输入设备设置闹钟功能和定时功能。

三、设计流程:1.系统初始化:首先,将单片机初始化,设置时钟和计时器的相关参数,开启显示屏的显示功能。

2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。

3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。

4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。

四、硬件设计:1.单片机选择:选用一款适合的单片机,如51系列单片机。

2.时钟电路:通过外部晶振或者RTC芯片来提供准确的时钟信号。

3.输入设备:使用按键作为输入设备,用于设置闹钟和定时功能;4.显示屏:选用合适的液晶显示屏,用于显示时间。

五、软件设计:1.系统初始化:设置时钟和计时器的相关参数,开启显示屏的显示功能。

2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。

3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。

4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。

六、实验结果:本设计可以准确显示时间,并可以设置闹钟和定时功能。

当闹钟和定时时间到达时,会触发相应的动作,实现了基本要求。

基于单片机的电子钟设计

基于单片机的电子钟设计

基于单片机的电子钟设计摘要:电子钟是一种普遍使用的时钟类型。

通过单片机,可以实现数字时钟的各种功能,例如:时间显示、闹钟功能、温度显示等。

本文介绍了基于单片机的电子钟设计方案,其中包括硬件系统的设计和程序代码的实现。

该电子钟的基本功能包括:时钟模式、闹钟模式、温度显示和日期显示。

设计方案使用的单片机是AT89C52,时钟模块为DS1302。

实验结果表明,该电子钟系统具有稳定性高、精度高、实用性强等特点。

关键词:单片机、电子钟、DS13021. 概述电子钟是目前流行的现代时钟类型之一。

通过单片机,可以实现数字时钟的各种功能,例如:时间显示、闹钟功能、温度显示等。

作为一种普遍应用于家庭以及公共场所的计时工具,电子钟能够提高人们的时效性、管理效率。

本文将介绍基于单片机的电子钟设计方案,其中包括硬件系统的设计和程序代码的实现。

该电子钟的基本功能包括:时钟模式、闹钟模式、温度显示和日期显示。

设计方案使用的单片机是AT89C52,时钟模块为DS1302。

实验结果表明,该电子钟系统具有稳定性高、精度高、实用性强等特点。

2. 硬件设计2.1 系统原理系统的核心是AT89C52单片机,其包括了8051架构下所有标准的特殊功能寄存器以及升级的功能模块。

DS1302是常用的实时时钟模块,它包含一个时钟/日历的B类时钟芯片、一个31个字节的静态RAM 以及一个摆振电路。

通过与AT89C52的串行通信接口,可以实现时钟芯片与单片机的通信。

2.2 电路设计电路设计包括AT89C52单片机、DS1302时钟芯片、4个7段数码管以及相关的外围元件。

其中,输入电源电压为5V直流电压,4个7段数码管均采用共阴极的连接方式。

2.3 电路说明(1) 时钟模块DS1302DS1302是一种时钟模块,其具有许多特性,例如:硬件控制时间的计数、在停电情况下,仍能保持时间记录、考虑到掉电情况、在无外部纪念日的情况下,为计时器提供64字节的RAM等特点。

基于单片机的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电子时钟。

简易电子时钟设计单片机

简易电子时钟设计单片机

简易电子时钟设计单片机
设计一个简易的电子时钟可以使用单片机实现。

以下是一个基本的设计方案,包括硬件和软件部分的实现。

硬件部分:
1.单片机选择:可以选择8051系列的单片机,如AT89C51或
AT89S52等。

2.时钟源:使用晶体振荡器作为时钟源,通常选择11.0592MHz。

3.显示器:选择合适的数码管或液晶显示器,用于显示时间。

4.键盘:选择合适的按钮或矩阵键盘,用于设置时间和功能选择。

5.蜂鸣器:可以选择一个蜂鸣器用于报时功能。

6.电源:选择适当的电源模块,例如稳压电源模块或直流电源。

软件部分:
1.初始化:设置片内RAM、定时器、IO端口等。

2.时间设置:通过按键输入设置时钟的小时和分钟,可以使用中断的方式进行按键扫描。

3.时间更新:使用定时器中断来更新时钟的显示,在中断处理程序中实现时间累加,包括秒数、分钟数和小时数。

4.时间显示:将时间显示在数码管或液晶显示器上,可以使用数码管驱动芯片或液晶显示驱动程序进行显示。

5.报时功能:当时钟显示到设置的时间时,触发蜂鸣器进行报时。

6.闹钟功能:设置一个闹钟时间,到达闹钟时间时触发蜂鸣器报警。

7.周期功能:设置一个周期,例如每天、每周等,当时钟显示到周期
时间时触发蜂鸣器报时或报警。

8.温度显示:如果有温度传感器,可以通过温度传感器测量室内温度,并在显示器上显示当前温度。

总结:
这只是一个基本的设计方案,你可以根据实际需求进行改进和扩展。

通过合适的单片机、显示器、键盘和蜂鸣器的选择,以及基于中断的软件
编程,你可以实现一个简易的电子时钟。

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

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

基于51单片机的电子时钟设计
电子时钟是一种使用电子元件和计算机技术制造的时计,它可以显示年、月、日、时、分、秒等时间信息,并且具有显示精确、功能齐全、操
作简便等特点。

本文将基于51单片机设计一个电子时钟。

一、硬件设计:
1.时钟模块:我们可以使用DS1302时钟模块作为实时时钟芯片,它
可以提供精确的时间信息,并且可以通过单片机与之进行通信。

2.显示模块:我们可以使用共阳数码管进行时间的显示,将时钟设计
成6位7段显示器。

3.按键模块:我们可以使用按键作为输入方式,通过按键调整时间信息。

二、软件设计:
1.初始化:首先,我们需要初始化时钟模块和显示模块,使它们正常
工作。

同时,设置时钟的初始时间为系统当前时间。

2.获取时间:通过与时钟模块的通信,获取当前的时间信息,包括年、月、日、时、分、秒等。

3.显示时间:将获取到的时间信息通过显示模块显示出来,分别显示
在6个数码管上。

4.时间调整:通过按键模块的输入,判断用户是否需要调整时间。


果需要,可以通过按键的不同组合来调整时、分、秒等时间信息。

5.刷新显示:通过不断更新显示模块的输入信号来实现时钟的流动性,保持秒针不断运动的效果。

6.时间保存:为了保证时钟断电后依然能够保持时间,我们需要将时
钟模块获取到的时间信息保存在特定的EEPROM中。

7.闹钟功能:可以通过按键设置闹钟,当到达闹钟时间时,会通过蜂
鸣器发出响声。

以上就是基于51单片机的电子时钟设计方案。

通过对硬件和软件的
综合设计,我们可以实现一个功能齐全的电子时钟。

基于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).时制式为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构成键盘电路。

基于单片机实现的简易电子时钟电路设计

基于单片机实现的简易电子时钟电路设计

摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。

由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。

而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。

应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。

该方法仿真效果真实、准确,节省了硬件资源。

关键词:单片机 AT89S 电子时钟键盘控制I目录摘要 (I)目录............................................................................................................................. 错误!未定义书签。

第一章前言.. (1)第二章方案论证与比较 (2)2.1数字时钟方案 (2)2.2数码管显示方案 (2)第三章系统设计 (3)3.1总体设计 (3)3.1.1系统说明 (3)3.1.2系统框图 (3)3.2模块设计 (4)3.2.1电源部分 (4)3.2.2复位电路 (4)3.2.3程序下载接口 (5)3.2.4位选部分 (5)3.2.5数码管的连接电路 (6)3.2.6控制部分 (6)第四章原理图与PCB图 (8)第五章软件设计 (9)5.1程序流程图 (9)5.2源程序 (11)第六章总结 (18)6.1物品清单与元件特性 (18)6.2设计总结 (19)参考文献(References): (19)第一章前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。

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

单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2013年 3 月7日基于单片机的电子时钟设计报告摘要电子时钟是现代社会中的主要计时、工具之一,广泛应用于手机、电脑、汽车等日常生活的方方面面,有不可替代的作用。

本设计采用AT89C52单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路等组成。

数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等,这些方法都各有特点。

其中,利用单片机实现的电子钟具有编程灵活,精确度高,便于扩充附加功能的特点,通过不同程序及其对应电路的组合,可设计出形形色色,功能各异的电子钟。

关键词:单片机;电子钟;LCDAbstractThe electronic clock is a the primary timekeeper in the modern society, one of the tools, widely used in mobile phones, computers, cars and other aspects of daily life, have an irreplaceable role.This design uses A T89C52 microcontroller as the core components attached power-on reset circuit, clock circuit and key tune the circuit.Digital electronic clock design in a variety of ways, For example, small and medium scale integrated circuits composed of electronic bell; electronic clock can also use dedicated electronic clock chip together with the display of the circuit and its peripheral circuits need; Y ou can also take advantage of the microcontroller to achieve electronic bell, these methods have their own characteristics. Among them, the use of the electronic clock MCU programming flexibility, high accuracy, easy expansion characteristics of the additional features various different functions of the electronic clock, through the combination of the different procedures and the corresponding circuit design.Keywords:Single-chip,electronic bell,LCD1 引言1.1设计目的1957年,V entura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。

随着物质生活水平的不断发展提高,人们对现在电子设备的智能化和微型化及其精度都提出了更高的要求,而单片机因其具有稳定可靠、体积小、价格低廉等特点,成为设计智能化仪器仪表的首选微控制器。

现代的基于单片机设计的高精度的电子时钟,大多数都使用了石英晶体振荡器,用数字集成电路代替了机械传动,用LED或LCD显示器替代指针显示,减少了误差,走时精度高,稳定性好,使用方便,不需要经常调试,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常中不可或缺的工具。

通过单片机实现的电子钟还具有编程灵活,精确度高,便于扩充附加功能的特点,通过不同程序及其对应电路的组合,可设计出形形色色,功能各异的电子钟。

1.2设计要求(1)准确计时,以数字形式显示时、分、秒的时间。

(2)小时以24小时计时形式,分秒计时为60进位。

(3)校正时间功能,即能随意设定走时时间。

(4)设计5V直流电源,系统时钟电路、复位电路。

2 电子时钟介绍2.1电子时钟简介电子时钟是现代社会中的主要计时工具之一,广泛应用于手机、电脑、汽车等日常生活的方方面面,有不可替代的作用。

较传统机械式时钟相比,电子时钟有着走时精度高,稳定性好,使用方便,安全可靠等优点。

本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,一目了然。

2.2电子时钟的原理该电子时钟由AT89C52,BUTTON,LCD显示器等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。

而电路中的控制键可以完成时间的校准及初始设置的功能。

2.3电子时钟的基本特点数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等,这些方法都各有特点。

其中,利用单片机实现的电子钟具有编程灵活,精确度高,便于扩充附加功能的特点,通过不同程序及其对应电路的组合,可设计出形形色色,功能各异的电子钟。

3 设计方案和论证3.1计时方案方案1:采用实时时钟芯片:现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等。

这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。

因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。

方案2:使用单片机内部的可编程定时器:利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。

该方案节省硬件成本,但程序设计较为复杂。

本次设计选取方案2,采用单片机内部的定时计数器来实现时钟功能。

3.2显示方案对于实时时钟而言,显示显然是另一个重要的环节。

本次设计选取LCD1602作为显示器。

液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。

液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。

4 硬件设计4.1单片机最小系统在本设计中,单片机最小系统包括:单片机、晶振电路、复位电路等。

如图3.1所示,晶振电路由C1与C2和晶振组成,晶振是给单片机提供工作信号脉冲的。

它的速率就是单片机的工作速率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。

并在晶振的两引脚处接入两个30pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。

复位电路采取的为手动按键复位电路,由电容C3和开关RESET组成上电复位和手动复位电路,当单片机的复位引脚RESET出现两个机器周期以上的高电平时,单片机就执行复位操作。

如果RESET持续为高电平,单片机就处于循环复位状态。

每次复位后,单片机的程序都会从第一条开始从新执行。

最后通过下载器电路下载程序进入单片机。

单片机最小系统电路图如附录2图1所示。

4.2时钟显示校正电路本设计利用按键开关来校正时钟显示的数字。

当按钮按下时,将在相应的端口输入一个低电平,通过相应的程序来改变时钟显示。

其中S1按键开关用来选择要修改的数字;S2按键用来增加所选数字的数值;S3按键用来减少所选数字的值。

时钟显示校正电路如附录2图2所示。

5 软件设计本设计,以C语言为程序设计的基础,设计一个用LCD显示器显示时、分、秒的电子时钟。

源程序代码见附录1。

程序主流程图如附录2图3所示。

时间显示流程图如附录2图4所示。

按键处理图如附录2图5所示。

6 系统仿真及实际调试本次程序源代码部分在Keil C软件上编写调试,电路部分在Protues软件上进行仿真调试,相关调试仿真结果如附录2图6、图7所示。

7 设计小结参考文献附录1#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit rs=P3^7;sbit lcden=P3^6;sbit s1=P3^0;sbit s2=P3^1;sbit s3=P3^2;uchar count,s1num;char miao,shi,fen;uchar code table[]="made by Shihaoyu";uchar code table1[]=" 00:00:00";void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){uchar num;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<16;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<12;num++){write_date(table1[num]);delay(5);}TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void write_sfm(uchar add,uchar date){uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}void keyscan(){if(s1==0){delay(5);if(s1==0){T0=0;s1num++;while(!s1);if(s1num==1){write_com(0x80+0x40+10);write_com(0x0f);}if(s1num==2){write_com(0x80+0x40+7);}if(s1num==3){write_com(0x80+0x40+4);}if(s1num==4){s1num=0;T0=1;write_com(0x0c);}}}if(s1num!=0){if(s2==0){delay(5);if(s2==0){while(!s2);if(s1num==1){miao++;if(miao==60)miao=0;write_sfm(10,miao);write_com(0x80+0x40+10);}if(s1num==2){fen++;if(fen==60)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);}if(s1num==3){shi++;if(shi==60)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);}}}if(s3==0){delay(5);if(s3==0){while(!s3);if(s1num==1){miao--;if(miao==-1)miao=0;write_sfm(10,miao);write_com(0x80+0x80+10);}if(s1num==2){fen--;if(fen==-1)fen=0;write_sfm(7,fen);write_com(0x80+0x40+7);}if(s1num==3){shi--;if(shi==-1)shi=0;write_sfm(4,shi);write_com(0x80+0x40+4);}}}}}void main(){init();while(1){keyscan();}}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==18){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;}write_sfm(4,shi);}write_sfm(7,fen);}write_sfm(10,miao);}}附录2图1单片机最小系统图2 时钟显示校正电路图3主程序流程图图4时间显示流程图图5 按键处理流程图图6仿真结果图7主电路图。

相关文档
最新文档