1、 编号 2010311124 毕 业 设 计 ( 2014 届本科) 设计题目: 可调电子时钟的设计 学 院: 电气工程学院 专 业: 电子信息工程 班 级: 10 级 电信班 作者姓名: 指导教师: 职称: 研究生 完成日期: 2014 年 4 月 12 日 陇东学院本科生毕业设计诚信声明 . ( 1) 可调电子时钟的设计 . ( 1) 摘 要 . ( 1) Abstract . ( 1) 1 引 言 . ( 1) 2 功能要求 . ( 2) 3 方案论证与设计 . ( 2) 3.1 单片机芯片的选择方案和论证 . ( 2) 3.2 显示模块选择方案和论证 . ( 2) 3.3 时钟芯片的选
2、择方案和论证 . ( 3) 3.4 温度传感器的选择方案与论证 . ( 3) 3.5 键 盘电路的选择方案与论证 . ( 3) 3.6 电路设计最终方案决定 . ( 4) 4 系统总体结构框图 . ( 4) 5 系统硬件的设计 . ( 4) 5.1 系统硬件概述 . ( 5) 5.2 主控芯片 AT89S52. ( 5) 5.2.1 AT89S52 单片机引脚功能 . ( 6) 5.2.2 AT89S52 单片机硬件结构的特点 . ( 7) 5.2.3 AT89S52 单片机的硬件原理 . ( 8) 5.3 时钟电路 DS1302. ( 10) 5.3.1 DS1302 芯片介绍 . ( 10
3、) 5.3.2 DS1302 的应用 . ( 13) 5.4 温度采集电路 DS18B02. ( 14) 5.4.1 DS18B20 的主要特性 . ( 14) 5.4.2 DS18B20 的电路连接 . ( 15) 5.5 调时按键设计 . ( 15) 5.6 显示模块的设计 . ( 16) 5.6.1 LCD1602 的基本参数及引脚功能 . ( 16) 5.6.2 LCD1602 的指令说明及时序 . ( 18) 5.6.3 LCD1602 的电路连接 . ( 20) 6 系统软件的设计 . ( 20) 6.1 系统总流程图的设计 . ( 20) 6.2 阳历程序流程图 . ( 21)
4、6.3 时间调整程序流程图 . ( 22) 6.4 DS1302 时钟程序流程图 . ( 23) 6.5 温度显示程序流程图 . ( 24) 6.6 LCD1602 显示程序流程图 . ( 25) 7 总结 . ( 26) 参考文献 . ( 27) 致 谢 . ( 28) 1 陇东学院本科生毕业设计诚信声明 本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指 导下,独立进行研究工作所取得的成果,成果不存在知识产权争议, 除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经 发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体 均已在文中以明确方式标明。本人完全意识到本声明
5、的法律结果由本 人承担。 作者签名 : 二 O 一 年 月 日 1 可调 电子 时钟 的设计 , (陇东学院 电气工程学院,甘肃 庆阳 745000) 摘 要 : 电子 时钟 是单片机系统的一个应用,由硬件和软件相配合使用。 本 文是 通过对单片机的 控制 能实现 日历 功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。 硬件由主控器、时钟电路、温度检测电路、显示电路、键盘接口 电路 5 个模块组成。主控模块用 AT89C52、时钟电路用时钟芯片 DS1302、显示模块用 LCD 液晶屏 、 温度检测采用DS18B20 温度传感器、键盘接口电路用普通按键完成;软件利用 C 语
6、言编程实现单片机 的 控制功能 。单片机通过时钟芯片 DS1302 获取时间数据, DS18B20 采集温度信号送该给单片机处理,单片机再把时间数据和温度数据 送给 LCD 液晶显示屏 显示阳历年、月、日、时、秒、星期 以及 温度。 关键词 : 电子 时钟 ;单片机 ;温度传感器 ;LCD 液晶显示 The design of the adjustable electronic clock YANG Xiao-lin, LEI Ji-hai (Electrical Engineering College,LongDong University,Qingyang 745000,Gansu,chi
7、na) Abstract: Electronic clock is an application of the single-chip microcomputer system, used by combination of hardware and software. This article is based on single chip microcomputer control can realize the calendar function the design of the electronic clock, so as to learn and understand SCM r
8、elated instruction in all aspects of the application. Hardware consists of the host controller, the clock circuit, temperature detection circuit, display circuit, keyboard interface circuit of five modules. Master control module with AT89C52, punching a time clock chip DS1302 clock circuit, with LCD
9、 display module, temperature detection using DS18B20 temperature sensor, keyboard interface circuit using ordinary buttons; Software using C language programming to realize single chip microcomputer control function. Single-chip computer time data accessed by the clock chip DS1302, DS18B20 collectin
10、g temperature signal send MCU processing, the single chip microcomputer to give the time and temperature data to the LCD liquid crystal display shows The Gregorian calendar year, month, day, and, second, week and temperature. Key words: electronic clock;microcontroller;temperature sensor;LCD liquid
11、crystal display 1 引 言 在日新月异的 21 世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有 微 控制器 。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯2 设备、日常消费类产品和玩具等。并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统、智能型家用电器(冰箱、空调、彩电)等。用单片机来控制的小型家电产品具有便携实用, 操作简单的特点。 其中 电子 时钟 是一种应用非常广泛的日常计时工具,数字显示的 电子 钟已经越来越流行,
12、特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用。为此设计了一种功能全面、计时准确、成本低廉的基于51 单片机的 数字时钟 。 2 功能要求 电子时钟可 用 LCD 液晶屏 显示阳历年、月、日 以及 星期 和 时、分、秒 。 对日期、时间以及星期有校准功能。 数字式温度计要求测温范围 -20 50 , LCD 液晶屏 直读显示 。 3 方案论证与设计 3.1 单片机芯片的选择方案和论证 方案一 : 采用 89C51 芯片作为硬件核心 。 采用 Flash ROM,内部具有 4KB ROM 存储空间 , 能 以3V 的超低压工作 ; 而且与 MCS-51 系列单片机完全兼容 , 但是
13、运用于电路设计中时由于不具备 ISP 在线编程技术 , 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二 : 采用 AT89S52。 片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作 。 同时也 兼容MCS-51 指令系统 , 8K 可反复擦写 ISP Flash ROM; 同样具有 89C51 的 功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 所以选择采用 AT89S52 作为主控制系统 。
14、3.2 显示模块选择方案和论证 方案一 : 采用 LED 数码管 显示 。 LED 数码管价格适中 , 对于显示数字 较为 合适 ,一个人数码管可以显示一位数字,但是当要显示位数比较多的时候,数码管操作起来十分繁琐;并且当硬件电路设计好之后,系统显示能力也基本确定,系统显示能力的拓展受到限制。 所以不用此种作为显示。 3 方案二 : 采用点阵式数码管显示 。 点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合 , 用 于 显示数字显得 比较 浪费 , 且价格也相对较高 , 所以在此也不用此种作为显示。 方案三 : 采用 1602 液晶显示屏 。 该液晶显示屏的显示功能强大 , 内置
15、 192 种字符,可显示大量符号、数字清晰可见 , 而且功率消耗小寿命长抗干扰能力强。所以在此设计中采用 1602 液晶显示屏。 3.3 时钟芯片的选择方案和论证 方案一 : 直接采用单片机定时计数器提供秒信号 。 使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少 芯片的使用,节约成本,但是 编程任务繁重, 时间误差较大。所以不采用此方案。 方案二 : 采用 DS1302 时钟芯片实现时钟 。 DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高 , 318 位的 RAM 做为数据暂存区,工作电压 2.5V 5.5V
16、 范围内, 2.5V 时耗电小于 300nA。 所 以本设计采用 DS1302时钟芯片。 3.4 温度传感器的选择方案与论证 方案一 : 使用热敏电阻作为传感器 。 用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温 度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D 转换。此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。 方案二 : 与前面相比,采用美国 DALLAS 半导体公司继 DS1820 之后推出的一种改进型智能温度传感器 DS18B20 作为检测元件,测温范围为 -55 125 ,最大分辨率可达
17、0.0625 。 DS18B20可以直接读出被测温度值,而且采用 3 线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。因此本设计选用 DS18B20 温度传感器。 3.5 键盘电路的 选择方案与论证 在对日期和时间进行调节校准过程中,系统需要检测高低电平,因此需要用按键。 4 方案一 : 使用独立式键盘。独立式键盘是指直接用 I/O 口线构成的单个按键电路。独立式按键电路配置灵活,软件 编程 简单。 方案二 : 使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列交叉点上,行线、列线分别连接到按键开关的两端,其特点是简单且不增加成本,这种按键适合按键数较多的场合。 根
18、据以上的论述,因本系统需要的按键不多,要求简单。因此采用方案一,选 用独立式键盘。 3.6 电路设计最终方案决定 综上各方案所述 , 对此 设计 品的方案选定 : 采用 STC89C52 作为主控制芯片, DS1302 时钟芯片计时, DS18B20 采集温度, 独立式键盘用于校准, LCD1602 作为显示模块 。 4 系统总体结构框图 按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、键盘接口模块、显示模块和 温度采集 模块共 5 个模块组成,电路系统构成框图如图 4-1 所示。 图 4-1 系统结构框图 在本设计中,以按键作为输入装置, LCD 液晶显示屏作为显示装置,各按键
19、的功能为: S1 键 : P3.2 口 设置键 S2 键 : P3.3 口 上调键 S3 健 : P3.4 口 下调键 5 系统硬件的设计 LCD 液晶显示模块 温度采集模块 DS1302 时钟模块 AT89S52主控制模块 键盘模块 5 5.1 系统硬件概述 本电路是以 AT89S52 单片机为控制核心,该芯片具有在线编程功能, 功耗低,能在 3.3V的超低压下工作。时钟芯片使用美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟芯片 DS1302, DS1302 作为主要计时芯片,具有使用寿命长,精度高和功耗低等特点,同时具有掉电自动保存功能 ,可以对年、月、日、星期、
20、时、分、秒进行计时,具有闰年补偿功能,其工作电压为 2.5V 5.5V;温度检测模块由 DS18B20 构成,它采用独特的单线接口仅需一个端口引脚进行通讯,具有测量精度高、测量范围广等优点,其测温范围在 -55+125 ,工作电压为 3v 5.5v;显示部份使用 LCD1602 液晶显示屏来实现,该显示屏具有低功耗、寿命长、可靠性高的特点,其工作电压为 5v。 5.2 主控芯片 AT89S52 AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可编程存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Fl
21、ash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8位 CPU 和在系统可编程 Flash ,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM 、定时器 /计数器、串口、中
22、断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 E A /V P31X119X218R E S E T9R D P 3 717W R /P 3 616I N T 0 /P 3 212I N T 1 /P 3 313T 0 /P 3 414T 1 /P 3 515P 1 01P 1 12P 1 23P 1 34P 1 45P 1 56P 1 67P 1 78P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 2 021P 2 122P 2 223P 2 324P 2
23、 425P 2 526P 2 627P 2 728P S E N29A L E /P30T X D /P 3 111R X D /P 3 010V C C40GND20A T 8 9 S 5 2图 5-1 AT89S52 的引脚 6 5.2.1 AT89S52 单片 机引脚功能 P0 口: P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写 “ 1” 时,引脚用作高阻抗输入。当访问外部程序和数据存储器时, P0口也被作为低 8 位地址 /数据复用。在这种模式下, P0 具有内部上拉电阻。 P1 口 : P1 口是一个具有内部上拉
24、电阻的 8 位双向 I/O 口, P1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写 “ 1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL) 。此外, P1.0 和P1.2 分别作定时器 /计数器 2 的外部计数输入( P1.0/T2)和时器 /计数器 2 的触发输入( P1.1/T2EX),在 flash 编程和校验时, P1 口接收低 8 位地址字节。 P2 口 : P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写
25、“ 1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时, P2 口送出高八位地址。在这种应用中, P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI )访问外部数据存储器时, P2 口输出 P2 锁存器的内容。 P3 口 : P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写 “ 1” 时,内部上拉电阻把端口拉高,此时可以作
26、为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 RST: 复位输入。晶振工作时, RST 脚持续 2 个机器周期高电平将使单片机复位 6。看门狗计时完成后, RST脚输出 96个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。 ALE/PROG: 地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚( PROG)也用作编程输入脉冲。在一般情况下, ALE 以晶振六分之一的固定频率输出脉冲,可用 来作为 外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第0 位置 “ 1” , ALE 操作将无效。这 一 位置 “ 1” , ALE 仅在执行 MOVX 或 MOVC 指令时有效。 PSEN: 外部程序存储器选通信号( PSEN)是外部程序存储器选通信号。当 AT89S52 从外部程序存储器执行外部代码时, PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEN 将不被激活。 EA/VPP: 访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器