利用51单片机制作的电子时钟

利用51单片机制作的电子时钟

最近研究起来了单片机,用的是国产STC98C52 芯片。STC89C52 是STC

公司生产的一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程

Flash 存储器。STC89C52 使用经典的MCS-51 内核,但做了很多的改进使得芯

片具有传统51 单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和

在系统可编程Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、

超有效的解决方案。

买了很长时间了可是一直在那里放着,今天重新拿出来写了一段电子时钟的

C++程序,利用充电宝供电,当作电子时钟挺不错的。

功能:

4 个七段数码管作为时钟显示的主体两个显示小时,两个显示分钟,8 个

LED 灯作为秒数的闪烁,4 个独立按键分别为

hour+1,hour+10,minute+1,minute+10。

查询LED 电路,接入端为P1到P1。

数码管采用了驱动芯片,接入端为P2到P2。

按键的接入端如图所示。

有了各种电路的接入端,我们利用keil 进行编程。

/* * Copyright (c) 2015,烟台大学计算机学院* All right reserved. * 作者:邵

帅* 文件:temp.c* 完成时间:2015 年05 月29 日*/ #include #define uchar unsigned char sbit P2_0 = P2;sbit P2_1 = P2;sb it P2_2 = P2 ;sbit P2_3 = P2;sb it key1=P3 ;//按键sbit key2=P3;sb it key3=P3;sb it key4=P3 ;static unsigned char second,minute,hour;unsigned int tcount;unsigned char m;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void delay(uchar

51单片机作的电子钟程序及电路图

51单片机作的电子钟程序在很多地方已经有了介绍,对于单片机学习者而言这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。常见的电子钟程序由显示部分,计算部分,时钟调整部分构成。 时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。 开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。 6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。

以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 中断入口程序 ;; (仅供参考) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG 0013H ;外中断1中断程序入口

RETI ;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 主程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;clr P3.7 ; CLEARDISP: MOV @R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H(标志用) MOV 7AH,#0AH ;放入"熄灭符"数据 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值 MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用初值(50M S×20)START1: LCALL DISPLAY ;调用显示子程序 JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 1秒计时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;T0中断服务程序 INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护

51单片机实现电子时钟功能-1602液晶显示

第一章设计要求及系统组成 一、基本操作时序:读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:无 读数据:输入:RS=H,RW=H,E= 高脉冲输出:D0~D7数据 写数据:输入:RS=H,RW=L。D0~D7=数据,E=高脉冲输出:无二、、、状态字说明:STA7 D7\ STA6 D6\ STA5 D5 \ STA4 D4 \STA3 D3 \ STA2 D2\\ STA1 D1 STA0-6:当前数据地址指针的数值 STA7:读写操作使能 1表示禁止,0表示允许 对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0;但是我们可以进行延时进行实现。 RAM地址映射: LCD 16字*2行 00 01 02 03 04 05 06 07 08 08 09 0A 0B 0C 0D 0E 0F (27) 40 41 42 4F 50 (67) 指令说明:1.初始化设置 1.显示模式设置指令码:00111000(0x38)功能:设置16*2显示,5*7点阵,8位数据接口 必须开显示 2.显示开、关及光标设置指令码:00001DCB,功能:D=1 开显示;D=0 关显示;C=1显示光标;B=1 光标闪烁;B=0 光标不显示 000001NS:功能:N=1当读或写一个字符后地址指针加1,且光标加1;N=0相应的减1;S=1当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。

S=0 当写一个字符,正屏显示不移动。 数据控制:控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部80字节RAM 4.2.1 数据指针设置:指令码:80H+地址码(0-27H,第二行开始:40H-67H) 4..2.2 读数据,写数据 其它设置:01H:显示清屏:1.数据指令清零 2 所有显示清零 02H:显示回车:1.数据清零 如何进行连接:实际操作中,液晶接到,第一管脚是D,第二管脚是VCC,15和16是背光,D0-D7是数据口,接到单片机的P0口,P0口接了两个锁存器,液晶,D/A,具有高阻状态的都可以随便接,没有影响,,第六管脚是LCDEN相当于 E,使能信号,它接P3^4,R/W接地,表示低电平,因为我们只进行写操作,RS接2实验板上的P3^5;只需这两端口便足以控制液晶,2和3是偏压信号,一端接地, 接口信号说明:编号:1 VSS(符号表示)电源地(引脚说明)2VDD 电源正极3VL液晶显示偏压信号4RS数据/命令选择端(H/L)5R/W 读写选择端(H/L)6E使能信号7D0 Data 1/0 8D1 Data 1/0 9 D2 Data 1/0 10 D3 Data 1/0 11D4 Data 1/0 12D5 Data 1/0 13D6 Data 1/0 14D7 Data 1/0 15BLK背光源正极16 BLK背光源负极

利用51单片机制作的电子时钟

利用51单片机制作的电子时钟 最近研究起来了单片机,用的是国产STC98C52 芯片。STC89C52 是STC 公司生产的一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程 Flash 存储器。STC89C52 使用经典的MCS-51 内核,但做了很多的改进使得芯 片具有传统51 单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和 在系统可编程Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、 超有效的解决方案。 买了很长时间了可是一直在那里放着,今天重新拿出来写了一段电子时钟的 C++程序,利用充电宝供电,当作电子时钟挺不错的。 功能: 4 个七段数码管作为时钟显示的主体两个显示小时,两个显示分钟,8 个 LED 灯作为秒数的闪烁,4 个独立按键分别为 hour+1,hour+10,minute+1,minute+10。 查询LED 电路,接入端为P1到P1。 数码管采用了驱动芯片,接入端为P2到P2。 按键的接入端如图所示。 有了各种电路的接入端,我们利用keil 进行编程。 /* * Copyright (c) 2015,烟台大学计算机学院* All right reserved. * 作者:邵 帅* 文件:temp.c* 完成时间:2015 年05 月29 日*/ #include #define uchar unsigned char sbit P2_0 = P2;sbit P2_1 = P2;sb it P2_2 = P2 ;sbit P2_3 = P2;sb it key1=P3 ;//按键sbit key2=P3;sb it key3=P3;sb it key4=P3 ;static unsigned char second,minute,hour;unsigned int tcount;unsigned char m;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void delay(uchar

基于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. 选择合适的元器件,在面包上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在充分电路正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4. 在验证各个功能模块基础上,对整个电路的元器件和布线,进行合理布局,进行整个数字钟电路的接线调试。 三、制作要求: 自行装配、接线和调试,并能检查和发现问题,根据原理、现象和测量的数据分析问题所在,加以解决。学生要解决的问题包括元器件和面包板故障引起的问题。 四、设计报告内容要求: 1. 目的。

51单片机里电子时钟设计原理

51单片机里电子时钟设计原理 单片机是一种集成电路芯片,具有微处理器的所有功能。电子时钟是一种通过数字化方式显示时间的装置,通常由时钟芯片、计时电路、显示电路、报警电路等组成。在51单片机中设计电子时钟,主要包括以下几个方面的原理。 1.时钟芯片选择: 选择一款适合的时钟芯片非常重要。时钟芯片提供了计时的稳定性和精度,并且具有时间数据的存储功能。在51单片机设计中,常常使用DS3231、DS1302等高性能的时钟芯片。 2.计时电路设计: 计时电路是电子时钟的核心部分,它通过计数器实现时间的累加。在51单片机设计中,可以使用定时器和计数器来实现计时功能。通过设定定时器的工作模式和计数值,可以实现从1ms到秒、分、时的计时。 3.显示电路设计: 显示电路用于将计时电路的计时结果以数字形式显示出来。通常使用数码管或液晶显示屏作为显示装置。在51单片机设计中,通过控制数码管或液晶显示屏的引脚,将对应的数字段点亮,实现数字的显示。 4.按键输入设计: 电子时钟通常具有设置时间、调整时间、报警等功能。这些功能需要通过按键来实现。在51单片机设计中,可以使用矩阵按键,通过行列扫描的方式检测按键的按下,并根据按键的不同触发不同的功能。 5.报警电路设计:

电子时钟通常具有报警功能,可通过蜂鸣器或其他音频输出装置实现。在51单片机设计中,通过控制IO口的高低电平输出,控制蜂鸣器的工作 状态,从而实现报警功能。 6.软件设计: 单片机的设计离不开软件的支持。在51单片机设计中,通常使用C 语言编程,通过编写程序来实现各个功能的控制。根据需求,设计相应的 算法和逻辑,实现时间的计算、显示、设置和报警等功能。 以上是51单片机中设计电子时钟的一些原理。通过合理的硬件设计 和软件编程,可以实现功能齐全、稳定可靠的电子时钟。

单片机电子时钟实验报告

单片机电子时钟实验报告 课程设计报告 设计题目: 电子时钟设计指导教师: 姓名: 学号: 班级: 专业: 日期: 2021-1-5 目录 1 摘 要 ........................................................................... ........................ 3 第一章系统设计要 求 (4) 1.1 基本功 能 ........................................................................... ......... 4 1.2 扩展功 能 ........................................................................... (4) 第二章硬件总体设计方 案 (4)

2.1系统功能实现总体设计思 路 ...................................................... 4 2.2各部分功能实 现 (6) 2.3系统工作原 理 ........................................................................... .. 6 2.4时钟各功能分析及图 解 (6) 2.4.1电路各功能图解分析............................................................................ .. (7) 2.4.2电路功能使用说明............................................................................ . (10) 第三章软件总体设计方 案 (1) 控制电路的C语言源程 序 (10) 第四章课程设计结果分 析 .................................................... 19 第五章总 结 ........................................................................... ....... 20 参考文 献 ........................................................................... . (21) 单片机电子时钟 2 摘要:单片机即单片微型计算机。(Single-Chip Microcomputer ),是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。时钟,自从它被发明

51单片机电子时钟

一,总体方案设计 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和一些显示星期、报时、停电查看时间等附加功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,“星期”计数器、校时电路、报时电路和振荡器组成。干电路系统由秒信号发生器、“时、分、秒、星期”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。每累计24小时,发出一个“星期脉冲”信号,该信号将被送到“星期计数器”,“星期计数器” 采用7进制计时器,可实现对一周7天的累计。译码显示电路将“时”、“分”、“秒”、“星期”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”、“星期”显示数字进行

校对调整的。但是基于我们是初学者,我们只做一些比较简单的设计,可以显示时分秒,可以计时,还有闹钟提示,还加上温度的测量,即焊接上温度传感器18DS120在P1口进行温度的测量。 数字电子钟主体电路应由以下几部分组成:通过分频器产生标准秒信号;60进制分秒计数器以及24小时计数器;分、时的译码显示部分;校时电路。

51单片机的电子时钟设计

51单片机的电子时钟设计 一、引言 随着科技的发展和人们对时间的准确度的要求日益提高,电子时钟成为了人们生活中不可缺少的一部分。本文将介绍一种基于51单片机的电子时钟设计。 二、硬件设计 1.主控部分 本设计使用了51单片机作为主控芯片,51单片机具有丰富的接口资源和强大的处理能力,非常适合用于电子时钟的设计。 2.显示部分 采用了数码管显示屏作为显示部分。为了提高显示的清晰度,我们选用了共阳数码管。使用4位数码管即可显示时、分和秒。 3.时钟部分 时钟部分由振荡器和RTC电路构成。振荡器提供时钟脉冲信号,RTC 电路实现对时钟的准确计时。 4.按键部分 按键部分采用矩阵按键,以实现对时间的设置和调整。 三、软件设计 1.系统初始化

在系统初始化阶段,需要对硬件进行初始化设置。包括对I/O口的配置,定时器的初始化等。 2.时间设置 用户可以通过按键设置当前的时间。通过矩阵按键扫描,检测到用户 按下了设置键后,进入时间设置模式。通过按下加减键,可以增加或减少时、分、秒。通过按下确认键,将设置的时间保存下来。 3.时间显示 在正常运行模式下,系统将会不断检测当前的时间,并将其显示在数 码管上。通过对时钟模块的调用,可以获取当前的时、分、秒并将其显示 出来。 4.闹钟功能 在时间设置模式下,用户还可以设置提醒闹钟的功能。在设定时间到 来时,系统会发出蜂鸣器的声音,提醒用户。 四、测试与验证 完成软硬件设计后,进行测试与验证是必不可少的一步。通过对硬件 的连线接触检查和软件的功能测试,可以确保整个设计的正确性和可靠性。 五、总结 通过本次设计,我对51单片机的使用和原理有了更清晰的认识,同 时也对电子时钟的设计和制作有了更深入的了解。电子时钟作为一种常见 的电子产品,在我们的日常生活中发挥了重要的作用。这次设计过程中, 我遇到了许多问题,但通过查阅资料并与同学一起探讨,最终解决了问题。相信通过不断的学习和实践,我可以在未来的设计中取得更好的成果。

(完整)基于51单片机电子时钟设计

(完整)基于51单片机电子时钟设计 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于51单片机电子时钟设计)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于51单片机电子时钟设计的全部内容。

基于51单片机的电子时钟设计 摘要 本电子时钟以STC89C52单片机作为主控芯片,采用DS12C887时钟芯片,使用1602液晶作为显示输出.该时钟走时精确,具有闹钟设置,以及可同时显示时间、日期等多种功能。本文将详细介绍该电子时钟涉及到的一些基本原理,从硬件和软件两方面进行分析. 【关键词】 STC89C52单片机 DS12C887时钟芯片 1602液晶蜂鸣器 目录 一、绪论 (4)

1.1 电子时钟功能 (4) 1.2设计方案 (4) 二、硬件设计 (4) 2。151单片机部分设计 (4) 2.2 USB供电电路设计 (5) 2.3 串行通信电路设计 (6) 2.4 DS12C887时钟芯片电路的设计 (6) 2。5 1602LCD液晶屏显示电路设计 (7) 2。6蜂鸣器电路设计 (8) 2。7按键调整电路设计 (8) 三、软件设计 (9) 3.1系统程序流程图设计 (9) 3。2程序设计 (11) 四、心得体会 (22) 参考文献 (23) 一、绪论 1。1电子时钟功能 (1)在1602液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。 (2)具有闹铃设定即到时报警功能,报警响起时按任意键可取消报警。 (3)能够使用实验板上的按键随时调节各个参数,四个有效键分别为功能选择键、数值增大键、数值减小键和闹钟查看键。 (4)每次有键按下时,蜂鸣器都以短“滴”声报警. (5)利用DS12C887自身掉电可继续走时的特性,该时钟可实现断电时间不停、再次上电时时间仍准确显示在液晶上的功能。 1。2设计方案 DS12C887时钟芯片+1602LCD液晶屏 DS12C887时钟芯片功能丰富、价格适中,能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部含有世纪寄存器,从而利用硬件电路解决“千年”问题。DS12C887中自带锂电池,外部掉电时,其内部时间信息还能保持10年之久。1602LCD液晶屏可以输出2行,每行显示16个字符。1602LCD液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。 以STC89C52为主控芯片,DS12C887为时钟芯片,1602LCD液晶屏作为显示器.程序控制DS12C887时钟芯片实现小时、分、秒和年、月、日的计时,并在1602LCD液晶屏上显示出来。当时间走到程序所设定的时间时,蜂鸣器响起,起到闹钟功能。

51单片机数字钟设计程序

51单片机数字钟设计程序 51单片机是一种常用的单片机芯片,它具有体积小、功耗低、性能稳定等特点,被广泛应用于各种电子设备中。本文将以51单片机数字钟设计程序为主题,介绍如何使用51单片机设计并实现一个简单的数字钟。 我们需要了解一下数字钟的基本原理。数字钟主要由时钟芯片、数码管、按键等组成。时钟芯片负责计时和控制,数码管用于显示时间,按键则用于设置和调整时间。 在设计数字钟的程序时,我们需要考虑以下几个方面: 1. 时钟设置:首先,我们需要设置时钟芯片的工作模式。一般来说,时钟芯片有两种工作模式,分别是24小时制和12小时制。我们可以通过按键来选择工作模式,并将选择结果保存到相应的寄存器中。 2. 时间显示:接下来,我们需要将时钟芯片中的时间数据通过数码管显示出来。数码管通常由7段LED组成,每段LED对应一个数字或字符。我们可以通过控制数码管的引脚状态来实现不同数字的显示。同时,为了使时间显示更加清晰,我们可以在数码管之间加入冒号等分隔符。 3. 时间调整:为了保证时间的准确性,我们需要提供时间调整的功能。可以通过按键来实现时间的增加和减少,从而调整时钟芯片中的时间数据。当按键按下时,我们可以检测到相应的信号,并将其

转换为时间调整的命令。 4. 闹钟功能:除了显示时间,数字钟还可以具备闹钟功能。我们可以设置一个闹钟时间,并在达到闹钟时间时触发相应的报警信号。一般来说,闹钟功能可以通过按键设置,并将设置结果保存在相应的寄存器中。当时钟芯片中的时间与闹钟时间一致时,我们可以通过控制蜂鸣器等外设来发出报警信号。 通过以上的设计,我们可以实现一个简单的数字钟。当然,如果我们希望数字钟具备更多的功能,比如温湿度显示、定时器等,我们还可以在程序中添加相应的代码来实现。 总结一下,本文以51单片机数字钟设计程序为主题,介绍了数字钟的基本原理以及设计过程。通过对时钟芯片、数码管、按键等的控制,我们可以实现时间的显示、调整和闹钟功能。希望本文对读者理解数字钟的设计有所帮助,同时也能够激发读者对单片机程序设计的兴趣。

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

基于51单片机电子时钟设计 51单片机是一种非常常见的单片机,被广泛应用于各种电子设备中。在本文中,我将基于51单片机设计一个电子时钟。 首先,我们需要收集各种元器件,包括51单片机、数码管显示模块、电容、电阻、晶体振荡器等。接下来,我们将进行硬件连接。 首先,将数码管显示模块连接到单片机的相应引脚上。数码管显示模 块通常由多个七段数码管组成,每个七段数码管有共阴极和共阳极两种类型,根据具体的数码管型号选择适当的连接方式。 接下来,连接晶体振荡器到单片机上。晶体振荡器通常用于提供时钟 信号,给单片机提供准确的时钟频率。选择适当的晶体振荡器频率,将其 连接到单片机的相应引脚上。 同时,还需要连接其他的元件,如电容和电阻。电容用于稳定电压, 在电路中通常用作滤波器。选择合适的电容,将其连接到电源引脚上。电 阻用于限制电流和调整电压,根据需要选择合适的电阻值,并将其连接到 相应的引脚上。 接下来,我们将进行软件编程。 首先,我们需要在编程环境中选择适当的编程语言,比如C语言。然后,我们需要编写代码来实现时钟的各种功能。 首先,我们需要初始化单片机的引脚。这可以通过设置相应的寄存器 来实现,以确保单片机正常工作。 接下来,我们需要编写代码来实现时钟的显示功能。我们可以使用循 环来不断刷新数码管显示,以确保显示的时钟数值实时更新。可以通过读

取单片机内部的计时器或使用外部的定时模块来获取当前的时间,并将其转换为数码管可以显示的格式。 除了显示功能之外,还可以添加其他功能,比如闹钟、定时器等。闹钟功能可以通过检测当前时间和设置的闹钟时间来触发相应的提醒。定时器功能可以用来设置特定的时间间隔,并在到达设定时间时触发相应的操作。 总结起来,基于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单片机电子时钟设计及说明

51单片机电子时钟程序 #include #include #include #include #define uchar unsigned char #define uint unsigned int sbit mode=P2^0; //设定修改位数k0 sbit plus=P2^2; //加键k2 sbit dec=P2^3; //减键k3 sbit nz=P2^1; // 闹钟设置k1 sbit nzz=P2^4; // 闹钟总开关k4 sbit nzf=P2^5; // 闹钟分开关k5 sbit fm=P2^6; uchar a=0,b=0; uchar DateTime[7]; uchar week,mode_num,mod_num; uchar tab1[]={"D **/**/** "}; uchar tab2[]={"T **:**:** "}; char code weekday[8][4]={"***","MON","TUS","WEN","THU","FRI","SAT","SUN"}; char code dayofmonth[]={31,28,31,30,31,30,31,31,30,31,30,31}; sbit rs=P1^0; //寄存器选择信号 sbit rw=P1^1; //读写控制信号线 sbit en=P1^2; //使能信号线 char code int_to_char[]="0123456789"; void delay(uint x) //延时程序 { uint a,b; for(a=x;a>0;a--) for(b=10;b>0;b--); } void write_com(uchar com) //写命令 { rs=0;

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

目录 0 前言 (1) 1 总体方案设计 (1) 2 硬件电路设计 (2) 3 软件设计 (3) 4 调试分析及说明 (4) 5 结论 (5) 参考文献 (5) 课设体会 (6) 附录1 电路原理 (8) 附录2 程序清单 (8) 电子钟的设计与仿真 赵伟成都理工大学工程技术学院电气工程及其自动化3班 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片

机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以 AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试; (4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行

8位数码管显示电子时钟c51单片机程序

8位数码管显示电子时钟c51单片机程序 /* 8位数码管显示时间格式 055000 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #includereg52.h sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管09 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为12:30:00 void delay(unsigned int cnt) {

while(cnt); } /********************************************************** ********/ /* 显示处理函数 */ /********************************************************** ********/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示 StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示 StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main() { TMOD |=0x01; //定时器0 10ms inM crystal 用于计时

基于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单片机电子时钟(C语言)

#include #include #define uchar unsigned char //宏定义 #define uint unsigned int uchar sec,min,hour,sec50,jishu,dtp2; //sec、min、hour、为显示单元,sec50为60秒计数单元,jishu为扫描数码管计数单元 uchar sec1,min1,hour1; //时间中介单元 uchar nzmin,nzhour,nzjishu=0,dispjishu=0; //闹钟分、时定义 uchar data nzbit=0; //闹钟标志位,闹钟默认为开启 uchar data dispbit=0; //显示标志位,默认显示当前时间 uchar data disp[8]; //秒、分、时个位与十位存放数组及‘—’ uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数字0-9 sbit KEYmin=P3^2; //分加1按钮 sbit KEYhour=P3^3; //时加1按钮 sbit LABA=P1^0; //闹钟输出I/O口

sbit NZdisplay=P3^4; //闹钟显示按钮,按住不放显示闹钟时间,放开则显示当前时间sbit KEYnzmin=P3^5; //闹钟分加1按钮 sbit KEYnzhour=P3^6; //闹钟时加1按钮 sbit KEYoff=P3^7; //关闭闹钟按钮,按第一次为关闭,第二次为开启 void display(); //显示函数声明 void keyscan(); //按键扫描函数声明 void naozhong(); //闹钟判别函数声明 void keynz(); //闹钟按键函数声明 void main() { sec=0; //时间初始化为00—00—00 min=0; hour=0; sec1=0; //显示单元初始化为00—00—00 min1=0; hour1=0; nzmin=01; //闹钟初始时间为01:01 nzhour=01; jishu=0; dtp2=0xfe; P0=0xff; TMOD=0x11; //设T0、T1为模式1 IE=0x8a; TH0=0xb8; //T0定时20ms TL0=0x0; TH1=0xfc; //T1定时1ms TL1=0x66; TR0=1; TR1=1; while(1) { display(); //调用显示子程序 keyscan(); //调用按键子程序 keynz(); //调用闹钟按键子程序 } } void t0int() interrupt 1 //T0定时中断程序 { TH0=0xb8; TL0=0x0; sec50++; if(sec50==50) //对20ms计数50次即1s { sec50=0; //清秒计数器,为下次做准备

相关文档
最新文档