51单片机设计万年历的实验报告,LCD1602/串口遇到的问题以及解决方案

本文介绍了使用STC12C60S2开发的系统,包括时间显示、DS1302与LCD1602的集成、硬件电路设计、串口通信问题解决以及LCD1602驱动问题的排查过程。作者详细描述了遇到的问题及其解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一、系统功能与原理

    系统可以通过DS1302设置当前的时间,然后在LCD1602上实时显示当前的时间,当时间不对时,可以通过按键1进行模式的转变,改成修改时间模式,按键2用来调节修改年月日时分秒哪一个。按键3用来调节对年月日时分秒某一个增大。按键4用来调节对年月日时分秒某一个减小。在不连接电脑时,DS1302通过纽扣电池的供电继续工作,故再对系统上电时,LCD1602显示的就是在初始设置的基础上实时变化后的,与电子表的功能类似。同时具有串口通信功能,可以实时查看程序的输出。

二、硬件电路设计

使用了STC12C60S2芯片、电容、晶振、六角自锁开关、纽扣电池、轻触开关(按键)、LCD1602、LED灯、电阻、可调电阻等元件。在选择时,根据实际的元件尺寸进行选择和修改。对于外接模块,比如USB转TTL使用的是四排针,LCD1602使用的是16孔排母元件。封装由表1所示。嘉立创原理图由图1所示,PCB图由图2所示。

元件

封装

STC12C60S2芯片

DIP-40_L52.3-W13.9-P2.54-LS15.2-BL

1u电容

CAP-D4.0×F1.5

晶振

OSC-TH_L10.0-W4.5-P5.00

按键总开关

SW-TH_6P-L8.0-W8.0-P2.50

纽扣电池

BAT-TH_MYOUNG_BS-01-A1BK002

按键

SW-TH_4P-L6.2-W6.0-P4.50-LS6.0

LCD1602

HDR-TH_16P-P2.54-V-F-1

27pF电容

RAD-0.1

LED灯

LED-TH_BD4.0-P2.54-FD

电阻

R_AXIAL-0.3

可调电阻

RES-ADJ-TH_3P-L10.0-W10.0-P2.50-L

圆柱体晶振

OSC-TH_BD2.0-P0.50

USB转TTL下载器

HDR-TH_4P-P2.54-V-F

三、程序设计

以STC12C60S2为核心的总系统。程序的总流程图如图3所示,其将LCD1602、按键部分、DS1302串联到一起。共同构建了一个可以实现与电子表类似功能的系统。

b982b31b5dd218947630992820c44b1e.png

以下是遇到的问题以及如何解决的过程

下载器会发出声音

在将板子焊接完成后,将下载器插入电脑时,USB发出类似蜂鸣器的声音。通过使用万用表检测,发现USB的VCC与GND相通。故使用万用表从连接USB的排针处进行检测。发现是板子留有铜,且跨越在VCC和GND处,还有别的地方。经过处理,USB恢复正常,且板子上的LED灯成功显示。

开关按键不能正常控制整个电路

在连接PCB时,通过观测原理图与PCB图,发现六角开关的引脚连接错误,误将六角引脚同一排的三个引脚连接到一起。经过重新焊接,成功解决问题。

修改代码时使用到串口,串口一直显示错误信息。

模式以及选用的定时器都正确。串口的波特率设置错误。不断的调试过后,可以准确无误的传送信息。

LCD1602不能正常显示

首先,原理图上接的D7-D0是P0口,我所接的是P2口。模板中的D0对应的是P20,但是我所设计的原理图中,D0对应的是P27,故需要对于拥有的LCD1602模块进行修改。在修改过程中遇到很多问题,由于担心修改后的代码错误,故写串口通信将修改后的代码的数据进行输出。根据输出的信息,可以判断代码已经修改正确。

但是还不能显示,通过使用万用表检测,发现单片机连接LCD1602有两个引脚短路了,检查这一段电路发现,不是焊接处问题,也不是元件本身问题,是在单片机输出口时加入的20个排母处有两个引脚短路了。故使用飞线重新焊接。

还不能显示,调节可调电阻,左右都转了,还是不能够显示。

此时,我换了一个LCD1602,调节可调电阻后,成功显示。

以下图片是成功实现万年历功能的实物图:

4ea9238c241686490584104e2e5be3ba.png

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值