历史上的今天
返回首页

历史上的今天

今天是:2025年01月16日(星期四)

正在发生

2018年01月16日 | ds1302时钟芯片源程序

2018-01-16 来源:eefocus

;*********************************************************************
; Revision History:
;*********************************************************************

;---------- 管脚定义 --------------

RST EQU P1.5 ;DS1302
IO EQU P1.6
SCLK EQU P1.7


;*******************************************************************************
; The following is about DS1302
;*******************************************************************************

;-------------------------------------------------------------------------------
; RST1302 Reset 1302
; Function: Sends the command to reset 1302
; Calls: None
; InPara: None
; OutPara: None
; Register Usage: None 
;-------------------------------------------------------------------------------
RST1302:clr sclk
clr rst
setb rst
ret

;-------------------------------------------------------------------------------
; WRBYTE Write a byte to 1302
; Function: Shifts out a byte, starting with the LSB, to the RAM
; Calls: None
; InPara: A = the byte to be sent
; OutPara: None
; Register Usage: R2 
;-------------------------------------------------------------------------------
WRBYTE: mov r2,#08
wrbyt1: rrc a
mov io,C
clr sclk
setb sclk
djnz r2,wrbyt1 
ret 

;-------------------------------------------------------------------------------
; RDBYTE Read a byte from 1302
; Function: Recieves a byte, LSB first, from the RAM
; Calls: None
; InPara: None
; OutPara: A = recieved byte
; Register Usage: R2 
;-------------------------------------------------------------------------------
RDBYTE: mov R2, #08 ; Set bit counter to eight
clr a
setb io 
rdbyt1: setb sclk ; Bring SCK high
clr sclk ; Bring SCK low
mov C, io ; Receive data bit and store in carry
rrc A ; Shift byte right through carry 
djnz R2, rdbyt1 ; Finish if last data bit
ret

;-------------------------------------------------------------------------------------------------
; GETTIME Get time from 1302
; Function: 
; Calls: wrbyte,rdbyte
; InPara: R0 = Last address to store time
; OutPara: None
; Register Usage: R0,A 
;-------------------------------------------------------------------------------------------------
gettime:lcall rst1302
mov a,#0bfh
lcall wrbyte ;cLOCk burst read (eight registers)
lcall rdbyte ;sec
mov @r0,a
dec r0
lcall rdbyte ;min
mov @r0,a
dec r0
lcall rdbyte ;hour
mov @r0,a
dec r0
lcall rdbyte ;date
mov @r0,a
dec r0
lcall rdbyte ;month
mov @r0,a
dec r0
lcall rdbyte ;day
mov @r0,a
dec r0
lcall rdbyte ;year
mov @r0,a
dec r0
lcall rdbyte ;must read control register in burst mode
lcall rst1302
clr rst
ret

;-------------------------------------------------------------------------------------------------
; SETTIME Set time to 1302
; Function: 
; Calls: wrbyte,rdbyte
; InPara: R0 = Last address of the time to be sent
; OutPara: None
; Register Usage: R0,A 
;-------------------------------------------------------------------------------------------------
settime:lcall rst1302
mov a,#8eh
lcall wrbyte ;control register
clr a
lcall wrbyte ;dISAble write protect

lcall rst1302
mov a,#90h
lcall wrbyte ;trICkle charger register
mov a,#0abh
lcall wrbyte ;enable, 2 diodes, 8K resistor

lcall rst1302
mov a,#0beh
lcall wrbyte ;clock burst write (eight registers)

mov a,@r0
dec r0
lcall wrbyte ;sec
mov a,@r0
dec r0
lcall wrbyte ;min
mov a,@r0
dec r0
lcall wrbyte ;hour
mov a,@r0
dec r0
lcall wrbyte ;date
mov a,@r0
dec r0
lcall wrbyte ;mon
mov a,@r0
dec r0
lcall wrbyte ;day
mov a,@r0
dec r0
lcall wrbyte ;year

mov a,#80h
lcall wrbyte ;must write control register in burst mode, enable write protect
lcall rst1302
clr rst
ret

;*******************************************************************************


推荐阅读

史海拾趣

CQR SECURITY公司的发展小趣事

CQR SECURITY公司最初是一家专注于网络安全技术研发的小型创业公司。在创始人的带领下,公司团队攻克了一系列网络安全难题,开发出了具有高度创新性的安全协议。这一技术突破迅速吸引了业界关注,多家大型企业开始与CQR合作,共同推动产品的商业化应用。随着合作的深入,CQR逐渐在电子安全领域建立了自己的地位,最终发展成为一家业内知名的安全解决方案提供商。

Apex [Apex Microtechnology]公司的发展小趣事

Apex Microtechnology一直致力于开发在性能、质量和可靠性方面引领行业的产品。通过不断创新和研发,公司成功推出了多款具有竞争力的功率模拟产品,为全球客户提供高效的解决方案。同时,Apex Microtechnology也积极拓展全球市场,与众多知名企业建立了合作关系,进一步提升了其在电子行业的影响力。

Gravitech公司的发展小趣事

2007年,Apex Microtechnology迎来了一个重要的发展机遇,被音频和能源市场上领先的混合信号处理元件供应商Cirrus Logic收购。此后,Apex Microtechnology作为Cirrus Logic在德克萨斯州奥斯汀的一个分公司,继续从事复杂芯片设计与开发。这次收购为Apex Microtechnology带来了更多的资源和支持,推动了其在电子行业的进一步发展。

AVG [AVG Semiconductors(HITEK)]公司的发展小趣事

在电子行业的发展过程中,AVG也面临着各种挑战和危机。例如,随着全球贸易保护主义的抬头和原材料价格的波动,公司的生产成本不断上升;同时,新技术的不断涌现和市场竞争的加剧也给公司带来了不小的压力。然而,AVG始终保持着冷静和清醒的头脑,积极应对各种挑战和危机。公司通过优化生产流程、提高生产效率、加强成本控制等措施,降低了生产成本;同时,加大研发投入,推出具有竞争力的新产品,以应对市场竞争的挑战。这些举措使得AVG在困境中保持了稳健的发展态势。

Decawave公司的发展小趣事

作为一家技术驱动的公司,Decawave始终将创新作为公司发展的核心动力。公司不断投入研发资源,推动UWB技术的升级和演进。通过不断的技术创新和产品升级,Decawave的UWB技术不断取得新的突破和进展,为电子行业的发展注入了新的活力。同时,公司也积极关注市场动态和客户需求的变化,不断调整和优化其产品和解决方案,以更好地满足客户的需求和期望。

长工微电子公司的发展小趣事

长工微电子在产品研发上不断取得突破。其中,IS6608芯片实现了多相电源并联输出最高到200A,这是国产电源芯片第一家可以用于服务器CPU多相并联电源解决方案,打破了欧美电源芯片厂商在多相电源的垄断。同时,IS6607 20A集成mos电源芯片,以3x4mm的体积实现了100w的功率输出,代表了当时芯片产业模拟电源的最高水平。这些产品广泛应用于服务器、台式机、笔电、基站、AI、LED显示屏等市场领域,为公司带来了丰厚的回报。

问答坊 | AI 解惑

搜集的PID资料

我搜集的PID资料,共享一下。…

查看全部问答>

MAX232

MAX232两个数据通道,7,8,9,10脚和11,12,13,14脚,在转送数据时,是不是有区别啊?我做串口通信时,用7,8,9,10脚的第二通道时,MAX232发热,串口检测不到,换了第二通道后就好了,不懂这是为什么,各位大虾指点一下呗,小生先谢谢了哦…

查看全部问答>

09年全国大学生电子设计大赛征题原题

本帖最后由 paulhyde 于 2014-9-15 09:42 编辑 09年全国大学生电子设计大赛征题原题!!!!!!很难得哦!!!  …

查看全部问答>

WinCE5.0选中文为默认语言后HPC的图片资源编不进来

WinCE5.0选中文为默认语言后HPC的图片资源编不进来 现象就是开机后,桌面上只有“我的电脑”,“回收站”,“我的文档”等文字,没有相应的图标。 Default Language选“中文”,并且增加了Multilingual User Interface(MUI) 编译出来的image就是 ...…

查看全部问答>

上海机房服务器托管|15900452544,上海\浙江\山东双线机房服务器托管

上海速腾数据主要经营:上海电信机房托管 上海电信主机租用 上海双线服务器托管 QQ:712296031  MSN/mail:chenxiaokai18@hotmail.com  手机:15900452544 网址:www.sutenw.com …

查看全部问答>

硬盘磁头坏了,修复硬盘恢复数据请指点

我在上海,我的硬盘Maxtor牌子的,由于电源线当时接反了,导致硬盘磁头已经坏,我上面的数据很重要,现在请教各地的高手或者介绍有比较强的技术和单位帮助恢复数据,不知道谁能介绍这样的单位和个人能恢复我的数据?…

查看全部问答>

如何利用KEIL 编译下载到0X1000运行的应用程序

如何设置KEIL及文件编译 使应用程序的地址为0X1000  使用的是LM3S8962开发板…

查看全部问答>

xilinx FPGA配置问题

请教个配置问题:在初始化下载链时,能找到FPGA芯片与配置芯片,可是在下载程序时,无论是下载到配置芯片,还是直接下载FPGA芯片,都遇到IDCODE 不匹配的错误(如图所示),请问高手这是什么原因造成的?(配置芯片上存有程序,且现在程序能正常运 ...…

查看全部问答>

求救:一个简单的 问题

我将一个数比如10传给单片机的一个管脚P2.6。 怎么利用这个数赋给GAIN呢。直接GAIN=P2.6?谢谢…

查看全部问答>

无线遥控小车

作品名称:无线遥控小车 系统设计方案: 控制按键 单片机   按键编码 无线发射     无线接收 按键解码 单片机 电机驱动 电机1   电机 ...…

查看全部问答>