
【单片机】简易LCD1602温度电子时钟
简介
基于STC89C89C52RC-40I-PDIP40单片机设计的简易LCD1602温度电子时钟,整体设计全部采用插件类型封装,方便新手焊接练习,入门单片机项目学习。
简介:基于STC89C89C52RC-40I-PDIP40单片机设计的简易LCD1602温度电子时钟,整体设计全部采用插件类型封装,方便新手焊接练习,入门单片机项目学习。开源协议
:GPL 3.0
描述
1 项目介绍
基于STC89C89C52RC-40I-PDIP40单片机设计的简易LCD1602温度电子时钟,整体PCB尺寸与LCD1602液晶屏尺寸一样大(80×37mm),具有实时显示时间和温度的功能,3个按键分别控制时间设置/加/减,按下按键时蜂鸣器会有提示音。
2 总体设计
简易LCD1602温度电子时钟,主控单片机使用STC89C89C52RC-40I-PDIP40,电源输入5V,采用6P直插的Type-C接口,按键使用6×6×6mm的卧插封装,按下按键时蜂鸣器发声提示,DS1302实时时钟芯片,DS18B20温度传感器检测当前温度,LCD1602液晶屏显示实时时间和温度。
图2-1 简易LCD1602温度电子时钟系统框图
3 硬件设计
3.1 电源电路
电源选用6P直插的Type-C接口,C1为电源滤波电容。
图3-1 Type-C电源输入
3.2 单片机最小系统电路
主控选用STC89C89C52RC-40I-PDIP40单片机,插件封装,方便焊接,P0口比较特殊,内部无上拉电阻,所以作I/O口必须外接4.7K~10K的上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线[A0~A7],数据线的[D0~D7],此时无需外接上拉电阻。关于EA#(EA#管脚已内部上拉到VCC),如外部不加上拉或外部上拉到VCC,上电复位后单片机从内部开始执行程序;如外部下拉到地,上电复位后单片机从外部开始执行程序。
外部RST引脚复位,电容为10uF,电阻为10kΩ,通过RST1按键,将RST复位引脚被拉高,松开RST1按键,RST复位引脚被拉低,产生外部复位脉冲使系统复位。这种拉高复位引脚来产生复位的信号源需要被保持24个时钟加上10us,才能产生复位,再将RST引脚拉低,结束复位,单片机从用户程序的0000H处开始正常工作。
晶振的作用是给单片机最小系统提供的时钟信号,晶振频率X1选为11.0592MHz,谐振电容为47pF,作用是保证输出的振荡频率更加稳定。
图3-2 STC89C52RC单片机最小系统电路
3.3 LCD1602液晶屏
LCD1602液晶屏功耗低,直接与主控单片机的P0口和P2.5,P2.6和P2.7相连接,电源直接使用Type-C输入的VCC(+5V),V0是LCD1602液晶屏的对比度调整端,可以通过调节RP1可调电阻的阻值来改变显示对比度,对比度过高时会产生鬼影。
图3-3 LCD1602液晶屏显示模块
3.4 DS1302实时时钟
DS1302实时时钟芯片可以对秒,分,时,日,周,月以及带闰年补偿的年进行计数,使用同步串行通信,通信仅需 3 根线:RST(复位),I/O(数据线)和SCLK(串行时钟)。DS1302能在非常低的功耗下工作,消耗小于 1µW 的功率便能保存数据和时钟信息。
图3-4 DS1302管脚说明
图3-5 DS1302内部框图
VCC2(主用电源)直接与Type-C输入VCC(+5V)相连接,VCC1(备用电源)接3V的CR1220纽扣电池备用,以便在没有主电源的情况下能保存时间信息以及数据。当VCC2大于VCC1+0.2V时,DS1302由VCC2主电源供电;当VCC2小于VCC1+0.2V时,DS1302由VCC1备用电源供电。DS1302的晶振直接连接32.768kHz。SCLK(串行时钟输入),I/O(数据输入/输出)和RST(复位)直接与单片机的P1.1,P1.2和P1.3相连接。
图3-6 DS1302实时时钟模块
3.5 DS18B20温度传感器
DS18B20温度传感器可以提供9到12bit分辨率的温度测量,采用单总线协议,通过一个单线端口(DQ)与单片机P3.7口进行通信,需要连接一个弱上拉电阻。
图3-7 DS18B20内部框图
图3-8 DS18B20温度传感器模块
3.6 蜂鸣器电路
使用单片机的P1.0口进行控制,由于单片机驱动电流有限,可以加一个数字三极管进行驱动,提高输出能力。这里,选用NPN型8050三极管驱动,三极管工作在开关状态时,放大驱动电流,使蜂鸣器发出声音。
图3-9 蜂鸣器电路
3.7按键电路
按键控制部分主要由3个独立按键组成,直接与单片机的P2.2,P2.3和P2.4口相连,另外一侧和按键固定支撑脚接入GND,可以启用单片机内部IO引脚上拉模式,默认引脚为高电平,如果按键按下,引脚会与GND连接,此时为低电平,通过检查对应单片机的IO引脚是否为低电平来检查按键是否按下。为避免按键的误触发,可在软件进行消抖处理。
图3-10 按键电路
3.8 下载接口
程序下载采用UART通讯协议串口烧录,有4个Pin,用的TTL电平,低电平为0(0V),高电平为1(5V)。单片机上的串口一般是两个端口,一个是TXD发送端,另一个是RXD接收端。USB转TTL线连接时要注意交叉互连,即USB转TTL线的RXD端接单片机的TXD端,TXD端接单片机的RXD端。
图3-11 程序下载接口
图3-12 USB转TTL下载器与MCU单片机连接图
4 原理图设计
打开嘉立创EDA,创建新工程并命名为【单片机】简易LCD1602温度电子时钟,将原理图文件命名为:SCH。根据以下电路进行绘制电路原理图。
图4-1 SCH_简易LCD1602温度电子时钟
在本项目的元器件选型中,所有元器件可直接按Shift+F放置器件,点击立创商城,复制物料清单(BOM)中的商品编号(Supplier Part)进行搜索(每一个元器件在立创商城都有唯一的商品编号),如果出现物料缺货情况,亦可选择其他可替换物料,通过以上电路的分析,相信聪明的你对各个元器件在电路中的作用有所了解,那么更换个别物料也不会影响到电路的工作性能的,了解电路工作特性后,电路选型也就变得简单了。
图4-2 通过商品编号搜索演示图
5 PCB设计
完成原理图设计后,经过检查电路与网络连接正确后,点击顶部菜单栏的 “设计 ”→ “转换原理图到PCB”(快捷键为Alt+I),然后将PCB文件保存到工程文件中,命名为:PCB。
点击“放置→板框→矩形”放置绘制板框外形(80mm×37mm),可添加2mm的圆角半径。
图5-1 板框设计
在绘制完板框外形后,接下来进行PCB设计的第二步,对元器件进行分类和布局,分类指的是按照电路原理图的功能模块把各个元器件进行分类,图中有很多按键和对外的接口,这里需要我们用到嘉立创EDA所提供的布局传递功能,首先确保PCB工程已保存到原理图文件的同一个工程文件夹中,然后框选原理图中的某一电路模块,比如选中按键电路,然后点击顶部菜单栏中的 “设计” → “交叉选择”(快捷键为Shift+X),PCB页面所对应的元器件就好进行选中并按照原理图布局进行摆放, 使用这个方法将各个电路模块进行分类后依次摆放在前面所放置的边框中。
图5-2 PCB布局参考图
完成布局后,接下来进行PCB走线,可以点击布线工具栏的单路布线进行连线(快捷键Alt+W),默认顶层是红色线,底层为蓝色线,优先走顶层,走不通的可以切换到底层进行连接,电源加粗至25mil,走线过程中优先走直线,需要拐弯的地方以圆弧拐弯或钝角为主,完成全部网络飞线连接后,添加泪滴与铺铜,以及丝印注释信息等。
图5-3 PCB布线参考图
完成PCB设计后即可前往嘉立创PCB下单免费打样制板。
6 使用说明
按下SW1按键,进入时间设置校准模式,LCD1602液晶屏上的时间会闪烁显示出当前被选中设置时间的位置,按下SW2按键,加1,按下SW3按键,减1,完成设置后可按SW1移动到下个设置的位置,顺序是“年→月→日→时→分→秒→ok”,在🆗 处闪烁显示时,点击SW2或SW3按键退出设置模式,完成时间校准设置。
图6-1 简易LCD1602温度电子时钟工作图
设计图

BOM


评论