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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一份簡單點的單片機百年日歷計時器(比較簡便)

[復制鏈接]
跳轉到指定樓層
樓主
這是我花了2天寫出來的一份新手制作的百年歷,沒有包括2月的特殊月份,沒有閏年的區分
單純是按照每月30天計算的
初始值被我改動了設置的是12月29號23小時59分45秒,這個初始值可根據自己的需求而改變
電路圖是在Proteus 軟件上進行仿真的
整個程序有個小毛病就是當計時越久它的內部時間延時會越明顯,所以這個延時的時間需要看自己需求了,跟自己改
整個程序是用來給新手的速成小程序。以后會慢慢的發帖其他程序的。
當然文件夾中包括了所有文件,電路圖,源碼,(注意文件是百年歷才是對的)
因為一開始我也是改了幾下才完全正確
  1. #include<AT89X52.H>
  2. unsigned char code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C};
  3. unsigned char dat[12];
  4. unsigned char j,k,tmp;
  5. unsigned char                year=0;
  6. unsigned char                month=12;
  7. unsigned char                day=29;
  8. unsigned char                 hour=23;
  9. unsigned char                minute=59;
  10. unsigned char                 second=45;
  11. unsigned char                irq_count=0;
  12. void Delay()
  13. {
  14.         unsigned char i;
  15.         for(i=0;i<20;i++);
  16. }
  17. void main(void)
  18. {
  19.         EA=1;ET0=1;
  20.         TMOD=0x01;
  21.         TH0=0x3c;
  22.         TL0=0xB0;
  23.         TR0=1;
  24. while(1)
  25.         {
  26.                 tmp=0x01;
  27.                 for(j=0;j<8;j++)
  28.                 {
  29.                         P0=tab[dat[j]];
  30.                         
  31.                         P1=~tmp;
  32.                         tmp=tmp<<1;
  33.                         Delay();
  34.                         P1=0xff;
  35.                 }
  36.                 tmp=0x01;
  37.                 for(j=8;j<12;j++)
  38.                 {        
  39.                         P0=tab[dat[j]];                                                        //年月日
  40.                         P2=~tmp;
  41.                         tmp=tmp<<1;
  42.                         Delay();
  43.                         P2=0xff;
  44.                 }
  45.         }
  46. }
  47. void timer0(void)                interrupt 1 using 1
  48. {
  49.         TH0=0x3C;
  50.         TL0=0xB0;
  51.         irq_count++;
  52.         if(irq_count>=20)
  53.         {
  54.                 irq_count=0;
  55.                         second++;
  56.                         if(second>=60)
  57.                         {
  58.                                 second=0;
  59.                                 minute++;
  60.                                 if(minute>=60)
  61.                                 {
  62.                                         minute=0;
  63.                                         hour++;
  64.                                         if(hour>=24)
  65.                                         {
  66.                                                 hour=0;
  67.                                                 day++;
  68.                                                 if(day>=30)
  69.                                                 {
  70.                                                         day=0;
  71.                                                         month++;
  72.                                                         if(month>12)
  73.                                                         {
  74.                                                                 month=1;
  75.                                                                 year++;
  76.                                                                 if(year>=99)
  77.                                                                 year=0;
  78.                                                         }
  79.                                                 }
  80.                                         }
  81.                                 }
  82.                         }
  83.                         dat[11]=year%10;
  84.                         dat[10]=year/10;
  85.                         dat[9]=month%10;
  86.                         dat[8]=month/10;
  87.                         dat[7]=day/10;
  88.                         dat[6]=day%10;
  89.                         dat[5]=hour/10;
  90.                         dat[4]=hour%10;
  91.                         dat[3]=minute/10;
  92.                         dat[2]=minute%10;
  93.                         dat[1]=second/10;
  94.                         dat[0]=second%10;
  95.         }
  96. }
  97.         
復制代碼


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

使用道具 舉報

沙發
ID:1 發表于 2018-12-7 21:47 | 只看該作者
能分享下仿真+源碼嗎?
回復

使用道具 舉報

板凳
ID:441185 發表于 2018-12-9 20:45 | 只看該作者
admin 發表于 2018-12-7 21:47
能分享下仿真+源碼嗎?

源碼就在上面啊,仿真你運行就有了啊
回復

使用道具 舉報

地板
ID:441185 發表于 2018-12-9 20:51 | 只看該作者
admin 發表于 2018-12-7 21:47
能分享下仿真+源碼嗎?

你是說硬件方面不知道選擇嗎
還是軟件那邊 的芯片
硬件是AT89C52 上面都有硬件的名字在圖上,軟件的話在keil里選AT89C52
回復

使用道具 舉報

5#
ID:435819 發表于 2018-12-10 09:00 | 只看該作者
樓主好厲害!想下載學習一下
回復

使用道具 舉報

6#
ID:443209 發表于 2018-12-10 12:55 | 只看該作者
很6的啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人中文字幕 | 国产ts人妖一区二区三区 | 久久久久久久电影 | 日韩在线第一 | 五月天综合网 | 国产精品揄拍一区二区久久国内亚洲精 | 男女爱爱福利视频 | 亚洲免费在线播放 | 久久久久久免费毛片精品 | 91免费视频 | 国产日韩视频 | 日韩久久精品视频 | 国产色视频网站 | 亚洲欧美激情四射 | 日韩精品极品视频在线观看免费 | 99视频在线播放 | 欧美日韩网站 | 国产一级片网站 | 国产激情一区二区三区 | 日韩www视频| 亚洲精品欧美 | 夜夜骑综合| 中文字幕亚洲一区二区三区 | xxxxxx国产 | 综合精品久久久 | 国产一级电影网 | 色在线免费视频 | 精品麻豆剧传媒av国产九九九 | 99免费 | 男女羞羞视频在线免费观看 | 欧美中文一区 | 国产伦精品一区二区三区精品视频 | 亚洲精品中文字幕在线 | 爱爱视频在线观看 | 日韩在线精品视频 | 成人伊人 | 波多野结衣在线观看一区二区三区 | 日本一区二区不卡 | 日韩国产中文字幕 | 羞羞视频一区二区 | 综合激情av|