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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3649|回復: 1
打印 上一主題 下一主題
收起左側(cè)

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

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:194956 發(fā)表于 2017-7-7 16:33 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
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];                          //當前發(fā)送值
  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, 下載次數(shù): 56)




評分

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

查看全部評分

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久www免费视频 | 一区2区 | 夜夜摸夜夜操 | 久久久久久免费毛片精品 | 丝袜美腿一区 | 这里只有精品99re | 亚洲国产成人精品久久久国产成人一区 | 中文字幕成人av | 91精品国产91久久综合桃花 | 色视频在线免费观看 | 91亚洲精品在线 | 精品综合网 | 欧美在线视频一区 | 成人免费大片黄在线播放 | 欧美色综合 | 黄网站色大毛片 | 亚洲国产精品人人爽夜夜爽 | 国产免费va | 国产大学生情侣呻吟视频 | 毛片片| 中文字幕在线第一页 | 欧美激情视频一区二区三区在线播放 | 日韩视频一区二区 | 色性av| 亚洲精品久久久蜜桃 | 最新中文字幕在线 | 久久一二| 不卡一区二区三区四区 | 欧美寡妇偷汉性猛交 | 欧美一级大片免费观看 | 午夜小视频在线播放 | 免费看黄视频网站 | 久久久影院 | 亚洲免费久久久 | cao视频 | 亚洲欧美日韩电影 | 国产精品毛片一区二区在线看 | 91欧美精品成人综合在线观看 | 久久国产欧美一区二区三区精品 | 岛国av免费观看 | 国产一区不卡 |