1、 0 ( 1)封面 ( 2)开题报告 ( 3)中文摘要及关键词 ( 4)英(外)文摘要及关键词 ( 5)正文 ( 6)(附录) ( 7)参考文献 ( 8)致谢 摘 要 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能 IC 卡、电子宠物等,这些都离不开单片机。单片机是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业 和工业自动化上。而 51 系列单片机是各单片机中最为典型和最有代表性
2、的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器 AT89C51、时钟电路 DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。 1 关键词 : 单片机 , 农历查询 , 万年历 Abstract SCM application technology develop rapidly, looking around us now in all spheres of life, from mi
3、ssiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable
4、from the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typic
5、al and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities. Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock design,Thereby achieve studying
6、and understanding the relevant directives SCM in all aspects of the application. By main control AT89C51、 clock circuit DS1302、 display circuit、 keystroke circuit and restore circuit componented, to achieve clock calendar display function can be carried out, hours 2 seconds of the show and real-time
7、 temperature display. Keywords : Monolithic single-chip,lunar calendar demand, perpetual calendars 目录 第一章 引 言 3 第二章 设计方案论证 .4 2 1 方案论证与设计 .错误 !未定义书签。 2.1.1 控制部分的方案选择 .4 2.1.2 显示部分的方案选择 4 2.1.3 系统基本方案选择和论证 . 4 2 2 单片机原理 .5 2 3 LED 显示数码管 .5 第三章 计算部分 .6 3.1 主要单元电路的器件 .6 3.1.1 单片机主控制模块 .6 3.1.2 时钟电路模块 .
8、 7 3.2 其他模块器件 8 3.2.1 74LS164 .8 3.2.2 CON8 . .9 3.2.3 其他元器件 . .9 第四章 结构设计部分 .10 4.1 显示部分设计 .10 4.1.1万年历优化算法 . 错误 !未定义书签。 4.2 实现时钟,日历显示设计 12 4.2.1 DS1302 的寄存器 . 12 4.2.2 DS1302 实时显示时间的软硬件 .12 4.2.3 DS1302 与 CPU 的连接 12 4.3整体设计 错误 !未定义书签。 3 4.4 系统软件设计 14 4.4.1 程序流程框图 . .14 第五章 实验测试部分 .18 5.1 硬件测试 . 18
9、 5.2 软件测试 18 5.3 测试结果分析与结论 18 5.3.1 测试结果分析 . .18 5.3.2 测试结论 . . 19 第六章 结论 .20 第七章 谢辞 .21 参考文献 .22 附录一: 系统程序清单 .23 第一章 引言 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而 电子万年历作为 电子类小设计不仅是市场上的宠儿,也是是单片机实验中
10、一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。 数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式 LED数码管显示的日历钟逐渐受到人们的欢迎。 LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 所4 以,电子万年历无论作为比赛题目 还是练习题目都是很有价值。 第二章 设计方案论证 2 1 方案论证与设计 2.1.1.控制部分的方案选择 a)用可编程逻辑器件
11、设计。可采用 ALTERA 公司的 FLEX10K 系列 PLD 器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点, EDA 在功能扩展上比较受局限,而且 EDA 占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势。 b)用凌阳 16 位单片机设计。凌阳 16 位单片机有丰富的中断源和时 基,方便本实验的设计。它的准确度相当高,并且 C 语言和汇编兼容的编程环境也很方便来实现一些递归调用。 I/O口功能也比较强大,方便使用。用凌阳 16 位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的
12、录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。 2.1.2 显示部分的方案选择 a)液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作,但是在显示时,特别是使用秒表功能时扫描速度跟不上,屏幕会有明显的闪烁。而且由于 61 板的存储空间有限,液晶显示就不能与语音播抱程序同时实现 。这些大大影响了电子万年历的性能。 b)相比液晶显示,采用 8段数码管既经济实惠,在效果上也可以加入语音报时功能,操作比较液晶显示来说虽然略显繁琐,但总体也还可以做到比较人性化。所以,最后选择 LED 数码管显示方案。 2.1.3 系统基本方案选择和论证 1.单片机芯片的选择方案和论证
13、: 方案一 : 采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间 ,能于 3V的超低压工作 ,而且与 MCS-51 系列单片机完全兼容 ,但是运用于电路设计中时由于不具备 ISP5 在线编程技术 , 当在对电路进 行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二 : 采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51系列单片机完全该芯片内部存储器为 8KB ROM 存储空间,同样具有 89C51 的功能,且具有在线编程可擦
14、除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 所以选择采用 AT89S52 作为主控制系统 . 2. 显示模块选择方 案和论证: 方案一: 采用 LED 液晶显示屏 ,液晶显示屏的显示功能强大 ,可显示大量文字 ,图形 ,显示多样 ,清晰可见 ,但是价格昂贵 ,需要的接口线多 ,所以在此设计中不采用 LED 液晶显示屏 . 方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合 ,如采用在显示数字显得太浪费 ,且价格也相对较高 ,所以也不用此种作为显示 . 方案三:采用 L
15、ED 数码管动态扫描 ,LED 数码管价格适中 ,对于显示数字最合适 ,而且采用动态扫描法与单片机连接时 ,占用的单片机口线少。 所以采用了 LED 数码管作为显示。 3时钟芯片的选择方案和论证: 方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二:采用 DS1302 时钟芯片实现时钟, DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高 ,位的 RAM 做为数据暂存区,工作电压 2.5V 5.5V
16、范围内, 2.5V 时耗电小于 300nA. 4. 电路设计最终方案决定 综上各方案所述 ,对此次作品 的方案选定 : 采用 AT89S52 作为主控制系统 ; DS1302 提供时钟 ;数字式温度传感器 ;LED 数码管动态扫描作为显示。 2.2 单片机原理 单片机就是简化的微型计算机。 CPU 中本身自带存储器 ROM 和 RAM。 CPU 片内也有总线。IC(集成电路)技术是将电路通过特殊工艺做在一块硅基片上封装成芯片,比如 CPU,片外存储器等等。 将单片机 CPU(比如 51 系列),晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等通过 PC
17、B 工艺(比如 SMT 贴片,或者插装)做在环氧树脂板上。这 样才是一个完整的单片(做在一块 PCB 板上)的微型计算机。 2.3 LED 显示数码管 常见的 LED 显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备的部件之一。 发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。 1. 显示器的结构 常用的 7段显示器的结构如图所示,发光二极管的阳极连在一起的称为共阳极显示器,阴6 极连在一起的成为共阴显示器。 1 位显 示器由
18、 8个发光二极管组成,其中 7 个发光二极管 a g控制 7 个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。 第三章计算部分 3.1 主要单元电路的器件 3.1.1 单片机主控制模块 AT89S52 单片机为 40 引脚双列直插芯片 ,有四个 I/O 口 P0,P1,P2,P3, MCS-51 单片机共有4个 8位的 I/O 口( P0、 P1、 P2、 P3),每一条 I/O 线都能独立地作输出或输入。如图所示。 1内部结构 按功能分为 8 部分: CUP,程 序存储器,数据存储器,时钟电路,串行口,并行 I/O
19、 口,中断系统,定时 /计数器。 2.引脚定义及功能 1) .电源及时钟引脚 Vcc:接 +5V 电源 Vss:接地 XTAL1 和 XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 2) .控制引脚 RST/Vpq: RST 是复位信号输入端, Vpd 是备用电源输入端。当 RST 输入端保持 2个机器周期以上高电平时,单片机完成复位初始化操作。 当主电源 Vcc 发生故障而突然下降到一定低电压或 断电时,第 2 功能 Vpd 将为片内 RAM提供电源以保护片内 RAM 中的信息不丢失。 ALE/PR
20、OG:地址锁存允许信号输入端。在存取外存储器时,用于锁存低 8位地址信号。当单片机正常工作后, ALE 端就周期性地以时钟振荡频率的 1/6 固定频率向外输出正脉冲信号。此引脚的第 2功能 PROG 是对片内带有 4K 字节 EPROM 的 8751 固外程序时,作为编程脉冲输入端。 PSEN:程序存储器允许输出端。当片外程序存储器的读选通信号,低电平有效。 CPU 从外部程序存储器取指令时, PSEN 信号会自动产生负脉冲,作为外部程序存储器的选通信号 。 EA/Vpp:程序存储器地址允许输入端。当 EA 为高电平时, CPU 执行片内程序存储器指令,7 但当 PC 中的值超过 0FFFH
21、时,将自动转向执行片外程序存储器指令;当 EA 为低电平时, CPU只执行片外程序存储器指令。 3) .I/O 口引脚 P0.0P0.7:P0 口 8位双向 I/O 口; P1.0P1.7:P1 口 8位准双向 I/O 口; P2.0P2.7:P2 口 8位准双向 I/O 口; P3.0P3.7:P3 口 8位准双向 I/O 口。 3片外总线结构 分为三部分:数据总线 Data Bus(DB) ,地址总线 Address Bus (AB) ,控制总线 Control Bus(CB). AT89S52 3.1.2 时钟电路模块 1. DS1302 的结构及工作原理 DS1302 是美国 DALL
22、AS 公司推出的 一种高性能、低功耗、带 RAM 的实时时钟 电路 ,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V 5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次 传送多个字节的时钟信号或 RAM 数据。DS1302内部有一个 318 的用于临时性存放数据的 RAM寄存器。 DS1302是 DS1202的升级产品,与 DS1202 兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 2. 引脚功能及结构 图 1所 示出 DS1302 的引脚排列 ,其中 Vcc1 为后备电源, VCC2 为主电源
23、。在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc1 0.2V 时, Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时, DS1302 由 Vcc1 供电。 X1 和X2 是振荡源,外接 32.768kHz 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许
24、对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则8 会终止此次数据传送, I/O 引脚变为高阻态。上电运行时, 在 Vcc2.5V 之前, RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ),后面有详细说明。 SCLK 始终是输入端。 3. 数据输入输出 (I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7
25、。 3.2 其他模块器件 3.2.1 74LS164 它是个串入并出的 8位移位寄存器, 它 常用于单片机系统中,下面结束一下这个元件的 基本知识: 74LS164 引脚图 74LS164_内部功能图 9 74LS164_逻辑符合表 串行输入带锁存 时钟输入 ,串行输入带缓冲 异步清除 最高时钟频率可高达 36Mhz 功耗: 10mW/bit 74 系列工作温度: 0C to 70C Vcc 最高电压: 7V 输入最高电压: 7V 高电平: 0.4mA 低电平: 8mA 3.2.2 CON8 它 是一个排插符号 ,也就是一个插座,可以通过一个插头将 89C51 的 P0口引 到外面的有关电路作扩展用,也可以作为备用。 3.2.3 其他元器件 电阻,电容,发光二极管,三极管若干。 第四章 结构设计部分 4.1 显示部分设计 基本显示原理: 时钟开始显示为 0时 0分 0 秒,也就是数码管显示 000000,然后每秒秒位加 1 ,到 9 后, 10秒位加 1,秒位回 0。 10 秒位到 5后,即 59 秒 ,分钟加 1, 10 秒位回 0。