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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

值的收藏的C51單片機LCD1602庫文件

[復制鏈接]
跳轉到指定樓層
樓主
ID:254411 發表于 2017-11-28 07:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

  1. /**********************************************************
  2.                             LCD1602 DRIVER

  3.    File Name:       LCD1602.H
  4. **********************************************************/

  5. #ifndef LCD_CHAR_1602_2009_6_28
  6. #define LCD_CHAR_1602_2009_6_28

  7. #include <AT89X52.H>                         //因使用了P2端口定義,所以添加此文件
  8. #include <intrins.h>
  9. sbit LcdRs                = P2^0;                //定義端口
  10. sbit LcdRw                = P2^1;
  11. sbit LcdEn                 = P2^2;
  12. sfr  DBPort                = 0x80;                //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.????

  13. /********************************************************
  14. 內部等待函數
  15. ********************************************************/
  16. unsigned char LCD_Wait(void);

  17. /*******************************************************
  18. ?LCD???????
  19. *******************************************************/
  20. #define LCD_COMMAND                        0      // Command
  21. #define LCD_DATA                           1      // Data
  22. #define LCD_CLEAR_SCREEN               0x01    // 清屏
  23. #define LCD_HOMING                     0x02      // 光標返回原點
  24. void LCD_Write(bit style, unsigned char input);

  25. /*****************************************************
  26. ??????
  27. *****************************************************/
  28. #define LCD_SHOW                              0x04    //顯示開
  29. #define LCD_HIDE                              0x00    //顯示關         

  30. #define LCD_CURSOR                          0x02         //顯示光標
  31. #define LCD_NO_CURSOR                   0x00    //無光標                  

  32. #define LCD_FLASH                              0x01    //光標閃動
  33. #define LCD_NO_FLASH                       0x00    //光標不閃動

  34. void LCD_SetDisplay(unsigned char DisplayMode);

  35. /***************************************************
  36. ??????
  37. ***************************************************/
  38. #define LCD_AC_UP                              0x02
  39. #define LCD_AC_DOWN                        0x00      // default

  40. #define LCD_MOVE                                0x01      // 畫面可平移
  41. #define LCD_NO_MOVE                         0x00      //default

  42. void LCD_SetInput(unsigned char InputMode);

  43. /***************************************************
  44. 初始化LCD
  45. ***************************************************/
  46. void LCD_Initial();

  47. /***********************************************
  48. 液晶字符輸入位
  49. ************************************************/
  50. void GotoXY(unsigned char x, unsigned char y);

  51. /************************************************
  52. 將字符輸出到液晶顯示
  53. ************************************************/
  54. void Print(unsigned char *str);
  55. #endif

  56.          
  57. #include "LCD1602.H"

  58. /********************************************************
  59. 內部等待函數
  60. ********************************************************/
  61. unsigned char LCD_Wait(void)
  62. {
  63.         LcdRs=0;
  64.         LcdRw=1;        _nop_();
  65.         LcdEn=1;        _nop_();

  66.         LcdEn=0;
  67.         return DBPort;               
  68. }

  69. /*******************************************************
  70. 向LCD寫入命令或數據
  71. *******************************************************/
  72. void LCD_Write(bit style, unsigned char input)
  73. {
  74.         LcdEn=0;
  75.         LcdRs=style;
  76.         LcdRw=0;                _nop_();
  77.         DBPort=input;        _nop_();//注意順序
  78.         LcdEn=1;                _nop_();//注意順序
  79.         LcdEn=0;                _nop_();
  80.         LCD_Wait();        
  81. }


  82. /*****************************************************
  83. 設置顯示模式
  84. *****************************************************/
  85. void LCD_SetDisplay(unsigned char DisplayMode)
  86. {
  87.         LCD_Write(LCD_COMMAND, 0x08|DisplayMode);        
  88. }

  89. /***************************************************
  90. 設置輸入模式
  91. ***************************************************/
  92. void LCD_SetInput(unsigned char InputMode)
  93. {
  94.         LCD_Write(LCD_COMMAND, 0x04|InputMode);
  95. }

  96. /***************************************************
  97. 初始化LCD
  98. ***************************************************/
  99. void LCD_Initial()
  100. {
  101.         LcdEn=0;
  102.         LCD_Write(LCD_COMMAND,0x38);           //8位數據端口,2行顯示,5*7點陣
  103.         LCD_Write(LCD_COMMAND,0x38);
  104.         LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);    //開啟顯示,無光標。
  105.         LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
  106.         LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);       //AC第曾,畫面不動。
  107. }


  108. /***********************************************
  109. 液晶字符輸入位置
  110. ************************************************/
  111. void GotoXY(unsigned char x, unsigned char y)
  112. {
  113.         if(y==0)
  114.                 LCD_Write(LCD_COMMAND,0x80|x);
  115.         if(y==1)
  116.                 LCD_Write(LCD_COMMAND,0x80|(x-0x40));
  117. }

  118. /************************************************
  119. 將字符輸出到液晶
  120. ************************************************/
  121. void Print(unsigned char *str)
  122. {
  123.         while(*str!='\0')
  124.         {
  125.                 LCD_Write(LCD_DATA,*str);
  126.                 str++;
  127.         }
  128. }


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

使用道具 舉報

沙發
ID:332269 發表于 2019-2-28 09:00 | 只看該作者
謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表