1、 请在此处放置您学校的LOGO!!! 基于单片机制红外遥控万年历 学院:__________________ 专业:__________________ 姓名:__________________ 学号:__________________ 2013年 月 日 摘 要 本文介绍了一款能够实现可以遥控设置时间,日期,闹钟的电子万年历,该设计模型可以解决壁挂式电子万年历的时间,日期,闹钟调整不方便的问题。系统主要由STC89C52单片机控制模块,电源模块,DS1302时间生成模块,红外遥控模块,LCD128
2、64显示模块组成。由电源模块提供保证整个系统的运行所城电压;由时间生成模块生成的时间日期通过单片机模块一系列处理后,通过液晶模块实时显示输出年,月,日,时,分,秒和星期等信息。配合红外遥控模块对时间日期的调整,使得该系统操作简单方便,非常实用。 关键词: 万年历、单片机STC89C52、DS1302、LCD12864、红外遥控 33 目 录 前言 4 第一章 系统总体设计 1.1 单片机主控系统设计方案 6 1.2 时钟芯片系统设计方案 6 1.3 按键控制系统设计方案 7 1.4 显示系统设计方案...............
3、8 1.5 系统设计原理框图 7 第二章 红外遥控万年历的硬件设计 8 2.1 单片机最小系统设计 8 2.2 DS1302时钟模块设计 8 2.3 红外编解码模块设计: 9 2.4 LCD12864显示模块设计 10 第三章 红外遥控万年历的软件设计 12 3.1 主程序设计 12 3.2 时钟模块驱动设计 14 3.3 阴历时间转换程序设计 14 3.4 红外接收接码驱动设计 14 3.5 红外编
4、码发射驱动设计 14 第四章 系统调试 15 4.1 硬件系统调试 14 4.2 软件系统调试 14 参考文献 4 附录 前言 课题的背景 万年历是我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年的功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100 年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可
5、靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。单片机的应用已经渗透到工业控制、家用电器、通信设备、信息处理、尖端武器等各个领域。而随着单片机的发展,人类用于计时的工具也在不断发展更新,单片机技术使得万年历有了新的发展方向。目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的4-5 倍以上。用最少的芯片就能实现最强大的功能,这是将来电子产品的主流方向,它将无可置疑地一步步取代其它同类产品,其数量之大和应用面之广,是其它任何类型的计算机所无法比拟的。 以基于单片机的万年历作为设计的课题,因为它有很好的开放性和可发挥性,对本人我单片机的水平对应的要求比较高,不仅
6、考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能,同时将其制成一份精致的成品可作实用的展品。所以,电子万年历作为设计课题很有价值。 课题的主要工作 本论文主要研究基于单片机的万年历设计。当程序执行后,LCM12864 显示即时时间、年月日、星期、天干地支、温度等。设置4 个操作键:KEY1,设置键;KEY2,跳出键;KEY3,上调键;KEY4,下调键。本设计的主要内容: 1、 了解单片机技术的发展现状,熟悉
7、万年历各模块的工作原理; 2、 选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路; 3、 熟悉单片机使用方法和C 语言的编程规则,编写出相应模块的应用程序。 设计目标 设计目标:使基于STC89C52 单片机的万年历实现以下三个功能: 1、具有年、月、日、星期、时、分、秒的显示功能; 2、具备年、月、日、星期、时、分、秒的校准功能; 3、具有闹钟时间的设置和报警提示功能,具有闹钟的打开关闭功能; 4、具有整点报时的功能; 5、具有用红外遥控器操作的功能。 第一章 系统总体设计 1.1 单片机主控系统设计方案 单片机也被称为微控制器(Microco
8、ntroller),是以一个大规模集成电路为主组成的微型计算机,在一个芯片内含有计算机的基本功能部件:中央处理器CPU、存储器和I/O 接口,CPU 通过内部的总线和存储器、I/O 接口相连。 单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。单片机应用在控制领域中,具有如下特点: 单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,成本低,可靠性高,种类多,型号全,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。 最重要的是可以采用C 语言开发环境,具有友好的人机互交环境。大多数单片机都提供基于C 语言开发平台,并提供大量的函数供使用,这使产品
9、的开发周期、代码可读性、可移植性都大为提高。 综上:本系统的主控芯片选择80C51家族的STC89C52RC单片机,它具备上面所述的所有特点,能以很高的性价比来满足我们的设计需求。 1.2 时钟系统设计方案 方案一: 不使用芯片,采用单片机的定时计数器 这种方法原理是利用单片机芯片的定时器来产生固定的时间,模拟时钟的时, 分,秒.如:利用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期.每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期,一天就是3600*24=86400个周期。 此方法优点是可以省去一些外围
10、的芯片,但这种方法只能适用于一些要求不是十分精确,不做长期保留的场合。 方案二: 并行接口时钟芯片 DS12887 特点:采和单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操 作速度快,编程方便的优点。 但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码器,而且并行口芯片的体积相对较大。 方案三: 串行接口时钟芯片DS1302 优点:它采用简单的三线制串行接口与单片机连接,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。
11、 因次,我选择了串行时钟芯片DS1302。 1.3 按键控制系统设计方案 在对日期和时间进行切换显示,对日期和时间进行调节校准,对闹钟进行设置的过程中,系统需要产生激励电流,因此需要用按键。按键设计一般有两种方案: 方案一:使用独立式键盘。独立式键盘是指直接用I/O口线构成的单个按键电路。独立式按键硬件电路设置简单,软件程序编写也相对容易。如下图所示: 图1.3.1 独立键盘原理图 方案二:矩阵键盘 ,它的缺点是占用IO口太多,如下图所示: 图1.3.2 矩阵键盘原理图 根据现实需求,本系统创新性的抛弃这两种方案,采用红外遥控器做为系
12、统的按键,红外遥控器可以不受位置的限制来对万年历功能进行调整 和设置,从而摆脱了壁挂式万年历操作不方便的缺点,最大限度的给人带来方便。红外 1.4 显示模块选择 方案一: LED数码管显示 特点:数码管显示比较常用的是采用CD4511和74LS138实现数码转换数码显示分动态显示和静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。目前单片机数码管普通采用动态显示,编程简单,但只能显示数字,不能显示中文。 方案二: LCD1602 特点:能够显示英文和数字。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形
13、这些字符有:阿拉伯数字、英文字母的大小写、常用的符号。 方案三: LCD16824 作为一种输出方式,液晶显示最大的特点就是能够实现友好的人机界面,它己经广泛应用于现代工业控制和智能化仪器仪表等领域,它己经成为单片机就用开发领域典型模块之一。能够方便的显示文字和数字。 因此我选择LCD16824作为显示模块。 1.5 系统设计原理框图 复位电路 晶振电路 电源电路 主控模块 STC89C52 红外接收模块 驱动电路 LCD显示模块 红外遥控模块 1302时钟芯片模块 图1.4 红外遥控万年历系统原理框图
14、第二章 红外遥控万年历硬件设计 2.1 单片机最小系统设计 2.1.1 STC89C52具有下列主要性能: ·8KB可改编程序Flash存储器(可经受1000次的写入/擦除周期) ·全静态工作:0Hz~24MHz ·三级程序存储器保密 ·128×8字节内部RAM ·32条可编程I/O线 ·2个16位定时器/计数器 ·6个中断源 ·可编程串行通道 ·片内时钟振荡器 2.1.2 STC89C52的引脚及功能 STC89C52单片机的管脚分布如下图所示。 图4-2 STC89C52的管脚 2.1.3 晶振电路 图2 晶振电路 在晶振
15、电路中,C1、C2为晶振的负载电容,分别接在晶振的两个脚上和对地的电容,电路中取了30PF。晶振引脚的内部通常是一个反相器。在晶振输出引脚 XO 和晶振输入引脚 XI 之间用一个电阻连接, 很多芯片的引脚内部已经包含了这个电阻, 引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时处与线性状态,反相器就如同一个有很大增益的放大器, 以便于起振。 2.1.4 复位电路 图3 复位电路 单片机复位电路有上电自动复位和手动复位两种方式。上电复位要求接通电源后,自动进行复位操作。手动复位要求接通电源的前提下,在单片机运行的条件下,在单片机运行期间,用按钮开关操作使单片机进行复位的操作。
16、这里采用的是手动复位。 2.2 DS1302时钟模块设计 2.2.1 DS1302芯片介绍 低功耗时钟芯片DS1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿等多种功能。 (1) DS1302的性能特性 ·实时时钟,可对年月日,时分秒,星期以及带闰年补偿的年进行计数; ·具有31×8位的RAM用于数据暂存; ·最少三个I/O引脚即可与MCU进行连接; ·较宽的电压工作东围 3.3 - 5.5 V; ·低电压时功耗极低; ·具有单字节或多字节(脉冲方式)两种数据读写传送方式; ·可选的慢速充电(至VCC1)的能力。 (2) DS1302管脚图
17、 图2.2.1 DS1302管脚图 如果在传送过程中置RST为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC >=2.3V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的管脚图如图4-3所示,内部结构图如图4-4所示,表4-2为各引脚的功能。 图2.2.2 DS1302内部结构图 表2-2-1 DS1302引脚功能表 引脚号 引脚名称 功能 1 VCC2 主电源 2,3 X1,X2 振荡源,外接32768HZ晶振 4 GND 地线 5 RST 复位/片选线
18、6 I/O 串行数据输入/输出端(双向) 7 SCLK 串行数据输入端 8 VCC1 后备电源 DS1302的控制字如图4-5所示。控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。位5~1(A4~A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。 7 6 5 4 3 2 1 0
19、 1 RAM CK A4 A3 A2 A1 A0 RAM K 图2.2.3 控制字节的含义 DS1302的数据读写时序如下图: ≈ SCLKK ≈ RST I/O 5 7 1 3 5 7 2 1 0 2 4 6 0 ≈ 4 6 R/C A2 A3 A0 A1 R/W A4 1 ≈ DATA I/O BYTE DATA I/O BYTE 图2.2.4 数据读写程序 DS1302共有12个寄存器,其中有7个寄存器与日历
20、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3-3,其中奇数为读操作,偶数为写操作。 表2.2.3 DS1302的日历、时钟寄存器及其控制字 寄存器 名 命令字 取值 范围 各位内容 写操作 读操作 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 00-59 CH 10SEC SEC 分钟寄存器 82H 83H 00-59 0 10MIN MIN 小时 寄存器 84H 85H 01- 12或 00-23 12/ 24 0 10 AP HR HR 日期 寄存器 8
21、6H 87H 01-28,29, 30,31 0 0 10DATE DATE 月份寄存器 88H 89H 01-12 0 0 0 IOM MONTH 周日寄存器 8AH 8BH 01-07 0 0 0 0 0 DAY 年份寄存器 8CH 8DH 00-99 10YEAR YEAR 时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止振荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。 AM-PM/12-24[小]时方式:[小]时寄存器的
22、位7定义为12或24[小]时方式选择位。它为高电平时,选择12[小]时方式。在此方式下,位5是AM/PM位,此位是高电平时表示PM,低电平表示AM,在24[小]时方式下,位5为第二个10[小]时位(20~23h)。 2.2.2 DS1302 的应用 实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768Hz晶振。要特别说明的是,备用电源BT1可以用电池或超级电容(10万μF以上)。虽然DS1302在主电源掉电后耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。如果断电时间较短(几小时或几天),可以用漏电较小的普通电解
23、电容代替(100μF就可以保证1小时的正常走时)[9]。DS1302在第一次加电后,需进行初始化操作。初始化后就可以按正常方法调整时间及闹铃。DS1302的时钟电路如图3-7所示。 图2-2 DS1302时钟电路 2.3 红外编解码模块设计 图2.3.1 HS0038 红外接收电路 2.3.1 概述 一体化接收头(HS0038)接收遥控器用来产生遥控编码脉冲,完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码输入到单片机,并由其内部CPU完成对遥控指令解码,并执行相应的遥控功能。 2.3.2
24、SMOO38引脚功能 表2.3.1 HS0038引脚功能 引脚 符号 功能说明 1 OUT 输出一组串行二进制码遥控编码脉冲 2 VSS 接电源(+5V) 3 GND 接地 2.3.3 二进制码的解调 图13 二进制码的解调过程 红外接收头接收到遥控信号需先进行解调,其解调过程如图13所示,当接收到调制信号时,输出高电平,否则输出为低电平,是调制的逆过程。HS0038是一体化集成的红外接收器件,直接就可以输出解调后的高低电平信号。 2.3.4 红外信号的调制和发射 红外信号的调制和发射由单
25、片机最小系统、矩阵编码键盘和红外信号发射电路组成。单片机最小系统在前面介绍中已经提到,这里就不再赘述。 2.3.5 红外发射电路 图15 红外发射电路 如图所示,经单片机调制后的编码信号由单片机的P3.2口输出,经红外发射二极管D2发射出去。 2.7.2 遥控器键盘编码电路 当单片机检测到有按键被按下时,就发射与之相对应的二进制编码信号,按键和二进制编码信号的对应关系见表5。 二进制信号(如图a和b所示)的调制过程(如图c所示)由单片机来完成,它采用PPM编码 (如图d所示)。单片机把编码后的二进制信号调制成频率为38kHz 的间断脉冲串,相当于用二进制信号的编码乘以频率为3
26、8kHz 的脉冲信号得到的间断脉冲串,也即是调制后用于红外发射二极管发送的信号。 图a 二进制码1 图b 二进制码0 图c 二进制信号的调制 图d PPM编码格式 表5 按键功能及其与遥控编码的关系 按键编号 对应的遥控编码值 实现的功能 S1 0x01 用于选择设置的标志位 S2 0x02 确定所设定的值 S3 0x03 闹钟停闹(蜂鸣器停止响)与开启 S4 0x04 调节键 + S5 0x05 调节键 - 2.4 LCD显示模块设计 带中文字库的128X64 是一种具有
27、4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示. 本设计中采用的LCD12864的各个功能引脚 如下: 2.4.1 LCD12864内部结构图: 图2.4.1 LCD12864的逻辑电路图 2.4.1 LCD12864应和电路图: 图2.4.2
28、STC89C52与LCD12864液晶的接口电路 根据以上电路原理图中液晶的各引脚与单片机的接法,可得本设计的液晶模块电路如图4-11所示。VSS接地;数字电源VDD接+5V;对比度控制电压V0接电位器,可通过调节电位器调整液晶亮度;数据、指令选择信号RS接单片机P2.0口;读写选择信号R/W接单片机P2.1口;单片机读、写选通信号/RD、/WR通过与非门接液晶的读写使能信号E;DB0~DB7分别接单片机的P0.0~P0.7口;复位端RST接P2.4口、选屏显示端PSB接P2.6端口,背光正电源LEDA接+5V;液晶驱动电压VEE、背光负电源LEDK接地。 第三章 红外遥控
29、万年历软件设计. 3.1 主程序设计 主程序的功能: 以80C52为核心,处理外转电路传进来的信号,实现时钟数据的读取,保存,显示其及键盘操作。 流程图如下所示: 3.2 时钟模块DS1302驱动设计 初始 变量初始化化 控制器发送ROM指令 复位端产生一个高电平 写1302地址 延时 向地址写数据据 地址增加 复位端产生一个高电平 数据是否写完? 写1302地址 延时 将该地址的数据读出 地址增加 数据是否读完? Y Y N N 显示数据
30、 3.3 阴历程序设计 阴历程序的实现是要靠阳历日期来推算的。要根据阳历来推算阴历日期,首先要设计算法。推算方法是,根据阳历当前日期在一年中的天数来计算阴历日期。阳历一个月不是30天就是31天(2月除外,闰年2月为29天,平年2月为28天)。阴历一年有12个月或13个月(含闰月),一个月为30天或29天。如果把一个只有29天的月称为小月,用1为标志,把30天的月称为大月,用0为标志,那么12位二进制就能表示一年12个月的大小。如果有闰月,则把闰月的月份作为一个字节的高4位,低4位表示闰月大小,大月为0,小月为1,这样一个字节就包括了所有闰月的信息。阴历春节和阳历元旦相差的天数也
31、用一个字节表示。总共用4字节就可以存储一年中任何一天阳历和阴历的对应关系的有关数据,例如2004年的阴历和阳历对应关系如表4-1所示。 表3-3 2004年的阴历和阳历对应关系表 月份 1 2 3 4 5 6 7 8 9 10 11 12 闰2月 大小 小 大 大 大 小 大 小 大 小 大 小 大 小 二进制 1 0 0 0 1 0 1 0 1 0 1 0 1 天数 29 30 30 30 29 30 29 30 29 30 29 30 十六进制 4 2 5 2
32、 21 2004年的春节和元旦差21天,这样2004年的信息表示为:21,42H,52H,21H。其中表示12个月大小信息的字节,第4位和第7位不用,第1个字节为十进制,其它的都为十六进制。按此方法,50年的阳历和阴历对应关系表总共使用200字节。 有了算法和数据以后,就可以设计软件了。先要根据当前阳历的日期,算出阳历为该年中的第几天。图5-3为计算阳历中任何一天在该年中为第几天的程序流程图。 图4-3 计算阳历天数程序流程图 计算出当前阳历日期为该年中的第几天后,再减去阳历该年春节和元旦的日差,如果够减,则相减的结果就是阴历在该年中的总第几天了。根据该数据就可
33、以推算出具体的当前阴历日期;如果不够减,则表示当前阴历年为阳历年的前一年。这种情况下,根据实际,当前阴历日期会处于阴历11月或12月,此时春节和元旦的日差减去前面计算出的当前阳历日期在阳历年为第几天的数据,其结果表示当前阴历日期离春节的天数。计算出的阳历天数为该年的第几天,存放在寄存器R2和R3中。计算出天数后,如果大于#FFH,则把#FFH存放在R2中,余值存放在R3中。也就是说在用寄存器R2和R3表示的天数信息中,R2充当主寄存器,数据先存满R2,再存R3。在整个转换程序中,这里面的数据不能被覆盖。 计算出阳历总天数后,就可以根据它来推算阴历日期。推算方法是,先用总天数减去春节和元旦的日
34、差,如果结果为1,则该天正好是春节(因为春节在元旦之后,在计算春节和元旦的日差时,假设元旦为0天,春节为n天,则日差为n。而前面计算的阳历总天数是该天在该年中的第几天,是以元旦为1而得到的,与计算春节和元旦日差的这样方法相比,其数值少了1,所以要在原来本应该以0作为该天就是春节的依据的基础上加1,所以以1作为该天是春节的标志);如果结果小于1,则阴历应该是阳历的前一年;如果结果大于1,说明阳历和阴历为同一年。再根据查表所得的该年的阴历的闰年和大小月的信息,就可以推算出该天的阴历日期了。图4-4为由总天数推算出阴历日期的程序流程图。 图4-4 推算阴历日期的程序流程图
35、 3.4 红外信号接收解码驱动设计 红外信号的的接收通过外部中断[1]处理函数来完成的,中断函数中判断按键的编码,然后执行相应的按键动作,比如检测到键S1被按下,则执行调节时间的动作。 图19 红外发射程序流程图 3.5 红外信号发射程序的设计 红外发射程序和红外接收程序是独立的,红外信号的发射和接收分别由各自单片机来完成。红外信号的发射利用定时器[12],每隔26us中断一次,主程序中等待按键被按下,若检测到有按键按下,就调用红外发射函数,发送相应的二进制编码。其程序流程图见图20。 图20 红外发射程序流程图
36、 3.6 时间调整子程序设计 调整时间用五个调整按钮,一个作为设置键、控制用,一个作为退出设置按键,一个作为闹铃开关用,剩下两个是对设置位的加,减操作。 图3-6 时间调整程序流程图 第四章 系统调试 系统调试包括软件调试和硬件调试。硬件调试的任务是排除所焊接电路故障。软件调试是利用开发工具进行在线仿真调试。调试的一般过程如下所示: 系统调试的一般过程是上电运行后观察其运行状态,数码管是否点亮等。软件调试先是各个模块、各个子程序分别调试,最后进行系统联机调试。 4.1 软件调试 对于本设计采用proteus软件进行了仿真和验证,过程和结果如下: 1.打开Proteu
37、s软件。 2.选择file菜单下的 open design选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。 3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。 4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。 下图为软件的仿真窗口图: 4.2 硬件调试 设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中。各元件都是理想的,而在设计实际电路时,就需要多方面考虑
38、要先对元件进行检测,然后进行调试。例如如果在设计中不加任何驱动,在仿真软件中仍然可以正常计价,但是在具体硬件焊接时,需要考虑电路的驱动能力。 在已经焊接好的电路板上,要对其各个元器件进行检查。一般情况下,集成电路不会出现故障。在本设计中采用了先焊接插槽的方法,这可以避免一些元件在焊接的过程中被烧坏。另外在焊接数码管时,要先排线,再焊接以免线路混乱。元件在选购时需要多备选元件,元件的型号较多,产品质量没有可靠保证,就避免不了我买的元器件是损坏的,再加上焊接是在万能板上焊接的。就有可能发生虚焊,短路等情况的发生。所以,在焊接好每个元件后都要进行检测,以保证焊接无误。焊接好电路板,把相应的芯片
39、插到对应的插槽中,再检一次,看芯片是否与插槽接触良好。 显示部分检测的目的是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是因否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示不够亮,则应该检查驱动电路。 晶振部分使用示波器查看波形。如果出现看不到12MHZ的正弦波形的现象,说明此部分电路不正常。 总 结 经过多次的反复测试与分析,掌握了硬件的设计与分析的能力, 学会看英文版的Datashee,同时在软件的编程方面得到更到的提高,对编程能力得到加强.对所学的知识得到很大的提高与巩固. 最终实现功能: (1)能显示阳历年、月、日、星期、小时、分、秒。
40、 (2)显示模块采用LCD液晶显示,要求能用红外遥控器调整时间。 (3)能显示阴历月、日,在显示阴历时间时能标明是否为闰年。 (4)具有定时报警功能,能够进行整点报时。 参考文献 [1] 周兴华,等.手把手教你学单片机C程序设计,北京:北京航空航天大学出版社,2007 [2] 侯玉宝,等.基于Proteus的51系列单片机设计与仿真,北京:电子工业出版社,2008 [3] 张义和,等.例说51单片机(C语言),北京:人民邮电出版社,2008 [4] 杜洋,等.愛上單片機(第2版),人民郵電出版社,2011 致 谢 在此感谢我们的郑翔老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次课程设计的原理图、PCB制作以及每一步进行,都离不开老师您的细心指导。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。特别是小组长刘邓同学,无论在我元器件的采购上的细心和之后在硬件错误中的排故都一直在鼓励我完成这次课程设计。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。






