单片机实时时钟电路(LCD1602、DS1302)

想要更多项目私wo!!!

一、简介

此电路主要有51单片机、LCD1602模块、DS1302芯片组成,通过LCD1062显示当前时间。

二、运行效果

三、源文件

main.c

/*想要更多项目私wo!!!*/
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uint unsigned int
#define uchar unsigned charsbit IO = P1^0;
sbit SCLK = P1^1;
sbit RST = P1^2;
sbit RS = P2^0;
sbit RW = P2^1;
sbit EN = P2^2;uchar *WEEK[]=
{"SUN","***","MON","TUS","WEN","THU","FRI","SAT"
};
uchar LCD_DSY_BUFFER1[]={"DATE 00-00-00    "};
uchar LCD_DSY_BUFFER2[]={"TIME 00:00:00    "};
uchar DateTime[7];void DelayMS(uint ms)
{uchar i;while(ms--){for(i=0;i<120;i++);}
}void Write_A_Byte_TO_DS1302(uchar x)
{uchar i;for(i=0;i<8;i++){IO=x&0x01;SCLK=1;SCLK=0;x>>=1;}
}uchar Get_A_Byte_FROM_DS1302()
{uchar i,b=0x00;for(i=0;i<8;i++){b |= _crol_((uchar)IO,i);SCLK=1;SCLK=0;}return b/16*10+b%16;
}uchar Read_Data(uchar addr)
{uchar dat;RST = 0;SCLK=0;RST=1;Write_A_Byte_TO_DS1302(addr);dat = Get_A_Byte_FROM_DS1302();SCLK=1;RST=0;return dat;
}void GetTime()
{uchar i,addr = 0x81;for(i=0;i<7;i++){DateTime[i]=Read_Data(addr);addr+=2;}
}uchar Read_LCD_State()
{uchar state;RS=0;RW=1;EN=1;DelayMS(1);state=P0;EN = 0;DelayMS(1);return state;
}void LCD_Busy_Wait()
{while((Read_LCD_State()&0x80)==0x80);DelayMS(5);
}void Write_LCD_Data(uchar dat)
{LCD_Busy_Wait();RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);EN=0;
}void Write_LCD_Command(uchar cmd)
{LCD_Busy_Wait();RS=0;RW=0;EN=0;P0=cmd;EN=1;DelayMS(1);EN=0;
}void Init_LCD()
{Write_LCD_Command(0x38);DelayMS(1);    Write_LCD_Command(0x01);DelayMS(1); Write_LCD_Command(0x06);DelayMS(1); Write_LCD_Command(0x0c);DelayMS(1);
}void Set_LCD_POS(uchar p)
{Write_LCD_Command(p|0x80);
}void Display_LCD_String(uchar p,uchar *s)
{uchar i;Set_LCD_POS(p);for(i=0;i<16;i++){Write_LCD_Data(s[i]);DelayMS(1);    }
}void Format_DateTime(uchar d,uchar *a)
{a[0]=d/10+'0';a[1]=d%10+'0';
}void main()
{Init_LCD();while(1){GetTime();Format_DateTime(DateTime[6],LCD_DSY_BUFFER1+5);Format_DateTime(DateTime[4],LCD_DSY_BUFFER1+8);Format_DateTime(DateTime[3],LCD_DSY_BUFFER1+11);strcpy(LCD_DSY_BUFFER1+13,WEEK[DateTime[5]]);Format_DateTime(DateTime[2],LCD_DSY_BUFFER2+5);Format_DateTime(DateTime[1],LCD_DSY_BUFFER2+8);Format_DateTime(DateTime[0],LCD_DSY_BUFFER2+11);Display_LCD_String(0x00,LCD_DSY_BUFFER1);Display_LCD_String(0x40,LCD_DSY_BUFFER2);}
}

单片机设计_实时时钟电路(AT89C51、LCD1602、DS1302)相关推荐

  1. 单片机设计_实时时钟(AT89C51、LCD1602、PCF8563)

    单片机 实时时钟电路(LCD1602.PCF8563) 想要更多项目私wo!!! 一.简介 此电路主要有51单片机.LCD1602模块.PCF8563芯片和按键组成组成,通过LCD1062显示当前时间 ...

  2. 单片机设计_智能计算器(AT89C51、LCD1602、矩阵键盘)

    基于单片机的智能计算器(AT89C51.LCD1602.矩阵键盘) 想要更多项目私wo!!! 一.简介 此电路由AT89C51最小系统.LCD1602液晶显示模块和矩阵键盘模块组成. 二.执行效果 三 ...

  3. 单片机设计_贪吃蛇游戏(AT89C51)

    51单片机游戏(贪吃蛇) 想要更多项目私wo!!! 一.电路设计 此电路由AT89C51最小系统.74HC595位移缓存器.8*8点阵LED屏和按键组成. 74HC595位移缓存器 74HC595是一 ...

  4. 实时时钟电路DS1302的原理及应用

    2006-05-11 10:10:39 实时时钟电路DS1302的原理及应用 摘 要:介绍美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302的结构.工作原理及其在实时显示时 ...

  5. 【单片机】2.6 时钟电路与时序

    时钟电路产生AT89S52工作时所必需的控制信号,在时钟信号的控制下,严格按时序执行指令. 执行指令时,CPU 首先到程序存储器中取出需要执行的指令操作码(取指),然后译码,并由时序电路产生一系列控制 ...

  6. FPGA设计的心脏——时钟电路

    FPGA设计的心脏--时钟电路 用心脏来比喻硬件设计中的时钟,再合适不过了. 心脏跳动的节拍,频率,就好比时钟的频率大小,上升和下降: 时钟虽起伏有别,却周而复始. 本文内容出自<通信IC设计& ...

  7. 基于单片机的超市储物柜设计_一种基于at89c51单片机的超市寄存装置的制造方法...

    一种基于at89c51单片机的超市寄存装置的制造方法 [专利摘要]一种基于AT89C51单片机的超市寄存装置,主要包括AT89C51单片机最小系统.按键模块.电源模块.箱柜控制模块.语音提醒模块.管理 ...

  8. 单片机设计 万年历与计算器(AT89C51)

    想要更多项目私wo!!! 一.简介 此系统主要由AT89C51.DS18B20温度模块.LCD1602液晶显示屏.DS1302时钟模块和矩阵按键组成. 二.运行效果图 三.部分代码 #include ...

  9. FPGA:时钟模块设计-RTC实时时钟芯片DS1302

    前言 首先我要明确,这个RTC是在干什么,通过查阅DS1302芯片手册,我知道了,要想使用这块芯片,我需要用FPGA生成3个信号,然后用DS1302去实现具体功能,需要实现什么功能我先不用关心,现在需 ...

最新文章

  1. 深度神经网络中的Inception模块介绍
  2. 深度学习:技术原理、迭代路径与局限
  3. 从ASP.NET得到Microsoft Word文档
  4. 历史命令history
  5. 初探linux子系统集之led子系统(一)【转】
  6. 读博是围城吗?为什么很多读博的人都觉得自己很惨?可我真的羡慕啊!
  7. android入门学习-天气预报app(一)
  8. telnet ip 端口
  9. python 阿狸的进阶之路(4)
  10. LeetCode 1868. 两个行程编码数组的积(双指针)
  11. CCTV 报道深圳高交会上的物联网城市应急感知网络
  12. 【游戏】基于matlab GUI时钟设计【含Matlab源码 1102期】
  13. PyQt5 打造GUI爬虫 小说下载器
  14. 真实渗透改编--综合渗透 sql注入写马+文件上传+udf提权 安鸾靶场SQL注入学习
  15. 【上海 >>无锡】自驾两日游
  16. opencv进阶-背景建模-(帧差法与混合高斯模型)
  17. html5水墨背景,好看的水墨画背景图片
  18. 解决Pixel手机时间不能自动同步
  19. 浏览器输入baidu.com加载的过程是什么,听完我的回答和尚摇了摇头,就这?
  20. 网易自媒体视频,批量修改md5采集下载上传,批量自动去水印加水印软件 今日头条自媒体视频,youtubu...

热门文章

  1. ABAP 前台执行和后台执行
  2. 广东省计算机一级网络题分值,计算机一级各题分值 [Office操作题自动评分的分析与实现]...
  3. CW6163C车床的三维仿真及加工工艺
  4. Android开发之经典的Arity Calculator图形计算器
  5. FairMOT复现测试问题
  6. Multi-class Classication (多分类问题)实例--手写数字识别
  7. flutter图片预览_flutter 图片查看,仿微信
  8. django数据库操作和中间件
  9. 进阶技能篇:SQL的跨库查询与链接服务器
  10. ivx平台开发——不用代码实现一个九宫格抽奖