1、 安徽商贸职业技术学院 毕 业 论 文 设 计 课题: 基于 AT89C51 单片机的数字时钟设计 系部: 学制: 专业: 姓名: 学号: 2014 年 XX 月 XX日 1 摘 要 本设计以数字集成电路技术为基础、单片机技术为核心。软件设计模块化结构、 C 语言编程。系统通过带字库的 LCD12864 显示数据, 通过 4*4 矩阵键盘控制显示文字、公历日期(年、月、日、星期)、时间(时、分、秒) 文字反白、自定义字符、图片显示,可以通过键盘调整时间、日期 ,温度,同时按下键盘时,七段数码管显示相应键位的键位标识。在内容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的
2、功能;其次,详细阐述了程序的各个模块和实现过程。 关键词 : 单片机、数字温度日历表设计 引言 仪器仪表的键盘显示系统,是实现通过键盘的控制,使 LCD 屏幕有相应的显示,广泛用于各个 领域,如电脑、家电、数字仪器等,成为人们直观了解和控制仪器、设备的运行状态的重要依据,给人们的生活带了方便,成为现代人们生活、工作的必需品。数字化显示系统告别了以前老式的监控和计算仪器、设置状态方式,给人们带来了极大的方便。本设计是仪器仪表的控制显示模拟系统,所有的仪器仪表的控制显示系统都是以此为基础而扩展的。因此,研究仪器仪表的控制显示系统及扩大其应用有着非常现实的意义。本设计就是仪器仪表的控制显示系统简单的
3、模拟和扩展应用。 安徽商贸职业技术学院 毕业设计(论文) 2 目 录 摘要 . 1 引言 . 1 1 设计要求 . 4 1.1 基本要求 . 4 1.2 发挥部分 . 4 2 方案设计与论证 . 4 2.1 控制部分方案论证 . 4 2.2 显示部分方案论证 . 5 3 系统框图及工作原理 . 5 3.1 系统框图 . 5 3.2 工作原理 . 5 3.2.1 硬件工作原理 . 5 3.2.2 软件工作原理 . 6 4 硬件原理分析及设计 . 6 4.1 单片机时钟电路 . 6 4.2 单片机复位电路 . 7 4.2.1 复位电路的可靠性设计 . 7 4.3 键盘电路 . 8 4.4 显示电路
4、 . 8 4.4.1 LCD 显示电路 . 8 4.4.2 七段数码管显示电路 . 9 4.4 整体电路图 . 10 4.5 系统硬件设计所需的元件 . 12 5 软件设计 . 12 5.1 软件总体设计及框图 . 13 5.2 软件重要子程序设计及框图 . 13 5.2.1 显示部分 . 13 5.2.2 键盘扫描部分 . 15 5.2.3 时钟部分 . 15 5.2.4 延时部分 . 17 安徽商贸职业技术学院 毕业设计(论文) 3 6 硬件安装制作 . 18 6.1 PCB 板制作 . 18 6.2 元件焊接 . 18 结 论 . 19 参考文献 . 21 安徽商贸职业技术学院 毕业设计
5、(论文) 4 1 设计要求 1.1 基本要求 1) 开机 LCD 液晶屏幕显示“ 10 级电子信息工程 XXXX 毕业设计”信息。 2) 设计 4X4 矩阵键盘,分别对应键码“ 0-F” 。 3) 按下任意一个按键, LCD 液晶屏幕显示相应按键的信息(不同按键的显示内容可以自行设计)。 1.2 发挥部分 1) LCD 液晶屏幕增加装饰图案 。 2) 增加一个 LED 数码管同步显示相应键码。 3)增加一个 LED 点阵同步显示相应键码。 2 方案设计与论证 2.1 控制部分方案论证 方案一:可采用 ALTERA 公司的 FLEX10K 系列 PLD 器件。设计起来结构清晰,各个模块,从硬件上
6、设计起来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点, EDA 在功能扩展上比较受局限,而且 EDA 占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势,而以我们目前的条件在硬件和软件也无法实现本设计的各 种要求。 方案二:凌阳 16 位单片机有丰富的中断源和时基。它的准确度相当高,并且 C 语言的编程环境也很方便来实现一些递归调用。 I/O 口功能也比较强大,方便使用。用凌阳 16 位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。但是,在控制与显示的结合
7、上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,而且就需要完成这个 仪器仪表的键盘显示模拟系统不太复杂的设计可以不必用凌阳 16 位单片机来完成。 方案三: AT89S52 是 8 位单片机,提供的的四组 8 个 I/O 口能够实现既定功能,成本也不高。综合考虑最后选择用 AT89S52 单片机来作为中心控制器件。 安徽商贸职业技术学院 毕业设计(论文) 5 2.2 显示部分方案论证 方案一:使用 LCD1602 成本低,程序控制简单,但它只能显示 16X2个半宽字型符,不能显示汉字,比较单调。 方案二:带字库的由 ST7920 控制的 LCD12864 硬件上提供 8 位, 4
8、 位并行接口及串行接口供选择, 64 16 位字符显示 RAM( DDRAM 最多 16 字符 4 行, LCD 显示范围 16 2 行), 2M 位中文字型 ROM( CGROM),总共提供 8192 个 中 文 字型 ( 16 16 点 阵 ), 16K 位 半 宽 字型 ROM(HCGROM),总共提供 126 个西文字型( 16 8 点阵), 64 16 位字符产生 RAM( CGRAM)。在软件上提供文字与图形混合显示、画面清除、光标归位、显示开 /关 、光标显示 /隐藏、显示字体闪烁、光标移位功能、显示移位、垂直画面旋转、反白显示、休眠模式的功能,相对于 LCD1602 来说功能丰
9、富,而且已内建有 GB 码简体中文字型库,方便编程。综合以上方案,决定采用 LCD12864(除非特殊说明,以下都简称 LCD)作为显示器件。 3 系 统框图及工作原理 3.1 系统框图 3.2 工作原理 3.2.1 硬件工作原理 硬件控制电路主要用了 4 4 矩阵键盘、 AT89S52 芯片处理器、 LCD 和七段数码管。由 AT89S52 处理器处理从 4 4 键盘发出的指令,通过 LCD 和七段数码管显示出相应按键的内容。 图 1 系统框图 安徽商贸职业技术学院 毕业设计(论文) 6 3.2.2 软件工作原理 软件控制程序主要有主控程序、时间程序、 LCD 控制程序、时间及日期显示程序、
10、键盘扫描程序等组成。主控程序中对整个程序进行控制,进行了时间和 LCD 初始化、 LCD 和数码管显示等控制。 LCD 显示程序是整个显示部分中的重要部分,包括 写入命令、初始化、写入数据、数据显示、自定义 GDRAM 显示、绘图显示、反白显示等。当LCD 的 RS=RW= 0,同时 EN 由 1 变 0 时,可以对 LCD 写入基本指令和扩充指令;当 RS=1, RW=0,同时 EN 由 1 变 0 时,可以对 LCD 写入数据。对 LCD 端口写入不同的命令可以写入和显示不同的数据,具体命令请参考LCD12864 和数据手册。 LCD 时间控制程序是时间程序重要的部分,时间控制程序体现了年
11、、月、日、时、分、秒的计算方法。此设计采用 AT89S52 自带的 T0 计时器进行计时,中断程序每隔 50ms 中断一次当作一个计数,每 中断一次则计数加 1,当计数 20 次时,则表示 1 秒到了,秒变量加 1,同理再判断是否 1 分钟到了,再判断是否 1 小时到了,再判断是否 1 天到了,再判断是否 1 月到了,再判断是否 1 年到了,若计数到了则相关变量清除 0。先给出一般年份的每月天数。如果是闰年,第 2 月天数为 29 天,非闰年则有 28 天。在我们的这个设计中只设有 100 年的范围,判断是否闰年就只需要用该年份除以 4 来判断就行了。 键盘扫描程序是整个设计的输入控制程序,
12、4 4 键盘占用单片机的 8个 I/O 口。本设计的键盘扫描程序采用行列反转扫描法读取按键键值。单片机先让键盘行线输 出全为 0,然后读入列线值,再检测有无按键按下,去抖,再读入列线值,输出当前列线值,读入行线值,最后组合行、列线值,得到键盘的码值供调用。 4 硬件原理分析及设计 4.1 单片机时钟电路 内部时钟电路如图所示,在 XTAL1 和 XTAL2 引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择 12MHZ,电容采用 30PF。 安徽商贸职业技术学院 毕业设计(论文) 7 4.2 单片机复位电路 影响单片机系统运行稳定性的因
13、素可大体分为外因和内因两部分 : ( 1)外因 射频干扰,它是以空间电磁场的 形式传递在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线 /器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。 ( 2)内因 振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。 4.2.1 复位电路的可靠性设计 复位是单片机的初始化操作。单片机启动运行时,都需要先复位,其作用是使 CPU 和系统中其他部件处于一
14、个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分 -合过程中引起的抖动而影响复位。如图3 所示。 图 2 时钟电路 安徽商贸职业技术学院 毕业设计(论文) 8 4.3 键盘电路 4 4 键盘电路由 4 4=16 个按键组成,其中 4 列经过 4 个 10K 电阻接入 VCC 上拉,接入单片机的 P3 口的高 4 位口, 4 行直接接入单片机低
15、4 位,当有按键按下时,由单片机控制 8 个 I/O 口读取出当前键值。 4.4 显示电路 4.4.1 LCD 显示电路 LCD12864 一共有 20 个引脚,其中 4-15、 17 脚接入单片机的 P0 全部 I/O口和 P2 的三个 I/O 口,是 LCD 与单片机通讯的桥梁。 16 号脚是空脚, 1 和20 脚接地, 2 和 19 脚接 VCC,其中 3、 18、 19 三个脚接可调电位器和电阻,组成调节 LCD 对比度电路。 如图 5 所示。 图 3 复位电路 图 4 键盘电路 图 4.4.1 LCD 显示电路 安徽商贸职业技术学院 毕业设计(论文) 9 4.4.2 七段数码管显示电路 采用的是共阳数码管,它的 8 个脚接入 P1 全部 I/O 口, PNP 三极管的发射极接 VCC,集电极经过一个电 阻限流接入数码管的公共端,基极接单片机的 P2.0 口,由单片机给一个基极电流使三极管三极管导通,驱动数码管显示。如图 6 所示。图 5 LCD 显示电路