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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7432|回復: 7
收起左側

51單片機驅動IIC LCD1602顯示程序 (4針)

  [復制鏈接]
ID:699194 發表于 2020-5-3 18:50 | 顯示全部樓層 |閱讀模式
需要就拿去用吧
0071ba48cc02255d6bb58582f6b0269.jpg
單片機源程序如下:
  1. #include "IIC.h"

  2. #define adress_1602 0x4e  


  3. unsigned char LCD_data=0x08;



  4. //********************液晶屏使能*********************
  5. void Enable_LCD_write()
  6. {
  7.         LCD_data|=(1<<(3-1));//E=1;
  8.         Write_Random_Address_Byte(adress_1602,LCD_data);  //
  9.         Delay1us(2);
  10.         LCD_data&=~(1<<(3-1));//E=0;
  11.         Write_Random_Address_Byte(adress_1602,LCD_data);
  12. }
  13. /*------------------------------------------------
  14.               寫入命令函數
  15. ------------------------------------------------*/
  16. void LCD_write_command(unsigned char command)
  17. {
  18.         Delay1us(16);
  19.         LCD_data&=~(1<<(1-1));//RS=0;
  20.         LCD_data&=~(1<<(2-1));//RW=0;
  21.         //LCD_data&=~(1<<(4-1));
  22.         Write_Random_Address_Byte(adress_1602,LCD_data);
  23.        
  24.         LCD_data&=0X0f; //清高四位
  25.         LCD_data|=command & 0xf0; //寫高四位
  26.         Write_Random_Address_Byte(adress_1602,LCD_data);
  27.         Enable_LCD_write();
  28.        
  29.         command=command<<4; //低四位移到高四位
  30.         LCD_data&=0x0f; //清高四位
  31.         LCD_data|=command&0xf0; //寫低四位
  32.         Write_Random_Address_Byte(adress_1602,LCD_data);
  33.         Enable_LCD_write();
  34. }
  35. /*------------------------------------------------
  36.               寫入數據函數
  37. ------------------------------------------------*/
  38. void LCD_write_dat(unsigned char value)
  39. {
  40.         Delay1us(16);
  41.         LCD_data|=(1<<(1-1));//RS=1;
  42.         LCD_data&=~(1<<(2-1));//RW=0;
  43.         Write_Random_Address_Byte(adress_1602,LCD_data);
  44.        
  45.         LCD_data&=0X0f; //清高四位
  46.         LCD_data|=value&0xf0; //寫高四位
  47.         Write_Random_Address_Byte(adress_1602,LCD_data);
  48.         Enable_LCD_write();         
  49.        
  50.         value=value<<4; //低四位移到高四位
  51.         LCD_data&=0x0f; //清高四位
  52.         LCD_data|=value&0xf0; //寫低四位
  53.         Write_Random_Address_Byte(adress_1602,LCD_data);
  54.         Enable_LCD_write();
  55. }

  56. /*------------------------------------------------
  57.                 清屏函數
  58. ------------------------------------------------*/
  59. void LCD_Clear(void)
  60. {
  61.         LCD_write_command(0x01);
  62.         Delay1ms(2);
  63. }

  64. /*------------------------------------------------
  65.                 設置顯示位置
  66. ------------------------------------------------*/
  67. void LCD_set_xy( unsigned char x, unsigned char y )
  68. {
  69.         unsigned char address;
  70.         if (y == 1)
  71.         address = 0x80 + x;
  72.         else
  73.         address =0xc0+ x;
  74.         LCD_write_command(address);
  75. }

  76. /*------------------------------------------------
  77.                 顯示一個字符
  78. ------------------------------------------------*/
  79. void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat)
  80. {
  81.         LCD_set_xy( x, y );
  82.         LCD_write_dat(dat);
  83. }

  84. /*------------------------------------------------
  85.                 顯示字符串函數
  86. ------------------------------------------------*/
  87. void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s)
  88. {
  89.         LCD_set_xy( X, Y );
  90.         while (*s)
  91.         {
  92.                 LCD_write_dat(*s);   
  93.                 s ++;
  94.         }
  95. }
  96. /*------------------------------------------------
  97.               把特殊字符數據寫入顯存
  98. ------------------------------------------------*/
  99. //void WriteCGRAM()
  100. //{
  101. //        unsigned char i,j,k,tmp;
  102. //        tmp=0x40;//設置CGRAM地址的格式字
  103. //        k=0;
  104. //       
  105. //        for(j=0;j<8;j++)
  106. //        {
  107. //                for(i=0;i<8;i++)
  108. //                {
  109. //                        LCD_write_command(tmp+i); // 設置自定義字符的 CGRAM 地址
  110. //                        Delay1us(50);
  111. //                        LCD_write_dat(table0[k]); // 向CGRAM寫入自定義字符表的數據
  112. //                        k++;
  113. //                        Delay1us(50);
  114. //                }
  115. //                tmp=tmp+8;
  116. //        }
  117. //}
  118. /*------------------------------------------------
  119.               初始化函數
  120. ------------------------------------------------*/
  121. void LCD_Init(void)
  122. {
  123.         LCD_write_command(0x02);
  124.         Delay1us(40);
  125.         LCD_write_command(0x28); //4位顯示!!!!!!!!!!!!!!!!!!
  126.         LCD_write_command(0x0c); //顯示開
  127.         LCD_write_command(0x01); //清屏
  128.         Delay1ms(10);
  129. }
復制代碼
51hei.png
所有資料51hei提供下載:
51單片機驅動IIC1602程序(4針).7z (48.77 KB, 下載次數: 288)


評分

參與人數 2黑幣 +80 收起 理由
小當 + 30
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:284903 發表于 2022-5-25 21:31 | 顯示全部樓層
正在找這個,先用用,謝謝
回復

使用道具 舉報

ID:297903 發表于 2022-5-27 08:51 | 顯示全部樓層
可以省I/O!!
回復

使用道具 舉報

ID:1029915 發表于 2022-5-27 11:29 | 顯示全部樓層
正好需要這個而且還可以省I/O
回復

使用道具 舉報

ID:287324 發表于 2023-3-11 01:31 | 顯示全部樓層
用的是哪些引腳?沒有電路圖啊
回復

使用道具 舉報

ID:765334 發表于 2023-3-13 08:41 來自手機 | 顯示全部樓層
應該需要PCF8574做轉接
回復

使用道具 舉報

ID:1038987 發表于 2023-4-12 16:56 | 顯示全部樓層
我用的是1602的IIC通信方式,單片機stc15w204S用的下載頻率是11.0592M已經調了很久了。地是共地,也是共電源。地址換了好多次了,依然是什么也沒有。求指教
回復

使用道具 舉報

ID:135723 發表于 2023-4-12 19:32 | 顯示全部樓層
有一定的參考意義。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费特黄视频 | 国产精品国产a级 | 国产一区二区欧美 | 国产精品久久久久一区二区三区 | 国产亚洲精品久久情网 | 一区二区日韩 | 九一视频在线播放 | 精品在线一区 | 国产精品一区一区三区 | 99亚洲精品| 色偷偷噜噜噜亚洲男人 | 亚洲男人天堂网 | 97人人超碰 | 久久在线 | 91麻豆精品国产91久久久久久 | 亚洲精品视频导航 | 亚洲精品在线播放 | 日韩精品视频一区二区三区 | 国产成人一区二区 | 91亚洲精品久久久电影 | 国产高清久久 | 国产精品日韩欧美一区二区三区 | 天天综合日日夜夜 | 日韩在线国产 | 欧美日韩国产精品激情在线播放 | 亚洲欧美在线免费观看 | 久久99这里只有精品 | 亚洲人成人一区二区在线观看 | 日本在线播放一区二区 | 欧美区日韩区 | 久久99精品视频 | 精品在线一区二区 | 国产精品永久免费 | 中文成人在线 | 日韩中文字幕在线观看 | 久久99精品久久久久久国产越南 | 欧美在线视频a | 久久一二 | 精品成人 | 成人亚洲网 | 久色 |