標題: DS12C887做21位數碼管萬年歷仿真 [打印本頁]

作者: lids    時間: 2017-9-26 13:28
標題: DS12C887做21位數碼管萬年歷仿真
本帖最后由 lids 于 2017-9-26 14:16 編輯

DS12C887做21位數碼管萬年歷仿真,3片MAX7219級聯(lián)做數碼管驅動,程序是論壇里的,但是原來的程序有誤,我都修改好了的。完整源程序和仿真文件見附件。需要的就去下載。圖片上是調到27日的
  1. #include "main.h"
  2. #include "max7219.h"
  3. #include "ds18b20.h"
  4. #include "ds12c887.h"
  5. #include "display.h"
  6. #include "yinli.h"
  7. #include "key.h"

  8. uchar time_year,time_month,time_day,time_week,time_hour,time_min,time_sec;

  9. uchar c_moon,year_moon,month_moon,day_moon;
  10. uchar year_h,year_l,week,month_h,month_l,day_h,day_l,hour_h,hour_l,min_h,min_l,sec_h,sec_l;
  11. uchar month_lunar_h ,month_lunar_l ,date_lunar_l,date_lunar_h;
  12. uchar hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year;
  13. uchar temp_value;
  14. uchar TempBuffer[2];
  15. bit   flag;
  16. uchar count;
  17. bit   up_flag;
  18. bit   down_flag;
  19. uchar temp_1;

  20. void main()         
  21. {
  22. DS12C887_init();
  23. DS12C887_Settime();  
  24. InitDis ();
  25. Init_DS18B20();
  26. //WDT_CONTR = 0X37;
  27. while(1)
  28. {
  29.    
  30. while(flag)
  31.   {
  32.   
  33.   timedone();
  34.   }
  35.   while(!flag)
  36. {
  37. ReadTemp();
  38. temp_to_str();
  39. display();
  40. scankey();
  41. //WDT_CONTR =0X37;
  42. }
  43.   
  44. }
  45. }
復制代碼


萬年歷.jpg (69.64 KB, 下載次數: 238)

萬年歷.jpg

DS12C887數碼管萬年歷仿真1.rar

156.3 KB, 下載次數: 296, 下載積分: 黑幣 -5


作者: dragoars    時間: 2017-11-23 19:25
真的很喜歡這個,等我把你搞定
作者: Jerry0925    時間: 2017-12-29 09:58
最近對這個很感興趣,下載看看
作者: chiangky    時間: 2017-12-31 12:05

最近對這個很感興趣,下載看看
作者: 草棚    時間: 2018-5-18 08:30
謝謝分享
作者: aaasym    時間: 2019-10-31 06:21
下載后試過的兄弟出來評論一下---
作者: liendong1977    時間: 2020-1-4 10:35
謝謝分享
作者: srs977664313    時間: 2020-6-23 11:09
最近對這個很感興趣,下載看看
作者: 灰太狼2020    時間: 2021-12-2 18:53
我想請教個問題  這個用的是共陽的數碼管還是共陰的數碼管啊
作者: kz0018    時間: 2022-4-30 20:36
初學單片機,請教hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year 定義?不知hide年月日代表什么。望予指教
作者: dj3365191    時間: 2022-5-1 18:45
這個再加上鬧鐘就更好了

作者: shenqiwei    時間: 2022-5-4 03:48
用LCD12864做會更好
作者: kz0018    時間: 2022-5-17 15:19
如果有電路原理圖,就更完美了。論壇里原來發(fā)的資料很齊全,但正如樓主所說,程序有誤,所定義的接口有的對不上號,還希望樓主給指點一下,十分感謝!
作者: eminem12    時間: 2022-5-19 14:43
我感覺這個做的很好
作者: eminem12    時間: 2022-5-19 14:45
草棚 發(fā)表于 2018-5-18 08:30
謝謝分享

我也謝謝
作者: kz0018    時間: 2022-5-22 21:00
萬年歷根據樓主提供的程序制作,顯示正常,但按鍵不能調整時間日期,設置鍵有效而加鍵減鍵不起作用,請教是哪里出了問題?
作者: kz0018    時間: 2022-5-27 22:52
ds12c887如何設置BCD數據模式?看了幾個例程,都是二進制模式,7219用的是譯碼模式,數碼管只能顯示數字和幾個符號,比如溫度單位符號C,就顯示不了。如何解決這一問題?可將887設置BCD數據模式,7219采用不譯碼模式,不知是否可行,請樓主和諸位高手給以指點
作者: kz0018    時間: 2022-7-25 00:50
按照樓主提供的程序,經過進一步修改,本著充分利用三片7219的驅動功能,用了24位數碼管來顯示年月日星期農歷溫度,溫度顯示為兩位整數一位小數一位符號,7219由全譯碼改為不譯碼。程序有多處修改,公歷轉換農歷只計算2000年到2099年(因為沒必要計算2000年以前的農歷日期),減少代碼冗余,也就減少了內存占用。因為數碼管都是高亮的,晚上看時間是刺眼的,沒來得及加上光控,所以還的改造才能投入使用,F(xiàn)顯示效果如下G:/編程相關/VID20220724234329.mp4


請多提寶貴意見!

作者: tplin    時間: 2022-11-29 16:23
設計不錯,可惜我的ds12c887內置電池沒電了
作者: 人嘛快樂就好    時間: 2023-1-28 22:21
kz0018 發(fā)表于 2022-7-25 00:50
按照樓主提供的程序,經過進一步修改,本著充分利用三片7219的驅動功能,用了24位數碼管來顯示年月日星期農 ...

星期怎么是8的

作者: gxjhgxjh    時間: 2023-1-30 14:42
tplin 發(fā)表于 2022-11-29 16:23
設計不錯,可惜我的ds12c887內置電池沒電了

可以換電池,網上有教程。
作者: chencu    時間: 2023-12-14 08:22
kz0018 發(fā)表于 2022-7-25 00:50
按照樓主提供的程序,經過進一步修改,本著充分利用三片7219的驅動功能,用了24位數碼管來顯示年月日星期農 ...

可以分享一下嗎?
作者: kz0018    時間: 2024-4-4 16:36
hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year.上面此類定義參數含義不清楚是什么意思,英文hide是隱藏或皮毛,外包裝物等意思,加上年月日意思不太明白,似乎此變量是控制時間日期待調整位字符閃爍的,但是如何控制的,沒分析出來,請教大家了
作者: dsbk123    時間: 2024-12-25 19:53
樓主老師您好,附件程序仿真運行發(fā)現(xiàn)以下幾個問題,我這初學者看半天也解決不了,還請樓主或壇里高手幫忙指點。謝謝!
問題匯總:
1、所有月份不管是設置時還是運行時最大都是31天,包括2月份;
2、出現(xiàn)星期8。





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1