用51单片机和1602液晶做的数字钟

用51单片机和1602液晶做的数字钟

ID:39276008

大小:3.50 MB

页数:13页

时间:2019-06-29

用51单片机和1602液晶做的数字钟_第1页
用51单片机和1602液晶做的数字钟_第2页
用51单片机和1602液晶做的数字钟_第3页
用51单片机和1602液晶做的数字钟_第4页
用51单片机和1602液晶做的数字钟_第5页
资源描述:

《用51单片机和1602液晶做的数字钟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计报告数字钟姓名:学号:班级:指导教师:高雪飞目录一、设计题目和要求…………………………………………1二、设计原理与实现功能……………………………………1三、元器件介绍………………………………………………四、电路设计…………………………………………………五、软件设计…………………………………………………六、设计总结…………………………………………………一、设计题目和要求题目:用STC89C52单片机和1602液晶做的数字时钟要求:1.准确计时,以数字形式显示时、分、秒的时间;2.小时的计时要求为“24翻1”,分和秒的计时为60进制。二、设计

2、原理与实现功能设计原理:控制芯片采用STC89C52RC单片机,晶振频率为11.0592MHZ,采用C语言编程,显示模块采用通用型1602液晶,发声模块采用无源蜂鸣器。参考资料:51单片机C语言编程,1602datasheet,网络。本装置使用的1602液晶为5v电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口,关于1602液晶的接口信号说明,主要技术参数,基本操作时序,RAM地址映射图,数据指针设置,初始化设置,写操作时序和其他设置请查阅1602的相关资料。计时部分采

3、用T0计时器中断方式1,TO定时器既有定时功能又有计数功能,通过设置与它们相关的特殊功能寄存器可以选择启用定时功能或计数功能。当定时器的计数器计满后,会产生中断,通知CPU该如何处理。关于51单片机的寄存器和中断功能及操作说明请查阅相关资料。蜂鸣器的发声为单片机的一个引脚加一个三极管控制。~10~(1.要画出结构框图;2.数字钟的实现方法不止一种,因此必须说明自己所设计的数字钟采用何种方法、何种原理)实现功能:开启装置,则在1602液晶上有左向右划过“helloworldIloveprograming”文字,之后上下两行显示年月日,星期和时间,其

4、中年月日星期只能通过程序更改,时分秒自动从0开始计时,按秒更新,时分秒可用装置的两个按键进行调节,分别为时间设置键,数值增大键,闹钟的时间设置只能通过程序进行更改,一旦液晶显示时间和程序设定时间完全一致,蜂鸣器发声。~10~(1.基本功能必须实现,在基本要求的基础上可以拓展功能,如报时、校时等;2.具体介绍所实现功能,例如用什么显示等等)三、元器件介绍STC89C52单片机X1,通用型1602液晶X1,无源蜂鸣器X1,8055型PNP型三极管X1,弹性小按键X3,5V电源X1,10K电阻X3,2K电阻X1,万能板或PCB板X1,30PF无极性电容

5、X2,10μF有极性电容X1,10K滑动变阻器X1,发光二极管X1。其中单片机和1602液晶是重点。(1.选取的元器件名称、型号、功能等;2.对重点的几个芯片要详细介绍。)四、电路设计~10~原理图由单片机最小系统模块,液晶模块,蜂鸣器模块,按键部分组成。(1.画出电路原理图;2.功能讲解。)五、软件设计#include//导入reg52.h头文件,该头文件中定义了52系列单片机内部所有的功能寄存器#defineucharunsignedchar//宏定义#defineuintunsignedintucharcodetable1

6、[]="helloword!";//系统开机时显示的界面ucharcodetable2[]="IlovePrograming";//系统开机时显示的界面ucharcodetable3[]="2015-12-6sunday";//定义日期ucharcodetable4[]="00:00:00";//定义初始时间ucharnum,count,hour,minute,sound,key1num;sbitlcden=P3^4;//液晶使能端sbitlcdrs=P3^5;//液晶数据/命令选择端sbitkey1=P3^6;//时间设置按键sbitkey2=

7、P3^7;//时间增大键sbitbeep=P2^3;//蜂鸣器信号voiddelay(uintk);//延时函数voidwrite_command(ucharcommand);//向液晶写命令函数~10~voidwrite_data(uchardate);//向液晶写数据函数voidwrite_time(uchartime,ucharx);//向液晶写时间voidinit();//初始化函数voidkeyscan();//键盘扫描函数voidalarm(ucharhours,ucharminutes,ucharsounds);//设置闹钟函数vo

8、idmain()//主函数{init();//首先初始化while(1)//死循环{keyscan();//轮询的方式键盘扫描,一切的轮

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

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

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