最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于51单片机的电子钟设计-毕业论文

来源:动视网 责编:小OO 时间:2025-09-23 06:50:23
文档

基于51单片机的电子钟设计-毕业论文

摘要多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时,定时等功能。本系统利用单片机实现其具有计时,校时等功能的数字时钟,是以单片机STCC52为核心元件同时采用数码管同时显示“时,分,秒,星期,年,月,日”的现代计时装置。显示极具人性化,另外具有校时功能,闹钟功能和节电保护功能。利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,如在电路板上预留有电源输出,温度传感插座等
推荐度:
导读摘要多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时,定时等功能。本系统利用单片机实现其具有计时,校时等功能的数字时钟,是以单片机STCC52为核心元件同时采用数码管同时显示“时,分,秒,星期,年,月,日”的现代计时装置。显示极具人性化,另外具有校时功能,闹钟功能和节电保护功能。利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,如在电路板上预留有电源输出,温度传感插座等
摘  要

多功能数字钟的应用非常普遍, 由单片机作为数字钟的核心控制器, 通过它的时钟信号 进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行 校时,定时等功能。 本系统利用单片机实现其具有计时,校时等功能的数字时钟,是以单片机 STCC52 为 核心元件同时采用 数码管同时显示“时,分,秒,星期,年,月,日”的现代计时 装置。显示极具人性化,另外具有校时功能,闹钟功能和节电保护功能。利用单片机实现的 数字时钟具有编程灵活,便于功能的扩充等优点,如在电路板上预留有电源输出,温度传感 插座等插座,便于功能扩展。

关键词:STCC52 单片机 DS12887

ABSTRACT

Multi-functional digital clock was very common by the MCU as the core controller of the digital clock, the clock signal timing function, time data is output by the microcontroller, the display. Through the keyboard can be school, timing and other functions. This system uses the MCU with the timing, school functions such as digital clock is The microcontroller STCC52 as the core component at the same time Led also shows "hours, minutes, seconds, week, year, month, day" timing device. Show a very humane, the other school functions, alarm clock function and the power saver function. MCU digital clock with programming flexibility, easy expansion of the function, etc., power output, temperature sensor socket outlet on 

the circuit board is reserved for easy extensions

Keyword:   STCC52  MCU  DS12887

第一章绪 论

一.1单片机(Single Chip Microsoftcomputer,简称MCU)简介

单片机又称为微控制器,在一块半导体芯片上集中了处理器(简称CPU),只读存储器(简称ROM),随机存储器(简称RAM),输出输出接口(简称I/O Interface),计时器(Timer/Counter),中断系统(Interrupt System)构成一台完整的数字计算机。单片机是一种采用超大规模集成电路技术,它把具有数据处理能力的处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器、计数器等集成到一块硅片上,构成了一个小而完善的小计算机系统的集成电路芯片[1]。

 目前,单片机已经渗透到我们生活的各个领域,几乎很难找到某个领域没有单片机的踪迹了。自导弹的导航装置,飞机上各种仪表的控制,工业自动化过程的实时控制和数据处理,计算机的网络通讯与数据传输,到广泛使用的各种智能IC卡,录像机、摄像机、全自动洗衣机等的控制,及民用豪华轿车的安全保障系统,还有我们厂看到的程控玩具、电子宠物等等都是离不开单片机的,更不用说是自动控制领域的机器人和智能仪表等各种智能机械了。

 单片机是对目前所有兼容Intel8031指令系统的单片机的统称,该系列单片机的始祖是Intel的8031单片机,后来随着Flansh rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一。51单片机是基础入门的一个单片机,还是应用最广泛的一种。

一.2单片机的发展历程

1、探索阶段

20纪70午代,美国的Fairchild公司首先推出了第一款单片机F-8,随后Intel公司推出了影响面大、应用更广的MCS48单片机系列,其以其体积小、重量轻、控制功能齐全和低价格的特点,得到了广泛的应用,为单片机的发展奠定了坚实的基础[2]。MCS48单片机系列的推出标志着在工业控制领域,进入到智能化嵌入式应用的芯片形态计算机的探索阶段。这一时期的特点是:

 1)嵌入式计算机系统的芯片的集成设计;

 2)只保证了基本的控制功能。

2、结构体系的完善阶段

在MCS-48探索成功的基础上很快推出了完善的、典型的单片机系列MCS-5l。MCS-51系列单片机的推出,标志Single Chip Microcomputer体系结构的完善。它在以下几个方面奠定了典型的通用总线型单片机的体系结构。

①完善的总线结构:

并行总线:8位数据总线、16位地址总线及相应的控制总线,两个的地址空间;

串行总线:通信总线,扩展总线。

②完善的指令系统:

具有很强的位处理功能和逻辑控制功能,以满足工业控制等方面的需要;

功能单元的SFR(特殊功能寄存器)集中管理。

③完善的MCS-51成为SCMC的经典体系结构。

3.发展阶段

Intel公司推出的MCS96单片机,将一些用于测控系统的模数转换器(ADC)、程序运行监视器(WDT)、脉宽调制器(PWM)、高速I/O口纳入片中,体现了单片机的微控制器特征。MCS-51单片机系列向各大电气商的广泛扩散,许多电气商竞相使用80C51为核,将许多测控系统中使用的电路技术、接口技术、可靠性技术应用到单片机中;随着单片机内外围功能电路的增强,强化了智能控制器特征。微控制器(Microcontrollers)成为单片机较为准确表达的名词。其特点是:

1)、满足嵌入式应用要求的外围扩展,如WDT、PWM、ADC、DAC、高速I/O口等。

2)、众多计算机外围功能的集成,如:

a)提供串行扩展总线:SPI总线、I2C总线、BUS总线、Microwire总线;

b)配置现场总线接口:CAN BUS总线。

c)CMOS化,提供了功耗管理的功能。

d)提供OTP(一次可编程芯片)的供应状态,利于大规模和批量生产。

4、MCU的成熟阶段

单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化控制工具-----小到玩具、家电行业,大到车载、舰船电子系统等领域,遍及计量测试、机械电子、工业过程控制、金融电子、办公自动化、工业机器人、商用电子、军事和航空航天等领域。为满足不同的要求,出现了高速、寻址范围大、运算能力强和多机通信能力的8位、16位、32位通用型单片机,小型廉价型、外围系统集成的专用型单片机,以及形形色色各具特色的现代单片机。可以说,单片机的发展进人了百花齐放的时代,为用户的选择提供了空间。这一时期的特点为:

(1)电气商、半导体商的普遍介入

MCS-48的成功,刺激了许多半导体公司竞相研制和发展自己的单片机系列。到目前为止,世界各地厂商已相继研制出大约50个系列300多个品种的单片机产品,其中较有代表性的有Motorola公司的6801、6802,Zilog公司的Z-8系列,Microchip公司的PIC系列等。此外,开本的NEC公司、日立公司也都推出了各自具有特色的单片机品种。

(2)大力发展专用单片机

通用型与专用型是按某一型号单片机适用范围区分的。例如,80C51是通用型单片机,它并不是为某一种专门用途设计的单片机;而专用型单片机是针对某一类产品甚至某个产品需要而设计、生产的单片机。例如,来电显示电话中配有液晶驱动器接口的单片机和全自动洗衣机中的微控制器,都是专用单片机;特别是小家电、玩具领域的单片机,都是一些小封装、价格低廉的外围器件、外设接口集成度高,它们多数为专用单片机。

(3)综合品质高

在体系结构(精简指令微处理器)、电磁兼容性能(Electro Magnetic Compatibility简称EMC)、开发环境(高级语言支持ISP、IAP等)、功耗管理等诸方面得到了提高。根据控制单元设计的方式与采用的技术不同,目前市场上的这些单片机可区分为两大类型:繁杂指令集结构(Complex Instruction Set Computer,简称CISC架构)和精简指令集结构(Reduced Instruction Set Computer,简称RISC)。繁杂指令集结构(CISC)的特点是指令数量多,寻址方式丰富,较适合初学者系统学习,如INTEL的80C51或80C196、MC68K;而精简指令集结构(RISC)具有较少的指令与寻址模式,结构简单,成本较低,执行程序的速度较快,成为单片机的后起之秀,如PIC、EM78XXX和Z86HCXX。

ISP(In System Programming)和IAP(In Application Programming)方式是两种先进的实时在线开发方式。它们无须传统的开发装置,借助计算机和单片机的高性能,实现了真正的在线仿真。

(4)C语言的广泛支持

a) 单片机普遍支持C语言编程,为后来者学习和应用单片机提供了方便;

b) 高级语言减少了选型障碍,便于程序的优化、升级和交流。

一.2.151单片机的概况 

 MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品[3]

MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:

8位CPU、 程序存储器(ROM)、的数据存储器(RAM)

32条I/O口线、111条指令(大部分为单字节指令)

专用寄存器、可编程定时/计数器

全双工串行通信口

外部数据存储器寻址、外部程序存储器寻址、逻辑操作位寻址功能

单一+5V电源供电

就是由于MCS-51以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,被堪称为一代“名机”,为以后的其它单片机的发展奠定了基础。正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,有许多世界大的电气商丰富和发展了MCS-51单片机

近年来C51获得了飞速的发展,C51的发源公司是INTEL公司,PHILIPS公司对其性能进行了改善,在原来的基础上发展了高速I/O口,A/D转换器,PWM(脉宽调制)、WDT等增强功能,并在低电压、微功耗、扩展串行总线(I2C)和控制网络总线(CAN)等功能加以完善。ATMEL公司推出的ATCxx系列兼容C51的单片机,完美地将Flash(非易失闪存技术)EEPROM与80C51内核结合起来,其仍采用C51的总体结构和指令系统,Flash的可反擦写程序存储器能有效地降低开发费用,并能使单片机作多次重复使用。

正是由于51系列单片机的不断改进,使得其有了更为广泛的应用与发展;也正是由于其广泛的应用范围和广泛的发展,促使了51系列单片机的功能的不断完善。

一.2.2单片机的应用及前景

由于单片机具有体积小,重量轻,价格便宜;抗干扰能力强;控制功能强大,有丰富的指令;片内存储器容量小,IO引脚不多等诸多优点,故其在家电,玩具,游戏机,仪器,仪表,机电一体化产品,计算机外围设备,工业控制,分布式监控等诸多领域都有广泛的应用。

在未来,应各种电子产品对单片机的要求,单片机将会向多功能、高性能、高速度、低电压、低功耗、大容量存储器的方向发展。其将有广泛的应用前景。

一.3电子钟

电子钟即数显钟(数字显示钟),是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比,其主要显著特点是直观性强,而且是非机械驱动,故具有更长的使用寿命,与石英机芯驱动的石英钟相比较,数字钟更具准确性。

一.3.1电子钟简介

1957年,Ventura发明了世界第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分,小时进一,满二十四小时,小时位清零。从而达到计时的功能[4],[5]。

现代高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此,走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时,其用译码代替机械式传动,用液晶显示器代替指针显示,进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,也可以设置闹铃报时及整点报时,片选的灵活性好。相对于其他时钟类型,它的特点显著:比机械钟观察时间显著,比石英钟的走时准确,但是它的弱点就是显时较为单调,但在现在较高的技术与艺术设计,使数字钟的外观更加美观,显示更加动态化。

一.3.2电子钟的应用及发展

电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。不仅如此,在当今现代化的进程中,也离不开电子钟的相关功能和原理,比如,机械手的控制、家务的自动化、定时自动报警系统、按时自动打铃、定时广播、时间程序自动控制、定时开关烘箱、自动启闭路灯、通断动力设备、甚至各种定时电气的自动启用等,都是以钟表数字化为基础的,而且是控制的核心部分[7],[8],[9]。

电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对机器的控制,在自动化的过程中必然有电子钟的参与,因此,电子钟的应用会越来越广泛。而且随着电子技术的不断提高,电子钟也将向着更加精确、更低的功耗、多功能的方向发展。这是由于电子钟有如此多的功能及广泛的应用范围,因此,电子钟的研究及扩大其在各个领域的应用,有着非常现实和价值的意义。

第二章各个模块的特性及结构

 基于我们的实验目标:借助51单片机来实现基本的时分秒的电子钟。将由两大模块组成:8051单片机控制模块和LED显示模块。

二.18051单片机模块

MCS-51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式

 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 

⒈ 电源:

⑴ VCC - 芯片电源,接+5V

⑵ VSS - 接地端

⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

⒊ 控制线:控制线共有4根,  

⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲

① ALE功能:用来锁存P0口送出的低8位地址

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端。  

② VPD功能:在Vcc掉电情况下,接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋ I/O线 

8051共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)

图2.1 8051引脚配置

二.2LED显示模块

二.2.1LED数码管的原理

 在某些半导体材料的PN结构中,注入的少数载流子与多数载流子复合时,会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电导致发光的原理制作的二极管叫做发光二极管,通常为LED,全称为Light Emitting Diodo。.

 LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个,如图2-2所示,这些段分别由字母a,b,c,d,e,f,g,dp来表示,DP表示小数点。当数码管特定的段加上电压后,这些特定的段就会发亮,这样就可以看到不同的字样。发光二极管的阴极连接到一起连接到低电平的称为共阴极数码管,如图2-3所示,发光二极管的阳极连接到一起连接到电源正极的称为共阳极数码管,如图2-4所示。

      

图2.2 数码管             图2.3 共阴极数码管          图2.4 共阳极数码管

各段码位的对应关系,如表2-1所示:

表2.1 码位对应关系

段码位D7D6D5D4D3D2D1D0
显示段Dp

gfedcba
    LED显示断码如表2.1所示:

表2.2 LED显示段码

字型共阳极段码共阴极段码字型共阳极断码共阴极段码
0C0 H3F H

990 H6F H

1F9 H06 HA88 H77 H
2A4 H5B HB83 H7C H

3B0 H4F H

CC6 H39 H
499 H66 HDA1 H5E H
592H6D HE86 H79 H
682 H7D HF84 H71 H
7F8 H07 H空白FF H00 H
880 H7F H

P8C H

73 H
    根据我们所采用的8051单片机的特点,我们选用共阴极数码管。将8051的P0.0~P0.7通过74LS245芯片与共阴极数码管的a~p相连,高电平的位对应的LED数码管的段亮,低电平的位对应的LED数码管的段暗,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符。

二.2.2LED数码管驱动方式

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

1)静态显示驱动

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码经二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

2)动态显示驱动

LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,通过控制每个数码管的公共极COM位选通控制电路,即可选定要点亮的数码管,位选通由各自的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流的控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。利用人的视觉暂留现象及发光二极管的余辉效应,实际上各位数码管并非同时点亮,但只要扫描的速度足够快,一般扫描频率大于人眼能分辨出的频率50Hz即可,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

二.3电子钟的实现框图

 电子钟的实现原理框图如图2-6所示,它由单片机8051、电源、时分显示部分组成。对于电源部分,一部分是220V的电压通过变压整流稳压来得到数字系统所需要的+5V电压,以维持系统的正常工作,实际设计操作中,我们采用现成的控制平台。对于时分显示部分,我们采用动态扫描,以降低对单片机端口数的要求,同时也可降低系统的功耗。时分秒显示模块以及显示驱动都将通过8051单片机的I/O口控制[10],[11],[12]。

图2.6 电子钟系统原理框图

第三章硬件电路设计

通过对电子钟系统原理图的分析,及每个模块功能的实现,对每个模块的电路进行具体的搭建[13]。

三.1复位电路

51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声。

上电复位:上电复位电路是—种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。

电路图如下:

图3.1复位电路

上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。

三.2按键电路

按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。

电路图如图3-2所示:

图3.2按键电路

P1.0低电平,则表示有健按下,则进行调秒 ;当变为高电平时,则停止调节

P1.1低电平,则表示有健按下,则进行调分;当变为高电平时,则停止调节

P1.2低电平,则表示有健按下,则进行调时;当变为高电平时,则停止调节

三.3时钟电路

时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。

电路图如图3-3所示:

图3-3时钟电路

51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。

三.4显示控制电路

由于我们采用LED共阴极显示屏,故当我们给相应的数码管高电平时,相应的数码管就会亮起来。通过总线接到数码管的数字输入端,通过单片机进行数位控制,通过循环扫描控制,利用人眼的视觉暂留功能,达到数位数码管同时显示的效果。其原理示意图如图3.4所示:

图3.4 显示控制电路

三.5数码管显示电路

数码管显示器成本低,配置灵活,与单片机接口简单,在单片机应用系统中广泛应用。

1.数码管的工作原理

数码管是由八个发光二极管构成的显示器件。在数码管中,若将二极管的阳极连在一起,称为共阳极数码管;若将二极管的阴极连在一起,称为共阴极数码管。本文用到的八个数码管均是共阴极的。当发光二极管导通时,它就会发光。每个二极管就是一个笔划,若干个二极管发光时,就构成了一个显示字符。将单片机的I/O口控制相应的芯片与数码管的a-g相连,高电平的位对应的发光二极管亮,这样,由I/O口输出不同的代码,就可以控制数码管显示不同的字符。本文的八个数码管均采用动态显示方式,显示当前的时间。

三.6电源电路设计

电源电路包括变压器、桥式整流器、电容和稳压器。通过变压器变压,使得220V电压变为5 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出5V的稳定电压。在本文的实践过程中,我们直接采用实验室提供的数字工作箱进行电子设计。

三.7时钟芯片模块

为了使电子钟信号达到精确,这里选用DS12887时钟芯片,产生时钟信号,单片机通过并线与时钟芯片通信,将时间显示出来。

三.8综合电路的实现

 基于上述各个模块电路的分析与设计,结合我们要完成的电子钟实现功能有基本的时分秒的24小时制的时间显示,以及基本的调时调分调秒功能的实现。我们设计出如下的综合电路,如图3.5所示:

图3.5  电子钟基本部分参考电路原理图

三.9本章小结

本章介绍的是本设计的硬件结构,单片机的相关I/O口输入输出就可以实现相应的控制功能。还介绍了单片机的复位电路和时钟电路。

第四章系统软件的设计

在基于单片机8051的控制下,实现时、分、秒的基本功能,本系统主要分为主程序和中断程序两大模块。我们通过8051单片机的基本的C语言进行其逻辑编程,使其实现上述功能。

四.1调时功能

    给三个按键,当8051单片机的P1.0端口的键按下,即P1.0端口检测到低电平时,则进入调秒状态,当P1.1端口的键按下,则进入调分的状态;当P1.2端口的键按下,则进入调时的状态。当P1.0~P1.2所对应的键抬起,即对应的端口检测到高电平,则退出调时状态,进行正常的时钟显示。由于按键的过程中,存在按键的抖动,从而有时会使得误判断,而进入调时功能状态,对此,我们加入了去抖,其流程图如图4.1所示:

图4.1按键去抖程序图

四.2显示功能

    由于我们需要显示的数字不是很多,故本系统采用数码管进行显示。系统的时分秒显示部件由两只三位七段共阳极的LED数码管构成,为了保护各段LED不被损坏,我们加入了限流电阻。前两位用于时的显示,第三和第四位用于分钟的显示,第五和第六位用于秒的显示。

四.3程序设计

 本章主要对实现时分秒功能具体程序的设计,保证得到准确的时分秒显示,及调时功能。

/*

 *  Desc:DS12C887 6位数码管显示

 *  

*/

#include

#define SEG_DAT P0

#define SEG_BIT P2

#define DS_DAT  P0

#define DS_SEC  0x00

#define DS_MIN  0x02

#define DS_HOR  0x04

#define DS_WEK  0x06

#define DS_DAY  0x07

#define DS_MON  0x08

#define DS_YER  0x09

#define DS_R_A  0x0A

#define DS_R_B  0x0B

#define DS_R_C  0x0C

#define DS_R_D  0x0D

#年千百位

#define CNT_M   30     //控制闪烁速度,为偶数

#define BCD_DEC(X)  (((X & 0xF0) >> 4) * 10 + (X & 0x0F))

#define DEC_BCD(X) (((X / 10) << 4) | (X % 10))

sbit DS_DS = P3^0;

sbit DS_RW = P3^1;

sbit DS_AS = P3^2;

sbit DS_CS = P3^3;

sbit KEY1  = P1^0;

sbit KEY2  = P1^1;

sbit KEY3  = P1^2;

sbit KEY4  = P1^3;

unsigned char dispMode = 0; //显示模式

u修改模式

u修改模式下闪烁计数

unsigned char DIS[6];

};

unsigned char code C_BIT[]={0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};

void Delay(unsigned int t)

{

}

void DS12887_Write(unsigned char addres,unsigned char dat)

{

}

unsigned char DS12887_Read(unsigned char addres)

{

}

void DS12887_Init(void)

{

}

void Display(void)

{

    if (dispMode == 0)                          //显示模式0,时分秒

 7F;

 0F] & 0x7F;

 0F] & 0x7F;

 0F] & 0x7F;

 修改模式123下闪烁

    } else if (dispMode == 1)                   //显示模式1,年

        i = DS12887_Read(DS_Y_S);               //年高两位,在RAM里0x0E

 0F];

        i = DS12887_Read(DS_YER);               //年低两位

 0F];

 修改模式45下闪烁

    } else if (dispMode == 2)                   //显示模式2,月日 星期

        i = DS12887_Read(DS_MON);               //月

 0F] & 0x7F;显示小数点

        i = DS12887_Read(DS_DAY);               //日

 0F];

        i = DS12887_Read(DS_WEK);               //星期

        DIS[4] = C_DAT[10];                     //用'-'隔开

 0F];         //1~7,第一天是星期天

 修改模式7下闪烁

            if (modify != 9)                    //星期修改时,‘-’不闪烁

 用于修改模式下闪烁

     count = 0;

}

/*计算当月的天数*/

unsigned char getDay(void)

{

 当前年

 当前月

 、3、5、7、8、10、12 月均为31天

 、6、9、11 月均为30天

    case 2:             

 月闰年为29天

 平年为28天

    default:    return 0;

}

void Key(void)  

{

    if (KEY1 == 0)                           //显示模式更改

          修改模式下用于退出修改

       modify = 0;

      else {

       DS12887_Write(DS_R_B, 0x62);

       dispMode++;

       if (dispMode > 2)

        dispMode = 0;

      }

    if (KEY2 == 0)                                      //修改模式

            if (modify == 0)            //时分秒123,年45,月日星期7

                switch (dispMode)      //根据显示模式确定modify初值

//时分秒,日星期模式下每个是3位

 年模式下是2位

    if (KEY3 == 0)                                      //+

            case 1:                                     //时

            case 2:                                     //分

            case 3:                                     //秒

            case 4:                                     //年高两位

            case 5:                                     //年低两位

            case 7:                                     //月

            case 8:                                     //日

            case 9:                                     //星期

            case 1:                                     //时

            case 2:                                     //分

            case 3:                                     //秒

            case 4:                                     //年高两位

            case 5:                                     //年低两位

            case 7:                                     //月

            case 8:                                     //日

            case 9:                                     //星期

}

void main (void)

{

}

第五章电路仿真

五.1Proteus软件简介

 Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KeIL和MPLAB等多种编译

Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:

(1)原理布图 

(2)PCB自动或人工布线 

(3)SPICE电路仿真  

其具有性的特点: 

(1)互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 

(2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境

五.1.1Proteus的功能模块

Proteus具有四大功能模块

1)智能原理图设计(ISIS)

丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。 

2)完善的电路仿真功能(Prospice)

ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。 

3)独特的单片机协同仿真功能(VSM)

支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真。编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。 

4)实用的PCB设计平台

原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理; 完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D可视化预览;多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。 

五.1.2Proteus的贡献

Proteus的主要贡献是其不仅提供了丰富的资源还具有软件仿真功能

(1)Protues可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。 

(2)Protues可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。

(3)除了现实存在的仪器外,Protues还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 

(4)Protues可提供的调试手段 Protues提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 

在软件仿真方面,其支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。 

1.提供软件调试功能。 

2.提供丰富的外围接口器件及其仿真。RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。 

3.提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。 

4.具有强大的原理图绘制功能。

在电路仿真功能方面在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。PROTUES 是单片机课堂教学的先进助手。PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。

五.2电路仿真设计

通过上述电路的设计,我们利用学习仿真软件Protues软件进行对已搭建的电路进行仿真。Protues软件对单片机仿真有鼠标左键单击窗口左侧的元件工具栏即可得到基本的元件,也可通过点击左侧的P和L按钮的P按钮,对基本的元器件进行搜索。得到8051单片机、DS12887芯片、八位七段数码管、电阻、电容及晶振的等所需器件,然后用鼠标指针将其按电路原理图连接起来即可,再分别设置各个器件的参数。这样原理图就绘制完成,如图5.1所示:

图5.1 可调数字钟的电路仿真图

通过电路仿真,我们可以得到预期的电路功能,即实现准备的时分秒显示功能,及调时调分调秒功能[14],[15]。

第六章工作的总结与未来工作的展望

六.1工作总结

 本文重点是应用51系列的8051单片机,来实现基本的时分秒及调时调分调秒的功能。具体工作如下

(1)首先从单片机的的发展历程入手,了解单片机的基本功能,结合本文实现功能的要求,基于51单片机实现,通过对51系类单片机的认识,我们选用了8051单片机。

(2)对于时分秒的显示,我们充分利用已有器材,结合功能实现所需的显示屏,我们采用LED数码管来实现显示功能。

(3)通过8051单片机和LED的学习,我们利用了DS12887芯片保存时钟信号,并对此芯片进行了相关学习。

    解决的了基本的硬件及模块功能学习,我们进行了程序设计,通过调试,我们得到了基本的功能,可以正确的显示时间,包括时、分、秒;为了满足我们的日常要求,我们设置了调时、调分、调秒的功能。

六.2未来展望

 通过本课题的工作,本作者逐渐认识到单片机发展的迅速,及其功能的强大,并且对其实现电子钟有了深刻的认识。借此,我们在日后还需要从以下几个方面进行改进:

(1)提高时间的计时精度;

(2)增加电子钟的功能,如可加入闹铃功能、温度显示功能、星期、日、年等功能。

致  谢

本次毕业设计在冯建成老师的精心指导下完成的。从毕业设计的立题到最终的完成,老师给予了极大的指导和帮助,并提出了很多宝贵的意见。我以诚挚的心情向老师和帮助过我的同学表示衷心的感谢,感谢在这半年时间里对我的关怀、鼓励和悉心的指导。

参考文献

 [1] 张景元,陈平 一种基于单片机的多功能数字钟 微计算机信息(嵌入式与 

    SOC)2005

[2] 刘盛雄,周奇,韦1. H.G.Gragon The Elements of Single-Chip Microcomputer  

   Architecture Computer,1980(13)27~41

[3] 何立民 我国单片机应用技术发展趋势及展望 自动化与仪表,1992(1) 1~5

[4] 潘永雄 新编单片机原理与应用 第2版 西安:西安电子科技大学出版社2006

[5] 张静 基于单片机数字钟的设计 办公自动化杂志,2006() 4~5

[6] 攀金荣,谢智文 数字倒计时秒表的设计与实现 中南敏粗大学计算机科学学院

   院报,2005(1) 62~63

[7] 魏立峰,王宝兴 单片机原理与应用技术[M] 北京 北京大学出版社,2006

[8] 周兴华 一款电路极简单的单片机电子钟设计详解 电子制作,2003 (10)31

[9] 郭长立 DDJ-II型多功能单片机计时器的改进设计 仪表技术 2004(4):29~30

[10] 何宏森 多功能智云隆 基于单片机的数字式电子钟的设计与制作 重庆工学

    院学报 2006(8) 91

[11] 卢超 基于单片机的数字电子钟的设计与制作 大庆师范学院学报,2006(5):

    49

[12] 刘建英 基于单片机的时钟设计 内蒙古石油化工 2005(1):13

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

    2007(4):61~63

[14]  Scott Edwards Crystal-Controlled Oscillator Is Heartbeat of 60-hour Timer. The 

    Nuts and Volts of BASIC Stamps,1996(1):95~103.

文档

基于51单片机的电子钟设计-毕业论文

摘要多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时,定时等功能。本系统利用单片机实现其具有计时,校时等功能的数字时钟,是以单片机STCC52为核心元件同时采用数码管同时显示“时,分,秒,星期,年,月,日”的现代计时装置。显示极具人性化,另外具有校时功能,闹钟功能和节电保护功能。利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,如在电路板上预留有电源输出,温度传感插座等
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top