多功能电子时钟毕业论文_第1页
多功能电子时钟毕业论文_第2页
多功能电子时钟毕业论文_第3页
多功能电子时钟毕业论文_第4页
多功能电子时钟毕业论文_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 I 多功能电子时钟毕业论文 摘 要 数字电子时钟是人们日常生活中不可或缺的必需品。电子钟主要是利用现代电子技术将时钟电子化、数字化。与传统的机械钟相比,具有时钟精确、显示直观、无机械传动装置等优点,因而得到广泛应用。另外,在生活和工农业生产中,人们对电子钟的功能又提出了诸多要求:报时、闹钟、日历、温度显示,这就需要电子时钟的多功能性。 根据人们的不同要求,本设计主要为实现一款可正常显示时钟,测量环境温度,带有定时闹铃的多功能电子时钟。 本设计采用液晶显示以其亮度高、显示直观等优点被广泛应用于智能仪器及家用电器 等领域。该时钟系统主要由时钟模块、闹钟模块、环境温度检测模块、液晶显示模块、键盘控制模块组成。能够准确显示时间(显示格式为时时:分分:秒秒, 24 小时制),可随时进行时间调整,具有闹钟时间设置,能够对时钟所在的环境温度进行测量并显示。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。 关键词 :电子时钟;单片机;多功能;温湿度传感器 Abstract II Abstract Digital electronic clock is indispensable to daily life. Electronic clock is the use of modern electronic technology to clock electronic, digital. Compared with the traditional mechanical clock, a clock-accurate, intuitive display, no mechanical transmission device, etc., and thus are widely used. In addition, the in the the in the life and industrial and agricultural production, the people pairs of the the the function of of electronic bell also proposed a a lot of of the requirements of: timekeeping,alarm clock, calendar, temperature display, which requires the the the versatility of electronic clock. According to the different requirements of the people of this design to achieve a normal display clock / calendar, measuring the ambient temperature, , multi-function electronic clock with alarm. This design uses the LCD its high brightness, intuitive and other advantages are widely used in intelligent instruments and appliances and other areas. The clock system clock module, alarm clock module, the ambient temperature , LCD module, keyboard, control module . Be able to accurately to display the time (display format for the from time to time: sub-sub-the: seconds seconds, system of the 24 hours), can be at any time carried out the Abstract III time to adjust, with a the alarm clock time setting, be able to pairs the ambient temperature where the by the clock carried out measurement and displayed. Design hardware and software as the guiding ideology, give full play to the MCU function, most of the functionality through software programming simple circuit and system stability. Keywords: digital clock;single-chip; multi-function; temperature sensor 目录 目录 摘 要 . I ABSTRACT . II 目录 . 1 绪论 . 1 1.1课题背景 . 1 1.1.1 多功能数字时钟研究的背景 . 1 1.1.2 多功能数字时钟研究现状与意义 . 2 1.1.3 多功能数字时钟的功能 . 3 2 硬件设计 . 4 2.1 系统的设计思路 . 4 2.1.1 设计流程 . 4 2.2单片机的选择 . 5 2.2.1 单片机的发展趋势 . 5 2.2.2 单片机主要应用领域和特点 . 5 2.3 单片机 STC89C52简介 . 6 2.4 实时数字时钟芯片 . 11 2.4.1 DS12C887概述 . 11 2.4.2 DS12C887应用电路连接说明 . 12 2.5数字温度 传感器 . 16 2.5.1 DS18B20 概述 . 16 2.5.2 应用电路连接说明 . 17 2.5.3 DS18B20的各个 ROM 命令 . 17 2 6 显示部分设计 . 19 2.6.1 液晶显示屏 12864 的简介 . 19 目 录 2.6.2 LCD12864的功能介绍 . 20 2.6.3 LCD12864初始化过程 . 25 2.6.4 LCD硬件电路的设计 . 26 2.7 单片机最小系统 . 27 2.8 键盘部分 . 29 2.9报警电路设计 . 30 2.10 直流稳压电源部分 . 31 2.11 硬件仿真 . 31 2.11.1 仿真软件 PROTUES简介 . 31 2.11.2 本设计的仿真原理图 . 32 3 软件设计 . 32 3.1 编程环境 KEIL简介 . 33 3.2软件设计总体说明 . 33 3.2.2 键盘部分 . 34 4 调试 . 35 4.1软件调试 . 35 4.2硬件调试 . 41 5 系统可靠性的设计 . 42 5.1 软件可靠性的设计 . 42 5.2 硬件可靠性的设计 . 43 5.3 本系统中的抗干扰的预防措 施 . 44 总结 . 45 参考文献 . 47 附 录 . 49 附录 1 部分程序代码 . 49 目 录 附录 2:系统仿真原理图 . 68 哈尔滨理工大学学士学位 论文 1 绪论 一寸光阴一寸金,寸金难买寸光阴。 从古至今,时间是人们生活中不可缺少的重要伴侣。郭沫若先生曾说:时间就是生命,时间就是速度,时间就是力量。时间 对 我们 来说总是那么宝贵 ,在我们的日常工作、学习、生活中,时间概念愈加显得重要。如果 没有时间概念,社会将停滞不前。从古代的圭表、水漏,到后来的机械钟表以及当今的电子钟,都充分显现出了时间的重要。因此利用当今先进的科技致力于电子钟的研究将能更好的服务于人们的生活。 1.1 课题背景 1.1.1 多功能数字时钟研究的背景 20世纪末,电子技术得到了极速的发展,毫无疑问,在其推动下,现代电子产品以及各种高科技产品几乎渗透到了社会的各个领域,这有力地推动了社会生产力的发展和社会信息化程度以及综合科技水平的提高,但产品更新换代的频率也越来越快。随着科技的发展社会的进步和全球化竞争的日益激烈,人们对数字 钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能电子钟不管在性能还是在样式亦或是用途上都发生了重大的变化,许多电子钟都已具备电子闹钟、电子秒表、温湿度检测等功能。同时 单片机在多功能数字钟中的应用已是非常普遍的 。 多功能数字电子钟除了具有时钟的功能外还可以包含对环境温度检测的功能。温湿度是一种最基本的环境参数。在各个行业生产及日常生活中,对温湿度的测量及控制始终占据着非常重要的地位。数字电子时钟是采用数字时钟芯片( DS12C887)实现对时,分,秒 哈尔滨理工大学学士学位论文 2 数字显示的装置,广泛用于个人家庭,车站,码头办公室 等公共场所,成为人们日常生活中不可或缺的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。例如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电器的自动启用等,所有这些,都是以钟表数字化为基础的。 1.1.2 多功能数字时钟 研究 现状与意义 数字电子时钟,自从它发明的那天起,就成为人类的朋友,给人们的生活、学习、工作、娱乐带来极大的 方便。但随着时间的推移,科学技术的不断发展,生活节奏越来越快,竞争日益激烈,人们对时间计量的精度要求越来越高,应用越来越广。可以说时间的准确已成为各行各业安全运行的基础,如果时间出现误差而不能及时校正,会造成一系列严重的后果和经济损失。 电子时钟的设计方法有多种,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用对单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有硬件结构简单、编程灵活、便于功能扩展等特点。由单片机作为数字钟的核心控制器 ,可以通过它的时钟信号实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术或者数码管显示技术。 液晶显示器 (LCD)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。 LCD可分为段式 LCD、字符式 LCD和点阵式 LCD。其中,段式 LCD 和字符式 LCD 只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式 LCD不仅可以显示字符、数字,哈尔滨理工大学学士学位论文 3 还可以显示各种 图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。 由此可见 LCD 的应用是如此广泛,所以用 MPU 控制液晶显示器是很普遍的应用。 温度传感器是上世纪 90 年代中期问世的。此类传感器是微电子技术、计算机技术和自动测试技术的结晶。目前,国际上已开发出多种温湿度传感器。其传感器内部一般包含温度传感器、湿度传感器、 A/D 转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器、随机存取存储器和只读存储器。他能实时更新并输出数据,适配于各种微控制器也就是通常所说的 单片机( MCU),并且可通过软件来实现显示功能,其智能化取决于软件和硬件的综合开发水平,二者缺一不可。目前,新型温湿传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展。 21世纪后,温湿传感器毫无疑问正朝着高精度、多功能、总线标准化、高可靠性及高安全性等高科技的方向迅速发展。 在日常生活和自动控制系统中,我们时常会遇到对时间和温度湿度实时监控的需求。这就给具有多种功能的时钟提供了市场,也有了市场开发的前景。因此,研究多功能电子钟及扩大其应用,有着非常现实的意义。 1.1.3 多功能数字时钟的功 能 数字时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。也有体型较大的,诸如公共场所的大型电子报时器等。电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测, USB扩展口功能等。 哈尔滨理工大学学士学位论文 4 本设计数字时钟主要功能为: (1) 具有显示时间,年,月,日,星期和手动校对功能, 24小时制; (2) 具有闹铃定时功能; ( 3) 具有环境温度采集; ( 4) 具有液晶( LCD12864)显示功能 2 硬件设计 2.1 系统的设计思路 本次设计完成数字时钟年、月、日、星期、时、分、秒的显示及环境温度测量等功能的基础上完成定时闹钟的功能。 硬件电路包括单片机最小系统电路、 LCD12864 液晶显示模块、按键模块、 DS18b20 温度传感器模块、蜂鸣器报警电路模块;软件部分主要通过 C 语言的编程实现电子时钟,闹钟,温度采集,然后通过液晶显示程序将时间显示出来,通过按键操作实现功能的转换。设计中结合硬件、软件的分步调试 ,达到要求的控制效果。 2.1.1 设计流程 该设计的主要流程如下:首先阅读大量参考文献,进行设计方案的确定,然后在 protues 上进行原理图的绘制和修改,在仿真通过的情况下,购买所需要的元器件 (元器件应考虑大小 )。接着把元器件焊接到各个功能电路的模块上,并结合程序进行调试。最后将各个功能的电路程序组合起来,然后再进行总体调试直到成功。 哈尔滨理工大学学士学位论文 5 图 2-1 硬件设计框图 2.2 单片机的选择 2.2.1 单片机的发展趋势 单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力 (如算术运算,逻辑运算、数据传送、中 断处理 )的微处理器 (CPU),随机存取数据存储器 (RAM),只读程序存储器 (ROM),输入输出电路 (I/O口 ),可能还包括定时计数器,串行通信口 (SCI),显示驱动电路 (LCD 或 LED驱动电路 ),脉宽调制电路 (PWM),模拟多路转换器及 A/D 转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。目前在单片机系统中,应用比较广泛的微处理器芯片主要为 8XC5X系列单片机。该系列单片机均采用标准 MCS-51内核,硬件资源相互兼容 ,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。 2.2.2 单片机主要应用领域和特点 哈尔滨理工大学学士学位论文 6 单片机芯片的集成度很高,它将微型计算机的主要部件都集成在一块芯片上,具有以下特点: 体积小、重量轻、价格便宜、耗电少; 根据工控环境要求设计,且许多功能部件集成在芯片内部,其信号通道受外界影响小,故可靠性高,抗干扰性能优于采用一般的 CPU; 控制功能强,运行速度快。其结构组成与指令系统都着重满足工控要求。有丰富的条件分支转移指令和很强的位处理功能及 I/O 口逻辑操作 功能; 片内存储器的容量不可能很大;引脚也嫌少, I/O引脚常不够用,且兼第二功能以至第三功能。但存储器和 I/O接口都易于扩展; 自单片机出现至今,单片机技术已走过了 30多年的发展路程。纵观30年来单片机发展里程可以看出,单片机技术的发展以微处理器( MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机应用最多的领域主要有以下: 因它具有“小、轻、廉、省”的特点,所以特别适用于“电脑型产品”,在家用电器、玩具、游戏机、声像设备、电子秤、收银机、办公 设备、厨房设备、家庭安防设备等许多产品上得到应用。适用于仪器、仪表,不仅能完成测量,还具有处理、监控等功能,易于实现数字化和智能化。 2.3 单片机 STC89C52 简介 对于单片机的选型,主要应用从单片机应用系统的技术性,实用性和要开发性三方面来考虑。 技术性 :要从单片机的技术指标角度 ,对单片机芯片进行选择,以保证单片机应用系统在一定的技术指标下可靠运行; 实用性 :要从单片机的供货渠道、信誉程序等角度,对单片机的哈尔滨理工大学学士学位论文 7 生产厂家进行选择以保证单片机应用系统在能长期、可靠运行; 可开发性:选用的单片机要 有可靠的可以开发手段,如程序开发工具、仿真调试手段等。综合考虑本设计还是选用了 STC89C52单片机。 表 2-1 STC89C52 主要功能 STC89C52 是一种低功耗、高性 能 CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节 Flash, 512字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM, MAX810复位电路,三个 16 位定时器 /计数器,一个 6向量 2级中断结构,全双工串行口。另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35Mhz,6T/12T 可选。 该器件采用 ATMEL 搞密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。 表 2-2给出了其主要功能 STC89C52 各引脚如图 2-2 所示: 主要功能特性 兼容 MCS51 指令系统 8K可反复擦写 Flash ROM 32个双向 I/O口 256x8bit内部 RAM 3 个 16 位可编程定时 /计数器中断 时钟频率 0-24MHz 2个串行中断 可编程 UART 串行通道 2个外部中断源 共 6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 哈尔滨理工大学学士学位论文 8 图 2-3 STC89C52 引脚图 主电源引脚 (2根 ) VCC(Pin40):电源输入,接 5V电源 GND(Pin20):接地线 外接晶振引脚 (2根 ) XTAL0(Pin18):片内振荡电路的输入端 XTAL1(Pin19):片内振荡电路的输出端 控制引脚 (4根 ) RST/VPP(Pin9):复位引脚,引脚上出现 2个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 可编程输入 /输出引脚 (32 根 ) 哈尔滨理工大学学士学位论文 9 STC89C52 单片机有 4组 8位的可编程 I/O口,分别位 P0、 P1、 P2、P3口,每个口有 8位 (8根引脚 ),共 32根。 PO 口 (Pin39 Pin32):名称为 P0.0 P0.7。 P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平(晶体管 -晶体管逻辑电平)。 P1 口 (Pin1 Pin8):名称为 P1.0 P1.7。 P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口, p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写 “1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低 的引脚由于内部电阻的原因,将输出电流( IIL)。此外, P1.0和 P1.2 分别作定时器 /计数器 2的外部计数输入( P1.0/T2)和时器 /计数器 2 的触发输入( P1.1/T2EX),具体如下所示。 在 flash 编程和校验时, P1口接收低 8位地址字节。 P1引脚第二功能 P1.0 : T2(定时器 /计数器 T2的外部计数输入),时钟输出 P1.1 : T2EX(定时器 /计数器 T2的捕捉 /重载触发信号和方向控制) P1.5 : MOSI(在线系统编程 时 用 到 ) P1.6 : MISO(在线系统编程 时 用 到 ) P1.7 : SCK( 在线系统编程 时 用 到 ) P2 (Pin21 Pin28):名称为 P2.0 P2.7。 P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写 “1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。在访问外部程序存储器或用 16位地址读取外部数据存储器(例如执行 MOVX DPTR)时, P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI)访问外部数据存储器时, P2 口输出 P2 锁存器的内容。在 flash 编程和校验时, P2口也接收高 8位地址字节和一些控制信号。 P3口 (Pin10 Pin17): 8位准双向 I/O口线,名称为 P3.0 P3.7。哈尔滨理工大学学士学位论文 10 P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口, p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写 “1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3口亦作为 STC89C52特殊功能(第二功 能)使用,如下表所示。在 flash编程和校验时, P3口也接收一些控制信号。 端口引脚 第二功能 P3.0 RXD(串行输入口 ) P3.1 TXD(串行输出口 ) P3.2 INTO(外中断 0) P3.3 INT1(外中断 1) P3.4 TO(定时 /计数器 0) P3.5 T1(定时 /计数器 1) P3.6 WR(外部数据存储器写选通 ) P3.7 RD(外部数据存储器读选通 ) 此外, P3口还接收一些用于 FLASH闪存编程和程序校验的控制信号。 RST 复位输入。当振荡器工作时, RST引脚出现两个机器周期以上高电平 将是单片机复位。 ALE/PROG 当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE脉冲。 对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外, 该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE禁止位无效。 哈尔滨理工大学学士学位论文 11 PSEN 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 STC89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/VPP 外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH), EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA端状态。 如 EA端为高电平(接 Vcc 端), CPU则执行内部程序存储器的指令。 FLASH 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V编程电压 Vpp。 2.4 实时数字时钟芯片 2.4.1 DS12C887 概述 DS12C887 实时时钟 芯片功能丰富,可以用来直接代替 IBM PC 上的时钟日历芯片 DS12887,同时,它的管脚也和 MC146818B、 DS12887相兼容。 由 于 DS12C887 能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪 寄存器 ,从而利用硬件电路解决了 “ 千年 ”问题; DS12C887 中自带有锂电池,外部掉电时,其内部时间信息还能够保持 10年之久;对于一天内的时间记录,有 12小时制和 24小时制两种模式。在 12 小时制模式中,用 AM和 PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用 BCD 码表示 ; DS12C887中带有 128字节 RAM,其中有 11字节 RAM用来存储时间信息, 4字节 RAM用来存储 DS12C887 的控制信息,称为 控制寄存器 , 113 字节通用 RAM 使用户使用;此外用户还可对 DS12C887 进行 编程 以实现多种方波输出,并可对其内 部的三路中断通过软件进行屏蔽。 性能和特性如下: 哈尔滨理工大学学士学位论文 12 可作为 IBM AT 计算机的时钟和日历 与 MC146818B 和 DS1287的管脚兼容 在没有外电源的情况下可以工作 10年 自带晶振振荡器及电池 可计算到 2100年前的秒,分,小时,星期,日期,月,年七种日历及闰年补偿 用二进制码和 BCD码代表日历和闹钟信息 可选用夏令时模式 可以应用于 MOTOROLA和 INTEL 两种总线 数据和地址总线复用 内建 128 字节 RAM -14字节时钟控制器 -114字节通用 RAM 可编程方波输出 总线兼容中断 三种可编程中断 -时间 性中断 可产生每秒一次到每天一次的中断 -周期性中断 122ms到 500ms -时钟更新结束中断 自动电路故障和切换电路 +5.0v或 3.3v工作范围 DS12C887 BGA 模块为表面贴封装,集成了石英晶体和充电电池 2.4.2 DS12C887 应用电路连接说明 DS12887数字时钟芯片一共有 24个引脚,其中有 5个引脚不用连接,所以在进行封装的时候就只剩下了 19个引脚,以下为芯片引脚分布图和个引脚的作用, 哈尔滨理工大学学士学位论文 13 图 2-4 芯片引脚分布图和电路连接 以下为 EDIP 封装的引脚说 明: 1.MOT引脚,为 Motorola 或 Intel总线时序选择端,利用此引脚可以选择了两种总线中的一种,接 VCC时,为选择 Motorola 总线,接地或悬空的时候为接 Intel 总线,本次设计选的是 Intel 总线,所以 MOT 引脚悬空。 2.X1、 X2 引脚,连接标准的 32.768kHz。 3.AD0-AD7,双向地址 /数据复用总线。地址与总线周期的开始发送到总线上,并由 AS信号的下降沿锁到 DS12C887,所写数据由 RW信号的上升沿锁存。 读周期中, DS12c887 于 DS 信号的后期中 DS 为低 RW 为高将数据发送到 总线上。读周期结束后总线回复到高阻状态,同时 DS时序变高。 4.GND引脚为接地端。 5.CS 引脚,片选信号输入,且低电平有效,访问 DS12C887 总线时必须保持低电平在 DS和 RW工作期间 CS必须保持有效。当 VCC低于 VPF电压时 DS12C887 内部通过禁止 CS 输入来禁止访问,这个用来在断电后保持 RTC数据和 RAM数据。 6.AS 引脚,地址选通输入,在 AS 信号的下降沿将地址锁存到DS12C887 中,无论 CS 是否有效, AS 在下一个上升沿都会将地址清楚,哈尔滨理工大学学士学位论文 14 地址选通信号必须先于每个都或写访问,如果在 CS无效的时候执 行了读或写操作,则必须在 CS信号有效时且在读或写之前,重新发送一次读或写信号。 7.RW引脚,有两种操作模式,在 Intel时序中, RW低电平有效, RW与普通的写使能信号的时序类似,并在上升沿锁存数据。 8.DS引脚,数据选通或读输入, DS引脚根据 MOT 引脚电平有两种模式。在 Intel 时序中 DS 表示读取 DS12C887 数据驱动总线的时间周期。此模式下, DS 引脚与普通 RAM的输出使能信号工作方式类似。 9.RESET 引脚,复位输入,低电平有效 RESET 引脚对时钟,日历或RAM不起作用。 在典型应用中,可将 RESET 接 VCC,使得 DS12C887 在进入或退出电源状态时不影响任何控制寄存器的值。 10.IRQ引脚,中断请求输出, DS12C887的 IRQ引脚低电平有效,可用作处理器的中断申请输入,只要引起中断的状态位置位,并且相应中断使能位也置位, IRQ 将一直保持低电平,处理器程序通常通过读取 C寄存器来清除 IRQ输出, RESET也会清楚未处理的中断,没有中断发生时 IRQ 为高阻状态,可将多个中断器件接到一条 IRQ 总线上,只要他们都为漏极开路输出。 IRQ 为漏极开路输出,需要使用一个未接上拉电阻与 VCC相连。 11.RCLR 引脚,清楚 RAM, RCLR 引脚低电平有效,用来清楚所有 114字节的通用 RAM。但不影响与 RTC 相关的 RAM,要清楚 RAM,必须在未加VCC的后备电池模式下,将 RCLR强制为逻辑 0, RCLR通过人机接口使用,而不是通过外部缓存器驱动,该引脚已通过外部上拉,不需要外接上拉电阻。 12.SQW引脚,方波输出能提供 RTC内 15个分频器的 13个分频比之一,可通过对寄存器 A的编程来控制 SQW输出信号频率。 2.4.3 DS12C887 的存储功能 在 DS12C887 内有 11 字节 RAM 用来存储时间信息, 4 字节用来存储哈尔滨理工大学学士学位论文 15 控制 信息,其具体垢地址及取值如表 1所列 由表 2.4.3 可以看出: DS12C887 内部有控制寄存器的 A-B等 4个控制寄存器, 用 户 可 以在任何时候对其进行访问以对 DS12C887 进行控制操作 。 2.4.3 DS12C887 的存储功能 地 址 功 能 取值范围十进制数 取值范围 二进制 BCD码 0 秒 0 59 00 3B 00 59 1 秒闹铃 0 59 00 3B 00 59 2 分 059 00 3B 00 59 3 分闹铃 0 59 00 3B 00 59 4 12 小时模式 0 12 01 0C AM, 81 8C PM 0112AM, 81 92PM 24 小时模式 0 23 00 17 00 23 5 时闹铃, 12小时制 1 12 01 0C AM, 81 8C PM 0112AM, 81 92PM 时闹铃, 24小时制 0 23 00 17 00 23 6 星期几(星期天 =1) 1 7 01 07 01 07 7 日 1 31 01 1F 01 31 8 月 1 12 01 0C 01 12 哈尔滨理工大学学士学位论文 16 9 年 0 99 00 63 00 99 10 控制寄存器 A 11 控制寄存器 B 12 控制寄存器 C 13 控制寄存器 D 50 世纪 0 99 NA 19, 20 在各种设备、家电、仪器、工业控制系统中,可以很容易地用 DS12C887来组成时间获取单元,以实现各种时间的获取 2.5 数字温度传感器 2.5.1 DS18B20 概述 适应电压范围更宽,电压范围: 3.0 V 5.5V,在寄生电源方式下可由数据线供电 。 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通讯 。 DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 。 测 温范围 55 125 ,在 -10 +85 时精度为0.5 。 可编程的分辨率为 9 12位,对应的可分辨温度分别为 0.5 、哈尔滨理工大学学士学位论文 17 0.25 、 0.125 和 0.0625 ,可实现高精度测温 。 在 9 位分辨率时最多在 93.75ms 内把温度转换为数字, 12 位分辨率时最多在 750ms内把温度值转换为数字,速度更快 。 测量结果直接输出数字温度信号,以 “ 一线总线 ” 串行传送给CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力 。 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作 。 DS18B20 内部结构如图 4-2 所示,主要由 4 部分组成: 64 位ROM、温度传感器、非挥发的温度报警触发器 TH和 TL、配置寄存器。DS18B20 管脚 排列如图。 2.5.2 应用电路连接说明 表 2.5.2 DS18B20 引脚定义: 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数据输入 /输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。当工作于寄生电源时,此引脚必须接地。 图 2.5.2 应用电路连接方式图 2.5.3 DS18B20 的各个 ROM 命令 ( 1) Read ROM 33H 这个命令允许总线控制器读到 DS18B20 的 8 位系列编码,惟一的序哈尔滨理工大学学士学位论文 18 列号的 8 位 CRC 码。只有在总 线上存在单只 DS18B20 的时候才能用这个命令。如果总线上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起形成“与”的效果)。 ( 2) Match ROM 55H 这是个匹配 ROM 命令,后跟 64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的 DS18B20。只有和 64 位 ROM序列完全匹配的 DS18B20 才能响应随后的存储器操作。所有和 64位 ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。 ( 3) Skip ROM 0CCH 这个命 令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令,在单点总线情况下,可以节省时间。如果总线上不止一个从机,在命令之后紧跟着发一条读命令,由于多个从机同时传信号。总线上发生数据冲突(漏极开路连在一起形成“与”的效果)。 ( 4) Search ROM 0F0H 当一个系统初次启动时,总线控制器并不知道单线总线上有多少个器件或它们的 64位 ROM编码。搜索 ROM命令允许总线控制器用排除法识别总线上的所有从机的 64位编码。 ( 5) Alarm Search 0ECH 这条命令的流程和 Search ROM相同。然而,只有在最近一次测温后遇到符合报警条件的情况, DS18B20 才会响应这条命令。报警条件定义为温度高于 TH 或低于 TL。只要 DS18B20 不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。 ( 6) Write Scratchpad4EH 这个命令向 DS18B20 的暂存器 TH 和 TL 中写入数据。可以在任何时刻发出复位命令来中止写入。 ( 7) Read Scratchpad0BEH 这个命令读取暂存器的内容。读取将从第 1 字节开始,一直进行下哈尔滨理工大学学士学位论文 19 去,直到第 9( CRC)字节读完。如果 不想读完所有字节,控制器可以在任何时刻发出复位命令来中止读取。 ( 8) Copy Scratchpad48H 这个命令把暂存器的内容拷贝到 DS18B20的 E2 ROM 存储器里,即把温度报警触发器字节存入非易失性存储器里。如果控制器在这条命令之后跟着发出读时间隙,而 DS18B20 又忙于把暂存器拷贝到 E 存储器, DS18B20 就会输出一个 0,如果拷贝结束的话, DS18B20输出1。如果使用寄生电源,总线控制器必须在这条命令后立即启动强上拉,并最少保持 10ms。 ( 9) Convert T44H 这个命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后 DS18B20 保持等待状态。如果控制器在这条命令之后跟着发出时间隙,而 DS18B20 有忙于做时间转换的话, DS18B20 将在总线上输出一个 0,若温度转换完,则输出 1。如果使用寄生电源,总线控制器必须在发出这条命令后立即启动强上拉,并最少保持 500ms 以上时间。 ( 10) Read E2 0B8H 这条命令把 触发器里的值拷贝回暂存器。这种拷贝操作在 DS18B20上电时自动 执行,这样一上电暂存器里马上存在有效的数据了。若在这条命令之后发出读数据隙,器件会输出温度转换忙的标识: 0为忙, 1 为完成。 ( 11) Read Power Supply0B4H 若把这条命令发给 DS18B20 后发出读时间隙,器件会返回它的电源模式: 0 为寄生电源, 1为外部电源。 2 6 显示部分设计 2.6.1 液晶显示屏 12864 的简介 哈尔滨理工大学学士学位论文 20 本设计用的显示屏是带字库的 LCD12864。 带中文字库的LCD12864 是一种具有 4 位 /8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体 中文字 库的点阵图形液晶显示模块;其显示分辨率为 12864, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符 集 .利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 84 行 1616 点 阵的汉字 . 也可完成图形显示 .低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多 . 基本特性 ( 1)低电源电压( VDD:+3.0-+5.5V) ( 2)显示分辨率 :12864 点 ( 3)内置汉字字库,提供 8192 个 1616 点阵汉字 (简繁体可选 ) ( 4)内置 128 个 168 点阵字符 ( 5) 2MHZ 时钟频率 ( 6)显示方式: STN、半透、正显 ( 7)驱动方式: 1/32DUTY, 1/5BIAS ( 8)视角方向: 6 点 ( 9)背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/5 1/10 ( 10)通讯方式:串行、并口可选 ( 11)内置 DC-DC 转换电路,无需外加负压 ( 12)无需片选信号,简化软件设计 ( 13)工作温度 : 0 - +55 ,存储温度 : -20 - +60 ( 14)能显示更多的内容,让人一目了然 2.6.2 LCD12864 的功能介绍 2.6.2 LCD12864 引脚功能表 引脚号 引脚名称 方向 功能说明 哈尔滨理工大学学士学位论文 21 1 VSS - 模块电池源 2 VDD - 模块电源正端 3 V0 - LCD 驱动电压输入端 4 RS H/L 并行的指令 /数据选择信号,串行的片选信号 5 R/W H/L 并行的读 /写选择信号 ,串行的数据口 6 E H/L 并行的使能信号,串行的时钟 7-14 DB0-DB7 H/L 数据口 0-7 15 PSB H/L 并 /串行接口选择 ,H-并行, L-串行 16 NC 空脚 17 RET H/L 复位,低电平有效 18 NC 空脚 19 LED_A LED(+5V) 背光源正极 20 LED_B LED(0V) 背光源负极 基本操作时序: LCD12864 读写操作时序总体上来说是比较简单的,掌握其有两种方法:一种是直接看时序图,另外一种方法是直接记忆和总结读写时电平高低和变化。很显然第二种更简单、直接,下面就列出典型读写的时序要求,以方便编写程序。 读状态 -输入: RS=L, R/W=H, E=H 输出 : D0-D7=状态字 写指令 -输入: RS=L, R/W=L, DB0-DB7=指令码, E=高脉冲 输出:无 读数据 -输入: RS=H, R/W=H, E=H 输出: D0-D7=数据 写数据 -输入: RS=H, R/W=L, DB0-DB7=数据, E=高脉冲 输出:无 ( 2) 指令集说明如下: 1 ) 清 除 显 示 ( CLEAR )DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-0-0-0-1 将 DDRAM 填满“ 20H”(空格)代码,并且设定 DDRAM 的地址计数器( AC)为 00H;更新设置进入设定点将 I/D 设为 1,游标右移 AC 加 1。 哈尔滨理工大学学士学位论文 22 2 ) 地 址 归 0 ( HOME )DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-0-0-1-X 设定 DDRAM 的地址寄存器为 00H,并且将游标移到开头原点位置;这个指 令并不改变 DDRAM 的内容。 3)进入设定点( ENTRY MODE SET) 初始值: 06H DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-0-1-I/D-S 指定在显示数据的读取与写入时,设定 游标的移动方向及指定显示的移位 I/D 1,游标右移, DDRAM 地址计数器( AC)加 1 I/D 0,游标左移, DDRAM 地址计数器( AC)减 1 S: 显示整体画面移动 S-I/D=1-1:画面整体左移 S-I/D=1-0:画面整体右移 4)显示开关设置( DISPLAY STATUS) 初始值: 08H DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-1-D-C-B 控制整体显示开关,游标开关,游标位置显示反白开关 D=1,整体显示开; D=0,整体显示关,但是不改变 DDRAM 内容 C=1,游标显示开; C=0,游标显示关 B=1,游标位置显示反白开,将游标所在地址上的内容反白显示 ;B=0,正常显 5)游标或显示移位控制 (CURSOR AND DISPLAY SHIFT CONTORL) 初始值: 0001 XXXX B ( X 0,1) DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-1-S/C-R/L-X-X 这条指令不改变 DDRAM 的内容 S/C-R/L=0-0 游标向左移动 S/C-R/L=0-1 游标 向右移动 S/C-R/L=1-0 显示向左移动,游标跟着移动 S/C-R/L=1-1 显示向右移动,游标跟着移动 哈尔滨理工大学学士学位论文 23 6)功能设定 (FUNCTION SET) 初始值: 0011 X0XX B (X=0,1) DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-1-DL-X-0/RE-X-X DL:8/4 位接口控制位 DL=1,8 位 MPU 接口; DL=1,4 位 MPU 接口 RE:指令集选择控制位 RE 1,扩充指令集; RE 0,基本指令集 同一指令 的动作不能同时改变 DL 和 RE,需先改变 DL 再改变 RE 才能确 保设置正确 7)设定 CGRAM 地址 DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-1-A5-A4-A3-A2-A1-A0 设定 CGRAM 地址到地址计数器( AC), AC 范围为 00H 3FH 需确认扩充指令 中 SR 0(卷动位置或 RAM 地址选择) 8)设定 DDRAM 地址 DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=1-0-A5-A4-A3-A2-A1-A0 设定 DDRAM 地址到地址计数器( AC) 第一行 AC 范围 80H 8FH 第二行 AC 范围 90H 9FH 备注: ST7920 控制器的 128 64 点阵液晶其实原理上等同 25632 点阵,第三行对应的 DDRAM 地址紧接第一行;第四行对应的 DDRAM 地址紧接第二行。 用户在使用行反白功能时,如果第一行反白,第三行必然反白。第二行反白, 第四行必然反白。这是正常现象。 9)读取忙标志和地址 (RS=0,R/W=1) DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=BF- A6-A5-A4-A3-A2-A1-A0 读取忙标志以确定内部动作是否完成,同时可以读出地址计数器( AC)的值 10) 写显示数据到 RAM(RS=1,R/W=0) DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0 哈尔滨理工大学学士学位论文 24 当显示数据写入后会使 AC 改变,每个 RAM( CGRAM, DDRAM)地址都可以连 续写入 2 个字节的显示数据,当写入第二个字节时,地址计数器( AC)的值自动 加一。 11) 读取显示 RAM 数据( RS 1, R/W 1) DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0 读取后会使 AC 改变 设定 RAM( CGRAM, DDRAM)地址后,先要 Dummy read 一次后才能读 取到正确的显示数据,第二次读取不需要 Dummy read,除非重新设置了 RAM 地 址 4. 扩充指令详细说明表 1) 待命模式 DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-0-0-0-1 进入待命模式,执行如何其它指令都可以结束待命模式;该指令不能改变 RAM 的内容。 2) 卷动位置或者 RAM 地址选择 初始值: 02H DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-0-0-1-SR 当 SR 1 时,允许输入垂直卷动地址 当 SR 0 时,允许设定 CGRAM 地址(基本指令) 3) 反白显示 初始值: 04H DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-0-0-1-R0 选择 2 行中的任意一行作反白显示,并可决定反白与否。 R0 初始值为 0,第 一次执行时为反白显示,再次执行时为正常显示 通过 R0 选择要作反白处理的行: R0=0 第一行, R0=1 第二行 说明:参考基本指令详细说明中的 DDRAM 地址说明 哈尔滨理工大学学士学位论文 25 128 64 点阵的液晶执行反白功能时实用意义不大,因为一三行连在一起, 二四行连在一起,用户对第一行执行反白显示操作时,第三行必然也反白显示。 4) 睡眠模式 初始值: 0000 10XXB(X=0,1) DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-0-0-1-SL-0-0 SL 1,脱离睡眠模式 SL 0,进入睡眠模式 5) 扩充功能设定 DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=0-0-1-DL-X-RE-G-X 初始值: 001 DL X100 B (DL=1,8BIT 并口 ;DL=0,4BIT 并口 X=0,1) DL: 8/4 位接口控制位 DL=1,8 位 MPU 接口; DL=1,4 位 MPU 接口 RE:指令集选择控制位 RE 1,扩充指令集; RE 0,基本指令集 G:绘图显示控制位 G 1,绘图显示开; G 0,绘图显示关 同一指令的动作不能同时改变 RE 及 DL、 G,需先改变 DL 或 G 再改变 RE 才 能确保设置正确 6) 设定绘图 RAM 地址 DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=1-0-0-0-A3-A2-A1-A0 DB7-DB6-DB5-DB4-DB3-DB2-DB1-DB0=1-A6-A5-A4-A3-A2-A1-A0 设定 GDRAM 地址到地址计数器( AC),先设置垂直位置再设置水平位置 (连续写入 2 字节数据来完成垂直与水平坐标的设置)。 垂直地址范围 :AC6 AC0 水平地址范围 :AC3 AC0 2.6.3 LCD12864 初始化过程 延时 15ms 哈尔滨理工大学学士学位论文 26 写指令 38H(不检测忙信号 ) 延时 5ms 写指令 38H(不检测忙信号 ) 写指令 5ms 写指令 38H(不检测忙信号 ) 之后每次写指令、读 /写数据操作之前均需检测忙信号 写指令 38H:显示模式设置 写指令 08H:显示关闭 写指令 01H:显示清屏幕 写指令 06H:显示光标移动设置 写指令 0CH:显示及光标设置 2.6.4 LCD 硬件电路的设计 图 2.6.4 LCD12864 电路连接 哈尔滨理工大学学士学位论文 27 2.7 单片机最小系统 本设计的单片机最小系统主要包括 STC89C52芯片,晶振电路和复位电路。 晶振电路 最小系统晶振电路如图 2-4所示: 图 2-4 晶振电路图 STC89C52 内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL0 和 XTAL1 分别是此放大器的输入端和输出端。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2 12MHz 之间选择,电容值在 5 30pF之间选择,电容值的大小可对频率起微调的作用。 单片机晶振两个电容的作用:这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十 pf。它会影响到晶振 的 谐 振 频 率 和 输 出 幅 度 。 晶 振 的 负 载 电 容=(Cd*Cg)/(Cd+Cg)+Cic+ C 式中 Cd, Cg 为分别接在晶振的两个脚上和对地的电容, Cic(集成电路内部电容) + C( PCB上电容)经验值为 3至 5pf。 复位电路 最小系统复位电路如图 2-5所示。 哈尔滨理工大学学士学位论文 28 图 2-5 复位电路图 无论使用哪种类型的单片机,总要涉及到单片机复位电路的设计而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。复位电路的基本功能是:系统上电时提供复位信号, 直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分 -合过程中引起的抖动而影响复位。单片机复位电路参数的选定须在振荡稳定后保证复位高电平持续时间大于 2 个机器周期。单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较器型复位电路;看门狗型复位电路。 最小系统整体图 最小系统整体电路如图 2-6所示 哈尔滨理工大学学士学位论文 29 图 2-6 最小系统电路图 2.8 键盘部分 按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一 类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低, 后者寿命长。目前,微机系统中最常见的是触点式开关按键。 按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。 全编码键盘能够由硬件逻辑自动提供与键对应的编码,此外,一般还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但需要哈尔滨理工大学学士学位论文 30 较多的硬件,价格较贵, 一般的单片机应用系统较少采用。非编码键盘只简单地提供行和列的矩阵 ,其它工作均由软件完成。由于其经济实用,较多地应用于单片机系统中。在本套设计中由于只需要几个功能键,此时,可采用独立式按键结构。 图 2.8 独立式按键电路连接 四个按键中 key1为设定键, key4为设定键 1, key2 为上调键, key3下调键。四个按键分别接在 P3.3 P3.6口,低电平表示有按钮按下;按钮没有接防抖电路,需要设计软件防抖。 调时。按下设定键后可以开始定时,过程如下:设定 -年加 /减 -按设定 -月加 /减 -按设定 -日加 /减 -按设定-星期加 /减 -按设定 -小时加 /减 -按设定 -分加/减 -按设定 -秒加 /减。 定闹钟。按下切换键后可以定时,过程如下:切换键 -小时加 /减 -按切换 -分钟加 /减。 ( 3)温度在液晶屏上直接显示。 2.9 闹钟电路设计 当定时闹钟时间到时,蜂鸣器发出滴滴声,本模块采用 PNP 三极管哈尔滨理工大学学士学位论文 31 为蜂鸣器放大电流,基极通过 4.7k 电阻与单片机 STC89C52 的闲置引脚 P3.7 相连接,集电极直接接地,发射极蜂鸣器。 闹钟模块电路如图 2-8所示。 图 2-8 报警模块电路图 2.10 直流稳压电源 部分 直流稳压电源是给电子设备提供稳定直流电压的电子电路。这次电路需要的是 +5V 直流电源。 2.11 硬件仿真 2.11.1 仿真软件 protues 简介 Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已 受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的 EDA 工具 (仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051 、 HC11 、PIC10/12/16/18/24/30/DsPIC33、 AVR、 ARM、 8086 和 MSP430 等, 2010年即将增加 Cortex和 DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、 Keil 和 MPLAB等多种编译 . 硬件特点: 哈尔滨理工大学学士学位论文 32 功能特点 Protues 软件具有其它 EDA 工具软件(例: multisim)的功能。这些功能是: 原理布图 PCB自动或人工布线 SPICE 电路仿真 革命性的特点: 互动的电路仿真 用户甚至可以实时采用诸如 RAM, ROM,键盘,马达, LED, LCD, AD/DA,部分 SPI器件,部分 IIC器件。 仿真处理器及其外围电路 可以仿真 51系列、 AVR、 PIC、 ARM、 Z80、 HC11系列、 68000系列等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等, Protues建立了完备的电子设计开发环境。 软件仿真: 提供软件调试功能。 提 供丰富的外围接口器件及其仿真。 RAM, ROM,键盘,马达, LED,LCD, AD/DA,部分 SPI 器件,部分 IIC 器件 。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。 提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。 具有强大的原理图绘制功 能 2.11.2 本设计的仿真原理图 见附录 2 3 软件设计 C52 单片机可以应用汇编语言和 C 语言进行编程。汇编语言与机器指令一一对应所以用汇编语言编写的程序在单片机里运行起来效率较高。 C语言程序可读性高,更便于理解。 哈尔滨理工大学学士学位论文 33 本设计使用 C 语言编程。为了便于修改和调试,系统软件采用模块化设计,程序的编写编译在 keil uvision4软件中完成。 3.1 编程环境 Keil 简介 Keil C51 是 美国 Keil Software 公司出品的 51 系列兼容单片机 C语言软件开发系统,与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 Keil提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision) 将这些部分组合在一起。运行 Keil软件需要 WIN98、 NT、 WIN2000、 WINXP等操作系统。如果你使用C语言编程,那么 Keil 几乎就是你的不二之选,即使不使用 C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 Keil 是一个成熟的编程环境,用户也比较多,所以本设计选择由keil 进行开发,还有一个选择 keil 开发的原因是仿真环境 protues 和keil支持在线联调。对于刚学单片机或者硬件还不成熟的新手使用者二者会大大缩短开发周期。 3.2 软件设计总体说明 首先对 STC89C52、 LCD12864、 DS12C887、 DS18B20 进行初始化,时间和温湿度信息通过 LCD12964显示出来,当前时间与设定的闹钟时间相同后,单片机通过报警模块进行警报,此时,若按下四个按键中的任意一个,报警停止,如无人工按键,报警在 10s后停止, LCD12864显示的时间继续精确显示。 哈尔滨理工大学学士学位论文 34 3.2 软件设计总体流程 3.2.2 键盘部分 单片机对键盘扫描的方法有随机扫描方式、定时扫描方式和中断扫描方式。 在随机扫描方式中, CPU 完成某特定任务后,即执行键盘扫描程序,以确定键盘有无按键输入,然后 根据按键功能转去执行相应的操作。在执行键盘按键规定的功能中不理睬键盘输入。 定时扫描方式与随机扫描方式基本相同,只是利用 CPU 内的定时中断,每隔一定时间扫描有无按键被按下,键盘反应速度较快,在处理按键功能过程中,可以通过键盘命令进行干预,如取消、暂停等操作。 前两种扫描方式均会占用 CPU 大量时间。不管有没有键入操作, CPU总要在一定的时间内进行扫描,这对于单片机控制系统是很不利的。 由于本设计中 STC89C52单片机在系统中的主要任务是接受 DHT11的数据并送出显示,完成时钟校对和温湿度显示控制。 89C52 单片机完全有能力完成以上工作,所以采用随机扫描键盘方式,系统也能够正常运行。 单片机扫描完键盘,得到键值,并根据键值转入执行对应任务,以哈尔滨理工大学学士学位论文 35 实现按键功能。如果没有按键按下,则程序扫描到 Key=FFH,将键值 Key清零,返回主程序。 4 调试 4.1 软件调试 首先:打开已经编译通过的单片机项目 选择 Debug 下面的 Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试 哈尔滨理工大学学士学位论文 36 接下来看到的窗口就是调试窗口: 1:左侧的 Project Workspace Regs是片内内存的相关情况值, Sys是系统一些累加器、计数器等。Regs很简单就不多说。具体介绍一下 Sys A:累加器 ACC,往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。 B:寄存器 B ,主要用于乘法和除法操作 DPTR:数据指针 DPTR 哈尔滨理工大学学士学位论文 37 States:执行指令的数量 Sec:执行指令的时间累计(单位 秒) psw:程序状态标志寄存器 PSW,八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。 P:奇偶标志 P。反映累加器 ACC内容的奇偶性,如果 ACC中的运算结果有偶数个 1(如 11001100B,其中有 4个 1),则 P为 0,否则, P=1。 Ov:溢出标志位 OV。 MCS 51 反映带符号数的运算结果是否有溢出,有溢出时,此位为 1,否则为 0。 ac:辅助进位标志 AC。又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相 加(或减)有否进位(或借位),如有则 AC为 1状态,否则为 0。 cy:进位标志 CY( PSW 7)。它表示了运算是否有进位(或借位)。如果操作结果在最高位有进位(加法)或者借位(减法),则该位为 1,否则为 0 由于 PSW 存放程序执行中的状态,故又叫程序状态字 ?运算器中还有一个按位( bit)进行逻辑运算的逻辑处理机(又称布尔处理机) 根据指令执行的不同上述值会有相应的变化,也正是为了监测这些在单片机中看不到的值而达到调试的目的。 虽然软件调试无法实现硬件调试那样的信号输出,但是可以通过软件窗口的模拟监测输出信号的高 低电平以及单片机相关端口的变化。 上图所示, Port0, Port1, Port2, Port3就对应于单片机的四个 P0,P1, P2, P3 口,共 32个针脚。 哈尔滨理工大学学士学位论文 38 这是全部打开后的效果。 有了输出,就应该有输入的设置: 这个按钮可 以打开输入预设窗口,输入值窗口如下: 选择不同的 Int Source 会有不同的 Selected Interrupt 的变化,哈尔滨理工大学学士学位论文 39 通过选择与赋值达到模拟输入的目的。 接下来是串口的设置: 这是设置串口的窗口 监测窗口数据还 有一个窗口: 点击: 将会出现,这个窗口可以监测从串口输出的 ASCII代码。 关于串口的问题,以后我会有专门的文章介绍,这里就这样大致介绍一下。 最下面还有一个定时器的设置: 哈尔滨理工大学学士学位论文 40 3 个定时器与一个看门狗,设置定时器的数量与工程选择的单片机种类有关系,如果是 8051 就只有 2 个定时器,如果是选择 8052 就有 3个定时器了。 定时器的设置很简单: 下面介绍一下一些常用的调试按钮: 就是 Reset ,相当于单片机最简系统的复位按钮,按下后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论