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

一、系统功能与原理

    系统可以通过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串联到一起。共同构建了一个可以实现与电子表类似功能的系统。

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

下载器会发出声音

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

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

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

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

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

LCD1602不能正常显示

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

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

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

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

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

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
洛 阳 理 工 学 院 课 程 设 计 报 告 课程名称 单片机原理与应用   设计题目 基于STC89C51万年历设计与实现 专 业 物联网工程       班 级 学 号 姓 名 完成日期 大约在冬季 "课 程 设 计 任 务 书 " "设计题目: 基于STC89C51万年历设计与实现  " "设计内容与要求: " "设计内容 " "利用STC89C51单片机、专用时钟芯片DS1302、DS18B20数字温度采集器及1602 " "显示器件设计一个万年历,要求实现:(1)正确显示年月日,时分秒,星期 " "等信息;(2)显示环境温度;(3)具有闹钟功能,可以整点报时;(4)能 " "够通过按键调整时间和设置闹钟。 " "二、设计要求 " "1.分析系统功能,确定系统设计方案,掌握总体设计的方法与思路。 " "2.系统硬件设计,确定外设与单片机的硬件接口。掌握单片机系统外部接口的" "扩展设计方法。 " "3.系统软件设计,结合硬件设计,编写相应控制程序,并进行Protuse仿真执 " "行。 " "4.熟练掌握程序烧录及调试过程。 " "5.按照要求撰写课程设计论文。 " "指导教师: " "2019年 11 月 26 日 " "课 程 设 计 评 语 " " " " " " " "成绩: 指导教师:_______________ " "年 月 日 " 目录 摘 要 2 一、设计目标与内容 3 1.1设计目标 3 1.2 设计内容 3 1.3设计要求 3 1.4 本章小结 3 二、系统设计 3 2.1 电路设计框图 3 2.2 系统硬件概述 4 2.3 主要单元电路的设计 4 2.3.1 时钟电路模块的设计 4 2.3.2温度传感器电路设计 6 2.3.3显示模块的设计 8 2.4本章小结 8 三、系统的软件设计 9 3.1程序流程图 9 3.1.1 系统总流程图 9 3.1.2 温度程序流程图 9 3.1.3 DS1302时钟程序流程图 10 3.1.4 LCD显示程序流程图 11 3.2程序的设计 11 3.2.1 DS18B20测温程序 11 3.2.2 DS1302读写程序 13 3.2.3液晶显示程序 14 3.3本章小结 15 四、仿真与调试 15 4.1 Keil软件调试流程 15 4.2 Proteus软件运行流程 17 4.3本章小结 18 总结 18 基于STC89C51万年历设计与实现 摘 要 古人依靠日冕、漏刻记录时间,而随着科技的发展,电子万年历已经成为日渐流行的 日常计时工具。 本文研究的万年历系统拟用STC89C52单片机控制,以DS1302时钟芯片计时、DS18B20 采集温度、1602液晶屏显示。系统主要由温度传感器电路,单片机控制电路,显示电路 以及校正电路四个模块组成。本文阐述了系统的硬件工作原理,所应用的各个接口模块 的功能以及其工作过程,论证了设计方案理论的可行性。系统程序采用C语言编写,经Ke il软件进行调试后在Proteus软件中进行仿真,可以显示年、月、日、星期、时、分、秒 和温度并具有校准功能和与即时时间同步的功能。 实验结果表明此万年历实现后具有读取方便、显示直观、功能多样、电路简洁等诸多 优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:万年历 单片机 仿真 一、设计目标与内容 1.1设计目标 制作出可以检测温度并报警的的电子万年历。 1.2 设计内容 用keilC51编译程序。 用proteus仿真电路图。 将电路图使用万用板或其他电路板焊接实物图。 1.3设计要求 具备在液晶上显示年、月、日、星期、时、分、秒的功能。 具备年、月、日、星期、时、分、秒校准功能。 具有与即时时间同步的功能。 1.4 本章小结 通过设计程序,制作仿真,焊接实物三个步骤,以小组合作的方式来设计满足设计要 求的万年历并简单描述可以实现的功能,制作结束后,进行课程设计答辩并编写一份课 程设计报告。 二、系统设计 1. 2. 2.1 电路设计框图 根据上章确定的方案给出了系统整体的设计框图: 图1.1系统结构框图 为使时钟走时与标准时间一致,校时电路是必不可少的,键盘模块用来校正液晶上显 示的时间;温度传感器则用来检测当前的环境温度;STC89C52单片机通过输出各种电脉 冲信号来驱动控制各部分正常工作;而系统的时间、温度等数据则最终通过液晶模块显 示出来。 2.2 系统硬件概述 本电路是以STC89C52单片机为控制核心,该芯片具有在线编程功能,功耗低,能在3 .3V的超低压下工作;时钟芯片采用DS1302,它是一款高性能、低功耗、自带RAM的实时 时钟芯片,具有使用寿命长,精度高和功耗低等特点,同时具有掉电自动保存功能,可以 对年、月、日、星期、时、分、秒进行计时,具有
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值