基于STC89C52RC单片机设计的简易数码管电子时钟,6个1位数码管组成显示电路,利用数码管的dp段圆点来实现时钟的时分秒中间间隔显示,通过按键对时钟的时、分、秒进行调时校准设置,实现时钟的24小时制动态显示。
数码管电子时钟系统框图如图2-1所示,主控单片机使用STC89C52RC,电源输入使用5V,采用TYPE-C接口,程序下载预留出1x4Pin的2.54mm间距焊盘接口,按键使用6*6*6mm的贴片封装,数码管显示时间,整体设计简洁高效,无累赘复杂的驱动元器件。
图2-1 数码管电子时钟系统框图
基于STC89C52RC单片机设计的数码管电子时钟,主要由电源供电电路,单片机最小系统电路,程序下载电路,按键控制电路和数码管显示电路所组成,下文将对各模块电路原理进行分析。
电源部分主要是Type-C母座作为电源输入口,SW1是拨动开关,C1/C2作为电源滤波电容。接通TYPE-C,拨动SW1开关,给整个板子供电。
图3-1 电源输入电路
主控单片机使用的是STC89C52RC(LQFP-44封装),价格便宜,高速可靠,低功耗,强抗干扰。指令代码完全兼容传统的8051单片机,工作电压3.3~5.5V,工作频率范围在0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz,Flash程序存储器空间大小为8K字节,片上集成512字节RAM数据存储器,工作温度范围在-40~85℃。
STC89C52的P0口(30至37引脚)比较特殊,当P0口作为输入/输出口时,P0是一个8位准双向口,上电复位后处于开漏模式。P0口内部无上拉电阻,所以作为I/O口使用时必须外接4.7K~10K的上拉电阻。当P0口作为地址/数据复用总线使用时,时低8位地址线[A0~A7],数据线的[D0~D7],此时无需外接上拉电阻。
图3-2 STC89C52RC最小系统电路
程序下载使用USB-TTL工具进行,预留出1x4Pin的2.54mm间距焊盘接口,简易无累赘器件。
图3-3 程序下载电路
6个数码管组成显示电路,直接与单片机的一组I/O口相连,三极管起驱动位选作用,利用数码管的dp管段圆点来实现时钟的时分秒中间间隔显示,实现时间的24小时动态显示。
图3-4 数码管显示电路
按键实现时间校准功能,通过程序的编写,实现时分秒加一校准的效果,可自行编写实现其他控制功能效果,使用3个贴片6*6*6mm的轻触开关按键。
图3-5 按键电路
打开嘉立创EDA,创建新工程并命名为【单片机】简易数码管电子时钟,将原理图文件命名为:SCH_简易数码管电子时钟。根据以下电路进行绘制电路原理图。
图4-1 SCH_简易数码管电子时钟
在本项目的元器件选型中,所有元器件可直接在嘉立创EDA的元件库中进行搜索。如果对元器件不熟悉,也可以通过复制物料中的商品编号进行搜索(每一个元器件在立创商城都有唯一的商品编号),如果出现物料缺货情况,亦可选择其他可替换物料,通过以上电路的分析,相信聪明的你对各个元器件在电路中的作用有所了解,那么更换个别物料也不会影响到电路的工作性能的,了解电路工作特性后,电路选型也就变得简单了。
图4-2 元器件搜索示意图
图4-3 通过商品编号搜索示意图
BOM_简易数码管电子时钟 |
||||||
序号 |
名称 |
参数 |
位号 |
数量 |
封装 |
商品编号 |
1 |
电阻 |
10K |
R1~R7 |
7 |
R0805 |
C17414 |
220 |
R8~R15 |
8 |
C114519 |
|||
1K |
R16~R21 |
6 |
C17513 |
|||
2 |
电容 |
10uF |
C1,C3 |
2 |
C0805 |
C386019 |
100nF |
C2,C4 |
2 |
C38141 |
|||
30pF |
C5,C6 |
2 |
C43094 |
|||
3 |
三极管 |
S8550 |
Q1~Q6 |
6 |
SOT-23-3 |
C444725 |
4 |
按键 |
K4-6x6_SMD |
KEY1~KEY3,RST |
4 |
KEY-SMD_4P-L6.0-W6.0 |
C191626 |
5 |
开关 |
MST22D18G2 |
SW1 |
1 |
SW-SMD_MST22D18G2 |
C2906280 |
6 |
晶振 |
12MHz |
X1 |
1 |
OSC-SMD_4P-L5.0-W3.2-BL |
C251597 |
7 |
数码管 |
0.56英寸共阳 |
SEG1~SEG6 |
6 |
LED-SEG-TH_10P-L12.6-W19.0-P2.54-S15.24-BL |
C8092 |
8 |
单片机 |
STC89C52RC |
U1 |
1 |
LQFP-44 |
C8707 |
9 |
USB 连接器 |
TYPE-C |
USB1 |
1 |
USB-C-SMD_TYPE-C-31-M-29 |
C2689969 |
10 |
铜柱 |
M3 |
TP1~TP4 |
4 |
M3X10-6 |
C551322 |
完成原理图设计后,经过检查电路与网络连接正确后点击顶部菜单栏的 “设计 ”→ “转换原理图到PCB”(快捷键为Alt+I),然后将PCB文件保存到工程文件中,并命名为:PCB_简易数码管电子时钟。
在绘制PCB前需根据个人意愿以及元器件数量所占空间确定PCB的形状及边框大小,若无特殊外壳要求,一般设计成矩形、圆形以及正方形。在设计该项目时,秉承着大小合适,美观大方的原则,我们在顶部工具菜单栏下点击放置→板框→矩形,长为100mm、宽为32mm、2mm的圆角。实际板框大小会随着布局布线中进行调整,如果太小可适当放大,太大也可缩小边框,风格样式可自由发挥,但尽量控制在10cm*10cm之内,这样就可以到嘉立创免费打样啦~
图5-1 边框设置设计
在绘制完板框外形后,接下来进行PCB设计的第二步,对元器件进行分类和布局,分类指的是按照电路原理图的功能模块把各个元器件进行分类,图中有很多按键和对外的接口,这里需要我们用到嘉立创EDA所提供的布局传递功能,首先确保PCB工程已保存到原理图文件的同一个工程文件夹中,然后框选原理图中的某一电路模块,比如选中按键电路,然后点击顶部菜单栏中的 “设计” → “交叉选择”(快捷键为Shift+X),PCB页面所对应的元器件就好进行选中并按照原理图布局进行摆放, 使用这个方法将各个电路模块进行分类后依次摆放在前面所放置的边框中。
在布局的时候注意摆放整齐,可根据飞线的指引进行摆放,按照原理图信号的流向和器件连接关系进行摆放,是可以把原理图器件摆放非常整齐的,在布局的过程中注意接口位置。 在该项目的布局中提供以下几点参考建议:
①数码管一正一反紧挨放置在顶层,其他器件放置在底层;
②单片机居中放置在底层背面;
③晶振靠近放置在单片机附近,减小干扰;
④TYPE-C靠右侧板边中部摆放;
⑤开关,按键和烧录接口放置在上方板边;
⑥数码管驱动电路排列摆放在下方;
⑦在板边四个角分别放置M3铜柱孔,用于固定支撑;
图5-2-1 PCB布局参考图-顶层
图5-2-2 PCB布局参考图-底层
这里板子尺寸较小双层走线难度较大,所以采用四层走线。绘制四层或更多层铜箔,可点击工具→图层管理器(快捷键为Ctrl+L)进行切换设置,点击铜箔层下拉选择4,内层1类型设置成信号层,内层2(GND)设置成内电层,当完整的GND层,这里还可以修改各图层的颜色。
图5-3 图层管理器
其中顶层走线默认是红色线,底层为蓝色线,内层1为褐色,内层2(GND)为绿色,也可按照个人喜好设置其他颜色,走线也就是在电路板中按照飞线连接导线,将相同的网络连接起来即可。
首先在右侧图层面板中选择要走线的层(层切换快捷键为:顶层:T;底层:B;内层1:1;内层2:2),然后点击布线工具栏的单路布线进行连线(快捷键为W)。看似简单的连连看,其中需要我们耐心的进行调整,元器件的摆放布局也会影响走线的难度,所以还需要在走线过程中进一步调整布局,进一步优化。前面所介绍的PCB布局相当于是在给走线做铺垫,布局好了走线也就自然顺畅了。该项目的走线中提供以下几点参考建议:
①电源线设置为25mil,信号线设置为10mil宽度;
②走线以底层走线为主,走不通的可以切换到内层1进行连接;
③走线过程中优先走直线,需要拐弯的地方以圆弧拐弯或钝角为主;
④最后加上泪滴,添加丝印标记该按键功能以及接口功能;
图5-4-1 PCB走线参考图-顶层
图5-4-2 PCB走线参考图-内层1
图5-4-3 PCB走线参考图-底层
PCB 走线画完后进行覆铜,就可以连接好 GND 网络。丝印字符遵循从上往下从左到右的原则。对拨动开关、烧录接口和按键等加上丝印标注说明,在板子空白区域加上工程名称与LOGO注释。
图5-5-1 覆铜与丝印参考图-顶层
图5-5-2 覆铜与丝印参考图-内层1
图5-5-3 覆铜与丝印参考图-内层2
图5-5-4 覆铜与丝印参考图-底层
(1)器件焊接
第一,先焊接TYPE-C接口;第二,STC89C52RC(焊接芯片时要注意方向,圆点标识的为1脚,如果芯片上有多个圆点,通常为最小的圆点);第三,三极管、电阻和电容;第四,晶振,开关和按键;第五,数码管(注意一正一反按器件丝印标识放置)。
图6-1-1 PCB装配图-顶层
图6-1-2 PCB装配图-底层
图6-2-1 PCB空板-顶面
图6-2-2 PCB空板-底面
注意焊接过程中用电安全手不要接触到烙铁头,避免烫伤。焊接时元器件对准位置,检查型号是否正确。焊接贴片元器件用镊子夹住时,要等焊锡凝固后再移走镊子,否则易造成虚焊。焊接过程注意锡线是否虚焊漏焊,避免影响电路性能,导致电路不能正常工作。
图6-3-1 PCBA实物图-顶面
图6-3-2 PCBA实物图-底面
图6-4-1 3D渲染图-顶面
图6-4-2 3D渲染图-底面
(2)硬件调试
若焊工比较粗糙,在焊接完一种元器件,可以目测检查是否短路,也可用万用表检查。焊接完成后需要使用万用表检查电源与地是否短路,焊接过程中有没有出现短路以及断路的情况,检查无误后方能进行上电测试。
(1)编程环境
使用keil C51进行编程开发,AT89系列、STC89系列和STC15系列等单片机都可以使用keil C51进行开发,keil C51软件支持的芯片多达几百款,官方下载地址: https://www.keil.com/download/product/
(2)固件烧录
使用宏晶的STC-ISP下载编程烧录软件,使用USB-TTL工具将程序下载到单片机,官方下载地址:http://www.stcmcudata.com/
(3)程序介绍
在STC-ISP中配置一下相关参数,芯片型号选择STC89C52RC,点击定时器计算器工具,输入相应的系统频率,选择定时器模式等,然后点击生成C代码,复制到keil中使用;
程序编译调试中发现AUXR会报错,是因为在STC89C52RC的头文件reg52.h中没有声明AUXR寄存器,需要自行查看数据手册中的定义开启,即sfr AUXR = 0x8E;
图6-5 定时器配置操作图
图6-6 简易数码管电子时钟工作图
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持