注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! 打开购物车 查看留言付款方式联系我们
初中电子 单片机教材一 单片机教材二
搜索上次看见的商品或文章:
商品名、介绍 文章名、内容
首页 电子入门 学单片机 免费资源 下载中心 商品列表 象棋在线 在线绘图 加盟五一 加入收藏 设为首页
本站推荐:
有谁用过DS1302时钟芯片
文章长度[3269] 加入时间[2007/3/19] 更新时间[2024/4/9 12:21:09] 级别[0] [评论] [收藏]

如有用过,能否为我提供部分程序?huxhua@163.com 我在此先谢过了各位。
---------------------------------------------------------------
好象有个pcf8583,带ram的,蛮不错的,试试看。
---------------------------------------------------------------
用1302做过系统,感觉体积小、接口线少,缺点是没有中断输出,还需外接电池。
---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------
大家好多都在用DS12887,你也试试吧。
---------------------------------------------------------------
;========================时钟读写程序=============================
; ----------D1302充电程序---------------------------
CD: LCALL ST02 ; D1302充电程序
MOV A,#90H
LCALL WR02
MOV A,#0A5H
LCALL WR02 RET ;---------将秒分时日月年分别从F9~FF这7个寄存器写入时钟芯片中程序-------
WRCLOCK: MOV R0, #0F9H LCALL ST02 ; 起动D1302
MOV A, #80H ;写入秒 ;写入日期
LCALL WR02
MOV A, @R0
LCALL WR02
LCALL STOP02
LCALL ST02 ;写入分
INC R0
MOV A,#82H
LCALL WR02
MOV A, @R0
LCALL WR02
LCALL STOP02
LCALL ST02 ;写入小时
INC R0
MOV A,#84H
LCALL WR02
MOV A, @R0
LCALL WR02
LCALL STOP02
LCALL ST02 ;写入日
INC R0 MOV A,#86H
LCALL WR02
MOV A, @R0
LCALL WR02
LCALL STOP02
LCALL ST02 ;写入月
INC R0
MOV A,#88H
LCALL WR02
MOV A, @R0
LCALL WR02
LCALL STOP02
LCALL ST02 ;写入年
INC R0
INC R0
MOV A,#8CH
LCALL WR02
MOV A, @R0
LCALL WR02
LCALL STOP02
RET ;----------------;将秒分时日月周年分别读入到F9~FF这7个寄存器中--------------
CSCLOCK1:LCALL ST02 ;起动D1302
MOV A, #0BFH ;BFH为突发寄存器,可一次性读
LCALL WR02 ;写D1302
MOV R0, #0F9H ;秒,分,时地址
MOV R6, #07H
LP: LCALL RD02 ;调读D1302
MOV @R0, A
INC R0
DJNZ R6, LP
LCALL STOP02 ;停止D1302
RET ; ------------起动D1302子程序--------------
ST02: CLR P2.5
CLR CL
NOP
NOP
SETB P2.5
RET ; ------------写D1302子程序----------------
WR02: MOV R7, #08H
LP02: CLR CL
RRC A
MOV SD, C
NOP
NOP
SETB CL
NOP
NOP
DJNZ R7, LP02 RET ; --------- 读D1302子程序-----------------
RD02: MOV R7, #08H
SETB SD
LP021: CLR CL
NOP
MOV C, SD
RRC A
SETB CL
NOP
NOP
DJNZ R7, LP021
RET ; --------- 结束D1302子程序-----------------
STOP02: CLR P2.5 ;停止D1302 NOP NOP RET
---------------------------------------------------------------

---------------------------------------------------------------

---------------------------------------------------------------
#include #define uchar unsigned char #define uint unsigned int sbit led=P0^0; sbit rst=P1^2; sbit clk=P1^0; sbit io=P1^1; uchar temp; void delay1(uchar x) { /*空*/ uchar i; for(i=0;i>1; clk=1;delay1(2);clk=0;delay1(2);} } uchar read(){ /*读操作*/ uchar tmp; register uchar i;bit x; tmp=0; for(i=0;i<8;i++){x=io;clk=1;delay1(2);clk=0;delay1(2); if(x==1)tmp+=1<>1; clk=1;delay1(2);clk=0;delay1(2);} rst=0; }
---------------------------------------------------------------
我正在改用别的的时钟芯片,DS1302常乱码,如你想用它,我可以把程序传给你

1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!
本站协议 | 版权信息 |  关于我们 |  本站地图 |  营业执照 |  发票说明 |  付款方式 |  联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102
E-mail:51dz$163.com($改为@);Tel:(0755)27947428
工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389