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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC15w單片機萬年歷代碼 PFC8563時鐘程序

[復制鏈接]
跳轉到指定樓層
樓主
STC15w4K58s4與PFC8563時鐘芯片,LCD1602做萬年歷,用的時I2C總線方式,用的時候,將.h文件添加到main.c下邊,要正確選擇添加順序,先是main.c文件,在是I2C.h,再添加其他兩個,如果報錯,就把這三個換換順序總之是沒問題的,親測通過



單片機源程序如下:
  1. #include<reg51.h>
  2. #include<I2C.h>
  3. #include<stdlib.h>
  4. #include<1602.h>
  5. #include<led1602.h>
  6. #include<intrins.h>
  7. #define  uchar  unsigned char
  8.                   
  9. sfr P0M1=0x93;
  10. sfr P0M0=0x94;
  11. sfr P2M1=0x95;
  12. sfr P2M0=0x96;        
  13. idata  uchar  rom_sed[7];                          //當前發送值
  14. idata  uchar  rom_rec[7];                          //當前接收值
  15. uchar   dis[14];         

  16. bit  flag,flag1;      
  17.                      
  18. unsigned char tstr[20],tstr1[20];
  19. /*-------------------PCF初始化子程序------------------------*/
  20. initializa()                                                
  21. {
  22. data uchar i;
  23. rom_sed[0]=0x00;        //秒:0                        
  24. rom_sed[1]=0x20;                 //分 :54        
  25. rom_sed[2]=0x15;                 //時:12        
  26. rom_sed[3]=0x07;        //日  :7  
  27. rom_sed[4]=0x05;        //星期  :5
  28. rom_sed[5]=0x07;        //月:7  
  29. rom_sed[6]=0x17;        //年:17
  30. for(i=0;i<255;i++)delay();
  31. I_start();
  32. if(~I_send(0xa2))      //PCF_write地址                  
  33. {
  34. if(~I_send(0x02))     //PCF_status寄存器地址
  35. {
  36. for(i=0;i<6;i++)
  37. {
  38. if(~I_send(rom_sed[i]));
  39. else;
  40. }
  41. I_stop();
  42. }
  43. else;
  44. }
  45. else;
  46. }


  47. /*---------------------------讀PCF子程序---------------------------*/
  48. pcf8563()                                                
  49. {
  50. data uchar i;
  51. I_start();
  52. if(~I_send(0xa2))                                 
  53.           {
  54.                    if(~I_send(0x02))                        
  55.             {
  56.                     I_start();
  57. if(~I_send(0xa3))                 
  58.                 {
  59.                           for(i=0;i<7;i++)
  60.                     {
  61.                             if(i==6)flag1=1;
  62.                             else flag1=0;
  63.                             rom_rec[i]=I_receive();
  64.                             switch(i)
  65.                         {
  66.                                        case 1: rom_rec[i] = rom_rec[i]&0x7f;break;
  67.                                        case 2:
  68.                                        case 3: rom_rec[i] =rom_rec[i]&0x3f;break;
  69.                                        case 4: rom_rec[i] = rom_rec[i]&0x07;break;
  70.                                        case 5: rom_rec[i] = rom_rec[i]&0x9f;break;
  71.                     default:break;
  72.                   }
  73.                      }
  74.                      I_stop();
  75.                   }
  76.         }
  77. }
  78. }


  79. void main()
  80. {        int j=0;
  81. initializa();
  82.         for(j=0;j<1000;j++)
  83. while(1)
  84. {
  85. pcf8563();
  86.         P0M0=0;
  87.         P0M1=0;
  88.     P2M0=0;
  89.         P2M1=0;

  90.          dis[0]=rom_rec[0]&0x0f;  //秒 個位   
  91.      dis[1]=rom_rec[0]>>4;       //十位
  92.      dis[2]=rom_rec[1]&0x0f;    //分
  93.      dis[3]=rom_rec[1]>>4;
  94.          dis[4]=rom_rec[2]&0x0f;  //時   
  95.      dis[5]=rom_rec[2]>>4;      
  96.      dis[6]=rom_rec[3]&0x0f;     //日
  97.          dis[7]=rom_rec[3]>>4;
  98.          dis[8]=rom_rec[4]&0x0f;  //星期   
  99.          dis[9]=rom_rec[4]>>4;      
  100.          dis[10]=rom_rec[5]&0x0f;    //月
  101.          dis[11]=rom_rec[5]>>4;
  102.          dis[12]=rom_rec[6]&0x0f;  //年   
  103.          dis[13]=rom_rec[6]>>4;

  104.         
  105.         tstr[0]=0x32;//2
  106.         tstr[1]=0x30; //0
  107.         tstr[2]=dis[13]+0x30;//年
  108.         tstr[3]=dis[12]+0x30;
  109.     tstr[4]=0x2E;
  110.         tstr[5]=dis[11]+0x30;//月
  111.         tstr[6]=dis[10]+0x30;
  112.     tstr[7]=0x2E;                 //點
  113.         tstr[8]=dis[7]+0x30;//日
  114.         tstr[9]=dis[6]+0x30;
  115.         tstr[10]=0x20;
  116.         tstr[11]=0x77;                 //小寫w
  117.         tstr[12]= 0x65;   //小寫e
  118.         tstr[13]=0x65;
  119.         tstr[14]=0x6B;                //小寫k
  120.         tstr[15]=dis[8]+0x30;         //星期

  121.          tstr1[0]=0x74; //t
  122.          tstr1[1]=0x69; //i
  123.          tstr1[2]=0x6D; //m
  124.          tstr1[3]=0x65; //e
  125.           tstr1[4]=0x20;
  126.          tstr1[5]=dis[5]+0x30;//時
  127.          tstr1[6]=dis[4]+0x30;
  128. ……………………

  129. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
萬年歷.rar (2.95 KB, 下載次數: 56)




評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:103667 發表于 2017-9-6 14:41 | 只看該作者
感謝樓主提供分享!下來學習學習。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 羞羞视频网站在线观看 | 久草成人 | 国产精品久久久久久久久久久久久 | 九九亚洲精品 | 91精品国产综合久久久动漫日韩 | 久久久99精品免费观看 | 免费99视频 | 国产精品福利网 | 国产精品国产成人国产三级 | 中文字幕成人在线 | 欧美精品一区免费 | 日韩在线免费视频 | 欧美啪啪网站 | 国产午夜精品久久 | 欧美日韩在线一区二区三区 | 97国产精品视频 | 中文字幕在线一区 | 国外成人在线视频网站 | 国产精品国产a级 | 一区二区三区四区不卡 | 免费视频一区二区 | 日韩h| 亚洲不卡在线观看 | 亚洲伊人久久综合 | 欧美bondage紧缚视频 | av中文在线播放 | 久久免费视频1 | 亚洲精品中文字幕中文字幕 | 久在线 | 欧美午夜激情在线 | 亚洲性视频 | 国产成人精品久久久 | 拍真实国产伦偷精品 | 成人做爰9片免费看网站 | 欧美一区二区三区 | 欧美一区二区视频 | 女人精96xxx免费网站p | 能看的av网站 | 日韩免费福利视频 | av影片在线 | 国产香蕉视频 |