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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2771|回復: 9
收起左側

1602顯示驅動程序函數封裝,有需要的拿去

  [復制鏈接]
ID:281689 發表于 2018-2-2 13:08 | 顯示全部樓層 |閱讀模式
已經封裝好的程序,使用起來非常方便
0.png
單片機源程序如下:
  1. /********************************************************************
  2. * 文件名  : 液晶1602顯示.c
  3. * 描述    :  該程序實現了對液晶1602的控制。
  4. ***********************************************************************/
  5. #include <reg52.h>
  6. #include <intrins.h>
  7. #include "lcd1602.h"

  8. #define RS_CLR RS=0
  9. #define RS_SET RS=1
  10. #define RW_CLR RW=0
  11. #define RW_SET RW=1
  12. #define EN_CLR EN=0
  13. #define EN_SET EN=1

  14. //LCD 控制線接口
  15. sbit RS=P2^5;
  16. sbit RW=P2^4;
  17. sbit EN=P2^3;


  18. /******************************************************************/
  19. /*                   延時幾微秒                               */
  20. /******************************************************************/
  21. void delay_us(unsigned int us)
  22. {
  23.     _nop_();
  24.     while(--us);
  25. }

  26. /******************************************************************/
  27. /*                 延時幾毫秒                                */
  28. /******************************************************************/
  29. void delay_ms(unsigned long ms)
  30. {
  31.     unsigned char i, j;

  32.     do
  33.     {
  34.         _nop_();
  35.         _nop_();
  36.         _nop_();
  37.         i = 11;
  38.         j = 190;
  39.         do
  40.         {
  41.             while (--j);
  42.         }
  43.         while (--i);
  44.     }
  45.     while(--ms);
  46. }

  47. /******************************************************************/
  48. /*                   寫一字節指令                                 */
  49. /******************************************************************/
  50. void LCD_write_com(unsigned char com)
  51. {
  52.     RW =0;
  53.     RS_CLR;
  54.     EN_SET;
  55.     P0 = com;
  56.     delay_us(5);
  57.     EN_CLR;
  58. }
  59. /******************************************************************/
  60. /*                   寫一字節數據                                 */
  61. /******************************************************************/
  62. void LCD_write_data(unsigned char dat)
  63. {
  64.     RW =0;
  65.     RS_SET;
  66.     EN_SET;
  67.     P0 = dat;
  68.     delay_us(5);
  69.     EN_CLR;
  70. }
  71. /******************************************************************/
  72. /*                   清屏                                     */
  73. /******************************************************************/
  74. void LCD_clear(void)
  75. {
  76.     LCD_write_com(0x01);
  77.     delay_ms(5);
  78. }

  79. /******************************************************************/
  80. /*                   在指定位置寫字符                             */
  81. /******************************************************************/
  82. void LCD_write_char(unsigned char x,unsigned char y,unsigned char dat)
  83. {
  84.     if (y == 0)
  85.     {
  86.         LCD_write_com(0x80 + x);
  87.     }
  88.     else
  89.     {
  90.         LCD_write_com(0xC0 + x);
  91.     }
  92.     LCD_write_data( dat);
  93. }


  94. /******************************************************************/
  95. /*             在指定位置寫字符串                         */
  96. /******************************************************************/

  97. void LCD_write_string(unsigned char x,unsigned char y,unsigned char *s)
  98. {
  99.     if (y == 0)
  100.     {
  101.         LCD_write_com(0x80 + x);     //表示第一行
  102.     }
  103.     else
  104.     {
  105.         LCD_write_com(0xC0 + x);      //表示第二行
  106.     }
  107.     while (*s)                         //判斷是否字符串的結尾
  108.     {
  109.         LCD_write_data( *s);    //顯示當前字符
  110.         s ++;                             //字符串地址加1
  111.     }
  112. }

  113. /******************************************************************/
  114. /*                   lcd初始化                                   */
  115. /******************************************************************/
  116. void LCD_init(void)
  117. {
  118.     LCD_write_com(0x38);
  119.     delay_ms(5);
  120. ……………………

  121. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
1602.zip (1.37 KB, 下載次數: 33)


評分

參與人數 1黑幣 +5 收起 理由
lei97 + 5 淡定

查看全部評分

回復

使用道具 舉報

ID:269211 發表于 2018-2-12 15:48 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:237354 發表于 2018-2-12 17:05 來自觸屏版 | 顯示全部樓層
謝謝提供資料,收藏了
回復

使用道具 舉報

ID:137736 發表于 2018-2-13 21:05 | 顯示全部樓層
謝謝分享,收下了
回復

使用道具 舉報

ID:283944 發表于 2018-2-15 15:30 來自觸屏版 | 顯示全部樓層
非常感謝,真是好東西
回復

使用道具 舉報

ID:255376 發表于 2018-2-15 17:55 | 顯示全部樓層
謝謝分享,學習了!
回復

使用道具 舉報

ID:282144 發表于 2018-2-15 23:17 | 顯示全部樓層
不錯,謝謝樓主
回復

使用道具 舉報

ID:282144 發表于 2018-2-15 23:18 | 顯示全部樓層
謝謝分享,收下了
回復

使用道具 舉報

ID:284302 發表于 2018-2-17 16:58 | 顯示全部樓層
謝謝分享,研究研究!
回復

使用道具 舉報

ID:358187 發表于 2018-6-26 08:30 | 顯示全部樓層
啊,我需要
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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