文档库 最新最全的文档下载
当前位置:文档库 › 电子时钟程序

电子时钟程序

电子时钟程序
电子时钟程序

+-+

机电工程系

课程设计报告题目:

专业:

班级:

学号:

姓名:

同组人:

指导老师:

答辩日期:

一、绪论

当今世界但片机以飞快的速度在发展,了解和掌握单片机技术是我们机电系学生应该学习的课程之一,基于本学期对单片机的学习,现在对单片机语言所写出的电子时钟展开说明,现在生活很多东西都是离不开电子了,许许多多的东西都被电子产品所代替,时钟就是一种在我们生活之中很普通的电子产品,它虽然在单片机机之中算是一种比较简单的东西,但它在我们生活在是普遍存在的,它能让我们对更多的电子产品有所了解,所以我们想要了解更多的电子产品,电子时钟也是我们应该了解的,所以我们对电子时钟展开课程设计,并对其工作原理及工作方式进行了解,这样能让我们初步学习到有关的电子产品。设计过程中我们将对生活中电子时钟的工作方式进行了解,接着我们要在学过的单片机语言基础上,对电子时钟这样的工作方式进行单片机解释,有单片机语言解释,为什么电子时钟要这样工作,接着我们有汇编语言写出电子时钟程序,在报告中我们将对单机汇编语言的有关语句进行解释,并对单片机的电路板的工作原理进行解释,并对电子时钟工作方式进行说明。

二、对本课程设计的分析

2.1 工作原理

当电子时钟上电时候将在电子时钟上显示23-30-00,带表现在是时间,电子时钟将按正常的时间一样走动,有对应的四个按钮用来调整时钟所对应的时间,第一个按钮对应设置按钮,当它按下去时候,时钟将停止走动,这时候将进入调时间模式,第二个按键用来选择调的是时还有分还秒,第三个按键用来加运算的,

第四个按键用来减运算的。

2.2 P3口对应的按键操作功能系统框图

开始

P3.0是否按

P3.1是否按

YES P3.2是否按下

P3.3是否按下NO

P3.3是否按下21H 是否为几

YES

P3.2是否按下P3.3是否按下P3.2是否按下NO

时加一

YES NO

时减一

是否为一

YES NO

分加一

分减一

是否为2NO

YES YES NO

秒加一

秒减一

说明:以上框图是系统版上对应的四个按键对电子时钟的操作功能,在什么情况下,对应的按键实现什么样的功能。

三、 主要电路模块的实现方案比较及选择

3.1 电子时钟显示电路

说明:P2口对应的为数码管的位选当P2为01H时候对应的最右边的数码管被点亮,将01H依次左移,数码管从右到左依次扫描,对应的数码管依次点亮,而我们就是根据数码管的动态显示让每位数码管显示1MS从右到左依次显示,而人的眼睛看上去就是同时看到8位数码管都亮了。数码上另外8个端口接到P1口,,用来点亮每位数码管里对应的LED的亮灭,从而在数码管上显示我们想要她显示的数字。

3.2:51单片机最小系统版电路

说明:左上角对应的是时钟复位电路,当S5按下时候,对应的时钟值会回到初始设定的值,左下角对应的是时钟晶体振荡电路,其产生的脉冲直接送给内部时钟电路,外接晶振时,C10和C11通常选择20-30pF,C10和C11对频率有微调作用,影响晶振的稳定性和起振的速度。

3.3 :电源指示灯电路

说明:该电路用来观看电路是否有上电

3.4:电子时钟按键调节电路

说明:,该电路由4个按键组成,其中S1是设置按键,该按键功能是让电子时钟进入调时模式;S2是选择按键,该按键功能是用来选择是时调整,分调整,还是秒调整;S3按键对应的功能是加1操作;S4对应的功能是减一操作。

3.5:蜂鸣器电路

说明:该电路我们设定时间到时将报警呼叫

3.6 :下载程序电路

说明:该电路是用来下载我们对应的时钟程序的,Max232产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。

四、系统电路图

说明:电源模块上电后给单片机上电,整个电路只有上电后才能工作,串口模块一边连接到单片机,一边连接到电脑,通过STC将程序下载单片机,当单片机上电后,电子时钟就能工作了,系统电路图对应的8个9012的基极连接到单片机的P2口,用来开关9012从而达到数码管动态显示的位选效果,8个9012集电极连接到数码管的的位选。数码管的a-g连接到单片机的P1口,单片机的的P1口将给数码管送码值以显示我们要的数字。按键电路通过导线接到P3.0到P3.3,通过按键调整时间,蜂鸣器电路通过导线接到P1.7口,当设定时间到时候将报警呼叫。

五、系统的软件设计

5.1 :程序初始化

SHI EQU 51H

FEN EQU 52H

MIAO EQU 53H

CNTR EQU 21H ;选择设置对象计数器

ORG 00H

JMP START

ORG 0BH ;中断入口地址

JMP T0_INT

ORG 30H

START: MOV 20H,#0

MOV TMOD,#01H

MOV TL0,#LOW(15536)

MOV TH0,#HIGH(15536)

MOV SHI,#23

MOV FEN,#00

MOV MIAO,#00

MOV 56H,#10

MOV 59H,#10

MOV R7,#20

SETB ET0

SETB EA

SETB TR0

5.2 :主程序

MAIN:

CALL KSCAN ;调用按键扫描子程序

CALL DISPLAY ;调用显示子程序

MOV A,51H

CJNE A,#01,MAIN0

MOV A,52H

CJNE A,#00,MAIN0

CALL KSCAN

L2: CALL DISPLAY ;调用显示子程序

CLR P1.7

LCALL DL1MS

SETB P1.7

LCALL DL1MS

LCALL DL1MS

DJNZ R5,L2

MAIN0: JMP MAIN

5.3 :按键扫描子程序

KSCAN:

JB P3.0,KN ;判断P3.0是否有按下,没按跳到KN,否则接下去执行

CALL DISPLAY

JB P3.0,KN ;二次判断P3.0是否按下

KSC3: CPL 20H.0 ;20H.0为1时进入按键操作

KSC5: JB P3.0,KSC4 ;判断按键是否放开

CALL DISPLAY

JMP KSC5

KSC4: JNB 20H.0,KN ;判断20H.0是否为1,为1向下执行

KSC: JNB P3.1,SWITCH ;判断P3.1是否按下,按下执行SWTICH

JNB P3.2,KINC ;判断P3.2是否按下,按下执行KINC

JNB P3.3,KDEC ;判断P3.3是否按下,按下执行KDEC

JNB P3.0,KSC2

CALL DISPLAY

JMP KSC

KSC2: CALL DISPLAY

JB P3.0,KSC ;判断P3.0按键是否放开

JMP KSC3

KN: RET

;//***************选择处理******************//

SWITCH: CALL DISPLAY

JB P3.1,KSC ;二次判断

INC CNTR

MOV R5,CNTR

CJNE R5,#3,SW2

MOV CNTR,#0

SW2: JB P3.1,KSC ;等待按键放开?

CALL DISPLAY

JMP SW2

;//**************加一********************//

KINC: CALL DISPLAY

JB P3.2,KSC

MOV R3,CNTR

CJNE R3,#0,KINCFEN ;加时

INC SHI

MOV R6,SHI

CJNE R6,#24,KINC2

MOV SHI,#0

KINCFEN: CJNE R3,#1,KINCMIAO ;加分

INC FEN

MOV R6,FEN

CJNE R6,#60,KINC2

MOV FEN,#0

KINCMIAO: CJNE R3,#2,KINC2 ;加秒

INC MIAO

MOV R6,MIAO

CJNE R6,#60,KINC2

MOV MIAO,#0

KINC2: JB P3.2,KSC ;等待按键放开

CALL DISPLAY

JMP KINC2

;//*************减一******************//

KDEC: CALL DISPLAY

JB P3.3,KSC

MOV R3,CNTR

CJNE R3,#0,KDECFEN ;减时

DEC SHI

MOV R6,SHI

CJNE R6,#-1,KDEC2

MOV SHI,#23

KDECFEN: CJNE R3,#1,KDECMIAO ;减分

DEC FEN

MOV R6,FEN

CJNE R6,#-1,KDEC2

MOV FEN,#59

KDECMIAO: CJNE R3,#2,KDEC2 ;减秒

DEC MIAO

MOV R6,MIAO

CJNE R6,#0FFH,KDEC2

MOV MIAO,#59

KDEC2: JB P3.3,KDEC3 ;等待按键放开

CALL DISPLAY

JMP KDEC2

KDEC3: JMP KSC

RET

5.4 :显示子程序

5.4.2:程序系统框图

开始

设定位选

的初值R4

为01H

分离时分

秒,并将

其放在@R0

中,R0首

地址为54H

将@R0给P0

口,将位选值给P2

延时1MS

RLR4

INC R0

判断R0

是否为

5CH

NO

结束显示

子程序

YSE

5.4.1:程序部分

DISPLAY:MOV R0,#54H

MOV A,MIAO

CALL FENLI

MOV A,FEN

CALL FENLI

MOV A,SHI

CALL FENLI

MOV DPTR,#TAB

MOV R0,#54H

MOV R4,#01H

DISLP: MOV P2,R4

MOV A,@R0

MOVC A,@A+DPTR

MOV P0,A

CALL DL1MS

INC R0

MOV A,R4

RL A

MOV R4,A

CJNE R0,#5CH,DISLP

RET

5.5 :中断服务子程序

5.5.1:系统框图

开始

进入中断

1S 时间是否到秒加1

YES

60秒是否到分加1秒赋值个0个它

YES 60分是否到

时加1分赋值个0个它

24时是否到时赋值个0个它

结束中断

NO

YES

NO

YES NO

20H.0是否为1

5.5.2:程序部分

T0_INT: JB 20H.0,INTOVER

MOV TL0,#LOW(15536) MOV TH0,#HIGH(15536) DJNZ R7,INTOVER INC MIAO MOV R7,#20 CPL 20H.1

JB 20H.1, LIGHTON

MOV 56H,#11

MOV 59H,#11

SJMP CONTINUE

LIGHTON:MOV 56H,#10

MOV 59H,#10

CONTINUE:MOV R6,MIAO

CJNE R6,#60,INTOVER

INC FEN

MOV MIAO,#0

MOV R6,FEN

CJNE R6,#60,INTOVER

INC SHI

MOV FEN,#0

MOV R6,SHI

CJNE R6,#24,INTOVER

MOV SHI,#0

INTOVER:RETI

5.6:程序剩余部分

5.6.1:分离子程序

FENLI: MOV B,#10

DIV AB

MOV @R0,B

INC R0

MOV @R0,A

INC R0

INC R0

RET

5.6.2:1MS延时子程序

DL1MS: MOV 5FH,#0

DJNZ 5FH,$

RET

5.6.3:共阳字形码

TAB: DB 0C0H,0F9H,0A4H,0B0H, 99H

DB 92H, 82H, 0F8H, 80H,90H,0BFH,0FFH

六、结论

单片机真是一门拥有很多地方可以学习的地方,通过对电子时钟的设计分析我了解懂啊了单片机基本知识,而且最终我们设计出来了单片机电子时钟,这和我们想要的结果一致,所以单片机是可以设计出我们想要的电子产品的,只要是

你想的到的,一般情况下单片机都是可以做的出来的。

七、课程设计过程中遇到的主要问题以及解决办法

7.1 :电子时钟中间的—的扫描问题,及其闪烁问题。

解决方法:在程序初始化时候设置一个20H.1为0用来判断,在中断系统中判断20H.1是否为1,为让“—”亮,不为1是让“—”灭。

7.2 :调时间时候怎么样才能让时间停止下来,但又能看到显示的时间。

解决方法:通过和同学的交流,再家上自己的分析,最后在中断系统中加一条JB 20H.0,INTOVER来停止时间的走动。

7.3 :

7.4 :

八、心得体会

单片机世界里有很多的东西是我们现在还想不到的,在通过对最基本的单片机电子时钟设计时,让我聊解到很有有关单片机的知识,它让我中知道在单片机世界里还有很多很多的东西在等着我们学习,在动手做单片机时候,我们首先要做出一块电子时钟的系统开发板,这就要锻炼我们的动手能,以及一些焊工技术,这是我们学习到的一部分,对电子时钟程序的设计,这能让我们的逻辑思维得到锻炼,这对我们在以后的学习和生活中是有很大的帮助,它能让我们懂得如何与他人合作,让我们把东西做的更好,在电子时钟设计过程中,我们的难免会遇到很多的困难,这也就能让我们学习到在遇到困难时候我们应该如何去面对,接着把问题给搞定,

261-简易电子钟论文

专业课程设计 基于单片机的简易电子钟设计 专业课设说明: 本次专业课程设计通过对本专业知识的学习、应用,以STC89C51单片机为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,调整时间。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。在这次设计中,我们采用LED数码管显示时、分、秒,以24 小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。 本次课设由本人(傅锦城136712117)孙龙龙(136712116)黄宗旭(136712107)为一组共同完成。本人负责搜集简易时钟的设计和制作原理以及所用电路元件的参数资料和使用方法等相关资料。并且负责电路的焊接工作。孙龙龙负责单片机程序的编写。黄宗旭负责电路原理图的绘制和模拟。 1. 系统基本设计思路 此设计是在数码管上显示时、分和秒,电路包括:键盘、单片机及显示驱动电路。 各部分说明: (1)键盘用于校正、调节数码管上显示的时间。 (2)单片机通过输出各种电脉冲信号开驱动控制各部分正常工作。 (3)单片机发送的信号经过显示电路通过译码最终在数码管上显示出来。 (4)按键还可以切换12小时制和24小时制,并有指示灯。 系统工作过程:时间的主要处理过程是在CPU中完成的。CPU会随时对时间进行读取数据的操作。在读取了相应的寄存器的值后,CPU将读取的值进行处理,再通过I/O口把数据显示在数码管上。 2. 单元电路方案 根据设计要求,本系统主要由控制器模块、显示驱动模块和输入模块构成。 2.1 控制器模块 采用51系列作为系统控制器 单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在各个领域应用广泛。而且抗干扰性能好。 2.2 计时模块 本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。 2.3 显示模块 采用LED数码管

用LCD设计的可调式电子钟

单片机应用 课程设计说明书 用1602LCD设计的可调式电子钟专业自动化 学生姓名 班级自动化142 学号 14100 指导教师蒋 完成日期 20年1 月23 日

目录 1 概述.......................................................................................... 错误!未指定书签。 2 课题研究背景与意义...................................................................... 错误!未指定书签。 2.1 课题研究背景....................................................................... 错误!未指定书签。 2.2 课题研究意义....................................................................... 错误!未指定书签。 3 系统方案设计与主要设计工作 ..................................................... 错误!未指定书签。 3.1 设计任务............................................................................... 错误!未指定书签。 3.2 功能要求说明....................................................................... 错误!未指定书签。4设计课题总体方案........................................................................... 错误!未指定书签。 4.1硬件设计方案........................................................................ 错误!未指定书签。 4.2系统软件设计........................................................................ 错误!未指定书签。 5. 软件仿真及实物设计调试 ........................................................... 错误!未指定书签。 5.1PROTUES仿真软件介绍 ......................................................... 错误!未指定书签。 5.2仿真运行结果说明 ............................................................... 错误!未指定书签。 5.3实物设计结果与调试 ........................................................... 错误!未指定书签。6课程设计实验总结........................................................................... 错误!未指定书签。参考文献.............................................................................................. 错误!未指定书签。附录.............................................................................................. 错误!未指定书签。 附录1:程序清单........................................................................ 错误!未指定书签。 附录2:系统电路原理图 ........................................................... 错误!未指定书签。 附录3:元器件清单.................................................................... 错误!未指定书签。

简易电子时钟的设计

单片机课程设计报告设计题目:简易电子时钟的设计 院别: 专业班级: 学号:

姓名: 指导教师: 摘要 通过一学期单片机的学习,对其已经有了初步的了解,但是随着社会的不断发展,单片机的应用正在不断地走向深入,它特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。我们也借此课程设计的机会,对单片机有更深一步的了解与学习。 本次课程课程设计的目的是设计一个简易的电子时钟,通过一个8位共阴极数码管进行时、分、秒的显示,另外设置7个按键,一个用来调整小时,一个用来调整分钟,一个开关控制是否调整时间。 关键词:AT89C51,数码管,按键,DS1303时钟芯片

1.概述 本设计是锻炼我们的自学能力合作能力,依靠团队的力量去完成一项具体的任务系统的训练了所学知识,设计的过程必将是难忘的,这也将是大学向社会工作过度的一个重要阶段。 本阶段过后要去能够熟练的运用单片机中的计数器、定时器、中断、数码管显示等参考教材或者相关资料,采用C语言实现数字时钟功能,在数码管上实时显示,并运用Protues软件绘制电路原理图,并进行仿真验证和误差分析。 2.系统总体方案设计 2.1系统方案的确定 用6位数码管,可以显示出时、分、秒;用P2端口控制位选,由定时器进行时间的控制(秒);当总按键按下时可以进行时间调整; 2.2方案分析 2.3系统总框图 图2.1

3.系统硬件系统设计 3.1复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 复位电路的工作原理: 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。单片机复位电路如下图 图3.1 3.2时钟电路 单片机运行需要时钟支持——就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。 单片机可以看成是在时钟驱动下的时序逻辑电路。 以5l单片机为例随明:51单片机为l2个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用r2个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。 时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。51的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。

时钟可调时间可报时程序

///////////////////////////////////////////////////////// // 工程名称:可调时报时电子钟 // 使用描述: // K1 按一次进入时间调整模块调完后,再按一次恢复时间 // K2 非时间调整模式下,按键报时时间调整模块下,按键选择调整秒分时 // K3 时间调整模块下,时间值增加 // K4 时间调整模块下,时间值减小 // 硬件连接:IOA0~IOA7接SEG IOA8~IOA15接1*8KEY // IOB0~IOB7接DIG 2*4KEY.D_dp接高电平 // 维护记录:2012-8-15 增加时间调整功能,增加报时功能 // /////////////////////////////////////////////////////////// #include "spce061a.h" #include "Sound.h" #include "Clock_Speech.h" //定义各种宏 #define P_IOA_Data (volatile unsigned int *)0x7000 #define P_IOA_Buffer (volatile unsigned int *)0x7001 #define P_IOA_Dir (volatile unsigned int *)0x7002 #define P_IOA_Attrib (volatile unsigned int *)0x7003 #define P_IOB_Data (volatile unsigned int *)0x7005 #define P_IOB_Buffer (volatile unsigned int *)0x7006 #define P_IOB_Dir (volatile unsigned int *)0x7007 #define P_IOB_Attrib (volatile unsigned int *)0x7008 #define P_Watchdog_Clear (volatile unsigned int *)0x7012 #define P_INT_Ctrl (volatile unsigned int *)0x7010 #define P_INT_Clear (volatile unsigned int *)0x7011 #define uint unsigned int #define KEY_ALL 0xff00 int DispTbl[10] = { 0x003F,0x0006,0x005B,0x004F,0x0066, 0x006D,0x007D,0x0007,0x007F,0x006F}; uint sec=0,min=0,hour=0; uint Start_End_Flag=0; uint Adjust_Wei=4; uint flag=1;

单片机电子时钟的设计报告

目录 1 引言 (1) 2 设计任务与要求 (2) 2.1. 设计题目 (2) 2.2. 设计要求 (2) 3 系统的功能分析与设计方案 (3) 3.1. 系统的主要功能 (3) 3.2. 系统的设计方案 (3) 3.3. 数码管显示工作原理 (4) 3.4. 电路硬件设计 (5) 3.4.1. 设计原理框图 (5) 3.4.2. 电源部分 (5) 3.4.3. 复位电路 (6) 3.4.4. 指示灯电路 (6) 3.4.5. 按键电路 (7) 3.4.6. 时钟电路 (7) 3.4.7. 驱动电路 (8) 3.4.8. 数码管连接电路 (8) 3.4.9. 主控模块AT89S52 (9) 3.4.10. 材料清单 (10) 3.4.11. 电路原理图、PCB图及实物图 (11) 3.5. 软件设计 (13) 3.5.1. 软件设计流程 (13) 3.5.2. 完整源程序 (15) 4 系统安装与调试 (21) 4.1. 硬件电路的安装 (21) 4.2. 软件调试 (21) 5 课程设计总结 (22) 参考文献 (23) 致谢 (24)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。这次课程设计通过对它的学习、应用,以AT89S52芯片为核心,辅以必要的电路,设计了一个简易的单片机电子时钟,包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子时钟正常工作的流程、硬件的制作与软件的调试过程。电子时钟由5.0V直流电源供电,数码管能够比较准确显示时间,通过按键能够调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;AT89S52;电子时钟;数码管;按键

电子时钟万年历设计

计算机科学与技术学院硬件课程设计报告

在日常生活中,手表,闹钟是不可或缺的。在实际生活生产活动中,也要考虑时间的因素,如工时的计算,霓虹灯的亮灭。 因为集成电路制造技术的不断提高,出现了高性能、高可靠的集成芯片。电子时钟在工业领域,日常生活中得到了广泛的应用。电子时钟在性能方面具有精度高,实时性好,易于调整等优点。这些使得温度控制系统的研究和开发得到的各方面的广泛关注和支持。 本次课程设计,我利用8254计数芯片,8255芯片,4*4小键盘,12864LCD 液晶显示器,蜂鸣器制作了一个带有闹钟功能的电子时钟万年历。它可以实现由4*4小键盘输入初始时间(包括年月日时分秒星期),利用8254计数,通过程序处理进位,判断闰年,在液晶显示屏上实时显示时间。还可以由小键盘选择不同的闹钟模式,设定闹钟时间。 关键词: 电子时钟; 8255A芯片; 8254芯片; 12864LCD液晶显示器;键盘输入;蜂鸣器;闹钟功能;万年历

1.设计任务与要求...........................................................................6- 1.1实验目的 (6) 1.2具体要求 (6) 2.总体方案与说明...........................................................................6- 2.1使用硬件 (6) 2.1流程设计 (6) 2.1.1系统程序模块 (6) 2.1.1系统流程图 (7) 3.硬件方案 (7) 3.1硬件说明 (7) 3.1.1计数芯片8254 (7) 3.1.2可编程外围接口芯片8255A (8) 3.1.2 128×64字符液晶显示器 (11) 3.2电路原理图与说明 (12) 3.2.1键盘电路 (13) 3.2.2 8254计数电路 (13) 3.2.3 液晶显示电路 (14) 3.3电路连接图 (14) 3.3.1 8254计数芯片 (14) 3.3.2 整体电路 (15) 4.软件方案 (15) 4.1软件主要模块流程图 (15) 4.1.1输入子程序模块流程图 (16) 4.1.2显示子程序模块流程图 (18) 4.1.2闰年子程序模块流程图 (18) 4.1.2蜂鸣器子程序模块流程图 (18) 4.1.2时间进位程序模块流程图 (19) 4.1.2主程序模块流程图 (20) 4.2源程序清单与注释 (21) 5.分析与测试 (38) 6.运行结果 (38) 6.1试验线路图 (39) 6.2实验结果 (39) 6.2.1欢迎界面 (39)

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

电子综合设计-基于单片机多功能数字时钟的设计(附完整程序)

课题:基于51单片机的多功能数字时钟系统设计 一、概述、设计思路 该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,辅以闹钟模块,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天),对闹铃方式与温度调节模块进行了重点设计实现SB0、SB1、SB2、SB3四个键实现时钟正常显示,调时,及闹钟时间设置。本系统设计大部分功能有软件来实现,使电路简单明了,系统稳定性也得大大提高。 二、系统组成与工作原理 1、工作原理: 本设计采用STC89C51单片机作为本次课程设计的控制模块。单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。以LCD液晶显示器为显示模块,把单片机传来的的数据显示出来,并且显示多样化,在显示电路中,主要靠按键来实现各种显示要求的选择与切换。 2、总是设计框架图:

图二:系统总体电路图 三、单元电路的设计与分析 整个电子时钟系统电路可分为六大部分:中央处理单元(CPU)、复位电路部分、显示部分、键盘输入部分、温度采集部分。 1、MCS-51单片机 VCC: 89S51 电源正端输入,接+5V。 VSS: 电源地端。

XTAL1: 单芯片系统时钟的反相放大器输入端。 XTAL2: 系统时钟的反相放大器输出端,一般在设计上只要在XTAL1 和XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。 RESET: 89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。 EA/Vpp: "EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。 ALE/PROG: 端口3的管脚设置: P3.0:RXD,串行通信输入。 P3.1:TXD,串行通信输出。 P3.2:INT0,外部中断0输入。

电子万年历

河北科技师范学院课程设计说明书 题目: 学院(系): 年级专业: 学号: 学生姓名: 指导教师:

摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。 我选用的是单片机8052来实现电子万年历的功能。该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。 该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。 因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

简易电子钟的设计

简易电子钟的设计 摘要 近年来随着计算机在社会领域的渗透和大规模集成电路地发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,一次特别适合于与控制有关的系统,越来越广泛地应用于各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及正对具体应用对象特点的软件结合,以作完善。本次做的电子时钟是以89C51为核心,结合相关的元器件(LED数码显示器、锁存/译码/驱动器等),再配以相应的软件,达到制作简易数字钟的目的,其硬件部分难点在于元器件的选择、布局及焊接。 关键词单片机 89C51 软件硬件 LED数码显示器锁存/译码/驱动器

Abstract With the computer in the social sphere in recent years, the penetration and development of large scale integrated circuits, microcontroller applications are continually deepening, because of its powerful function, small size, low power consumption, cheap, reliable, easy to use and so on , one particularly suited to and control of the system, more and more widely used in various fields, often microcontroller as a core component to use, in accordance with the specific hardware architecture, and is the object of the characteristics of the specific application software combine to make perfect. The electronic clock is done 89C51 core, combined with the components (LED digital display, latch / decoder / driver, etc.), which together with the corresponding software, to create simple digital clock purposes, the hardware The difficulty is the choice of components, layout, and welding. Keywords microcontroller 89C51 hardware software LED digital display latch / decoder / driver

51单片机简易可调的数码管电子钟程序

#include sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管0-9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=30,hour=12,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]=0xBF; StrTab[3]=tab[minute/10]; StrTab[4]=tab[minute%10]; StrTab[5]=0xBF; StrTab[6]=tab[second/10]; StrTab[7]=tab[second%10]; } main()//主函数 { TMOD |=0x01;//定时器0 10ms in 12M crystal 用于计时 TH0=0xd8; TL0=0xf0; ET0=1; TR0=1; TMOD |=0x10; //定时器1用于动态扫描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; Displaypro();

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

#include unsigned char DispBuf[6]; //时间显示缓冲区 unsigned char Disdate[6]; //日期显示缓冲区 unsigned char DisSec[6]; //秒表缓冲区 struct //设定时间结构体 { unsigned char Hour; unsigned char Min; unsigned char Sec; }Time; struct //设定日期结构体 { unsigned char Year; unsigned char Month; unsigned char Days; }Date; struct //设定毫秒结构体 { unsigned char Minite; unsigned char Second; unsigned char MilliSec; }Millisecond; unsigned char point=0; unsigned char point1=0; unsigned char point2=0; unsigned char Daymount; unsigned char Daymount1; unsigned char T0_Int_Times=0; //中断次数计数变量 unsigned char Flash_flag=0; //闪烁标志,每半秒闪烁 unsigned char Flash_flag1=0; //闪烁标志,每半秒闪烁 unsigned char DisPlay_Back=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char DisPlay_Back1=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char i,j; unsigned char SetMillisecond; //启动秒表 code unsigned char LEDCode[]={0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80}; //数码管显示代码 code unsigned char ErrorLEDCode[]={0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80};//绘制错误图纸的数码管显示代码 void DisPlayBuf(); void ChangeToDispCode(); void ChangeToDispCode1(); void changedate(); // 调日期 void displaydate(); // 显示日期 void makedays(); //确定每个月的日期 void runSec();

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

一、项目介绍与设计目的 基于单片机的电子时钟万年历为实现电子万年历的功能,采用单片机STC89C51,辅助以必要的外围电路,用C语言编写程序,并进行模块化设计而成的电子万年历系统.它通过LCD能正确显示年、月、日、周日、时、分、秒等,具有功能稳定,精确度高和可调的特点。 二、设计方案 1.项目环境要求 1.1时钟芯片选择 方案一:不使用芯片,采用单片机的定时计数器 这种方法原理是利用单片机芯片的定时器来产生固定的时间,模拟时钟的时, 分,秒。如:利用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期。每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期,一天就是3600*24=86400个周期。 此方法优点是可以省去一些外围的芯片,但这种方法只能适用于一些要求不是十分精确,不做长期保留的场合。 方案二:并行接口时钟芯片 DS12887 特点:采用单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操作速度快,编程方便的优点。 但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码器,而且并行口芯片的体积相对较大。 方案三:串行接口时钟芯片DS1302 芯片主特性: (1)实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力,还有闰年调整的能力

(2)31 8 位暂存数据存储RAM (3)串行 I/O 口方式使得管脚数量最少 (4)宽范围工作电压2.0 5.5V (5)工作电流 2.0V 时,小于300nA (6)读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式 (7)8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配 (8)简单 3 线接口 (9)与 TTL 兼容Vcc=5V (10)可选工业级温度范围-40~+85 优点:串行接口的日历时钟芯片,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。 所以,最终选择串行时钟芯片DS1302,DS1302的管脚图如图2所示。 图2 DS1302管脚图 1.2显示模块选择 方案一:LED数码管显示 数码管显示比较常用的是采用CD4511和74LS138实现数码转换,数码显示分动态显示和静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。目前单片机数码管普通采用动态显示。编程简单,但只能显示

基于单片机的可调电子钟的设计说明

编号: 基础工程设计 题目:基于单片机设计的可调电子时钟院(系):信息与通信学院 专业:微电子科学与工程 学生姓名:卢镜 学号:1300240119 指导教师:宋保林

2016 年 1 月 6 日 摘要 本人设计的是一个以单片机STC89C52为核心部件的电子钟,结合LCD液晶显示屏。可以在液晶屏上显示时间和字符,并可任意调整时间。本来想用数码管来显示,但是想到数码管仅能显示数字,所以采用了液晶显示屏。它不仅能显示数字,还能显示字符。它的计时周期为24小时,显满刻度为“23时59分59秒”。 文中详细论述了可调电子钟设计原理、使用的各芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。本系统以单片机的C语言进行软件设计,并着重介绍了所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程,并且还进行了软件仿真调试和硬件调试。 关键词:单片机STC89C52 ;可调电子钟;液晶显示;仿真

目录 摘要 (1) 前言 (3) 第一章设计说明 (5) 1.1 设计目的和内容 (5) 1.2 设计方案选择 (5) 1.3 设计总体框图 (7) 第二章系统主要硬件设计 (5) 2.1 单片机主控模块 (7)

2.1.1 STC89C52芯片简介 (7) 2.1.2 封装和引脚说明 (8) 2.2 液晶显示模块 (7) 2.2.1 LCD1602模块简介 (11) 2.2.2 LCD1602的控制指令及操作流程 (12) 2.3时钟电路及按键电路 (9) 2.3.1时钟电路 (9) 2.3.2按键电路 (10) 第三章系统软件设计 (10) 3.1 系统程序流程图 (10) 3.2系统程序设计电子时钟清单 (11) 第四章系统调试 (12) 4.1软件调试 (12) 4.2源代码 (14) 4.3硬件调试 (20) 4.3.1原理图 (20) 4.3.2 PCB图 (20) 4.3.3用跳线修改电路 (21) 结语 (21) 谢辞 (22) 参考文献 (23) 附录Ⅰ (24)

电子时钟的设计及程序

电子时钟的设计及程序 一.设计目的: 1.理解掌握定时/计数器和中断的使用方法。 2.掌握微机常用的输入输出方式及接口技术。 3.掌握一定的汇编语言知识,培养自己的动手操作能力。 4.学习程序设计的基本思路和方法。 二.程序内容: 第一部分:定义显示界面。 第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。 第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。 第四部分:获取键盘的按键值,以ESC键退出系统返回DOS。三.程序设计原理: 首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。调用DOS字符串显示功能将时间显示 出来。并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。由于获取了的系统时间不会自动刷

新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。调用延时TIME延时中断服务程序,累加到存放秒值的寄存器DL中,并进行十进制调整。在累加的过程中,不断地对时、分、秒值进行比较,秒不能等于60,分不能等于60,时不能等于24。秒等于限制值时,则使秒值为0分值加1;分等于限制值时,则使分值为0时值加1;时等于限制值时,则使时值为0;时、分、秒值都不超过限制值时,就转显示屏输出。时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序。利用BIOSS设计窗口,选择适当的背景和前景等,使屏幕显示更加完美。程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可同时在键盘按下ESC键返回DOS系统。四.程序流程图如下: DATA SEGMENT ;设置数据段 BUF1 DB 'THE TIME IS NOW: $' BUF5 DB ' @@@@@ ^^^^^^^ @@@@@@ $' BUF6 DB ' &&&&&& ####### &&&&&& $' BUF7 DB ' 00 >o o < 00 $' BUF8 DB ' 00 (::) 00 $' BUF9 DB ' 00 ~~ 00 $' BUF10 DB ' 00 !! 00 $' BUF3 DB 'CLASS:040402206 $' BUF4 DB 'NAME:hu ling wei $' BUF2 DB 10 DB 10 DUP(?) DATA ENDS STACK SEGMENT STACK ;设置堆栈段

单片机电子万年历含程序

CHANGZHOU INSTITUTE OF TECHNOLOGY 科研实践 项目名称:电子万年历设计 二级学院:电子信息与电气工程学院 专业:电气工程及其自动化班级: 10 电二 学生姓名:祝学东学号: 指导教师:庄志红职称:副教授 起止时间: 2013年12月9日—2013年12月20日 摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒、星期,并具有可调整日期和时间功能。 该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

简易数字钟的设计

电 子 技 术 课 程 设 计 专业:电气工程及其自动化 学号: 姓名: 指导老师:

简易数字钟的设计 【摘要】本次在对简易数字钟进行设计中,提出了两种整体设计方案,设 计过程中对两种方案不断进行尝试,不断比较,在比较两个方案的优缺点后, 选择了其中较优的一个方案,进行由上而下层次化的设计,先定义和规定各 个模块的结构,再对模块内部进行详细设计。在之后详细设计的时候又根据 可采用的芯片,分析各芯片是否适合本次设计,选择较合适的芯片进行设计, 最后将设计好的模块组合并调试。 【关键词】 电路,数字钟,74LS160,子电路 一、引言 随着社会的进步,科技发展的速度越来越快,科技产品更新的频率加大,而且当今很多领域大都用到数字钟,我们身边也遍布与数字钟有关的生活用品。。 所谓数字钟,是指利用电子电路构成的计时器。相对机械钟而言,数字钟能达到准确计时,并显示小时、分、秒,同时能对该钟进行调整。在此基础上,还能够实现整点报时,定时报闹等功能。在做本简易数字钟设计之前,通过老师及查阅资料,我知道有对此多种设计方案 数字电路是我们计算机科学与技术学科的基础,数字电路实验是学习数字电路的一个重要环节,它不仅能巩固理论知识的学习,而其能提高实验动手能力,增强设计和调试电路的能力.设计过程采用系统设计的方法,先分析任务,得到系统要求,然后进行总体设计,划分子系统,然后进行详细设计,决定各个功能子系统中的内部电路,最后进行测试。 二、设计要求 能按时钟功能进行小时、分钟、秒计时,并显示时间及调整时间,能整点报时,定点报时,使用4个数码管,能切换显示。小时的计时要求为“12翻1”,分和秒的计时要求为60进位。 分和秒计数器都是模M=60的计数器,其计数规律为00—01—…—58—59—00…

相关文档
相关文档 最新文档