久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8260|回復(fù): 24
打印 上一主題 下一主題
收起左側(cè)

DS3231M OLED時(shí)鐘制作+STC15W204單片機(jī)程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:72088 發(fā)表于 2020-12-17 16:45 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這是畫的線路板,原理很簡單,看板子就能看明白原理圖


這是加工回來的線路板


焊接完成的樣子,請(qǐng)忽略焊接水平,哈哈



焊接電池,通電測試



溫度是利用DS3231M內(nèi)部傳感器測量的,
值得說明的是加入電量顯示,大家都知道15W204沒有AD
無法測量電壓,我是利用比較器測量(P5.5接100K和0.1u電容,定制板時(shí)忘記考慮了)RC充放電與內(nèi)部基準(zhǔn)
電壓1.252V比較,加上定時(shí)器計(jì)算出的電量。
還是很實(shí)用的。


左鍵+鍵(P3.2),右鍵功能鍵(P3.3),



左鍵有3個(gè)功能:
1,平時(shí)屏幕是不顯示的(節(jié)省電能),按下按鍵,屏幕顯示5秒后重新進(jìn)入待機(jī)。
2,常按不送手4秒,啟動(dòng)手電筒功能(P5.4經(jīng)過PNP三極管輸出接LED燈)任意鍵短按一下LED滅。
3,啟動(dòng)屏幕后,按功能鍵切換不同項(xiàng)目,再按左鍵加數(shù)字。




        LED         BIT        P5_4        ;手電筒輸出端(H關(guān),L開)
        K0_1 BIT        P3.2         ;+鍵(兼啟動(dòng)顯示,和開手電筒)
        K0_2 BIT        P3.3         ;功能鍵
        sda  BIT        p3.1   ;SDA數(shù)據(jù)信號(hào)
        scl  BIT        p3.0   ;SCL時(shí)鐘信號(hào)
           address        equ        59h    ;256字節(jié)地址數(shù)


        SECOND        EQU 30H
        MINUTE        EQU 31H
        HOUR          EQU 32H
        WEEK          EQU 33H
        DAY           EQU 34H
        MONTH         EQU 35H
        YEARL         EQU 36H
        DIZHI_X        EQU        5AH        ;列地址
        DIZHI_Y        EQU        5BH        ;頁地址(B0-B7)
        SSDDADA EQU 5CH        ;一字節(jié)暫存地址


         ORG  00H
        LJMP MAIN
         ORG         03H
        LJMP INT_0        ;中斷0


         ORG         0BH
        LJMP T0_0        ;定時(shí)器0
        ORG  100H


;===================主程序===================================
MAIN:
           CLR A
        MOV P0M1,A    ;設(shè)置準(zhǔn)雙向口 =00--->準(zhǔn)雙向口,  01--->推挽輸出
        MOV P0M0,A          ;                              =10--->高阻輸入,  11--->開漏輸出
        MOV P1M1,A    ;
        MOV P1M0,A
        MOV P2M1,A    ;設(shè)置準(zhǔn)雙向口
        MOV P2M0,A
        MOV P3M1,A    ;設(shè)置準(zhǔn)雙向口
        MOV P3M0,A          ;
        MOV P5M1,#00000000B    ;設(shè)置P5.5口高阻輸入
        MOV P5M0,#00000000B         
         MOV SP, #70H;修改堆棧指針


        MOV IE,#10000011B        ;允許總中斷,允許外中斷0和定時(shí)器0
        MOV TCON,#00000001B         ;下降沿中斷0
        MOV TMOD,#00000001B        ;定時(shí)器0=模式1,定時(shí)模式
        MOV AUXR,#00000010B        ;定時(shí)器0/2都工作12分頻模式
        MOV TL0,#low(65536-20000) ;12M晶振,20ms
        MOV TH0,#HIGH(65536-20000);每20ms掃描一次按鍵程序6
        MOV TL2,#0H                ;設(shè)置定時(shí)初值
        MOV TH2,#0H                ;設(shè)置定時(shí)初值
        MOV        SP,#60H
        SETB TR0                ;啟動(dòng)定時(shí)器0
        LCALL RESET                ;初始化OLED0.91
        LCALL QPCX                ;清屏程序


          LCALL shezhi_3231
        mov 50h,#15                ;亮的秒數(shù),然后進(jìn)入掉電節(jié)能
        JMP STT
SAT:           ;調(diào)整時(shí)間狀態(tài)下的屏顯程序
        LCALL ZHUAN_T
        LCALL DISP_A
        MOV 40H,#16
        MOV 41H,#16
        MOV 42H,#16        
        MOV 43H,#16
        MOV 44H,#16
        MOV 45H,#16        ;
        MOV 46H,#16
        MOV 47H,#16
        MOV 48H,#16        
        MOV 49H,#16
        MOV 4AH,#16        
        MOV 4BH,#49
        MOV 4CH,#50        
        MOV 4DH,#51
        MOV 4EH,#52        
        MOV 4FH,#16
        LCALL DISP_B
STT:
           MOV A,R1
        JNZ SAT                                ;時(shí)間調(diào)整狀態(tài)不掉電、不讀時(shí)間、加速刷新        
        lcall read_3231                 ;讀時(shí)間程序
        LCALL ZHUAN_0                  ;數(shù)據(jù)轉(zhuǎn)換
        lcall DISP_A                ;第1排時(shí)間溫度顯示程序
        LCALL ZHUAN_1                  ;數(shù)據(jù)轉(zhuǎn)換
        lcall DISP_B                ;第2排星期日期電量顯示程序
        LCALL DELAY1S


        LCALL DIANLIANG         ;電量讀取程序


        djnz 50h,STT
         MOV R7,#0AEH        ;關(guān)閉OLED內(nèi)部升壓,節(jié)能
        LCALL COMMAND
         CLR TR0                ;關(guān)閉定時(shí)器0(防止中斷喚醒進(jìn)入功能+鍵)
        MOV PCON,#02H        ;掉電模式
        MOV 50H,#10                ;亮的秒數(shù),然后進(jìn)入掉電節(jié)能


           MOV R7,#0AFH        ;打開顯示
        LCALL COMMAND
        SETB TR0                ;啟動(dòng)定時(shí)器0
        MOV R1,#0        ;強(qiáng)制恢復(fù)正常顯示
        JMP STT

附上主程序和接線方式,下面是燒寫文件
(15W204振蕩頻率選擇6M)
全部程序51hei下載地址:
OLED時(shí)鐘.rar (3.31 KB, 下載次數(shù): 68)

123.png (36.82 KB, 下載次數(shù): 144)

123.png

評(píng)分

參與人數(shù) 1黑幣 +90 收起 理由
admin + 90 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏14 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:72088 發(fā)表于 2020-12-17 16:52 | 只看該作者
這電池估計(jì)兩個(gè)月不用充電,所以暫時(shí)沒有焊接備用電池,但是備用電池口預(yù)留了。方便后期加電池
其實(shí)最苦惱的不是程序,程序可以花時(shí)間搞出來,
苦惱的是少漂亮的外殼,哎。。
回復(fù)

使用道具 舉報(bào)

板凳
ID:102963 發(fā)表于 2020-12-18 09:53 | 只看該作者
確實(shí),匯編程序,太難了,一般的人真搞不出來!樓主是高手。
回復(fù)

使用道具 舉報(bào)

地板
ID:72088 發(fā)表于 2020-12-18 11:09 | 只看該作者
songxia8013 發(fā)表于 2020-12-18 09:53
確實(shí),匯編程序,太難了,一般的人真搞不出來!樓主是高手。

所以直接給你們燒寫程序,直接用,
回復(fù)

使用道具 舉報(bào)

5#
ID:230742 發(fā)表于 2020-12-18 11:28 | 只看該作者
好是真好。就是匯編看不懂。
回復(fù)

使用道具 舉報(bào)

6#
ID:99987 發(fā)表于 2020-12-23 09:33 | 只看該作者
您好,能提供完整的匯編源碼嗎?
回復(fù)

使用道具 舉報(bào)

7#
ID:72088 發(fā)表于 2021-1-30 09:27 | 只看該作者
下載的人也不給個(gè)回信,拍個(gè)照片大家看看也好,給作者和大家一個(gè)鼓勵(lì)啊
想電池更耐用的,將DS3231M供電由2腳改到6腳,會(huì)更省電,
回復(fù)

使用道具 舉報(bào)

8#
ID:72088 發(fā)表于 2021-1-30 09:29 | 只看該作者

附上電路圖


回復(fù)

使用道具 舉報(bào)

9#
ID:466896 發(fā)表于 2021-1-31 23:00 來自手機(jī) | 只看該作者
用匯編,可移植性太差了,感覺沒得必要,下載的人都沒得幾個(gè),c語言可能會(huì)好點(diǎn)
回復(fù)

使用道具 舉報(bào)

10#
ID:99987 發(fā)表于 2021-3-10 10:37 | 只看該作者
匯編源代碼有嗎?
回復(fù)

使用道具 舉報(bào)

11#
ID:99987 發(fā)表于 2021-3-10 10:50 | 只看該作者
啊,您展示的匯編不全呀,只是主流程,沒有子程序。
回復(fù)

使用道具 舉報(bào)

12#
ID:72088 發(fā)表于 2021-3-10 19:21 | 只看該作者
定制電路板多了兩塊用不完,誰用免費(fèi)送了,郵費(fèi)自付
回復(fù)

使用道具 舉報(bào)

13#
ID:99987 發(fā)表于 2021-3-11 08:51 | 只看該作者
新鄉(xiāng)家電維修 發(fā)表于 2021-3-10 19:21
定制電路板多了兩塊用不完,誰用免費(fèi)送了,郵費(fèi)自付

您好,能提供匯編源碼嗎?板子我要了。
回復(fù)

使用道具 舉報(bào)

14#
ID:385637 發(fā)表于 2021-3-26 09:14 | 只看該作者
匯編太難了,有C就好了
回復(fù)

使用道具 舉報(bào)

15#
ID:72088 發(fā)表于 2021-8-22 06:54 | 只看該作者
madell 發(fā)表于 2021-3-11 08:51
您好,能提供匯編源碼嗎?板子我要了。

可以
回復(fù)

使用道具 舉報(bào)

16#
ID:17098 發(fā)表于 2021-9-12 17:39 | 只看該作者
RC充放電與內(nèi)部基準(zhǔn)
電壓1.252V比較,加上定時(shí)器計(jì)算出的電量,是什么原理不懂,能詳解下?
回復(fù)

使用道具 舉報(bào)

17#
ID:72088 發(fā)表于 2021-9-16 12:21 | 只看該作者
wxq987113431 發(fā)表于 2021-9-12 17:39
RC充放電與內(nèi)部基準(zhǔn)
電壓1.252V比較,加上定時(shí)器計(jì)算出的電量,是什么原理不懂,能詳解下?

電壓越高,RC充電到固定電壓的時(shí)間越短,反之時(shí)間就會(huì)越長,用定時(shí)器計(jì)算充電時(shí)間長短就能反應(yīng)出電池電壓高低
回復(fù)

使用道具 舉報(bào)

18#
ID:960868 發(fā)表于 2021-9-18 15:26 | 只看該作者
樓主,可以說說明一下顯示屏的型號(hào)嗎?新手
回復(fù)

使用道具 舉報(bào)

19#
ID:66872 發(fā)表于 2021-9-24 09:05 來自手機(jī) | 只看該作者
2292011451 發(fā)表于 2021-9-18 15:26
樓主,可以說說明一下顯示屏的型號(hào)嗎?新手

0.91英寸OLED
回復(fù)

使用道具 舉報(bào)

20#
ID:922504 發(fā)表于 2021-10-21 14:08 | 只看該作者
樓主  可以提供完整代碼嗎  想研究一下OLED   感覺很棒
回復(fù)

使用道具 舉報(bào)

21#
ID:922504 發(fā)表于 2021-10-21 14:18 | 只看該作者
有沒有完整的代碼  學(xué)習(xí)一下  感覺有點(diǎn)意思
回復(fù)

使用道具 舉報(bào)

22#
ID:261025 發(fā)表于 2021-11-22 21:11 | 只看該作者
可不可以提供一下ds3231的匯編程序   反匯編得到的匯編程序我看的發(fā)蒙
回復(fù)

使用道具 舉報(bào)

23#
ID:72088 發(fā)表于 2021-11-25 14:50 | 只看該作者
418854190 發(fā)表于 2021-11-22 21:11
可不可以提供一下ds3231的匯編程序   反匯編得到的匯編程序我看的發(fā)蒙

;=================設(shè)置3231功能=================================
;D0H寫入,D1H讀出
;
;==============================================================
shezhi_3231:
        mov 20h,#00H        ;DS3231的0eh寄存器
        mov 21h,#00H        ;DS3231的0fh寄存器
        mov        r6,        #0D0H        ;寫入數(shù)據(jù)識(shí)別碼
        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轉(zhuǎn)移,存儲(chǔ)6位
        ret
       

;=================3231讀程序==============================
read_3231:

        mov r0,#30h                        ;r0開始存放地址
        mov address,#00H        ;指向地址
        mov r5,        #7          
ss:        mov r2,        #0D0H;3231ID識(shí)別       
        mov r4,        #0D1H;讀3231
        Lcall read                ;調(diào)用讀存儲(chǔ)器程序
        inc address
        inc        r0
        djnz r5,ss

        mov r0,#38h                        ;r0開始存放地址
        mov address,#11H        ;指向溫度地址  
        mov r2,        #0D0H;3231ID識(shí)別       
        mov r4,        #0D1H;讀3231
        Lcall read                ;調(diào)用讀存儲(chǔ)器程序
        ret

;----------------------------------
read:
        lcall start                ;啟動(dòng)總線
        mov         a,        r2        ;發(fā)送芯片識(shí)別碼
        lcall send
        lcall ack                ; 芯片應(yīng)答
        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        ;讀到數(shù)據(jù)存儲(chǔ)到@R0指定地址
        lcall ack
        lcall stop
        ret
;-------總線啟動(dòng)程序---------
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
;-----------應(yīng)答----------
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
;--------------發(fā)送8位數(shù)據(jù)---------
send:
        mov         b,        #08h
send_1:
        rlc         a
        mov         sda,        c
        setb         scl
        nop
        nop
        clr         scl
        djnz         b,        send_1
        ret
;--------------接收8位數(shù)據(jù)-----------
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


回復(fù)

使用道具 舉報(bào)

24#
ID:230500 發(fā)表于 2021-11-26 00:38 | 只看該作者
這是匯編高手, 我們菜鳥看不懂, 只會(huì)C
回復(fù)

使用道具 舉報(bào)

25#
ID:261025 發(fā)表于 2021-12-5 22:34 | 只看該作者
新鄉(xiāng)家電維修 發(fā)表于 2021-11-25 14:50
;=================設(shè)置3231功能=================================
;D0H寫入,D1H讀出
;

謝謝了 這段程序已經(jīng)用上了   
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天弄天天操 | 日韩成人影院 | 黄 色 毛片免费 | 精品一级电影 | www视频在线观看 | 欧美色999 | 自拍偷拍视频网 | 国产 日韩 欧美 在线 | 久草影视在线 | 天天干人人 | 欧美三区在线观看 | 日韩在线观看中文字幕 | 91人人爽 | 免费中文字幕 | 国产a视频 | 精品欧美一区二区三区久久久 | 毛片免费视频 | 91麻豆精品国产91久久久久久 | 成人午夜免费视频 | 99国产精品一区二区三区 | 国产精品久久久久久久久 | 在线观看中文字幕dvd播放 | 久久综合九色综合欧美狠狠 | 精品91视频 | 91亚洲精品在线观看 | 免费在线观看成人 | 国产日韩精品在线 | 91久久久久久 | www操操 | 亚洲色图插插插 | 伊人久久精品一区二区三区 | 丁香婷婷综合激情五月色 | 美女视频一区 | 亚洲一区二区三区在线播放 | 美女一区 | 亚洲精品一区二区在线观看 | 精品一区二区三区四区五区 | 99热视 | 天天躁日日躁xxxxaaaa | 日韩午夜网站 | 久久国产精品精品 |