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

標題: 單片機+12864顯示時鐘 [打印本頁]

作者: 442319639    時間: 2019-4-15 20:10
標題: 單片機+12864顯示時鐘
12864顯示

單片機源程序如下:
  1. /***********************************************************
  2. 文件名稱: 主函數
  3. 作 者:    LQW
  4. 版 本:    0.01
  5. 說 明:   
  6. 修改記錄:
  7. 總結 :   1:今天搞了4個鐘,收獲最大是要看電路圖,忘記加一個上拉電阻,時鐘時間跑不準
  8.                   2:2012年12月18日20:33:21加入顯示節日函數       
  9.                   3:2012年12月20日18:58:58加入溫度顯示函數
  10.                   4: 全局變量用多了將會超出KEIL        默認的直接尋址的DATA區且DATA區只有128字節
  11.                   5: DS18B20也加4.7K上拉電阻
  12. ***********************************************************/
  13. #include"LCD12864.h"
  14. #include"delay.h"
  15. #include"ds1302.h"
  16. #include"timeadjust.h"
  17. #include"keyscan.h"
  18. #include"keypro.h"
  19. #include"disfestival.h"
  20. #include"ds18b20.h"
  21. #include"ds18b20distemp.h"
  22. #include"ds18b20alarm.h"
  23. //#include<reg52.h>
  24. //#include<string.h"

  25. /*------------------------------------------
  26.         定義臨時變量
  27. -------------------------------------------*/
  28. u8 *WEEK[] = {"SUM","MON","TUS","WEN","THU","FRI","SAT"};
  29. sbit LED1 = P3^7;//溫度高于上限LED1閃爍
  30. sbit LED2 = P3^6; //溫度高于下限LED2閃爍
  31. u16 TimCnt = 0;
  32. sbit BEEP = P3^5;

  33. /***********************************************************
  34. 函數名稱: 定時器T0 初始化
  35. 函數功能:        
  36. 入口參數:          
  37. 出口參數:
  38. 備 注:
  39. ***********************************************************/
  40. void Time0_Init(void)
  41. {
  42.         TMOD |= 0x01;  // 定時器T0工作在方式1
  43.         TH0 = - 1000  / 256;
  44.         TL0 = - 1000  % 256;       
  45.         EA  = 1;                        //打開總中斷
  46.         ET0 = 1;                //允許T0中
  47.         //TR0 = 1;                //開啟定時器T0中斷
  48. }

  49. /***********************************************************
  50. 函數名稱: 定時器T0中斷函數
  51. 函數功能: 定時每2ms刷新數碼管
  52. 入口參數:          
  53. 出口參數:
  54. 備 注:
  55. ***********************************************************/
  56. void Time0_ISR() interrupt 1
  57. {
  58.         TH0 = - 1000  / 256;
  59.         TL0 = - 1000  % 256;
  60.         BEEP = !BEEP;
  61.         if( ++TimCnt == 200 )
  62.         {
  63.                 TimCnt = 0;
  64.                 if( H_Alarm )
  65.                         LED1 = ~LED1;
  66.                 else
  67.                         LED1 = 1;
  68.                 if( L_Alarm )
  69.                         LED2 = ~LED2;
  70.                 else
  71.                         LED2 = 1;
  72.                 TR0 = 0; //關閉定時器
  73.         }       
  74. }


  75. void main()
  76. {
  77.         u8 keynum;
  78.         Time0_Init();//定時器T0初始化
  79.         Set_DS18B20_Alarm_Temp();//設置DS18B20溫度的報警值,且寫入ds18b20里
  80.         ds18b20_ReadTemperature();////讀取溫度值分別放在Temp_Value[](存放溫度值)與Temp_Alarm[](存放報警值
  81.         Init_DS18B20();//ds18b20初始化       
  82.         Init_DS1302();//ds1302初始化,是對時時間
  83.         Init_LCD12864();//液晶初始化
  84.         DelayMs( 1 );
  85.         while( 1 )
  86.         {
  87.                 ds18b20_ReadTemperature();//讀取溫度值分別放在Temp_Value[](存放溫度值)與Temp_Alarm[](存放報警值
  88.                 keynum = KeyScan();//讀取按鍵的
  89.                 if( adjust_index == -1)
  90.                 {
  91.                         GetTime();//獲取時間       
  92.                         Format_Time( DataTime[ 6 ],  LCD_DIS_BUFFER1 + 2 );
  93.                         Format_Time( DataTime[ 4 ],  LCD_DIS_BUFFER1 + 6 );
  94.                         Format_Time( DataTime[ 3 ],  LCD_DIS_BUFFER1 + 10 );

  95.                         Format_Time( DataTime[ 2 ],  LCD_DIS_BUFFER2 + 0 );
  96.                         Format_Time( DataTime[ 1 ],  LCD_DIS_BUFFER2 + 4 );
  97.                         Format_Time( DataTime[ 0 ],  LCD_DIS_BUFFER2 + 8 );
  98.                         strcpy( LCD_DIS_BUFFER2 + 13, WEEK[ DataTime[ 5 ] - 1]);

  99.                            LCD_PutString( 0, 1, LCD_DIS_BUFFER1);
  100.                            LCD_PutString( 0, 2, LCD_DIS_BUFFER2);
  101.                 }

  102.                 Dis_Festival();        //顯示公歷節日

  103.                 if( iS_DS18B20_OK == 1 )
  104.                 {       
  105.                         if( H_Alarm == 1 || L_Alarm == 1  )       
  106.                                 TR0 = 1;
  107.                         else
  108.                                 TR0 = 0;       
  109.                         ds18b20_Display_Temperature();//溫度轉換       
  110.                 }
  111.                 if(  keynum != 0xff )
  112.                 {
  113.                         KeyPro( keynum );         //一邊調整一邊顯示

  114.                         Format_Time( DataTime[ 6 ],  LCD_DIS_BUFFER1 + 2 );
  115.                         Format_Time( DataTime[ 4 ],  LCD_DIS_BUFFER1 + 6 );
  116.                         Format_Time( DataTime[ 3 ],  LCD_DIS_BUFFER1 + 10 );
  117.                
  118.                            LCD_PutString( 0, 1, LCD_DIS_BUFFER1);
  119.                
  120.                         Format_Time( DataTime[ 2 ],  LCD_DIS_BUFFER2 + 0 );
  121.                         Format_Time( DataTime[ 1 ],  LCD_DIS_BUFFER2 + 4 );
  122.                         Format_Time( DataTime[ 0 ],  LCD_DIS_BUFFER2 + 8 );
  123.                            LCD_PutString( 0, 2, LCD_DIS_BUFFER2);       
  124.                 }
  125.                
  126.                                                
  127.         }
  128. }
復制代碼

所有資料51hei提供下載:
2013.7.1.zip (111.76 KB, 下載次數: 19)



作者: admin    時間: 2019-4-15 21:30
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产日韩电影 | www.狠狠干 | 麻豆av在线免费观看 | 国产欧美一区二区三区国产幕精品 | 91精品在线播放 | 日本爱爱视频 | 日本人和亚洲人zjzjhd | 国产成人综合亚洲欧美94在线 | 久久久久久精 | 国产精品爱久久久久久久 | 国产高清在线观看 | 成人三级电影 | 成人免费视频在线观看 | 欧美精品一区二区在线观看 | 日本久久综合 | 四虎在线视频 | 免费av观看 | 国产中的精品av涩差av | 国产精品久久久久一区二区三区 | 久久久这里只有17精品 | 国产精品亚洲欧美日韩一区在线 | 久久久久久久一区 | 日韩欧美一区二区三区免费观看 | 91国内视频在线 | 精品久久久久久久久久久久 | 国产精品久久久久久久久久久免费看 | 免费看片国产 | 国产丝袜一区二区三区免费视频 | 欧美精品一区在线观看 | 午夜精品久久久久久久久久久久久 | 国产美女自拍视频 | 国产精品爱久久久久久久 | 国产日日操| 国产亚洲一区二区三区在线观看 | 国产小视频在线 | 国产精品18hdxxxⅹ在线 | 伊人久久综合 | 午夜免费观看网站 | 久久精品亚洲一区 | 国产精品99视频 | 日韩精品一区二区三区免费视频 |