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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

控制數控電位器x9313改變電位,調整液晶對比度 源程序

[復制鏈接]
跳轉到指定樓層
樓主

一個用51單片機控制數控電位器x9313改變電位,來調整12864液晶對比度的例子:
控制數控電位器x9313改變電位.rar (26.14 KB, 下載次數: 17)


下面是部分源碼預覽:
  1. /*******************************************************************
  2. *【文 件 名】:x9313.h                                             *
  3. *【建立日期】:7月2日                                        *
  4. *【修改日期】:7月4日                                        *
  5. *【文件作用】:液晶對比度設置,共分32級                             *
  6. *【說    明】:控制數控電位器x9313改變電位,調整對比度              *
  7. *------------------------------------------------------------------*
  8. *【作    者】:郭鑫(ben)                                           *
  9. *【版    權】:國家創新性實驗項目,編號GCS07001                    *
  10. *******************************************************************/

  11. #ifndef _X9313_08_07_04_
  12. #define _X9313_08_07_04_

  13. /***************************頭文件部分*****************************/




  14. #include <reg52.h>
  15. #include "intrins.h"

  16. //-------------------------管腳定義--------------------------------
  17. sbit inc = P1^5;
  18. sbit ud = P1^6;
  19. sbit cs = P1^7;


  20. /***************************函數聲明*******************************/
  21. void short_delay();
  22. void down_edge(void);
  23. void un_latch(void);
  24. void x9313(void);




  25. void short_delay()
  26. {
  27.     _nop_();
  28.         _nop_();

  29. }



  30. void down_edge(void)
  31. {
  32.     inc = 1;
  33.     short_delay();
  34.     inc = 0;
  35.     short_delay();
  36. }

  37. /*******************************************************************
  38. *【函 數 名】:un_latch                                            *
  39. *【修改日期】:2008年7月3日                                        *
  40. *【文件作用】:不保存設置                                          *
  41. *------------------------------------------------------------------*
  42. *【備    注】:本意是想保存的 ,有問題                              *
  43. *******************************************************************/
  44. void un_latch(void)
  45. {
  46.         cs = 0;
  47.         short_delay();
  48.         short_delay();

  49.         cs = 1;
  50.         short_delay();
  51.         short_delay();

  52. }

  53. /*******************************************************************
  54. *【函 數 名】:x9313                                               *
  55. *【修改日期】:2008年7月3日                                        *
  56. *【文件作用】:控制x9313設置液晶對比度                             *
  57. *------------------------------------------------------------------*
  58. *【備    注】:                                                    *
  59. *******************************************************************/
  60. void x9313(void)
  61. {
  62.         cs = 0;
  63.         inc = 1;
  64.         lcd_cmd_w(0x01);
  65.     lcd_setposition(1,0);
  66.     lcd_str_w("顯示器對比度設置");
  67.     while(1)
  68.     {
  69.                 if(key_check(3) == 1)
  70.                 {
  71.                         lcd_setposition(3,0);
  72.                         lcd_str_w("KEY3: 對比度增強");
  73.                         ud =  1;
  74.                         short_delay();
  75.                 down_edge();
  76.                         delay(50);
  77.                         lcd_setposition(3,0);
  78.                         lcd_str_w("                ");               
  79.              }

  80.         if(key_check(2) == 1)
  81.         {
  82.                         lcd_setposition(3,0);
  83.                         lcd_str_w("KEY2: 對比度減弱");
  84.                         ud =  0;
  85.                         short_delay();
  86.             down_edge();
  87.                         delay(50);
  88.                         lcd_setposition(3,0);
  89.             lcd_str_w("                ");                                                   
  90.         }

  91.         if(key_check(0) == 1)
  92.         {
  93.                         un_latch();
  94.                         lcd_setposition(3,0);
  95.                         lcd_str_w("KEY0: 未保存");        
  96.                         delay(50);
  97.             return;
  98.         }

  99.         if(key_check(1) == 1)
  100.         {
  101.                         cs = 0;
  102.                         lcd_setposition(3,0);
  103.                         lcd_str_w("KEY1: 已保存");        
  104.                         delay(50);
  105.                         return;
  106.         }
  107.     }
  108. }

  109. #endif
復制代碼

  1. /*******************************************************************
  2. *【文 件 名】:keys.h                                              *
  3. *【建立日期】7月3日                                        *
  4. *【修改日期】7月4日                                        *
  5. *【文件作用】:液晶12864驅動程序,包括所有關于液晶得函數           *
  6. *【說    明】:操作按鍵提供直接調用函數,內部包括按鍵去抖          *
  7. *------------------------------------------------------------------*
  8. *【作    者】:郭鑫(ben)                                           *
  9. *【版    權】:國家創新性實驗項目,編號GCS07001                    *
  10. *******************************************************************/

  11. #ifndef _KEYS_08_07_04_
  12. #define _KEYS_08_07_04_

  13. /***************************頭文件部分*****************************/




  14. #include <reg52.h>

  15. sbit key5 = P0^5;
  16. sbit key4 = P0^4;
  17. sbit key3 = P0^3;
  18. sbit key2 = P0^2;
  19. sbit key1 = P0^1;
  20. sbit key0 = P0^0;

  21. /***************************函數聲明*******************************/
  22. uchar key_check(uchar num);



  23. /*******************************************************************
  24. *【函 數 名】:key_check                                           *
  25. *【修改日期】:2008年7月3日                                        *
  26. *【函數作用】:檢測按鍵情況, 1:有相應按鍵按下 0:反之               *
  27. *------------------------------------------------------------------*
  28. *【備    注】:                                                    *
  29. *******************************************************************/
  30. uchar key_check(uchar num)
  31. {
  32.     uchar sta;
  33.         switch(num)
  34.         {
  35.                 case 0:
  36.                         if(~key0)
  37.                         {
  38.                                 delay(10);
  39.                                 if(~key0)
  40.                                 {
  41.                                         while(~key0);
  42.                                         sta = 1;
  43.                                 }                  
  44.                         }
  45.                         else
  46.                                 sta = 0;
  47.                         break;

  48.                 case 1:
  49.                         if(~key1)
  50.                         {
  51.                                 delay(10);
  52.                                 if(~key1)
  53.                                 {
  54.                                         while(~key1);
  55.                                         sta = 1;
  56.                                 }                  
  57.                         }
  58.                         else
  59.                                 sta = 0;
  60.                         break;
  61.                         
  62.                 case 2:
  63.                         if(~key2)
  64.                         {
  65.                                 delay(10);
  66.                                 if(~key2)
  67.                                 {
  68.                                         while(~key2);
  69.                                         sta = 1;
  70.                                 }                  
  71.                         }
  72.                         else
  73.                                 sta = 0;
  74.                         break;
  75.                         
  76.                 case 3:
  77.                         if(~key3)
  78.                         {
  79.                                 delay(10);
  80.                                 if(~key3)
  81.                                 {
  82.                                         while(~key3);
  83.                                         sta = 1;
  84.                                 }                  
  85.                         }
  86.                         else
  87.                                 sta = 0;
  88.                         break;
  89.                         
  90.                 case 4:
  91.                         if(~key4)
  92.                         {
  93.                                 delay(10);
  94.                                 if(~key4)
  95.                                 {
  96.                                         while(~key4);
  97.                                         sta = 1;
  98.                                 }                  
  99.                         }
  100.                         else
  101.                                 sta = 0;
  102.                         break;
  103.                         
  104.                 case 5:
  105.                         if(~key5)
  106.                         {
  107.                                 delay(10);
  108.                                 if(~key5)
  109.                                 {
  110.                                         while(~key5);
  111.                                         sta = 1;
  112.                                 }                  
  113.                         }
  114.                         else
  115.                                 sta = 0;
  116.                         break;
  117.         }
  118.         return sta;
  119. }

  120. #endif
復制代碼




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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品一区二区三区 | 国产成人高清 | 99日韩| 免费看的黄网站 | 精品久久久久久国产 | 日韩欧美不卡 | 精品1区2区 | 天堂视频中文在线 | www日韩高清 | 一区在线视频 | 成人一区二区三区在线观看 | 一区二区三区韩国 | 一区在线免费视频 | 国产精品爱久久久久久久 | 欧美精选一区二区 | 欧美视频一区二区三区 | 成人性生交大片 | 色婷婷激情 | 免费成人在线网站 | 一级黄色片免费在线观看 | 国产一级免费视频 | 久久亚洲一区二区三区四区 | 99久久精品免费看国产小宝寻花 | 啪啪综合网 | 国产一区在线免费观看视频 | 亚洲风情在线观看 | 欧美又大粗又爽又黄大片视频 | 福利视频网 | 福利视频一二区 | 欧美日韩国产一区二区三区 | 一级黄大片 | 国产一区 | 日韩精品在线一区 | 日韩精品一区二区三区视频播放 | 国产精品久久久久久二区 | 国产精品久久久久久 | 成人国产精品久久久 | 一区二区三区免费 | www天天操 | 91九色视频在线 | 日韩高清中文字幕 |