用51单片机和1602液晶做的数字钟剖析.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用51单片机和1602液晶做的数字钟剖析

课程设计报告 数字钟 姓 名: 学 号: 班 级: 指导教师: 目 录 设计题目和要求…………………………………………1 设计原理与实现功能……………………………………1 元器件介绍……………………………………………… 电路设计………………………………………………… 软件设计………………………………………………… 设计总结………………………………………………… 一、设计题目和要求 题目:用STC89C52单片机和1602液晶做的数字时钟 要求: 1.准确计时,以数字形式显示时、分、秒的时间; 2.小时的计时要求为“24翻1”,分和秒的计时为60进制。 二、设计原理与实现功能 设计原理: 控制芯片采用STC89C52RC单片机,晶振频率为11.0592MHZ,采用C语言编程,显示模块采用通用型1602液晶,发声模块采用无源蜂鸣器。 参考资料:51单片机C语言编程,1602datasheet,网络。 本装置使用的1602液晶为5v电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口,关于1602液晶的接口信号说明,主要技术参数,基本操作时序,RAM地址映射图,数据指针设置,初始化设置,写操作时序和其他设置请查阅1602的相关资料。 计时部分采用T0计时器中断方式1,TO定时器既有定时功能又有计数功能,通过设置与它们相关的特殊功能寄存器可以选择启用定时功能或计数功能。当定时器的计数器计满后,会产生中断,通知CPU该如何处理。关于51单片机的寄存器和中断功能及操作说明请查阅相关资料。 蜂鸣器的发声为单片机的一个引脚加一个三极管控制。 (1.要画出结构框图;2.数字钟的实现方法不止一种,因此必须说明自己所设计的数字钟采用何种方法、何种原理) 实现功能: 开启装置,则在1602液晶上有左向右划过“hello world I love programing”文字,之后上下两行显示年月日,星期和时间,其中年月日星期只能通过程序更改,时分秒自动从0开始计时,按秒更新,时分秒可用装置的两个按键进行调节,分别为时间设置键,数值增大键,闹钟的时间设置只能通过程序进行更改,一旦液晶显示时间和程序设定时间完全一致,蜂鸣器发声。 (1.基本功能必须实现,在基本要求的基础上可以拓展功能,如报时、校时等;2.具体介绍所实现功能,例如用什么显示等等) 三、元器件介绍 STC89C52单片机X1,通用型1602液晶X1,无源蜂鸣器X1,8055型PNP型三极管X1,弹性小按键X3,5V电源X1,10K电阻X3,2K电阻X1,万能板或PCB板X1,30PF无极性电容X2,10μF有极性电容X1,10K滑动变阻器X1,发光二极管X1。 其中单片机和1602液晶是重点。 (1.选取的元器件名称、型号、功能等;2.对重点的几个芯片要详细介绍。) 四、电路设计 原理图由单片机最小系统模块,液晶模块,蜂鸣器模块,按键部分组成。 (1.画出电路原理图;2.功能讲解。) 五、软件设计 #includereg52.h//导入reg52.h头文件,该头文件中定义了52系列单片机内部所有的功能寄存器 #define uchar unsigned char //宏定义 #define uint unsigned int uchar code table1[]= hello word! ;//系统开机时显示的界面 uchar code table2[]=Ilove Programing;//系统开机时显示的界面 uchar code table3[]=2015-12-6 sunday ;//定义日期 uchar code table4[]= 00:00:00 ;//定义初始时间 uchar num,count,hour,minute,sound,key1num; sbit lcden=P3^4;//液晶使能端 sbit lcdrs=P3^5;//液晶数据/命令选择端 sbit key1=P3^6;//时间设置按键 sbit key2=P3^7;//时间增大键 sbit beep=P2^3;//蜂鸣器信号 void delay(uint k);//延时函数 void write_command(uchar command);//向液晶写命令函数 void write_data(uchar date);//向液晶写数据函数 void write_time(uchar time,uchar x);//向液晶写时间 void init();//初始化函数 void keyscan();//键盘扫描函数 void alarm(uchar hours,uchar

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档