欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 用STC12單片機內部EEPROM保存9999秒倒計時設計 [打印本頁]

作者: 冰冰潔潔    時間: 2018-12-14 03:36
標題: 用STC12單片機內部EEPROM保存9999秒倒計時設計
省了24C02了。

制作出來的實物圖如下:


單片機源程序如下:

  1. #include <STC12C5A60S2.h>
  2. #include <intrins.h>
  3. #include<4LED_YIN.H>//數碼管驅動顯示程序
  4. #include<EEPROM.H>//STC12系列內部EEPROM

  5. sbit k1=P1^4;//設置鍵
  6. [size=36.9444px]sbit k2=P1^5;//        加鍵
  7. [size=36.9444px]sbit k3=P1^6;//         減鍵

  8. unsigned char menu=0,cou,HH,HL,LH,LL;//HH為溫度上限高8位HL為溫度上限低8位
  9. //LH為溫度下限高8位LL為溫度下限低8位

  10. unsigned int L,H;//H為溫度上限,L為溫度下限

  11. /************************************************************************/
  12. void delay1ms (unsigned int a){ // 1ms延時程序
  13.         unsigned int i;
  14.         while( --a != 0){
  15.                 for(i = 0; i < 629; i++);//STC15單片機在外部晶振為12MHz時i值上限為629  
  16.         }                                                      
  17. }
  18. /*****************************************************************************/
  19. void disp(unsigned int t){//數碼管顯示
  20. unsigned int i;
  21. [size=36.9444px] i=        t/1000;//第一位數碼管顯示溫度十位
  22. [size=36.9444px] diplay_data (4,disdata); //可以不顯示                          
  23. [size=36.9444px] i=        t%1000/100;//第一位數碼管顯示溫度十位
  24. diplay_data (3,disdata);
  25. i=t%100/10;//第二位數碼管顯示溫度個位
  26. diplay_data (2,disdata);//0x80為個位數后面的小數點
  27. [size=36.9444px]//diplay_data (2,disdata+0x80);//0x80為個位數后面的小數點         
  28.          
  29. i=t%10;//第三位數碼管顯示溫度小數位
  30. diplay_data (1,disdata);
  31.          
  32. }

  33. /**********************************************************************************************/
  34. /**********************************************************************************************/
  35. void main (void){
  36.         unsigned char i;
  37.         delay1ms(300); //延時待系統穩定
  38.         init();//IO工作方式初始化
  39.       
  40.       

  41.         HH = IapReadByte(0x00);//開機時從EEPROM中讀取H高8位參數
  42.         HL = IapReadByte(0x01);//開機時從EEPROM中讀取H的低8位參數
  43.         H=HH*256+HL;//讀出溫度上限值
  44.       
  45.       
  46.         LH = IapReadByte(0x02);//開機時從EEPROM中讀取L高8位參數
  47.         LL = IapReadByte(0x03);//開機時從EEPROM中讀取L的低8位參數
  48.         L=LH*256+LL;//讀出溫度下限值
  49.       
  50.          
  51.       
  52.         while(1){//主循環
  53.                                     
  54.                            for(i=60;i>0;i--)//回顯示溫度,多顯幾次穩定
  55.                                         {
  56.                             disp(H);//顯示H的值
  57.                                         }
  58.                                        
  59. [size=36.9444px]                H++;if(H>9999)H=0;//讓數據自加1      
  60.                                        
  61.                                          LL=L;
  62.                                         LH=(L>>8);
  63.                                         HL=H;
  64.                                         HH=(H>>8);
  65.                                         IapEraseSector(0x00); //擦除整個扇區                              
  66.                                         IapProgramByte(0x00,HH );//將 新的溫度上限值高8位寫入 EEPROM
  67.                                         IapProgramByte(0x01, HL);//將 新的溫度上限值低8位寫入 EEPROM                                       
  68.                                         IapProgramByte(0x02,LH );//將 新的溫度下限值高8位寫入 EEPROM
  69.                                         IapProgramByte(0x03, LL);//將 新的溫度下限值低8位寫入 EEPROM                        
  70.                                        
  71.                                        
  72.                                        
  73.                         }      
  74.                    }
復制代碼

全部資料51hei下載地址:
數碼管STC12內EEPROM保存秒鐘OK.zip (63.97 KB, 下載次數: 127)



作者: 21cnxin    時間: 2018-12-28 10:18
正好需要學習EEPROM的內容,學習
作者: 比企谷八幡    時間: 2019-4-17 16:23
這個EEPROM.H是怎么回事?
作者: hqpain    時間: 2019-12-12 09:28
需要,不希望又是不沾邊的




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