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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機時鐘為什么實際和仿真上的時間不一樣呢?

[復制鏈接]
跳轉到指定樓層
樓主
不是應該在燒錄程序的時候會和電腦上的時間一致嗎?
仿真上顯示的是正確的時間,但燒錄到開發板上的時間就不對,年份初始化為13-01-01,時間為00:00:00,星期為星期一(應該是星期二才對)不想加按鍵調時,這個問題可以解決嗎?

附上仿真圖和實際圖




以下附單片機代碼部分:

  1. #include <reg52.h>                 //調用單片機頭文件
  2. #define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535
  4. #include "eeprom52.h"
  5. #include "intrins.h"

  6. bit flag_200ms ;
  7. bit flag_100ms ;

  8. sbit dq   = P3^7;          //18b20 IO口的定義

  9. uint temperature ;    //溫度變量

  10. uchar menu_1,menu_2;

  11. #include "ds1302.h"
  12. #include "lcd1602.h"

  13. /******************把數據保存到單片機內部eeprom中******************/
  14. void write_eeprom(){
  15.         SectorErase(0x2000);
  16.         byte_write(0x2000, fen1);
  17.         byte_write(0x2001, shi1);
  18.         byte_write(0x2002, open1);
  19.         byte_write(0x2058, a_a);        
  20. }

  21. /******************把數據從單片機內部eeprom中讀出來*****************/
  22. void read_eeprom(){
  23.         fen1  = byte_read(0x2000);
  24.         shi1  = byte_read(0x2001);
  25.         open1 = byte_read(0x2002);
  26.         a_a   = byte_read(0x2058);
  27. }

  28. /**************開機自檢eeprom初始化*****************/
  29. void init_eeprom(){
  30.         read_eeprom();                //先讀
  31.         if(a_a != 1)                //新的單片機初始單片機內問eeprom
  32.         {
  33.                 fen1  = 3;
  34.                 shi1  = 8;
  35.                 open1  = 1;
  36.                 a_a = 1;
  37.                 write_eeprom();           //保存數據
  38.         }        
  39. }

  40. /***********************18b20初始化函數*****************************/
  41. void init_18b20(){
  42.         bit q;
  43.         dq = 1;                                //把總線拿高
  44.         delay_uint(1);            //15us
  45.         dq = 0;                                //給復位脈沖
  46.         delay_uint(80);                //750us
  47.         dq = 1;                                //把總線拿高 等待
  48.         delay_uint(10);                //110us
  49.         q = dq;                                //讀取18b20初始化信號
  50.         delay_uint(20);                //200us
  51.         dq = 1;                                //把總線拿高 釋放總線
  52. }

  53. /*************寫18b20內的數據***************/
  54. void write_18b20(uchar dat){
  55.         uchar i;
  56.         for(i=0;i<8;i++){                                         //寫數據是低位開始
  57.                 dq = 0;                         //把總線拿低寫時間隙開始
  58.                 dq = dat & 0x01; //向18b20總線寫數據了
  59.                 delay_uint(5);         // 60us
  60.                 dq = 1;                         //釋放總線
  61.                 dat >>= 1;
  62.         }        
  63. }

  64. /*************讀取18b20內的數據***************/
  65. uchar read_18b20(){
  66.         uchar i,value;
  67.         for(i=0;i<8;i++){
  68.                 dq = 0;                         //把總線拿低讀時間隙開始
  69.                 value >>= 1;         //讀數據是低位開始
  70.                 dq = 1;                         //釋放總線
  71.                 if(dq == 1)                 //開始讀寫數據
  72.                         value |= 0x80;
  73.                 delay_uint(5);         //60us        讀一個時間隙最少要保持60us的時間
  74.         }
  75.         return value;                 //返回數據
  76. }

  77. /*************讀取溫度的值 讀出來的是小數***************/
  78. uint read_temp(){
  79.         uint value;
  80.         uchar low;                           //在讀取溫度的時候如果中斷的太頻繁了,就應該把中斷給關了,否則會影響到18b20的時序
  81.         init_18b20();                   //初始化18b20
  82.         write_18b20(0xcc);           //跳過64位ROM
  83.         write_18b20(0x44);           //啟動一次溫度轉換命令
  84.         delay_uint(50);                   //500us
  85.         init_18b20();                   //初始化18b20
  86.         write_18b20(0xcc);           //跳過64位ROM
  87.         write_18b20(0xbe);           //發出讀取暫存器命令
  88.         EA = 0;
  89.         low = read_18b20();           //讀溫度低字節
  90.         value = read_18b20();  //讀溫度高字節
  91.         EA = 1;
  92.         value <<= 8;                   //把溫度的高位左移8位
  93.         value |= low;                   //把讀出的溫度低位放到value的低八位中
  94.         value *= 0.625;               //轉換到溫度值 小數
  95.         return value;                   //返回讀出的溫度 帶小數
  96. }

  97. /******************1ms 延時函數*******************/
  98. void delay_1ms(uint q){
  99.         uint i,j;
  100.         for(i=0;i<q;i++)
  101.                 for(j=0;j<120;j++);
  102. }

  103. /******************寫星期函數*******************/
  104. void write_week(uchar hang,uchar add,uchar week)//寫星期函數
  105. {
  106.         if(hang==1)   
  107.                 write_com(0x80+add);
  108.         else
  109.                 write_com(0x80+0x40+add);         
  110.         switch(week){
  111.                 case 1:write_data('M');//星期數為1時,顯示
  112.                            write_data('O');
  113.                            write_data('N');
  114.                            break;
  115.            
  116.                 case 2:write_data('T');//星期數據為2時顯示
  117.                            write_data('U');
  118.                            write_data('E');
  119.                            break;
  120.                
  121.                 case 3:write_data('W');//星期數據為3時顯示
  122.                            write_data('E');
  123.                            write_data('D');
  124.                            break;
  125.                
  126.                 case 4:write_data('T');//星期數據為4是顯示
  127.                            write_data('H');
  128.                            write_data('U');
  129.                            break;
  130.                
  131.                 case 5:write_data('F');//星期數據為5時顯示
  132.                            write_data('R');
  133.                            write_data('I');
  134.                            break;
  135.                
  136.                 case 6:write_data('S');//星期數據為6時顯示
  137.                            write_data('T');
  138.                            write_data('A');
  139.                            break;
  140.                
  141.                 case 7:write_data('S');//星期數據為7時顯示
  142.                            write_data('U');
  143.                            write_data('N');
  144.                            break;
  145.         }
  146. }

  147. /*************時鐘顯示***************/
  148. void init_1602_ds1302(){
  149.         write_sfm2_ds1302(1,1,shi);                   //顯示時
  150.         write_sfm2_ds1302(1,4,fen);                   //顯示分
  151.         write_sfm2_ds1302(1,7,miao);           //顯示秒
  152.         write_week(2,12,week);                                                //顯示星期
  153.         write_sfm3_18B20(1,11,temperature);           //顯示溫度
  154.         
  155.         write_sfm2_ds1302(2,2,nian);   //顯示年
  156.         write_sfm2_ds1302(2,5,yue);           //顯示月        
  157.         write_sfm2_ds1302(2,8,ri);           //顯示日         
  158. }                                                                           

  159. /*************定時器0初始化程序***************/
  160. void init_time0()          {
  161.         EA   = 1;                   //開總中斷
  162.         TMOD = 0X01;          //定時器0、工作方式1
  163.         ET0  = 1;                  //開定時器0中斷
  164.         TR0  = 1;                  //允許定時器0定時
  165. }

  166. /*****************主函數********************/
  167. void main(){        
  168.         delay_1ms(150);
  169.         P0 = P1 = P2 = P3 = 0xff;                //單片機IO口初始化為1
  170.         init_time0();                 //初始化定時器
  171.         init_ds1302();                 //ds1302初始化
  172.         init_1602();                 //lcd1602初始化
  173.         init_1602_dis_csf(); //lcd1602初始化顯示
  174.         init_eeprom();       //開始初始化保存的數據
  175.         temperature = read_temp();        //先讀出溫度的值
  176.         delay_1ms(650);
  177.         temperature = read_temp();        //先讀出溫度的值
  178.         while(1){
  179.                 if(flag_200ms == 1){        
  180.                         flag_200ms = 0;
  181.                         if(menu_1 == 0){
  182.                                 read_time();                  //讀時間
  183.                                 temperature = read_temp();        //先讀出溫度的值
  184.                                 init_1602_ds1302();   //顯示時鐘
  185.                         }
  186.                 }
  187.                 delay_1ms(1);
  188.         }
  189. }

  190. /**************定時器0中斷程序*****************/
  191. void time0() interrupt 1{                        
  192.         static uchar value;
  193.         TH0 = 0X3C;
  194.         TL0 = 0XB0;           //50ms
  195.         value ++;           
  196.         if((value % 2) == 0)         //100ms  
  197.                 flag_100ms = 1;         
  198.         if(value >= 6)                         //200ms
  199.         {
  200.                 value = 0;
  201.                 flag_200ms = 1;
  202.         }
  203. }



  204. //////////////////////////*****************************************//////////
  205. #ifndef _DS1302_H_
  206. #define _DS1302_H_

  207. /******************
  208.         ds1302 內部RAM   RAM0  1100 000R/W   1讀 0寫
  209.                                          RAM1  1100 001R/W  
  210.                                                .......
  211.                                          RAM30 1111 110R/W   
  212. ********************/

  213. sbit clk = P3^6;          //ds1302時鐘線定義
  214. sbit io =  P3^4;          //數據線
  215. sbit rst = P3^5;          //復位線
  216.                                                 //秒  分   時   日   月  年   星期         
  217. uchar code write_add[]={0x80,0x82,0x84,0x86,0x88,0x8c,0x8a};   //寫地址
  218. uchar code read_add[] ={0x81,0x83,0x85,0x87,0x89,0x8d,0x8b};   //讀地址
  219. uchar code init_ds[]  ={0x58,0x00,0x00,0x01,0x01,0x13,0x01};

  220. //uchar miao,fen,shi,ri,yue,week,nian;
  221. uchar  miao,fen,shi,ri,yue,week,nian;        
  222. uchar i;
  223. uchar fen1=0x11,shi1=0;          //兩個鬧鐘變量的定義
  224. bit open1;

  225. /*************寫一個數據到對應的地址里***************/
  226. void write_ds1302(uchar add,uchar dat)
  227. {               
  228.         rst = 1;                         //把復位線拉高
  229.         for(i=0;i<8;i++){                                     //低位在前
  230.                 clk = 0;                 //時鐘線拿低開始寫數據
  231.                 io = add & 0x01;            
  232.                 add >>= 1;                 //把地址右移一位
  233.                 clk = 1;                 //時鐘線拿高
  234.         }        
  235.         for(i=0;i<8;i++){
  236.                 clk = 0;                 //時鐘線拿低開始寫數據
  237.                 io = dat & 0x01;
  238.                 dat >>= 1;                 //把數據右移一位
  239.                 clk = 1;                 //時鐘線拿高
  240.         }
  241.         rst = 0;                         //復位線合低
  242.         clk = 0;
  243.         io = 0;
  244. }

  245. /*************從對應的地址讀一個數據出來***************/
  246. uchar read_ds1302(uchar add){
  247.         uchar value,i;
  248.         rst = 1;                         //把復位線拿高
  249.         for(i=0;i<8;i++){                                     //低位在前
  250.                 clk = 0;                 //時鐘線拿低開始寫數據
  251.                 io = add & 0x01;            
  252.                 add >>= 1;                 //把地址右移一位
  253.                 clk = 1;                 //時鐘線拿高
  254.         }               
  255.         for(i=0;i<8;i++){
  256.                 clk = 0;                 //時鐘線拿低開始讀數據
  257.                 value >>= 1;
  258.                 if(io == 1)
  259.                         value |= 0x80;
  260.                 clk = 1;                 //時鐘線拿高
  261.         }
  262.         rst = 0;                         //復位線合低
  263.         clk = 0;
  264.         io = 0;
  265.         return value;                 //返回讀出來的數據
  266. }

  267. /*************把要的時間 年月日 都讀出來***************/
  268. void read_time(){
  269.         miao = read_ds1302(read_add[0]);        //讀秒
  270.         fen  = read_ds1302(read_add[1]);        //讀分
  271.         shi  = read_ds1302(read_add[2]);        //讀時
  272.         ri   = read_ds1302(read_add[3]);        //讀日
  273.         yue  = read_ds1302(read_add[4]);        //讀月
  274.         nian = read_ds1302(read_add[5]);        //讀年
  275.         week = read_ds1302(read_add[6]);        //讀星期           
  276. }

  277. /*************把要寫的時間 年月日 都寫入ds1302里***************/
  278. void write_time(){
  279.         write_ds1302(0x8e,0x00);                        //打開寫保護
  280.         write_ds1302(write_add[0],miao);        //寫秒
  281.         write_ds1302(write_add[1],fen);                //寫分
  282.         write_ds1302(write_add[2],shi);                //寫時
  283.         write_ds1302(write_add[3],ri);                //寫日
  284.         write_ds1302(write_add[4],yue);                //寫月
  285.         write_ds1302(write_add[5],nian);        //寫年
  286.         write_ds1302(write_add[6],week);        //寫星期
  287.         write_ds1302(0x8e,0x80);                        //關閉寫保護
  288. }

  289. /*************把數據保存到ds1302 RAM中**0-31*************/
  290. void write_ds1302ram(uchar add,uchar dat){
  291.         add <<= 1;     //地址是從第二位開始的
  292.         add &= 0xfe;   //把最低位清零  是寫的命令
  293.         add |= 0xc0;   //地址最高兩位為 1  
  294.         write_ds1302(0x8e,0x00);
  295.         write_ds1302(add,dat);        
  296.         write_ds1302(0x8e,0x80);
  297. }

  298. /*************把數據從ds1302 RAM讀出來**0-31*************/
  299. uchar read_ds1302ram(uchar add){
  300.         add <<= 1;     //地址是從第二位開始的
  301.         add |= 0x01;   //把最高位置1  是讀命令
  302.         add |= 0xc0;   //地址最高兩位為 1  
  303.         return(read_ds1302(add));        
  304. }

  305. /*************初始化ds1302時間***************/
  306. void init_ds1302(){
  307.         uchar i;
  308.         rst = 0;        //第一次讀寫數據時要把IO口拿低
  309.         clk = 0;
  310.         io = 0;
  311.         i = read_ds1302ram(30);///***DS1302與RAM相關的寄存器,單個RAM單元,共31個,每個單元組態為一個8位的字節,其命令控制字為COH~FDH***///
  312.                                                    ///***把數據從30地址中毒出來***///
  313.         if(i != 3){        
  314.                 i = 3;
  315.                 write_ds1302ram(30,i);                         //4050   4100                 3080

  316.                 write_ds1302(0x8e,0x00);                    //打開寫保護
  317.                 for(i=0;i<7;i++)
  318.                         write_ds1302(write_add[i],init_ds[i]);        //把最高位值0 允許ds1302工作
  319.                 write_ds1302(0x8e,0x80);        //關寫保護
  320.         }
  321. }
  322. #endif











  323. //////////////////////////*****************************************//////////
  324. #ifndef _EEPROM52_H_
  325. #define _EEPROM52_H_
  326. uchar a_a;
  327. #include <intrins.h>

  328. #define RdCommand 0x01 //定義ISP的操作命令
  329. #define PrgCommand 0x02
  330. #define EraseCommand 0x03
  331. #define Error 1
  332. #define Ok 0
  333. #define WaitTime 0x01 //定義CPU的等待時間
  334. sfr ISP_DATA=0xe2;  //寄存器申明
  335. sfr ISP_ADDRH=0xe3;
  336. sfr ISP_ADDRL=0xe4;
  337. sfr ISP_CMD=0xe5;
  338. sfr ISP_TRIG=0xe6;
  339. sfr ISP_CONTR=0xe7;

  340. /* ================ 打開 ISP,IAP 功能 ================= */
  341. void ISP_IAP_enable(void){
  342.          EA = 0;       /* 關中斷   */
  343.          ISP_CONTR = ISP_CONTR & 0x18;       /* 0001,1000 */
  344.          ISP_CONTR = ISP_CONTR | WaitTime; /* 寫入硬件延時 */
  345.          ISP_CONTR = ISP_CONTR | 0x80;       /* ISPEN=1  */
  346. }

  347. /* =============== 關閉 ISP,IAP 功能 ================== */
  348. void ISP_IAP_disable(void){
  349.          ISP_CONTR = ISP_CONTR & 0x7f; /* ISPEN = 0 */
  350.          ISP_TRIG = 0x00;
  351.          EA   =   1;   /* 開中斷 */
  352. }

  353. /* ================ 公用的觸發代碼 ==================== */
  354. void ISPgoon(void){
  355.          ISP_IAP_enable();   /* 打開 ISP,IAP 功能 */
  356.          ISP_TRIG = 0x46;  /* 觸發ISP_IAP命令字節1 */
  357.          ISP_TRIG = 0xb9;  /* 觸發ISP_IAP命令字節2 */
  358.          _nop_();
  359. }

  360. /* ==================== 字節讀 ======================== */
  361. unsigned char byte_read(unsigned int byte_addr)
  362. {
  363.         EA = 0;
  364.          ISP_ADDRH = (unsigned char)(byte_addr >> 8);/* 地址賦值 */
  365.          ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);
  366.          ISP_CMD   = ISP_CMD & 0xf8;   /* 清除低3位  */
  367.          ISP_CMD   = ISP_CMD | RdCommand; /* 寫入讀命令 */
  368.          ISPgoon();       /* 觸發執行  */
  369.          ISP_IAP_disable();    /* 關閉ISP,IAP功能 */
  370.          EA  = 1;
  371.          return (ISP_DATA);    /* 返回讀到的數據 */
  372. }

  373. /* ================== 扇區擦除 ======================== */
  374. void SectorErase(unsigned int sector_addr){
  375.          unsigned int iSectorAddr;
  376.          iSectorAddr = (sector_addr & 0xfe00); /* 取扇區地址 */
  377.          ISP_ADDRH = (unsigned char)(iSectorAddr >> 8);
  378.          ISP_ADDRL = 0x00;
  379.          ISP_CMD = ISP_CMD & 0xf8;   /* 清空低3位  */
  380.          ISP_CMD = ISP_CMD | EraseCommand; /* 擦除命令3  */
  381.          ISPgoon();       /* 觸發執行  */
  382.          ISP_IAP_disable();    /* 關閉ISP,IAP功能 */
  383. }

  384. /* ==================== 字節寫 ======================== */
  385. void byte_write(unsigned int byte_addr, unsigned char original_data){
  386.          EA  = 0;
  387. //         SectorErase(byte_addr);
  388.          ISP_ADDRH = (unsigned char)(byte_addr >> 8);  /* 取地址  */
  389.          ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);
  390.          ISP_CMD  = ISP_CMD & 0xf8;    /* 清低3位 */
  391.          ISP_CMD  = ISP_CMD | PrgCommand;  /* 寫命令2 */
  392.          ISP_DATA = original_data;   /* 寫入數據準備 */
  393.          ISPgoon();       /* 觸發執行  */
  394.          ISP_IAP_disable();     /* 關閉IAP功能 */
  395.          EA =1;
  396. }
  397. #endif








  398. //////////////////////////*****************************************//////////
  399. #ifndef _LCD1602_H_
  400. #define _LCD1602_H_

  401. #define uchar unsigned char
  402. #define uint unsigned int

  403. #define data_1602 P0
  404. uchar code table_num[]="0123456789abcdefg";

  405. sbit rs=P2^6;         //寄存器選擇信號 H:數據寄存器          L:指令寄存器
  406. sbit rw=P2^5;         //寄存器選擇信號 H:數據寄存器          L:指令寄存器
  407. sbit e =P2^7;         //片選信號   下降沿觸發

  408. /***********************延時函數************************/
  409. void delay_uint(uint q){
  410.         while(q--);
  411. }

  412. /***********************lcd1602寫命令函數************************/
  413. void write_com(uchar com){
  414.         e=0;
  415.         rs=0;
  416.         rw=0;
  417.         P0=com;
  418.         delay_uint(3);
  419.         e=1;
  420.         delay_uint(25);
  421.         e=0;
  422. }

  423. /***********************lcd1602寫數據函數************************/
  424. void write_data(uchar dat){
  425.         e=0;
  426.         rs=1;
  427.         rw=0;
  428.         P0=dat;
  429.         delay_uint(3);
  430.         e=1;
  431.         delay_uint(25);
  432.         e=0;        
  433. }

  434. /***********************lcd1602初始化設置************************/
  435. void init_1602()         //lcd1602初始化設置
  436. {
  437.         write_com(0x38);        //
  438.         write_com(0x0c);
  439.         write_com(0x06);
  440. }

  441. /***********************lcd1602上顯示兩位十進制數************************/
  442. void write_sfm1(uchar hang,uchar add,uchar date)        ///***顯示星期函數***從十位開始寫///
  443. {
  444.         if(hang==1)   
  445.                 write_com(0x80+add);
  446.         else
  447.                 write_com(0x80+0x40+add);
  448.         write_data(table_num[date % 10]);        
  449. }  

  450. /***********************lcd1602上顯示兩位十進制數************************/
  451. void write_sfm2(uchar hang,uchar add,uchar date)  ///***顯示時分秒函數***從十位開始寫///
  452. {
  453.         if(hang==1)   
  454.                 write_com(0x80+add);
  455.         else
  456.                 write_com(0x80+0x40+add);
  457.         write_data(table_num[date / 10 % 10]);        
  458.         write_data(table_num[date % 10]);        
  459. }


  460. /***********************lcd1602上顯示兩位十進制數************************/
  461. void write_sfm3_18B20(uchar hang,uchar add,uint date)  ///***顯示溫度函數***從十位開始寫///
  462. {
  463.         if(hang==1)   
  464.                 write_com(0x80+add);
  465.         else
  466.                 write_com(0x80+0x40+add);
  467.         write_data(0x30+date/100%10);
  468.         write_data(0x30+date/10%10);
  469.         write_data('.');
  470.         write_data(0x30+date%10);        
  471. }



  472. /***********************lcd1602上顯示兩位十進制數************************/
  473. void write_sfm2_ds1302(uchar hang,uchar add,uchar date){
  474.         if(hang==1)   
  475.                 write_com(0x80+add);
  476.         else
  477.                 write_com(0x80+0x40+add);         
  478.         write_data(table_num[date/16]);
  479.         write_data(table_num[date%16]);        
  480. }

  481. /***********************lcd1602上顯示這字符函數************************/
  482. void write_string(uchar hang,uchar add,uchar *p){
  483.         if(hang==1)   
  484.                 write_com(0x80+add);
  485.         else
  486.                 write_com(0x80+0x40+add);
  487.                 while(1)                                                                                                                 
  488.                 {
  489.                         if(*p == '\0')  break;
  490.                         write_data(*p);
  491.                         p++;
  492.                 }        
  493. }

  494. /*****************控制光標函數********************/
  495. void write_guanbiao(uchar hang,uchar add,uchar date){               
  496.         if(hang==1)   
  497.                 write_com(0x80+add);
  498.         else
  499.                 write_com(0x80+0x40+add);
  500.         if(date == 1)
  501.                 write_com(0x0f);     //顯示光標并且閃爍        
  502.         else
  503.                 write_com(0x0c);   //關閉光標
  504. }        

  505. /***********************lcd1602上顯示特定的字符************************/
  506. void write_zifu(uchar hang,uchar add,uchar date){
  507.         if(hang==1)   
  508.                 write_com(0x80+add);
  509.         else
  510.                 write_com(0x80+0x40+add);
  511.         write_data(date);        
  512. }

  513. /***********************lcd1602清除顯示************************/
  514. void clear_1602(){
  515.         write_string(1,0,"                ");
  516.         write_string(2,0,"                ");
  517. }

  518. /****************開機液晶顯示函數 初始化液晶的內容********************************/
  519. void init_1602_dis_csf()  //初始化液晶
  520. {
  521.         write_string(1,0,"   :  :    00.0");               
  522.         write_string(2,0,"20  -  -       ");        
  523.         write_zifu(1,15,0xdf);  //顯示度        
  524. }
  525. #endif
復制代碼



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

使用道具 舉報

沙發
ID:303383 發表于 2018-5-9 23:04 | 只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

板凳
ID:293977 發表于 2018-5-9 23:23 | 只看該作者
因為時間信息是存儲在時鐘芯片里的,解決辦法就是你第一次燒錄的時候把你設定的時間信息寫到時鐘芯片里,之后燒錄就不要再去改動里面的時間信息了。如果需要再重新改時鐘芯片里的時鐘信息。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99国产精品久久久 | 成人黄色网址大全 | 日韩专区中文字幕 | 亚洲狠狠爱一区二区三区 | 超碰97人人人人人蜜桃 | 最新中文字幕在线 | 欧美日韩亚洲二区 | 日本不卡在线视频 | 久久久久久久久久一区 | 亚洲精品视频三区 | 国产一区二区三区久久久久久久久 | 欧美成人h版在线观看 | 国产精品theporn | 一区二区三区在线免费观看 | 拍真实国产伦偷精品 | 国产乱码精品1区2区3区 | 一区二区三区小视频 | 九热在线 | 颜色网站在线观看 | 亚洲女人的天堂 | 一区视频 | 在线观看特色大片免费网站 | 九九亚洲| 羞羞视频在线观看免费观看 | 国产欧美二区 | 鲁一鲁资源影视 | 欧美精品一区二区三 | 91精品国产一区二区三区 | 午夜影视在线观看 | 成人在线免费观看av | 91超碰在线 | 在线视频日韩 | 日韩av美女电影 | 97视频精品 | 在线欧美一区 | 国产高清精品一区二区三区 | 国产成人久久av免费高清密臂 | 久久精品久久综合 | 国内精品在线视频 | 色欧美综合 | 国产美女精品 |