女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于單片機2個IO口驅動LCD1602案例

CHANBAEK ? 來源: LYQ電子工作室 ? 作者: LYQ電子工作室 ? 2023-10-31 15:24 ? 次閱讀

LCD1602作為常見的并口數據屏幕,因為驅動簡單,相較數碼管可以顯示更多的內容,所以應用很多,當然了,不及LCD單色液晶屏和彩色LCD屏,可以操控每個像素點。

這里分享的是2個IO口驅動LCD1602,當前市面上是有這樣的方案的,不過用的是IIC芯片擴展IO口,本質上還是增加了IO口數量。當然了,移位寄存器也是擴展IO口,這里擴展的是輸出類型。

回歸正題,原理圖,時序圖如下,具體的原理分析,可以閱讀原文,觀看視頻

圖片

主要函數代碼,此代碼用于STC8單片機,其他單片機可能需要修改部分內容,尤其是延時部分,LCD1602數據處理需要時間,延時不夠,是會出問題的。

底層驅動函數

//LCD1602寫入數據或指令
//0指令,1數據
void LCD1602_Write_Data(bit CD,u8 dat)
{
  u8 i;
  //先傳輸高4位
  //第一步,低電平
  for(i=0;i< 6;i++)
  {
    HC164_CP=0;
    HC164_DI=0;//先傳輸最高位;
    HC164_CP=1;
  }

  HC164_CP=0;
  HC164_DI=1;//E高電平
  HC164_CP=1;

  HC164_CP=0;
  HC164_DI=CD;//傳輸命令位
  HC164_CP=1;

  for(i=0;i< 4;i++)//傳輸數據高4位
  {
    HC164_CP=0;
    HC164_DI=dat&0x80;//先傳輸最高位;
    HC164_CP=1;
    dat <=1;//次高位左移到最高位
  }
  HC164_DI=1;HC164_DI=0;//LCD1602吸收數據
  //如果DI=0;那么此時DI=1;DI=0即可
  //如果DI=1;那么DI=0即可


  //傳輸低4位數據,操作同上
  for(i=0;i< 6;i++)
  {
    HC164_CP=0;
    HC164_DI=0;
    HC164_CP=1;
  }

  HC164_CP=0;
  HC164_DI=1;//E高電平
  HC164_CP=1;

  HC164_CP=0;
  HC164_DI=CD;//傳輸命令位
  HC164_CP=1;

  //這里的移位可以接著傳輸
  for(i=0;i< 4;i++)//傳輸低4位數據
  {
    HC164_CP=0;
    HC164_DI=dat&0x80;//先傳輸高位;
    HC164_CP=1;
    dat <=1;//次高位左移到最高位
  }
  HC164_DI=1;HC164_DI=0;//LCD1602吸收數據
}

延時函數

void Delay100us()    //@24.000MHz
{
  unsigned char i, j;


  i = 4;
  j = 27;
  do
  {
    while (--j);
  } while (--i);
}
//測試600us延時能用
void LCD1602_Delay()
{
  Delay100us();Delay100us();
  Delay100us();Delay100us();
  Delay100us();Delay100us();
  Delay100us();Delay100us();
}

初始化代碼

void LCD1602_Init()//LCD1602初始化
{
  LCD1602_Write_Data(0,0x02);//光標復位
  LCD1602_Delay();
  LCD1602_Write_Data(0,0x28);//四位總線,雙行顯示
  LCD1602_Delay();
  LCD1602_Write_Data(0,0x01);//清除顯示
  LCD1602_Delay();
  LCD1602_Write_Data(0,0x06);//光標移動方向
  LCD1602_Delay();
  LCD1602_Write_Data(0,0x0c);//整體顯示開,無光標
  LCD1602_Delay();
  LCD1602_Write_Data(0,0x14);//光標隨著字右移
  LCD1602_Delay();
}

以上代碼差不多了,工程代碼分享到粉絲群了,公眾號后臺可以加粉絲群下載。

PCB工程分享,此工程本人沒有測試打樣。

圖片

圖片

總結:使用74HC164+與門,2個IO口就能控制LCD1602了,但是驅動效率低一些。沒有74HC595的3線控制快。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6063

    文章

    44915

    瀏覽量

    646802
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4498

    瀏覽量

    170667
  • 數碼管
    +關注

    關注

    32

    文章

    1889

    瀏覽量

    92208
  • LCD1602
    +關注

    關注

    14

    文章

    607

    瀏覽量

    53318
  • IO口
    +關注

    關注

    3

    文章

    170

    瀏覽量

    24734
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    51單片機是怎樣驅動LCD1602

    51單片機驅動LCD1602顯示原理及例程1.LCD1602A介紹2.LCD1602A中文手冊 下載3.
    發表于 11-17 07:51

    基于單片機虛擬串口驅動LCD1602的電路仿真

    基于M ult isim 10 仿真軟件, 設計單片機的虛擬串口驅動LCD1602 液晶電路。實現了虛擬串口擴展并行輸出的功能。該設計適用單片機UART 串口被占用時, 以最少的
    發表于 08-16 17:28 ?116次下載

    基于單片機LCD1602矩陣鍵盤顯示【匯編版】

    基于單片機LCD1602矩陣鍵盤顯示【匯編版】
    發表于 12-29 18:19 ?0次下載

    LCD1602驅動程序

    寫了一LCD1602驅動程序,分享給大家參考(基于51單片機)。
    發表于 03-10 14:49 ?15次下載

    單片機原理及應用LCD1602顯示原理

    單片機原理及應用LCD1602顯示原理,為了讓你們更快掌握1602的使用
    發表于 06-15 15:53 ?19次下載

    基于51單片機LCD1602四數據線驅動程序,LCD1602單片機驅動程序

    基于51單片機LCD1602四數據線驅動程序,LCD1602單片機驅動程序
    的頭像 發表于 09-20 19:43 ?2088次閱讀

    使用單片機進行LCD1602讀寫驅動函數的例程免費下載

    本文檔的主要內容詳細介紹的是使用單片機進行LCD1602讀寫驅動函數的例程免費下載。
    發表于 06-03 08:00 ?3次下載
    使用<b class='flag-5'>單片機</b>進行<b class='flag-5'>LCD1602</b>讀寫<b class='flag-5'>驅動</b>函數的例程免費下載

    STM32單片機驅動LCD1602的源代碼免費下載

    本文檔的主要內容詳細介紹的是STM32單片機驅動LCD1602的源代碼免費下載。
    發表于 12-30 08:00 ?115次下載
    STM32<b class='flag-5'>單片機</b><b class='flag-5'>驅動</b><b class='flag-5'>LCD1602</b>的源代碼免費下載

    基于51單片機LCD1602顯示proteus實驗

    基于51單片機LCD1602顯示proteus實驗
    發表于 04-30 10:14 ?39次下載

    51單片機驅動LCD1602顯示原理及例程

    51單片機驅動LCD1602顯示原理及例程1.LCD1602A介紹2.LCD1602A中文手冊 下載3.
    發表于 11-10 19:51 ?151次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>驅動</b><b class='flag-5'>LCD1602</b>顯示原理及例程

    單片機LCD1602 的應用實驗

    一、實驗目的:(一)熟悉 LCD1602單片機的電路連接;(二)熟悉 LCD1602 的引腳功能;(三)掌握 LCD1602 的時序;(四)掌握
    發表于 11-11 15:21 ?17次下載
    <b class='flag-5'>單片機</b>:<b class='flag-5'>LCD1602</b> 的應用實驗

    51單片機驅動——LCD1602

    51單片機驅動——LCD16021.描述51單片機控制LCD1602屏幕顯示測量數據、固定字符串等,大家復制過去可以直接使用,相關注釋我已標
    發表于 11-21 09:06 ?22次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>驅動</b>——<b class='flag-5'>LCD1602</b>

    單片機學習(五)LCD1602和矩陣鍵盤的使用

    單片機學習(五)LCD1602和矩陣鍵盤的使用
    發表于 12-04 09:06 ?13次下載
    <b class='flag-5'>單片機</b>學習(五)<b class='flag-5'>LCD1602</b>和矩陣鍵盤的使用

    LCD1602液晶顯示屏驅動文件

    1、LCD1602.h文件,進行管腳定義和函數聲明#ifndef _LCD1602_H_#define _LCD1602_H_#include /* 定義單片機的管腳
    發表于 01-13 16:41 ?10次下載
    <b class='flag-5'>LCD1602</b>液晶顯示屏<b class='flag-5'>驅動</b>文件

    基于單片機LCD1602顯示按鍵位置

    單片機課程設計題二:LCD1602顯示按鍵位置
    的頭像 發表于 07-14 15:11 ?3589次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>LCD1602</b>顯示按鍵位置