C51液晶显示时钟(可调整时间)

C51液晶显示时钟(可调整时间)

ID:39549780

大小:577.50 KB

页数:19页

时间:2019-07-06

C51液晶显示时钟(可调整时间)_第1页
C51液晶显示时钟(可调整时间)_第2页
C51液晶显示时钟(可调整时间)_第3页
C51液晶显示时钟(可调整时间)_第4页
C51液晶显示时钟(可调整时间)_第5页
资源描述:

《C51液晶显示时钟(可调整时间)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C51时、分、秒计时器设计班级0931姓名(学号)刘28)甘(27)宁(13)赵(30)项目分工总体设计方案构思、程序模块构成、仿真电路构成等内容I2C总线程序模块、液晶初始化、液晶显示模块函数设计定时中断、时分秒处理、按键模块函数设计仿真电路设计及调试一、任务及要求用51单片机设计时、分、秒计时器,具体要求如下。1、具有时、分、秒计时功能和8位lcd1602显示功能,显示格式为:“时-分-秒”;2、用Proteus设计仿真电路进行结果仿真;3、完成程序设计、仿真电路设计、结果仿真,完成报告并上传空间课程栏目中的课程设计报告子栏目中。二、设

2、计方案1、总体设计方案(刘负责完成)(1)、仿真电路构成:电路分4个模块:晶振电路模块、I2C总线模块、按键模块、液晶显示模块。晶振电路模块负责给单片机提供时钟周期;利用AT89C51芯片内部的T0定时器定时,定时1s到则使时间进行一次变化,要使时间显示在液晶上则在电路中添加8位lcd1602液晶;I2C总线模块是存储时分秒数据的,时间每变化一次都将其数据保存在AT24C02中;按键模块中,采用四个按键作为电子时钟的控制输入,通过按键来实现时钟的时间调整功能。电路中将四个按键的一端接公共地,而单片机的P3口默认为高电平,一旦按键被按下,则该

3、按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。按键的去抖动由软件来实现,如下图所示,分别按下“1、4、7、*”四个按键可以调整时和分。(2)、程序模块构成:本系统的软件系统主要可分为I2C总线程序模块、定时计数中断程序、按键识别程序、数据处理程序、液晶显示程序、延时程序六大模块。I2C总线程序模块:包含的子程序模块有起始信号、终止信号、应答信号、初始化、写一字节、读一字节、写数据、读数据等。是将每次时间变化(即约1s变化一次)后的数据保存在AT24C02中,断电后,下次再上电时可读取断

4、电时所保存的数据,接着继续计时;定时中断模块:采用51单片机内部T0定时器定时,定时50ms,再循环20次,即可得到50ms*20=1s的时间,定时1s到了之后使得秒自加1,当秒到了60时,秒重新赋值为0且分加1,当分到了60时,分重新赋值为0且时加1;按键识别模块:此模块是对时和分进行调整,检测四个按键,其功能分别是分+1、分-1、时+1、时-1,当检测到某一按键按下时执行相应的操作实现对时间的调整,此过程中主要要注意按键消抖的问题;数据处理模块:此模块是将时、分、秒的个位和十位分开,保存在数组中,供显示模块使用;液晶显示模块:此模块是将

5、时、分、秒显示在液晶屏上。此模块包括液晶写指令子程序、液晶写数据子程序、液晶初始化子程序。首先进行液晶初始化,然后选择数据地址指针(即写指令,选择要显示在液晶屏的哪个位置),再延时一会利用fou循环将要显示的时钟数据显示到液晶屏幕上(写数据)。各模块流程图如下:2、I2C总线模块、液晶显示、按键模块程序流程图(甘负责完成)如上所示2、定时中断、数据处理、模块程序流程图(宁负责完成)如上所示3、仿真电路设计(赵负责完成)如下所示:三、程序清单#include#defineucharunsignedchar#defineuin

6、tunsignedintuchartable1[11]={'0','1','2','3','4','5','6','7','8','9','-'};uchartable2[8]={0,0,10,0,0,10,0,0};//存放时、分、秒uchartable3[12]="clock-12hour";sbitdula=P2^6;//初始化时将数码管的位选和段选信号赋值为0,因为液晶sbitwela=P2^7;//和数码管都是从P0口传数据的,防止将数据传到数码管sbitsda=P2^0;//定义I2C总线中的数据线SDA所接引脚sbitscl=

7、P2^1;//定义I2C总线中的时钟线SCL所接引脚uchara;sbiten=P3^4;//使能信号控制端sbitrs=P3^5;//数据/命令选择端(H/L)sbitrw=P3^6;//读/写控制端(H/L)//定义开发板上的四个独立按键所接的IO口sbits2=P3^0;//每按一次分加1sbits3=P3^1;//每按一次分减1sbits4=P3^2;//每按一次时加1sbits5=P3^3;//每按一次时减1sbitp3_7=P3^7;//让其置0时,s9、s13、s17、s21相当于独立按键ucharcount;//定义无符号字

8、符型数据“count”,用于计数20次达到20*50ms=1suintshi,fen,miao,shis,shig,fens,feng,miaos,miaog;//定义时、分、秒

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。