网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月18日漏签0天
单片机吧 关注:213,567贴子:1,051,872
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回单片机吧
>0< 加载中...

一个DS1302的定时显示程序,如何将now的数组跟显示时间做判断

  • 只看楼主
  • 收藏

  • 回复
  • 换个出发点
  • 下士
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include"shumguan.h"
#include "ds1302.h"
char num=0;
sbit beep=P1^3;
u8 DisplayData[8];
u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
extern u8 TIME[7];
unsigned char NOW[4]={2,5,0,0,}; // 番茄计时终止时间25分钟
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函 数 名 : datapros()
* 函数功能 : 时间读取处理转换函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void datapros()
{
Ds1302ReadTime();
DisplayData[0] = smgduan[TIME[1]/16];//分
DisplayData[1] = smgduan[TIME[1]&0x0f]+0x80;
DisplayData[2] = smgduan[TIME[0]/16];//秒
DisplayData[3] = smgduan[TIME[0]&0x0f];
}
/*******************************************************************************
* 函数名 :DigDisplay()
* 函数功能 :数码管显示函数
* 输入 : 无
* 输出 : 无
*******************************************************************************/
void DigDisplay()
{
u8 i;
for(i=0;i<4;i++)
{
switch(i) //位选,选择点亮的数码管,
{
case(0):
LSA=1;LSB=1;LSC=1; break;//显示第0位
case(1):
LSA=0;LSB=1;LSC=1; break;//显示第1位
case(2):
LSA=1;LSB=0;LSC=1; break;//显示第2位
case(3):
LSA=0;LSB=0;LSC=1; break;//显示第3位
}
P2=DisplayData[i];//发送数据
delay(100); //间隔一段时间扫描
/*P0=0x00;//消隐*/
}
}
void zhongzhi()
{
if(DisplayData[0]==NOW[0]&&DisplayData[1]== NOW[1]
&&DisplayData[2]==NOW[2]&&DisplayData[3] == NOW[3])// 设置NOW的时间与时钟时间显示比较
{
Ds1302Write(0x80,TIME[0]|0x80);
}
}


  • 虚空观察
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我记得1302写进去的时间要求是bcd码,读出来的不是bcd码,所以你那个读取出来的时间/16应该不对吧


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回单片机吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示