c数字可调时钟设计

c数字可调时钟设计

ID:22754104

大小:108.01 KB

页数:16页

时间:2018-10-31

c数字可调时钟设计_第1页
c数字可调时钟设计_第2页
c数字可调时钟设计_第3页
c数字可调时钟设计_第4页
c数字可调时钟设计_第5页
资源描述:

《c数字可调时钟设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于AT89C51+DS1602的数字可调时钟设计项目报告课程:单片机系统开发题目:基于AT89C51+DS1602的数字可调时钟专业:嵌入式系统开发姓名:翟霓学号:2009821104数字可调时钟设计1.1项目概述随着现代科技日新月异的发展,单片机的应用越来越广。单片机仪器体积小、重量轻、功能强大、功耗低等特点而备受青睐。在这个效率第一的时代,把握好时间是关键,数字时钟体积小,安装使用方便,不仅可以作为家用电子钟,而且可以广泛用于车站,体育场馆等公共场所。1.2项目要求设计基于AT89C51单片机的数字可调时钟,晶振采用12HZ,要求如下:(1)

2、设计采用DS1602液晶显示两行字。(2)可以显示星期及时、分、秒,24小时制。(3)具有校时功能:可以对小时和分单独校时,对分校时的时候,停止分向小时的进位。(4)具有整点提醒功能。1.3系统设计数字时钟以AT89C51为核心,通过按键调试时间。由复位电路模块,按键模块,显示模块组成。1.3.1框图设计复位电路AT89C51显示电路按键电路信号灯1.3.2知识点本项目通过学习和查阅资料,了解和掌握以下知识:l电源原理及设计。l单片机复位电路工作原理及设计。lDS1602液晶显示器的特性及使用。l按键的应用。lAT89C51单片机引脚。l单片机C语

3、言及程序设计。l信号灯的原理及使用。1.4硬件设计基于AT89C51单片机数字可调时钟的元件清单如表1-1所示:表1-2数字可调时钟电路图表1-1基于AT89C51单片机数字可调时钟元件清单元件名称型号数量用途单片机AT89C511个控制核心电解电容10uF1个复位电路电阻10kΩ9个上拉电阻液晶显示DS16021个显示模块按键4个按键电路电源+5V/0.5A1个提供+5V电源LED信号灯LED-RED1个整点提醒1.5软件设计1.5.1程序流程图1、主程序如图1所示,初始化时LCD第一行显示年、月、日,第二行显示时、分、秒(2011-03-23w

4、eek312:59:32)。2、定时器T0中断如图2所示。3、1602详情如图3所示。按键中断入口时间及日期运行处理送1602显示中断返回重新赋初值N功能运行YDS1602初始化系统初始化有键按下?1602显示功能查询开始整点到?信号灯亮N(图2)(图1)Y(图3)延时8位数据,16*2显示,5*7点阵延时开显示,无光标,不闪烁延时地址自动+1延时清屏延时结束忙判断写指令写数据1.5.2程序清单#include//包含单片机寄存器的头文件#include//包含随机函数rand()的定义文件#include

5、ntrins.h>//包含_nop_()函数定义的头文件sbitRS=P2^0;//寄存器选择位,将RS位定义为P2.0引脚sbitRW=P2^1;//读写选择位,将RW位定义为P2.1引脚sbitE=P2^2;//使能信号位,将E位定义为P2.2引脚sbitBF=P0^7;//忙碌标志位,,将BF位定义为P0.7引脚unsignedcharcodetable[]="2011-03-23week3";//初始化液晶显示16unsignedcharcodetable1[]="12:59:32";//12unsignedcharcount,s1num;

6、charsecond,minute,hour,day,month,year,week;sbits1=P1^0;//功能键sbits2=P1^1;//加键sbits3=P1^2;//减键sbits4=P1^3;//保存并退出sbitP3_4=P3^4;//信号灯/*****************************************************函数功能:延时1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒*********************************************

7、******/voiddelay1ms(){unsignedchari,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}/*****************************************************函数功能:延时若干毫秒入口参数:n***************************************************/voiddelay(unsignedcharn){unsignedchari;for(i=0;i

8、*****************************************函数功能:判断液晶模块的忙碌状态返回值:

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

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

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