基于51单片机的LCD简单电子钟的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的LCD简单电子钟的设计
号:
单片机原理及应用
设计实验报告
课题:电子钟
专业:自动化
学生姓名:黄紫扬
学号: 1200810222
2015 年 5 月27 日
目录
0 前言 (3)
1 总体方案设计 (3)
2 硬件电路设计 (4)
3 软件设计 (6)
4 调试分析及说明 (6)
5 结论 (7)
参考文献……………………………………………………………错误!未定义书签。
课设体会……………………………………………………………错误!未定义书签。
附录1 电路原理 (7)
附录2 程序清单 (8)
摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。
单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED 显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。
关键字:AT89C2051,C语言程序,电子钟。
0前言
利用51单片机开发电子时钟,实现时间显示、调整功能。具体要求如下:(1)根据给定题目设计的Proteus仿真原理图,并简单阐述设计原理;
(2)根据给定题目设计有关的51汇编语言(或C语言)源程序,及主要的流程框图;
(3)在Proteus仿真界面下运行程序实现给定的功能;
(4)下载到ZKSYS单片机实验板上验证有关程序实现给定的功能。
1总体方案设计
该电子时钟由89C51,按键,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。时钟的年月日时分秒的切换是由一个按键控制,而另外两个个按键控制加减调节。
图1 系统结构框图
该电子时钟由STC89C51,按键,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式1,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时
2硬件电路设计
(1)时钟电路设计
单片机利用外部12MHZ晶振构成振荡电路作为时钟源,时钟电路的原理如下图。
图 2 时钟电路图
(2)独立按键输入电路
按键处理设置为:当有没键按下时,时钟正常运行;当按K1时分别切换到年月日时分秒;按K2为加。按K3为减。电路图如下图
图3 独立按键电路
(3)单片机系统
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。外形及引脚排列如下图
图4 单片机系统图
(4) LCD液晶显示
LCD1602采用标准的16脚接口,第1脚:VSS为电源地;第2脚:VDD接5V 电源正极;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高;第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第6脚:E(或EN)端为使能(enable)端。第7~14脚:D0~D7为8位双向数据端;第15~16脚:空脚或背灯电源。电路如下图
图 5 LCD液晶显示图
3软件设计
本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。系统的流程图如下图
是 否
设计思路:
本系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序和LCD 液晶驱动程序。定时中断程序是利用单片机内部定时器0实现1秒的定时,然后利用软件延时实现分小时,时间调整程序是利用单片机的内部存贮器,把调整好的时间写到显示时间的存贮单元,然后启动定时器开始计时并显示,延时程序是利用软件实现延时达到去抖的目的。液晶启动程序是为了把单片机的数据送到显示器的同时让显示器的第6脚使能断的电平实现由1到0的跳变,使显示器执行显示的命令。主程序就是利用这些子程序中断程序实现显示、定时等功能。
4调试分析及说明
(1) 时钟正常运行调试仿真图
开始
液晶初
时间初
按键是否
按
读取时显示时调整
结束
图 6 正常运行仿真图
(2) 时间调整仿真
图10 对时分秒的调整
5 结论
本次电子时钟的设计基本完成:当没有键按下时,时钟正常运行;时钟的年月日时分秒的切换是由一个按键控制,而另外两个个按键控制加减调节
附录1 电路原理
附录2 程序清单
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]=" 2015-05-27 WED "; uchar code table1[]=" 12:30:55";
uchar code table2[]=" 1200810222 "; uchar code table3[]="Made by HUANG"; uchar code table4[]="MONTUEWEDTHUFRISATSUN"; uchar count,s1num;
char miao,fen,shi,ri,yue;