1、单片机液晶 LCD 时钟摘 要我们设计的 LCD 时钟温度系统是由中央控制器、温度检测器、时钟系统、报警系统,显示器及键盘部分组成。控制器采用单片机AT89C52,温度检测部分采用 DS18B20 温度传感器,时钟系统用时钟芯片 DS1302,用 LCD 液晶 12864 作为显示器,用蜂鸣器及发光二极管构成声光报警器。单片机通过时钟芯片 DS1302 获取时间数据,对数据处理后显示时间;温度传感器 DS18B20 采集温度信号送该给单片机处理;单片机再把时间数据和温度数据送液晶显示器 12864F显示,12864F 还可以显示汉字;键盘是用来调时和温度查询的。关键字:单片机 LCD 液晶 D
2、S18B20 DS1302 12864F一、 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计是数据采集及处理,键盘控制,显示系统及报警系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计武汉纺织大学 电子与电气工程学院 电子 91 班2的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分
3、析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。二、方案设计及方案论证1.时钟温度的总体设计思路按照系统的设计功能要求,本时钟温度系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合按键控制,来控制时钟、温度的调整及显示。获得时钟温度数据信息,单片机对其进行一系列的处理,最后通过液晶显示出来。2.时钟温度系统方案论证2.1 时钟系统方案选择方案 1:通过单片机内部的定时器 /计数器,用软件实现,直接用单片机的定
4、时器编程以实现时钟;方案 2:用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。虽然用软件实现时钟硬件线路简单,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,对定时器定时也不是十分准确,时钟精度很低,对于我们实现所需要的功能造成软件编程非常复杂。用专用时钟芯片硬件成本相对较高,但武汉纺织大学 电子与电气工程学院 电子 91 班3它的精度很高,软件编程很简单。综上所述,选择方案 2。2.2 单片机的选择对于单片机的选择,如果用 8031 系列,由于它没有内部 RAM,系统又需要大量内存存储数据,因而不可用;51 系列单片机的 ROM为 4K,对于
5、我们设计的系统可能有点小;54 系列单片机与 51 系列的结构一样,而 ROM 扩大为 16K,对我们设计系统提供充足的空间进行功能的扩展。再有 51 系列单片机与 52 系列的单片机价格差不多。因此,我们选择 52 系列的单片机。2.3 显示系统的方案比较方案 1:用数码管或 LED 显示。方案 2:用液晶 1602 显示。方案 3:用液晶 12864 显示。时钟和温度的显示可以用数码管或 LED,而且价格便宜。但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用 1602 液晶显示数据有限,显示数据的
6、可读性不好,用可以显示汉字的 12864 液晶显示器还可以增加显示信息的可读性,让人看起来会很方便。 2.4 报警系统的方案比较方案 1:用长鸣的蜂鸣器实现闹钟铃声及温度超限报警。方案 2:用喇叭加语音芯片实现闹钟铃声及温度超限报警。用喇叭加语音芯片成本很高,但声音还不错,再有喇叭体积庞大。用蜂鸣器,成本低,电路结构简单,而且体积小。限于设计所需要的功能,用蜂鸣器是最佳选择。所以我们采用方案 1.2.5 温度系统方案选择方案 1:用热敏电阻等测温元件测出电压,再转换成对应的温度。需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。方案 2:用 DS18B20 直接测温。DS18B20
7、温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,它能直武汉纺织大学 电子与电气工程学院 电子 91 班4接读出被测温度,并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式。经比较,我们选择方案 2。温度实现只能通过外部的温度传感器来实现。经上网查阅及市场考察,DS18b20 体积小,只有 3 只脚,电路接法简单。内部含有寄存器为我们设计实现上下限报警功能提供保障。精度为 0.5C,也符合我们设计的要求。DS18B20 也是我们通常使用的型号,因此温度传感器用 DS18B20。2.6 键盘控制方案选择方案 1:购买集成键盘,采用矩阵形式连接。方案 2:购
8、买单个复位开关做成键盘。虽然集成键盘美观,与单片机的接口少,但是它的成本比较高。单片机的 IO 口对于我们的设计绰绰有余。通常我们选用价格便宜单个复位开关做成键盘。3. .时钟温度系统总体设计初步确定设计系统由单片机主控模块、时钟模块、测温模块、报警模块、显示模块、键盘接口模块共 6 个模块组成,电路系统框图如图(1)所示。 主控器件AT89R54DB1820 温度采集系统DS1320时间采集系统12864显示系统蜂鸣器 LED报警系统键盘控制系统二硬件设计部分武汉纺织大学 电子与电气工程学院 电子 91 班51单片机最小系统电路设计1.1 单片机芯片选择单片机采用52系列单片机。由ATMEL
9、公司生产的AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、
10、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工串行通信口,片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash
11、 存储器可有效地降低开发成本。其芯片外观及引脚图如下:武汉纺织大学 电子与电气工程学院 电子 91 班6图1.1_1 图1.1_21.2单片机管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,
12、可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位
13、地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,如下表所示:管脚 备选功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INT0 (外部中断0)P3.3 /INT1 (外部中断1)P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)武汉纺织大学 电子与电气工程学院 电子 91 班7P3.6 /WR (外部数据存储
14、器写选通)P3.7 /RD (外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作
15、用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。
16、1.3 单片机最小系统单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。1) 复位电路复位电路有两种方式:上电复位和按钮复位,我们主要用按钮复位方式。如下图所示: 武汉纺织大学 电子与电气工程学院 电子 91 班82) 晶振电路晶振电路原理图如 3-2:3-2 晶振模块原理图选取原则:电容选取 30pF,晶振为 12MHz。3) 电源AT89C52 单片机的供电电源是 5V 的直流电,为了使电源稳武汉纺织大学 电子与电气工程学院 电子 91 班9定使用了 7805 稳压芯片是电源稳定,主电源电路如下:考虑到时钟的供电问题,应用了主电源和备用电源方案,当主电源掉电之后,备用电源启动,使时钟继续工作,电路如下:武汉纺织大学 电子与电气工程学院 电子 91 班104) EA 非/Vpp 脚我们没有用外部扩展 ROM,因此 EA 非/Vpp 为高电平,即接+5V 电源或是悬空,为了简化电路将这个引脚悬空。2 时钟系统电路设计2.1 时钟芯片选择我们采用具有涓细电流充电能力的低功耗实时时钟电路DS1302。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。它采用主电源和备用电源双电源供电。它的工作电压范围 2.05.5V,在 2.2V 时,小于 300nA。它内部含有 31个字节的静态 RAM,可提供用户访问。