精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Proteus教程:LCD1602顯示

Harmony&嵌入式學習 ? 來源:Harmony&嵌入式學習 ? 作者:Harmony&嵌入式學 ? 2023-06-14 11:21 ? 次閱讀

視頻教程:https://www.bilibili.com/video/BV1HK411W7La

pYYBAGSJMc-AR0NhAAJclMhW7Ek374.pngpoYBAGSJMdaAZypIAAQIEw9nEL4997.png
#include
#define uchar unsigned char
#define uint unsigned int
#define LCD1602_DATAPINS P0
sbit LCD1602_E=P2^2;
sbit LCD1602_RW=P2^1;
sbit LCD1602_RS=P2^0;
sbit KEY = P3^0;
/*******************************************************************************
* 函 數 名         : Lcd1602_Delay1ms
* 函數功能		   : 延時函數,延時1ms
* 輸    入         : c
* 輸    出         : 無
* 說    名         : 該函數是在12MHZ晶振下,12分頻單片機的延時。
*******************************************************************************/

void Lcd1602_Delay1ms(uint c)   //誤差 0us
{
    uchar a,b;
	for (; c>0; c--)
	{
		 for (b=199;b>0;b--)
		 {
		  	for(a=1;a>0;a--);
		 }      
	}
    	
}

/*******************************************************************************
* 函 數 名         : LcdWriteCom
* 函數功能		   : 向LCD寫入一個字節的命令
* 輸    入         : com
* 輸    出         : 無
*******************************************************************************/
void LcdWriteCom(uchar com)	  //寫入命令
{
	LCD1602_E = 0;     //使能
	LCD1602_RS = 0;	   //選擇發送命令
	LCD1602_RW = 0;	   //選擇寫入
	
	LCD1602_DATAPINS = com;     //放入命令
	Lcd1602_Delay1ms(1);		//等待數據穩定

	LCD1602_E = 1;	          //寫入時序
	Lcd1602_Delay1ms(5);	  //保持時間
	LCD1602_E = 0;
}
/*******************************************************************************
* 函 數 名         : LcdWriteData
* 函數功能		   : 向LCD寫入一個字節的數據
* 輸    入         : dat
* 輸    出         : 無
*******************************************************************************/		   	   
void LcdWriteData(uchar dat)			//寫入數據
{
	LCD1602_E = 0;	//使能清零
	LCD1602_RS = 1;	//選擇輸入數據
	LCD1602_RW = 0;	//選擇寫入

	LCD1602_DATAPINS = dat; //寫入數據
	Lcd1602_Delay1ms(1);

	LCD1602_E = 1;   //寫入時序
	Lcd1602_Delay1ms(5);   //保持時間
	LCD1602_E = 0;
}


/*******************************************************************************
* 函 數 名       : LcdInit()
* 函數功能		 : 初始化LCD屏
* 輸    入       : 無
* 輸    出       : 無
*******************************************************************************/		   
void LcdInit()						  //LCD初始化子程序
{
 	LcdWriteCom(0x38);  //開顯示
	LcdWriteCom(0x0c);  //開顯示不顯示光標
	LcdWriteCom(0x06);  //寫一個指針加1
	LcdWriteCom(0x01);  //清屏
	LcdWriteCom(0x80);  //設置數據指針起點
}




//按指定位置顯示一個字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
 Y &= 0x1;
 X &= 0xF; //限制X不能大于15,Y不能大于1
 if (Y) X |= 0x40; //當要顯示第二行時地址碼+0x40;
 X |= 0x80; // 算出指令碼
 LcdWriteCom(X); //這里不檢測信號,發送地址碼
 LcdWriteData(DData);
}
//按指定位置顯示一串字符
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
 unsigned char ListLength;

  ListLength = 0;
 Y &= 0x1;
 X &= 0xF; //限制X不能大于15,Y不能大于1
 while (DData[ListLength]>=0x20) //若到達字串尾則退出
  {
   if (X <= 0xF) //X坐標應小于0xF
    {
     DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
     ListLength++;
     X++;
    }
  }
}


void main()
{
	uint datt = 324;
	LcdInit();
	//DisplayListChar(3,1,"Cheng One");
	DisplayOneChar(0,0,(char)(datt/100+'0'));
	DisplayOneChar(1,0,(char)(datt/10%10+'0'));
	DisplayOneChar(2,0,(char)(datt%10+'0'));
	
	while(1)
	{
		if(KEY==0)
		{
			Lcd1602_Delay1ms(20);
			if(KEY==0)
			{
				while(KEY==0);
				datt++;
			}
		}
			DisplayOneChar(0,0,(char)(datt/100+'0'));
	DisplayOneChar(1,0,(char)(datt/10%10+'0'));
	DisplayOneChar(2,0,(char)(datt%10+'0'));
	}
}

審核編輯:湯梓紅

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

    關注

    6

    文章

    606

    瀏覽量

    69609
  • Proteus
    +關注

    關注

    79

    文章

    1692

    瀏覽量

    106370
  • 晶振
    +關注

    關注

    34

    文章

    2824

    瀏覽量

    67900
  • LCD1602
    +關注

    關注

    14

    文章

    607

    瀏覽量

    52516
收藏 人收藏

    評論

    相關推薦

    液晶顯示模塊LCD1602應用

    液晶顯示模塊LCD1602應用
    發表于 09-25 16:58 ?683次下載
    液晶<b class='flag-5'>顯示</b>模塊<b class='flag-5'>LCD1602</b>應用

    LCD1602顯示漢字

    LCD1602顯示漢字,原本只能顯示字符。
    發表于 11-09 16:17 ?22次下載

    lcd1602顯示及注意點

    lcd1602顯示及注意點,lcd1602顯示及注意點。
    發表于 12-28 12:01 ?0次下載

    時鐘lcd1602顯示

    時鐘lcd1602顯示
    發表于 12-27 21:14 ?12次下載

    lcd1602顯示原理,LCD1602液晶顯示器的分類有哪些?

    LCD1602是一種工業字符型液晶,能夠同時顯示16x02即32個字符。LCD1602液晶顯示原理 LCD1602液晶
    發表于 10-20 10:32 ?3.6w次閱讀

    LCD1602是什么?關于LCD1602液晶模塊的顯示問題?

    LCD1602表示2行16個字符,也就是有不同的顯示地點,那么單片機如何告訴LCD1602顯示地點呢?因此前面的分析可以總結為三個問題,如何初始化;如何傳送
    發表于 07-02 09:16 ?2.3w次閱讀
    <b class='flag-5'>LCD1602</b>是什么?關于<b class='flag-5'>LCD1602</b>液晶模塊的<b class='flag-5'>顯示</b>問題?

    LCD1602顯示接收到的紅外線鍵值程序和LCD1602的延遲函數

    本文檔的主要內容詳細介紹的是LCD1602顯示接收到的紅外線鍵值程序和LCD1602的延遲函數。
    發表于 05-06 16:40 ?25次下載
    <b class='flag-5'>LCD1602</b><b class='flag-5'>顯示</b>接收到的紅外線鍵值程序和<b class='flag-5'>LCD1602</b>的延遲函數

    lcd1602液晶顯示屏介紹_lcd1602引腳功能

    本文首先闡述了lcd1602液晶顯示屏的概念,其次闡述了LCD1602外形尺寸,最后介紹了lcd1602引腳功能。
    發表于 04-23 08:53 ?7.1w次閱讀

    lcd1602proteus中怎么找_lcd1602proteus仿真

    proteus提供了很多LCD的仿真器件,分享一個關于lcd1602的查找操作,希望對需要的朋友有幫助。
    發表于 04-23 09:02 ?12.3w次閱讀
    <b class='flag-5'>lcd1602</b>在<b class='flag-5'>proteus</b>中怎么找_<b class='flag-5'>lcd1602proteus</b>仿真

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

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

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

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

    51單片機LCD1602顯示實驗

    實驗目標:掌握LCD1602顯示控制方法; 掌握利用Proteus單片機控制系統的仿真及調試方法。任務:根據要求編寫程序,并寫出原理性注釋; 將檢查程序運行的結果,分析一下是否正確; 完成所建
    發表于 11-10 20:06 ?25次下載
    51單片機<b class='flag-5'>LCD1602</b><b class='flag-5'>顯示</b>實驗

    STMCubeMX+Proteus仿真DHT11(LCD1602顯示)

    信息顯示LCD1602上Tips:之前寫過一期LCD1602的,貼個傳送門 STM32CubeMX+Proteus仿真LCD1602
    發表于 11-21 14:06 ?49次下載
    STMCubeMX+<b class='flag-5'>Proteus</b>仿真DHT11(<b class='flag-5'>LCD1602</b><b class='flag-5'>顯示</b>)

    51單片機 LCD1602驅動顯示(模板)+Proteus

    51單片機 LCD1602驅動顯示(模板)+Proteus本項目工程篇,只展示LCD1602驅動顯示,不涉及其他外設驅動使用,可以作為
    發表于 11-23 17:06 ?30次下載
    51單片機 <b class='flag-5'>LCD1602</b>驅動<b class='flag-5'>顯示</b>(模板)+<b class='flag-5'>Proteus</b>

    STM32CubeMX+Proteus仿真LCD1602顯示

    本文說明開發工具:STM32CubeMX+Keil5開發芯片:STM32F103R6顯示屏幕:LCD1602仿真軟件:Proteus 8.12工程目標:在LCD1602
    發表于 01-14 09:31 ?60次下載
    STM32CubeMX+<b class='flag-5'>Proteus</b>仿真<b class='flag-5'>LCD1602</b>的<b class='flag-5'>顯示</b>