用51单片机和1602液晶做的数字钟.doc
《用51单片机和1602液晶做的数字钟.doc》由会员分享,可在线阅读,更多相关《用51单片机和1602液晶做的数字钟.doc(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date用51单片机和1602液晶做的数字钟用51单片机和1602液晶做的数字钟课程设计报告数字钟姓 名: 学 号: 班 级: 指导教师: 高雪飞 目 录一、 设计题目和要求1二、 设计原理与实现功能1三、 元器件介绍四、 电路设计五、 软件设计六、 设计总结-一、设计题目和要求题目:用STC89C52单片机和1602液晶做的数字时钟要求:1.准确计时,以数字形式显示时、分、
2、秒的时间;2.小时的计时要求为“24翻1”,分和秒的计时为60进制。二、设计原理与实现功能设计原理:控制芯片采用STC89C52RC单片机,晶振频率为11.0592MHZ,采用C语言编程,显示模块采用通用型1602液晶,发声模块采用无源蜂鸣器。参考资料:51单片机C语言编程,1602datasheet,网络。本装置使用的1602液晶为5v电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口,关于1602液晶的接口信号说明,主要技术参数,基本操作时序,RAM地址映射图,数据指针设置,初始化设置,写操作时序和其他设置请查阅1
3、602的相关资料。计时部分采用T0计时器中断方式1,TO定时器既有定时功能又有计数功能,通过设置与它们相关的特殊功能寄存器可以选择启用定时功能或计数功能。当定时器的计数器计满后,会产生中断,通知CPU该如何处理。关于51单片机的寄存器和中断功能及操作说明请查阅相关资料。蜂鸣器的发声为单片机的一个引脚加一个三极管控制。(1.要画出结构框图;2.数字钟的实现方法不止一种,因此必须说明自己所设计的数字钟采用何种方法、何种原理)实现功能:开启装置,则在1602液晶上有左向右划过“hello world I love programing”文字,之后上下两行显示年月日,星期和时间,其中年月日星期只能通过
4、程序更改,时分秒自动从0开始计时,按秒更新,时分秒可用装置的两个按键进行调节,分别为时间设置键,数值增大键,闹钟的时间设置只能通过程序进行更改,一旦液晶显示时间和程序设定时间完全一致,蜂鸣器发声。(1.基本功能必须实现,在基本要求的基础上可以拓展功能,如报时、校时等;2具体介绍所实现功能,例如用什么显示等等)三、元器件介绍STC89C52单片机X1,通用型1602液晶X1,无源蜂鸣器X1,8055型PNP型三极管X1,弹性小按键X3,5V电源X1,10K电阻X3,2K电阻X1,万能板或PCB板X1,30PF无极性电容X2,10F有极性电容X1,10K滑动变阻器X1,发光二极管X1。其中单片机和
5、1602液晶是重点。(1.选取的元器件名称、型号、功能等;2.对重点的几个芯片要详细介绍。)四、电路设计原理图由单片机最小系统模块,液晶模块,蜂鸣器模块,按键部分组成。(1.画出电路原理图;2.功能讲解。)五、软件设计#include/导入reg52.h头文件,该头文件中定义了52系列单片机内部所有的功能寄存器#define uchar unsigned char/宏定义#define uint unsigned intuchar code table1= hello word! ;/系统开机时显示的界面uchar code table2=Ilove Programing;/系统开机时显示的界
6、面uchar code table3=2015-12-6 sunday ;/定义日期uchar code table4= 00:00:00 ;/定义初始时间uchar num,count,hour,minute,sound,key1num;sbit lcden=P34;/液晶使能端sbit lcdrs=P35;/液晶数据/命令选择端sbit key1=P36;/时间设置按键sbit key2=P37;/时间增大键sbit beep=P23;/蜂鸣器信号void delay(uint k);/延时函数void write_command(uchar command);/向液晶写命令函数void
7、write_data(uchar date);/向液晶写数据函数void write_time(uchar time,uchar x);/向液晶写时间void init();/初始化函数void keyscan();/键盘扫描函数void alarm(uchar hours,uchar minutes,uchar sounds);/设置闹钟函数void main()/主函数init();/首先初始化while(1)/死循环keyscan();/轮询的方式键盘扫描,一切的轮询都可用中断来处理alarm(21,45,0);/设定闹钟的定时时刻,参数依次为时分秒,如21:45:00void time
8、r()interrupt 1/T0定时器/计数器中断,目的是精准设定一秒的实现TH0=(65536-50000)/256;/重装初值,TL0=(65536-50000)%256;count+;if(count=20)/如果到了20次,说明一秒时间已到count=0; /把count清零重新计时sound+;if(sound=60) /秒到了60则进位一分钟sound=0;minute+;if(minute=60)/分到了60则进位一小时minute=0;hour+;if(hour=24)/新的一天开始hour=0;write_time(hour,4);/写入小时的变化到液晶write_time
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 1602 液晶 数字
限制150内