基于C52单片机的电子时钟毕业设计论文

毕业论文(设计)开题报告

基于C52单片机的电子时钟毕业设计论文

2

毕业论文(设计)成绩评定

基于C52单片机的电子时钟毕业设计论文

3

摘 要

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。

关键字:单片机,数字钟,数据缓冲区,中断

Abstract

In recent years, with computers in the in filtration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances, and other areas, is often microcontroller as a core component to use, In light of specific hardware architecture, and application-specific software features object combine to make perfect.

In this paper, based on single-chip digital clock design, discussed in detail from the software realize the process, focusing on the clock adjust in the way: queries and disruption of comparison, then, on the digital clock made of the stability and accuracy related discussion. In the last article,

Keywords: MCU, digital clock, data buffer, interruption, timing,

4

目 录

引言 .................................................. 6

第一章 单片机的相关知识 ................................ 7

1.1PROTEUS软件简介 ...................................................................... 7

1.2 单片机简介.............................................................................. 7

1.3单片机的发展史 ........................................................................ 7

1.4 AT89C51单片机介绍 ................................................................. 8

1.4.2 单片机的基本结构............................................................... 9

1.4.3 单片机的选择........................................................................ 9

第二章 硬件电路设计 .................................... 9

2.1电子钟系统硬件组成................................................................. 9

2.2电子钟硬件电路工作说明 ........................................................ 10

2.3 PROTEUS进行电子钟系统仿真 ................................................... 10

第三章软件设计 ....................................... 11

3.1 程序流程图设计.......................................................................11

3.2 KEILC51进行程序调试 ............................................................ 12

3.3基于AT89S51单片机数字时钟的参考电路 .............................. 12

第四章 结束语....................................... 13

第五章 致 谢 ....................................... 13

参考文献 ............................................. 13

附录 单片机程序 ..................................... 14 5

引言

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.

本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片DS1302、数码管显示驱动芯片MAX7219等元器件组成。具体介绍应用Proteus的ISIS软件进行单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。 然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试3个过程。如果采用单片机系统的虚拟仿真软件

——Proteus,则不用制作具体的电路板也能够完成以上工作。

第一章 单片机的相关知识

1.1PROTEUS软件简介

PROTEUS软件由Labcenter公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具。微控制器系统相关的仿真需建立编译和调试环境,可选择Keil C51uVision2 软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。 其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等, Proteus为我们建立了完备的电子设计开发环境。

1.2 单片机简介

单片微型计算机简称单片机,是典型的嵌入式微控制器常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

1.3单片机的发展史

1.3.1 4位单片机

4位单片机的主要应用领域有:PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能电话等。

7

1.3.2 8位单片机

8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。

1.3.3 16位单片机

16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。

1.3.4 32位单片机

随着高新技术智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用与发展推出32位单片机

1.3.5 64位单片机

64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信。

1.4 AT89C51单片机介绍

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。由于将多功能8位CPU和闪烁存储器组合在单个芯片中, AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.4.1 管脚说明

VCC:供电电压。 GND:接地。 RST:复位输入。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接

收输出4TTL门电流。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收, P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门

电流。P3口也可作为AT89C51的一些特殊功能口

ALE/PROG:地址锁存允许的输出电平用于锁存地址的地位字节。

/PSEN:外部程序存储器的选通信号。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),

不管是否有内部程序存储器。

8

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

1.4.2 单片机的基本结构

MCS-51单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。

1.4.3 单片机的选择

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。

第二章 硬件电路设计

2.1电子钟系统硬件组成

MAX72电子钟系统硬件主要由AT89C51单片机、时钟芯片DS1302、数码管码显示驱动芯19等元器件组成。

基于C52单片机的电子时钟毕业设计论文

电子钟系统硬件电路组成框图

9

2.2电子钟硬件电路工作说明

系统硬件电路根据课题设计要求,它由以下几个部件组成:单片机89C52RC、电源、时分秒显示模块。

时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。显示模块中时分秒显示驱动、校时模块都通过89C52RC的I/O口控制。显示模块中的复位电路由89C52RC的RESET端控制。

电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由5V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。

2.3 Proteus进行电子钟系统仿真

在Proteus ISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如下图所示。实现功能:当进入调整功能时,按第一个键K1进行减运算,按第二个键K2进行加运算。按下第三个键K3,实现日期\时间调整及\定时功能,等数字闪烁后,按一二键进行加减,从而可以进行具体日期时间调整。当定时设定后,到预定时间后,系统通过C51音乐程序演唱歌曲-八月桂花。按下第四个键K4,可以进行时间\日期切换,8位LED数码管将显示时间或日期,采用24小时制。时间显示格式为:时-分-秒;日期显示格式为:日-月-年。有实时显示当前计算机系统时间和日期的功能。

基于C52单片机的电子时钟毕业设计论文

10

第三章软件设计

3.1 程序流程图设计

基于C52单片机的电子时钟毕业设计论文

按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。

基于C52单片机的电子时钟毕业设计论文

定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。

基于C52单片机的电子时钟毕业设计论文

11

时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。 3.2 keilc51进行程序调试

基于C52单片机的电子时钟毕业设计论文

3.3基于AT89S51单片机数字时钟的参考电路

基于C52单片机的电子时钟毕业设计论文

基于C52单片机的电子时钟毕业设计论文

12

第四章 结束语

本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片DS1302、数码管显示驱动芯片MAX7219等元器件组成。具体介绍应用Protel DXP进行电路原理图设计,Keil C51软件调试程序以及Proteus的ISIS软件进行单片机系统的电子钟设计与仿真。实现了硬件软化的目的。

我在这一次数字电子钟的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。

我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。

第五章 致 谢

通过不断努力,终于完成了此次毕业设计。在此,首先感谢导师项莉萍老师在百忙之中还抽出宝贵的时间对我进行精心的指导,才使我顺利完成了毕业设计。同时也感谢六安职业技术学院各个领导和老师对我三年来的关心和帮助。使我在大学中学到了许多宝贵的知识和经验。在此,衷心地感谢你们!

参考文献

[1] 代启化.基于Proteus的电路设计与仿真[J].现代电子技术2006第19期.

[2] 曹洪奎;马莹莹 基于Proteus单片机系统设计与仿真[J].辽宁工学院学报

[3] 蔡希彪,曹洪奎; 单片机电子时钟系统的设计与仿真 [J];中国科技信息;

[4] 刘文秀.单片机应用系统仿真的研究[J].现代电子技术.2005, 第286 期

13

附录 单片机程序

DATA_SEG

STACK SEGMENT DATA SEGMENT IDATA

SEGMENT BIT ;定义一个DATA段 ;定义一个堆栈段 BIT_SEG ;定义一个位段

bKey BIT P1.0;

IdleConst EQU 50

RSEG STACK

DS 10H

RSEG DATA_SEG

buffer: DS 6

ms50: DS 1

ms250: DS 1

sec: DS 1

min: DS 1

hour: DS 1

ms50_1: DS 1

SetPos: DS 1

SetPos1: DS 1

RSEG BIT_SEG

bIdle: DBIT 1

bTwinkle: DBIT 1

CSEG AT 0

LJMP MAIN

CSEG AT 000BH

LJMP INT_Timer0

CSEG AT 001BH

LJMP INT_Timer1

个字节的堆栈 ;开始DATA_SEG段 ;6个字节的显示缓冲区 ;50ms计数 ;250ms计数 ;秒 ;分 ;时 ;存放多少个50ms,用于记录按键时间;设置位置 ;需要屏蔽的数码管 ;省电模式 ;当前设置位置闪烁 ;相当于小汇编的ORG ;定时器T0中断处理入口地址 ;定时器T1中断处理入口地址 14 ;16

MOV P0,A

SetFunTab: AJMP NoSet ;不需要调整 AJMP SetHour ;调整小时 AJMP SetMin ;调整分钟 AJMP SetSec ;调整秒钟 NoSet: CLR bTwinkle

RET ;不在设置状态SetHour: INC hour

MOV A,hour

CJNE A,#24,SetHour1

MOV hour,#0

SetHour1: SJMP SetFun1

SetMin: INC min

MOV A,min

CJNE A,#60,SetMin1

MOV min,#0

SetMin1: SJMP SetFun1

SetSec: INC sec

MOV A,sec

CJNE A,#60,SetFun1

MOV sec,#0

SetFun1: SETB F0

RET

;调整闪烁位置

SetPosTab: AJMP NoSetPos

AJMP SetHourPos

AJMP SetMinPos

AJMP SetSecPos

NoSetPos: MOV SetPos1,#0

15

RET

INC A

RL A

MOV DPTR,#SetPosTab

JMP @A+DPTR

Key2: SETB bIdle ;进入省电模式 MOV P2,#0FFH

Key3: RET

Key4: JNB TR1,Key5

MOV A,ms50_1

CJNE A,#IdleConst,$+3

JNC Key2

RET

Key5: ACALL Display

ACALL Display

ACALL Display

ACALL Display

JNB bKey,Key6

SJMP Key3

Key6: CLR bIdle

MOV TH1,#60

MOV TL1,#176

SETB TR1

MOV ms50_1,#0

RET END

16

相关推荐