目录摘要 (1)前言 (2)概论............................................................................................................. 错误!未定义书签。
第一章.. (3)1.1概述 (3)1.2单片机的发展历程 (3)1.3时钟的特性 (3)2 系统原理与硬件设计 (4)2.1硬件选择 (4)2.2单片机的构成 (4)2.3AT89C52单片机的引脚说明 (5)2.4LED简介 (6)第三章软件设计 (9)3.1框架图 (9)4 调试过程及数据分析 (22)4.1硬件调试 (22)4.2K EI L调试 (22)4.3开发板调试 (23)结论 (24)摘要本次设计采用AT89c52内部定时器、中断等功能,和外部数码管,驱动器等构成。
电子时钟电路采用24小时制记时方式,时间用6位数码管动态显示。
使用5V电源供电,并且在按键的作用下可以进入省电(不显示LED 数码管)和正常显示两种状态。
关键词:数码管、AT89c52The design of the adjustable digital clock base on AT89S52AbstractThis paper introduced the design of the adjustable digital clock based on AT89S52, the specific process of how the system hardware and software achieved were detailed description through the design of adjustable digital clock. The modular design and production, which consisted of MCU module, clock module and the associated control module, were mainly recounted;As well as hardware designing,software design use the same method, consists suspension module,time adjust module, and that use the C language to achieve because of its simple and strong negotiability. In this design the functions of time run and change, functions of the year, month and day display have been achieved.Key words :AT89S52 microcontroller;前言一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。
除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。
由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。
本次设计根据AT89c51单片机系统扩展的基本原理和方法、常用总线标准和典型接口电路的应用,结合本次设计的题目要求进行系统扩展,通过单片机驱动时、分、秒显示,最后通过74LS04驱动LED动态显示的方式完成设计任务,设计论文中附有电路图、程序清单、各数据存储单元的所在地址和输入输出口对应表。
因水平有限,难免有疏落不足之处,恳请老师和同学能给予批评指正。
第一章1.1概述随着电子技术的迅速发展,特别是随着大规模集成电路产生而出现的微型计算机,给人类生活带来了极大的方便。
走入家庭,从洗衣机、微波炉到音响、汽车,到处都可以见到单片机应用的踪影。
如果说微型计算机技术的出现使现代科学研究得到了质的飞跃,那么也可以毫不夸张的说:“单片机技术的出现则是给现代工业测控领域带来了一次新的工业革命”。
目前,单片机以其可靠性高和智能性等特点被广泛应用到工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等领域中,并已经进入家庭,因此,单片机技术的开发和应用水平已经逐步成为一个国家自动化发展水平的标志之一。
1.2 单片机的发展历程单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。
1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。
单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。
、32位单片机推出阶段,以满足不同的用户需要。
纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发1.3 时钟的特性省电(关闭显示)功能(2)以24h(小时)计时方式(3)白来整点报时,晚上22点后不报时(4)用六位LED数码管显示时、分、秒(5)使用按键开关可实现时分调整、秒表功能转换(6)使用按键开关可实现时分调整、时钟功能转换等功能。
这里用到中断,50ms的产生一次。
然后累加到20次,秒表就加1.。
每60秒分值加1。
每60分时加1,每24小时日加1….第2章系统原理与硬件设计2.1 硬件选择(2)单片机的选择选用AT89c52单片机,并配备12MHz晶振,复位电路采用上电复位。
(3)显示电路选择采用软件译码动态显示,P3.0-P3.3作数码管的位选口。
P1.0-P1.6作数码管的段选口。
考虑直接用单片机I/O口作位选时驱动功率不够,(4)电源选择采用直流5V电源供电。
(5)选择器的选择 74ls04。
(6)CTC89c52单片机是一种低功耗,高性能的片内含有4KB可编程/擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与AT89C52引脚和指令系统完全兼容。
芯片上的FLASH允许在线编程或采用通用的非易失存储编程器对存储器重复编程。
2.2 单片机的构成AT89c51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件,AT89C52单片机单片机内包含下列几个部件:(1)一个8位CPU;(2)一个片内振荡器及时钟电路;(3)4K字节ROM程序存储器;(4)256字节RAM数据存储器;(5)两个16位定时器/计数器;(6)可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;(7)32条可编程的I/O线(四个8位并行I/O端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构。
其内部机构框图如图2.2所示:图2.2 MCS-51单片机内部机构框图2.3 AT89c52单片机的引脚说明AT89c52单片机采用40条引脚双列直插式器件,引脚除5V( 40脚)和电源地( 20脚)外,其功能分为时钟电路、控制信号、输入/输出三大部分,逻辑框图及引脚图分别如图2.4(a)(b)所示(a) (b)图2.4 AT89c52单片机逻辑图与引脚图AT89C52单片机的内部硬件结构中除了程序存储器由FLASH取代了87C51单片机的EPROM外,其余部分完全相同,其管脚说明如下:(1)VCC:供电电压(2)GND:接地(3)时钟电路XTAL1(19脚)——芯片内部振荡电路(单级反相放大器)输入端。
XTAL2(18脚)——芯片内部振荡电路(单级反相放大器)输出端。
(4)控制信号RST(9脚)复位信号:时钟电路工作后,在此引脚上将出现两个机器周期的高电平,芯片内部进行初始复位,P0口~P3口输出高电平,将初值07H写入堆栈指针。
ALE(30脚)地址锁存信号:当访问外部存储器时,P0口输出的低8位地址由ALE输出的控制信号锁存到片外地址锁存器,P0口输出地址低8位后,又能与片外存储器之间传送信息。
另外,ALE可驱动4个TTL门。
PSEN(29脚)片外程序存储器读选通:PSEN低电平有效,PSEN作为程序存储器的读信号,输出负脉冲,将相应的存储单元的指令读出并送到P0口,PSEN可驱动8个TTL门。
EA/Vpp(30脚):当EA为高电平且PC值小于0FFFH时,CPU执行内部程序存储器程序;当EA为低电平时,CPU仅执行外部程序存储器程序。
2.4LED简介LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图2.7(a)是共阴和共阳极数码管的内部电路图,它们的发光原理是一样的,只是它们的电源极性不同而已。
将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。
以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。
当然,LED的电流通常较小,一般均需在回路中接上限流电阻。
假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。
而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。
其它数字的显示原理与此类同。
LED的7段数码管利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。
在这次的设计中采用的均是共阴极的LED显示,当I/O口输出为高电平的时候,对应段就被点亮。
LED数码管的结构图如图2.7(b)所示。
(a)(b)图2.7 LED分类结构图和结构图这次设计的显示部分采用AT89c51单片机动态扫描完成,在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。
在没有富余端口的情况下,应通过优化设计程序和扩展电路达到预期的目的。
动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。