完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
////*****重庆三峡学院电子与信息工程学院 创新实验室 唐老鸭*****////
#ifndef __DS1302_H__ #define __DS1302_H__ #include "delay.h" #define sclk_in P1DIR&=~BIT5 #define sclk_out P1DIR|=BIT5 #define sclk_h P1OUT|=BIT5 #define sclk_l P1OUT&=~BIT5 #define dio_in P1DIR&=~BIT6 #define dio_out P1DIR|=BIT6 #define dio_h P1OUT|=BIT6 #define dio_l P1OUT&=~BIT6 #define ce_in P1DIR&=~BIT7 #define ce_out P1DIR|=BIT7 #define ce_h P1OUT|=BIT7 #define ce_l P1OUT&=~BIT7 static int shi,fen,miao,nian,yue,ri,week; //写命令以及地址 void write(uchar add,uchar date) { uchar temp,t; ce_out; ce_l; sclk_out; sclk_l; ce_h; temp=add; dio_out; for(t=0;t<8;t++)//写地址命令 { if((temp&0x01)==1) dio_h; else dio_l; sclk_h; delay(3); sclk_l; temp=temp>>1; } temp=date; for(t=8;t>0;t--) //写数据 { if((temp&0x01)==1) dio_h; else dio_l; sclk_h; delay(3); sclk_l; temp=temp>>1; } } uchar read(uchar add) { uchar temp,t; ce_out; sclk_out; ce_l; sclk_l; ce_h; temp=add; dio_out; for(t=0;t<8;t++) { if((temp&0x01)==1) dio_h; else dio_l; sclk_h; sclk_l; temp>>=1; } temp=0; dio_in; for(t=0;t<7;t++) { if(P1IN&BIT6) temp=temp|0x80; else temp=temp&0x7f; sclk_h; sclk_l; temp>>=1; } //传送一个字节需要16个时钟 return temp/16*10+temp%16;//将BCD码转换成10进制码 } void init_time() { write(0x8e,0x00);//写保护,相当于初始化或者缓冲 write(0x80,(miao/10<<4)|(miao%10)); //写秒 write(0x82,(fen/10<<4)|(fen%10));//写分 write(0x84,(shi/10<<4)|(shi%10)); //写时 write(0x86,(ri/10<<4)|(ri%10)); //写日 write(0x88,(yue/10<<4)|(yue%10));//写月 write(0x8a,(week/10<<4)|(week%10)); //写星期 write(0x8c,(nian/10<<4)|(nian%10));//写年 } //显示时间 void get_time() { shi=read(0x85);//读出时间 时 fen=read(0x83);//读出时间 分 miao=read(0x81);//读出时间 秒 nian=read(0x8d);//读出时间 年 yue=read(0x89);//读出时间 月 ri=read(0x87);//读出时间 日 week=read(0x8b);//读出时间 星期 } #endif |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
3035个成员聚集在这个小组
加入小组2931 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3608 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2344 浏览 1 评论
4809 浏览 1 评论
2574 浏览 1 评论
1334浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3613浏览 2评论
2933浏览 1评论
1521浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 07:59 , Processed in 1.235174 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号