- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51时、分、秒计时器设计
班级
0931
姓名(学号)
刘28)
甘(27)
宁(13)
赵(30)
项目分工
总体设计方案构思、程序模块构成、仿真电路构成等内容
I2C总线程序模块、液晶初始化、液晶显示模块函数设计
定时中断、时分秒处理、按键模块函数设计
仿真电路设计及调试
一、任务及要求
用51单片机设计时、分、秒计时器,具体要求如下。
具有时、分、秒计时功能和8位lcd1602显示功能,显示格式为:“时-分-秒”;
用Proteus设计仿真电路进行结果仿真;
完成程序设计、仿真电路设计、结果仿真,完成报告并上传空间课程栏目中的课程设计报告子栏目中。
设计方案
1、总体设计方案(刘负责完成)
(1)、仿真电路构成:电路分4个模块:晶振电路模块、I2C总线模块、按键模块、液晶显示模块。
晶振电路模块负责给单片机提供时钟周期;利用AT89C51芯片内部的T0定时器定时,定时1s到则使时间进行一次变化,要使时间显示在液晶上则在电路中添加8位lcd1602液晶;I2C总线模块是存储时分秒数据的,时间每变化一次都将其数据保存在AT24C02中;按键模块中,采用四个按键作为电子时钟的控制输入,通过按键来实现时钟的时间调整功能。电路中将四个按键的一端接公共地,而单片机的P3口默认为高电平,一旦按键被按下,则该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。按键的去抖动由软件来实现,如下图所示,分别按下“ 1、4、7、* ”四个按键可以调整时和分。
(2)、程序模块构成:本系统的软件系统主要可分为I2C总线程序模块、定时计数中断程序、按键识别程序、数据处理程序、液晶显示程序、延时程序六大模块
。
I2C总线程序模块:包含的子程序模块有起始信号、终止信号、应答信号、初始化、写一字节、读一字节、写数据、读数据等。是将每次时间变化(即约1s变化一次)后的数据保存在AT24C02中,断电后,下次再上电时可读取断电时所保存的数据,接着继续计时;
定时中断模块:采用51单片机内部T0定时器定时,定时50ms,再循环20次,即可得到50ms*20=1s的时间,定时1s到了之后使得秒自加1,当秒到了60时,秒重新赋值为0且分加1,当分到了60时,分重新赋值为0且时加1;
按键识别模块:此模块是对时和分进行调整,检测四个按键,其功能分别是分+1、分-1、时+1、时-1,当检测到某一按键按下时执行相应的操作实现对时间的调整,此过程中主要要注意按键消抖的问题;
数据处理模块:此模块是将时、分、秒的个位和十位分开,保存在数组中,供显示模块使用;
液晶显示模块:此模块是将时、分、秒显示在液晶屏上。此模块包括液晶写指令子程序、液晶写数据子程序、液晶初始化子程序。首先进行液晶初始化,然后选择数据地址指针(即写指令,选择要显示在液晶屏的哪个位置),再延时一会利用fou循环将要显示的时钟数据显示到液晶屏幕上(写数据)。
各模块流程图如下:
I2C总线模块、液晶显示、按键模块程序流程图(甘
负责完成)
如上所示
定时中断、数据处理、模块程序流程图(宁负责完成)
如上所示
仿真电路设计(赵负责完成)
如下所示:
三、程序清单
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
uchar table1[11]={0,1,2,3,4,5,6,7,8,9,-};
uchar table2[8]={0,0,10,0,0,10,0,0}; //存放时、分、秒
uchar table3[12]=clock-12hour;
sbit dula=P2^6; //初始化时将数码管的位选和段选信号赋值为0,因为液晶
sbit wela=P2^7; //和数码管都是从P0口传数据的,防止将数据传到数码管
sbit sda=P2^0; //定义I2C总线中的数据线SDA所接引脚
sbit scl=P2^1; //定义I2C总线中的时钟线SCL所接引脚
uchar a;
sbit en=P3^4; //使能信号控制端
sbit rs=P3^5;//数据/命令选择端(H/L)
sbit rw=P3^6;//读/写控制端 (H/L)
//定义开发板上的四个独立按键所接的IO口
sbit s2 = P3^0; //每按一次分加1
sbit s3 = P3^1; //每按一次分减1
sbit
您可能关注的文档
- 2017年山东专升本计算机文化基础必考点.doc
- 02296系统仿真导论复习.doc
- 3000ABS编码错误的解决办法.doc
- 10086业务受理规范.doc
- 16949标准 八项原则.ppt
- 090223聚成《客户也疯狂--客户服务与客户管理》培训课件.ppt
- 06082521CN防病毒反垃圾邮件选型项目应标书.doc
- A33工序质量报验单土方.doc
- Access数据库程序设计第4章窗体设计.ppt
- Access数据库开发培训教程 第6章 查询的高级应用.ppt
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)