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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6249|回復: 3
打印 上一主題 下一主題
收起左側

帶鬧鐘單片機電子時鐘制作:DS3231+MAX7219+TM1637+24C32+89c52

  [復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 tzfox 于 2021-2-17 13:33 編輯

    最近對單片機產生了興趣,感覺好玩就試做了一個鬧鐘。
    由于剛接觸單片機(入門小白),制作過程中碰到了不少問題,秉著邊學習邊制做的態度,一邊上網查資料(借鑒某些模塊的讀寫程序),一邊修改。
經過多次改進,成品相對完善滿意。現分享給 51hei論壇的朋友們,忘大家學習交流,指點改進!
功能:
    年月日顯示
    時間顯示
    溫度顯示
    鬧鐘*2(可關閉。模擬器中無法中斷鬧鈴2響鈴,實物正常)
    短按功能鍵:顯示溫度、星期/亮屏/關閉鬧鈴聲
    長按功能鍵:熄屏進入節能模式(模擬器無法喚醒掉電模式,實物正常)
    長按設置鍵:打開/關閉按鍵音

耗電:
    亮屏:65~75ma
    熄屏:3~4ma


正面



背面



溫度、星期



鬧鐘設置



按鍵音設置



MAX7219+TM1637


由于買來的模塊上的數碼管有幾個段位是壞的,干脆換個大的!又買了個0.8寸(原0.36寸)的數碼管給焊上,TM1637有2個IO口是閑置的,正好飛線出來做時鐘閃爍點顯示和℃顯示


DS3231

這個在這我要吐槽下:
由于想保存下按鍵音狀態,于是想用模塊的24C32芯片儲存。24C32本身的默認地址為0xa0、0xa1(模擬器存取OK),但模塊上就不行了。網上找了一圈都說模塊的默認地址為0x57(和芯片的設備地址規則不一樣), 試了下還是不行試了各種方法,弄了幾天最終還是放棄了最后選擇用52單片機自身的EEPROM存放。不過就在昨晚,一時突發靈感,去看了下模塊的原理圖,我*,**************。原來24C32的A0、A1、A2都接了高電平,那正確地址因該是0xAE、0xAF才對。見證奇跡的時刻到了,編譯、刷機~~~OK成了!!困擾幾天的問題終于解決了,今晚可以睡個好覺了真不知道網上傳的0x57這個地址是哪來的。

單片機源程序如下:(本來想插入的,但是源碼框死活到不了最下面)


再分享一個本人自己做的數碼管取碼,進制轉換軟件





2021/2/17更新溫度顯示

  1. //讀取溫度
  2. void DS3231_ReadTemp(){
  3.                 uchar Temp8;       
  4.                 uint Temp16;
  5.     Temp8=DS3231_Read(DS3231_TEMPERATUREH);        
  6.     if((Temp8&0x80)==0)                //判斷首字節為1即為        零下溫度
  7.     {   
  8.                                 DS3231_TEMP[0]=0;
  9.                                 DS3231_TEMP[1]=Temp8;
  10.         Temp8=DS3231_Read(DS3231_TEMPERATUREL);    //溫度低字節—小數位
  11.         Temp8=(Temp8>>6)*25;  //由于分辨率為0.25        所以擴大25倍便于顯示
  12.                                 DS3231_TEMP[2]=Temp8;
  13.     }else{         //零下溫度轉換—零下是以2的補碼形式存儲的
  14.                         DS3231_TEMP[0]=1;
  15.       Temp16=Temp8;                 //單字節轉換雙字節
  16.       Temp16=Temp16<<2;         //移出兩位放溫度的低位
  17.       Temp8=DS3231_Read(DS3231_TEMPERATUREL);    //讀溫度低字節
  18.       Temp8=Temp8>>6;                 //由于2位放在頭兩位上,移到低位
  19.       Temp16=Temp16+Temp8;         //組成10位的2進制的溫度編碼
  20.       Temp16=(~Temp16)+1;         //負數是以2的補碼形式存儲的,轉為原碼
  21.       Temp16=Temp16&0x03ff;//10位的2進制的溫度編碼,截去無用位
  22.       Temp8=Temp16&0x0003;//分離低兩位,作為小數位
  23.       Temp8=Temp8*25;          //由于分辨率為0.25        所以擴大25倍便于顯示
  24.       DS3231_TEMP[2]=Temp8;
  25.       Temp16=Temp16>>2;         //整數位處理
  26.       DS3231_TEMP[1]=Temp16;      
  27.     }                       
  28. }
復制代碼

電子鐘_DS3231.rar

222.23 KB, 下載次數: 189, 下載積分: 黑幣 -5

數碼管、進制轉換.rar

34.54 KB, 下載次數: 106, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏21 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:69536 發表于 2021-2-25 08:41 | 只看該作者
難得,還有人對這個感興趣,下來看看
回復

使用道具 舉報

板凳
ID:34298 發表于 2021-9-25 10:54 | 只看該作者
有鬧鐘功能很實用 可以放在床頭 上班提醒。
回復

使用道具 舉報

地板
ID:479134 發表于 2021-9-27 22:52 | 只看該作者
程序很工整啊 很棒
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩一区二区三区 | 日韩中文字幕一区二区 | 欧美日韩电影一区二区 | 激情五月婷婷在线 | 天天精品在线 | 91精品国产自产精品男人的天堂 | 超碰美女在线 | 中文字幕综合 | 欧美日韩黄色一级片 | 在线免费看91 | 一级毛片免费 | 粉嫩一区二区三区国产精品 | 久久一久久 | 黄色在线免费播放 | 欧美精品导航 | 国产精品成人69xxx免费视频 | 久久不射电影网 | 国产成人99久久亚洲综合精品 | 在线观看精品视频网站 | 中文字幕亚洲一区二区三区 | 国产成人精品福利 | 成人av一区二区三区 | 日韩免费福利视频 | 久久久久久久电影 | 欧美色综合一区二区三区 | 精品少妇一区二区三区日产乱码 | 日韩精品一区二区三区久久 | 日韩精品一区二区三区在线播放 | 午夜视频在线观看网址 | 成人国产精品视频 | 宅女噜噜66国产精品观看免费 | 日韩中文字幕在线视频 | 精品中文字幕久久 | 精品欧美一区二区久久久伦 | 在线免费激情视频 | 久综合 | 欧美精品在线一区 | 日韩av中文 | 亚洲在线一区 | 亚洲欧美在线观看 | 中文字幕在线观看 |