找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

DS3231M OLED时钟制作+STC15W204单片机程序

查看数: 9241 | 评论数: 24 | 收藏 14
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-12-17 16:45

正文摘要:

这是画的线路板,原理很简单,看板子就能看明白原理图

回复

ID:261025 发表于 2021-12-5 22:34
新乡家电维修 发表于 2021-11-25 14:50
;=================设置3231功能=================================
;D0H写入,D1H读出
;

谢谢了 这段程序已经用上了   
ID:230500 发表于 2021-11-26 00:38
这是汇编高手, 我们菜鸟看不懂, 只会C
ID:72088 发表于 2021-11-25 14:50
418854190 发表于 2021-11-22 21:11
可不可以提供一下ds3231的汇编程序   反汇编得到的汇编程序我看的发蒙

;=================设置3231功能=================================
;D0H写入,D1H读出
;
;==============================================================
shezhi_3231:
        mov 20h,#00H        ;DS3231的0eh寄存器
        mov 21h,#00H        ;DS3231的0fh寄存器
        mov        r6,        #0D0H        ;写入数据识别码
        mov r0,#20h                ;r0作为间接寻址
        mov address,#0Eh;开始地址
        mov        r5,        #2
        lcall write
        ret

write:
        lcall start
        mov        a,        r6
        lcall send
        lcall ack
        jc         write
       
        mov        a,        address
        lcall send
        lcall ack
        mov        a,        @r0                ;
        lcall send
        lcall ack
        lcall stop
        inc r0
        inc address
        djnz        r5,        write ;减1后不为0转移,存储6位
        ret
       

;=================3231读程序==============================
read_3231:

        mov r0,#30h                        ;r0开始存放地址
        mov address,#00H        ;指向地址
        mov r5,        #7          
ss:        mov r2,        #0D0H;3231ID识别       
        mov r4,        #0D1H;读3231
        Lcall read                ;调用读存储器程序
        inc address
        inc        r0
        djnz r5,ss

        mov r0,#38h                        ;r0开始存放地址
        mov address,#11H        ;指向温度地址  
        mov r2,        #0D0H;3231ID识别       
        mov r4,        #0D1H;读3231
        Lcall read                ;调用读存储器程序
        ret

;----------------------------------
read:
        lcall start                ;启动总线
        mov         a,        r2        ;发送芯片识别码
        lcall send
        lcall ack                ; 芯片应答
        jc         read                ;
               
        mov         a,        address
        lcall send
        lcall ack
read_a:
        lcall start
        mov         a,r4
        lcall send
        lcall ack
        jc         read_a
rece:
        lcall receive
        mov         @r0,a        ;读到数据存储到@R0指定地址
        lcall ack
        lcall stop
        ret
;-------总线启动程序---------
start:
        setb         scl
        setb         sda
        nop
        nop
        clr         sda
        nop
        nop
        clr         scl
        ret
;-------总线停止程序---------
stop:
        clr         sda
        nop
        nop
        setb         scl
        nop
        nop
        setb         sda
        ret
;-----------应答----------
ack:
        setb         sda
        nop
        nop
        setb         scl
        jb         sda,        ack_0
        clr         c
        sjmp         ack_1
ack_0:
        setb         c
ack_1:
        nop
        nop
        clr         scl
        ret
;--------------发送8位数据---------
send:
        mov         b,        #08h
send_1:
        rlc         a
        mov         sda,        c
        setb         scl
        nop
        nop
        clr         scl
        djnz         b,        send_1
        ret
;--------------接收8位数据-----------
receive:
        mov         b,        #08h
        clr         a
        setb         sda
receive_1:
        setb         scl
        nop
        nop
        mov         c,sda
        rlc         a
        clr         scl
        djnz         b,        receive_1
        ret


ID:261025 发表于 2021-11-22 21:11
可不可以提供一下ds3231的汇编程序   反汇编得到的汇编程序我看的发蒙
ID:922504 发表于 2021-10-21 14:18
有没有完整的代码  学习一下  感觉有点意思
ID:922504 发表于 2021-10-21 14:08
楼主  可以提供完整代码吗  想研究一下OLED   感觉很棒
ID:66872 发表于 2021-9-24 09:05
2292011451 发表于 2021-9-18 15:26
楼主,可以说说明一下显示屏的型号吗?新手

0.91英寸OLED
ID:960868 发表于 2021-9-18 15:26
楼主,可以说说明一下显示屏的型号吗?新手
ID:72088 发表于 2021-9-16 12:21
wxq987113431 发表于 2021-9-12 17:39
RC充放电与内部基准
电压1.252V比较,加上定时器计算出的电量,是什么原理不懂,能详解下?

电压越高,RC充电到固定电压的时间越短,反之时间就会越长,用定时器计算充电时间长短就能反应出电池电压高低
ID:17098 发表于 2021-9-12 17:39
RC充放电与内部基准
电压1.252V比较,加上定时器计算出的电量,是什么原理不懂,能详解下?
ID:72088 发表于 2021-8-22 06:54
madell 发表于 2021-3-11 08:51
您好,能提供汇编源码吗?板子我要了。

可以
ID:385637 发表于 2021-3-26 09:14
汇编太难了,有C就好了
ID:99987 发表于 2021-3-11 08:51
新乡家电维修 发表于 2021-3-10 19:21
定制电路板多了两块用不完,谁用免费送了,邮费自付

您好,能提供汇编源码吗?板子我要了。
ID:72088 发表于 2021-3-10 19:21
定制电路板多了两块用不完,谁用免费送了,邮费自付
ID:99987 发表于 2021-3-10 10:50
啊,您展示的汇编不全呀,只是主流程,没有子程序。
ID:99987 发表于 2021-3-10 10:37
汇编源代码有吗?
ID:466896 发表于 2021-1-31 23:00
用汇编,可移植性太差了,感觉没得必要,下载的人都没得几个,c语言可能会好点
ID:72088 发表于 2021-1-30 09:27
下载的人也不给个回信,拍个照片大家看看也好,给作者和大家一个鼓励啊
想电池更耐用的,将DS3231M供电由2脚改到6脚,会更省电,
ID:99987 发表于 2020-12-23 09:33
您好,能提供完整的汇编源码吗?
ID:230742 发表于 2020-12-18 11:28
好是真好。就是汇编看不懂。
ID:72088 发表于 2020-12-18 11:09
songxia8013 发表于 2020-12-18 09:53
确实,汇编程序,太难了,一般的人真搞不出来!楼主是高手啊!

所以直接给你们烧写程序,直接用,
ID:102963 发表于 2020-12-18 09:53
确实,汇编程序,太难了,一般的人真搞不出来!楼主是高手啊!
ID:72088 发表于 2020-12-17 16:52
这电池估计两个月不用充电,所以暂时没有焊接备用电池,但是备用电池口预留了。方便后期加电池
其实最苦恼的不是程序,程序可以花时间搞出来,
苦恼的是少漂亮的外壳,哎!!!

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表