51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版

上传人:世*** 文档编号:152424233 上传时间:2020-11-23 格式:DOC 页数:20 大小:198KB
返回 下载 相关 举报
51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版_第1页
第1页 / 共20页
51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版_第2页
第2页 / 共20页
51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版_第3页
第3页 / 共20页
51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版_第4页
第4页 / 共20页
51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版》由会员分享,可在线阅读,更多相关《51单片机、数字钟、LCD显示年月日、闹钟、纪念日功能完整测试成功版(20页珍藏版)》请在金锄头文库上搜索。

1、实现功能 基于内部定时器的走时、调时、整点报时(蜂鸣器、LED)、3个闹钟设置,LCD显示时、分、秒、年、月、日、5个按键操作,添加纪念日功能。 题 目: 单片机电子钟 院 (系): 专 业: 学 号: 姓 名: 2011年 11 月 11 日摘 要.关键词:单片机 AT89C51 1602液晶显示器 2.实验内容2.1电子钟的仿真及原理图原理图如下:2.2电子钟的PCB封装图2.3 AT89C51的工作原理 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM

2、),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。3、功能特性概述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个IO 口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断

3、系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 3.1 主要性能参数:与MCS-51产品指令系统完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24MHz三级加密程序存储器1288字节内部RAM32个可编程IO口线2个16位定时计数器6个中断源可编程串行UART通道低功耗空闲和掉电模式4、 电子钟工作原理:利用51单片机内部定时计数器功能产生1S的计时,通过设定好的变量及函数分别按一定进制累加到时、分、秒、日、月、年上,通过按键扫描完成时间修改及闹钟设置,最后通过LCD1602显示时间,通过蜂鸣器及LED进行

4、整点报时和闹钟报时。5、通用1602液晶介绍:6、 电子钟源程序程序/*使用说明:K1键为菜单选项:单击进入位选择修改;双击:修改;K2键为上调键;K3键为下调键;K4键为退出修改;K5键为闹钟时间设置键;按一次:闹钟一;两次:闹钟二;三次:闹钟三;四次:重置 五次:纪念日*/#include/* 位定义*/sbit RS=P20; /功能数据选择位sbit RW=P21; /读写选择位sbit E=P22; /使能位 0sbit busy=P07; /lcd忙标位sbit menu=P10; /菜单及确定sbit inc=P11; /增一sbit dec=P12; /减一sbit quit=

5、P13; /退出sbit sound=P14; /闹钟控制/* 全局变量*/unsigned char data sec20,sec,min,hour,amin1,ahour1,amin2,ahour2,amin3,ahour3,temp,year1,year2,month,day,amonth,aday; /计秒,秒,分,时unsigned char data timebuf=0,0,0x3a,0,0,0x3a,0,0,0,0,0,0,0x2d,0,0,0x2d,0,0; /存放时间unsigned char key; /按键标志unsigned char time=0; /记录按menu键

6、的次数unsigned char place=0x84; /记录光标的位置unsigned char signal=0; /光标与时间值增减标志位 /0光标 1时间值/* 函数申明*/void delay(unsigned char ms); /延时函数void cbusy(); /测试lcd忙碌状态函数void wrcom(unsigned char cmd); /写指令函数void wrdat(unsigned char dat); /写数据函数void lcdinit(); /lcd初始化函数void protime(); /时间处理函数void display(); /时间显示函数un

7、signed char scankey(); /按键扫描void keywork(); / 按键功能处理函数void naoling1();void naoling2();void naoling3();/* 延时函数*/void delay(unsigned char ms) unsigned char i; unsigned char m=4; while(ms-) for(i=0;i20;i+) do while(m-); /* 测试lcd忙碌状态函数*/void cbusy() do P0=0xff; RS=0; RW=1; E=0; E=0; busy=P0&0x80; E=1; w

8、hile(busy!=0);/* 写指令函数*/void wrcom(unsigned char cmd) P0=cmd; RS=0; RW=0; E=0; cbusy(); E=1;/* 写数据函数*/void wrdat(unsigned char dat) P0=dat; RS=1; RW=0; E=0; cbusy(); E=1;/* lcd初始化函数*/void lcdinit() wrcom(0x01); /清屏 wrcom(0x38); /8位总线,5*7点阵 wrcom(0x14); /文字不动光标自动右移 wrcom(0x0c); /开显示光标不显不闪/* 定时器0中断产生秒*/void time0() interrupt 1 /*定时中断0*/ TL0=0xb0; /定时50ms TH0=0x3c; sec20+; /计数到一秒 protime();/*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号