下载此文档

1602液晶时钟程序(51单片机).doc


文档分类:通信/电子 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
1602液晶时钟程序
程序按郭天袢《新概念51单片机C语言教程》第十四章扩展显示年、月、日、星期调节功能。
时间显示在1602液晶上,并按秒实时更新
能调节按键调整时、分、秒、年、月、日和星期
每次按键按下时有短滴声响声
断电后下次上电会接着上次断电前的时间数继续运行
原理图如图
//原代码如下:
#include<reg52。h>
//#include"”
#define uchar unsigned char
#define uint unsigned int
#include”24c02。h"
sbit dula=P2^6;
sbit wela=P2^7;
sbit LCDEN=P3^4;
sbit LCDRS=P3^5;
sbit s1=P3^0;//定义按键--功能键
sbit s2=P3^1;//定义按键——增大键
sbit s3=P3^2;//定义按键--减小键
sbit rd=P3^7;//按键公共脚
sbit beep=P2^3;//定义蜂鸣器脚
uchar count,s1_num;//定义中断次数计数变量 功能键按键次数变量
uchar week,day,month,year;//定义变量:星期 日 月 年
char miao,shi,fen;//定义秒分时变量
uchar code table[]=” 2012—11-28 Wed”;
//void write_week(char we);//显示星期几函数
void delay(uint z)

uint x,y;
for(x=z;x>0;x--)
for(y=110;y〉0;y-—);

void di()//蜂鸣器响一声函数
{
beep=0;
delay(100);
beep=1;
}
void write_com(uchar com) //液晶写命令函数
{
LCDRS=0;
P0=com;
delay(5);
LCDEN=1;
delay(5);
LCDEN=0;
}
void write_date(uchar date) //液晶写数据函数
{
LCDRS=1;
P0=date;
delay(5);
LCDEN=1;
delay(5);
LCDEN=0;

void write_week(char we) //写星期几显示函数

write_com(0x80+12);
switch(we)
{
case 1: write_date('M');delay(5); //星期一 Monday
write_date(’o');delay(5);
write_date('n');delay(5);
break;

case 2: write_date('T');delay(5); //星期二 Tuesday
write_date(’u');delay(5);
write_date(’e');delay(5);
break;

case 3: write_date('W');delay(5); //Wednesday
write_date('e');delay(5);
write_date('d’);delay(5);
break;

case 4: write_date('T’);delay(5); //Thursday
write_date('h’);delay(5);
write_date(’u’);delay(5);
break;

case 5: write_date('F');delay(5); //星期五 Friday

1602液晶时钟程序(51单片机) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人luciferios06
  • 文件大小3.30 MB
  • 时间2021-04-21