当前位置: 首页 > news >正文

十堰网站制作公司电话个人网站设计成品

十堰网站制作公司电话,个人网站设计成品,佛山正规企业网站排名优化,网站源码com大全1.分析原理图 由上图可以看到,芯片的时钟引脚SCK接到了P17,数据输出输入引脚IO接到P23,复位引脚RST接到P13。 2.查阅DS1302芯片手册 具体细节还需自行翻阅手册,我只截出重点部分 总结:数据在上升沿写出,下降沿读入,…

1.分析原理图

在这里插入图片描述
由上图可以看到,芯片的时钟引脚SCK接到了P17,数据输出输入引脚IO接到P23,复位引脚RST接到P13。

2.查阅DS1302芯片手册

具体细节还需自行翻阅手册,我只截出重点部分
在这里插入图片描述
总结:数据在上升沿写出,下降沿读入,读时序命令字节结束的下降沿读出数据
在这里插入图片描述

3.代码封装库

请自行阅读芯片手册,理解记忆即可

#include "ds1302.h"void DS1302_writebyte(u8 command,u8 byte)
{u8 i;RST=1;for(i=0;i<8;i++){IO=command &(0x01<<i);	//低位在前SCK=1;	//提供上升沿,输出数据SCK=0;}for(i=0;i<8;i++){IO=byte &(0x01<<i);	//低位在前SCK=1;	//提供上升沿,输出数据SCK=0;}RST=0;
}u8 DS1302_readbyte(u8 command)
{u8 i,byte=0x00;RST=1;command++;for(i=0;i<8;i++){IO=command &(0x01<<i);	//低位在前SCK=0;	//提供上升沿,输出数据SCK=1;}for(i=0;i<8;i++){SCK=1;	//在下降沿读入数据SCK=0;if(IO) byte|=(0x01<<i);	//低位在前}RST=0;IO=0;	//复位return byte;
}//时间数组,分别为年、月、日、时、分、秒、星期
u8 DS1302_Time[]={24,1,28,00,00,30,7};//写入初始时间
void Init_DS1302()
{RST=0;SCK=0;	//复位DS1302_writebyte(0x8e,0x00);//写保护关//十进制转BCD码后写入DS1302_writebyte(0x8c,DS1302_Time[0]/10*16+DS1302_Time[0]%10);	//年DS1302_writebyte(0x88,DS1302_Time[1]/10*16+DS1302_Time[1]%10);	//月DS1302_writebyte(0x86,DS1302_Time[2]/10*16+DS1302_Time[2]%10);	//日DS1302_writebyte(0x84,DS1302_Time[3]/10*16+DS1302_Time[3]%10);	//时DS1302_writebyte(0x82,DS1302_Time[4]/10*16+DS1302_Time[4]%10);	//分DS1302_writebyte(0x80,DS1302_Time[5]/10*16+DS1302_Time[5]%10);	//秒DS1302_writebyte(0x8a,DS1302_Time[6]/10*16+DS1302_Time[6]%10);	//星期DS1302_writebyte(0x8e,0x80);
}//读取后的时间存放于数组DS1302_Time[]
void DS1302_ReadTime()
{//BCD码转十进制后读取u8 Temp;Temp=DS1302_readbyte(0x8c);DS1302_Time[0]=(Temp>>4)*10+Temp%16;Temp=DS1302_readbyte(0x88);DS1302_Time[1]=(Temp>>4)*10+Temp%16;Temp=DS1302_readbyte(0x86);DS1302_Time[2]=(Temp>>4)*10+Temp%16;Temp=DS1302_readbyte(0x84);DS1302_Time[3]=(Temp>>4)*10+Temp%16;Temp=DS1302_readbyte(0x82);DS1302_Time[4]=(Temp>>4)*10+Temp%16;Temp=DS1302_readbyte(0x80);DS1302_Time[5]=(Temp>>4)*10+Temp%16;Temp=DS1302_readbyte(0x8a);DS1302_Time[6]=(Temp>>4)*10+Temp%16;
}

4.使用示例

我这里使用之前封装的数码管显示函数来显示时间:

#include "main.h"extern u8 DS1302_Time[];//0~6:年月日时分秒星期void System_Init(void);
void Timer0_Init(void);void main()
{System_Init();Timer0_Init();Init_DS1302();while(1){Nixie_Display(1,DS1302_Time[3]/10);	//时Nixie_Display(2,DS1302_Time[3]%10);Nixie_Display(3,DS1302_Time[4]/10);	//分Nixie_Display(4,DS1302_Time[4]%10);Nixie_Display(5,DS1302_Time[5]/10);	//秒Nixie_Display(6,DS1302_Time[5]%10);Nixie_Display(7,16);	//.Nixie_Display(8,DS1302_Time[6]);	//星期天}
}void Timer0_Isr() interrupt 1
{static u16 count1=0;if(++count1==1000){P10=!P10;Set_Leds(1,P10);DS1302_ReadTime();count1=0;}
}void Timer0_Init()		//1毫秒@12.000MHz
{AUXR &= 0x7F;			//12T模式TMOD &= 0xF0;			//定时器0:16位自动重装载TL0 = 0x18;				//设置定时初始值TH0 = 0xFC;TF0 = 0;	//清除TF0标志ET0 = 1;	//使能定时器0中断EA = 1;		//开总中断TR0 = 1;	//定时器0开始计时
}void System_Init()//系统上电初始化
{//先锁存蜂鸣器,继电器所在573输出低电平,防止上电乱叫P25=1;P26=0;P27=1; //74HC138-->Y5=0,else=1-->Y5C=1,else=0P04=0;P06=0;	//ULN2003输入经过非门送入达林顿管,低电平有效P25=0;P26=0;P27=0;//锁存数据//关闭所有LED灯P25=0;P26=0;P27=1; //74HC138-->Y4=0,else=1-->Y4C=1,else=0P0=0XFF;P25=0;P26=0;P27=0;//锁存数据
}
http://www.mmbaike.com/news/85969.html

相关文章:

  • 营销网站建设都是专业技术人员吗精准引流的网络推广方法
  • 怎样上传图片到自己公司网站东莞百度推广排名
  • 点样用外网访问自己做的网站湖北网络推广
  • 上海网站建设哪家口碑好平台推广计划
  • 怎么在服务器里面建设网站黑龙江seo关键词优化工具
  • 桂林象鼻山门票多少钱seo关键词排名优化费用
  • 中国电信爱资源app宁波seo排名外包公司
  • asp的web音乐网站设计天猫seo搜索优化
  • 张店区网站建设特点有哪些 谢谢广告优化师
  • 售后网站用什么模板品牌网络营销推广方案策划
  • 长沙大型网站建设公司seo优化诊断
  • 重庆市建筑工程造价信息网seo外链在线工具
  • 广州网站建设快速排名杭州百度快照优化公司
  • 用ps做班级网站浏览器谷歌手机版下载
  • 视觉营销的网站设计软文广告500字
  • 朝阳专业做网站seo技术培训茂名
  • 美女做瑷网站海洋网络推广效果
  • 专门做旅游保险的网站360提交入口网址
  • 武汉网站多少建网站找谁
  • wordpress编辑页面没用seo高手培训
  • 房产网站开发功能手册设计网站模板
  • 免费建站网站一级大录像不卡在线看网页大连企业黄页电话
  • 营销网站的建设与管理包括哪些事项杭州网络推广网络优化
  • 兰州市做网站的企业有哪些网站建设报价单模板
  • 做网站怎么添加点击事件一站式营销平台
  • 广州加盟网站建设昨日凌晨北京突然宣布重大消息
  • 网站建设专家推荐乐云seo如何做好营销
  • 专做律师网站苏州网站优化排名推广
  • 有哪些网站可以做设计比赛广州百度seo优化排名
  • 二手交易网站建设目标推荐几个靠谱的网站