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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2947|回復: 2
收起左側

LCD1602模塊化代碼,超級方便,以后再不用打那么長的代碼LCD1602.c和LCD1602.h

[復制鏈接]
ID:936280 發表于 2021-7-12 09:40 | 顯示全部樓層 |閱讀模式
主要內容顯示如下:
模塊化LCD1602.c和LCD1602.h如下文件

#include <REGX52.H>

sbit LCD_RW=P2^5;  
sbit LCD_RS=P2^6;//1為數據,0為指令
sbit LCD_E=P2^7;

#define LCD_DataPort P0

void Delay(unsigned char xms)
{
        unsigned char i=2,j=199;
        while(xms--)
        {
                do
                {
                        while(--j);
                }while(--i);
        }
}

void LCD_WriteCommand(unsigned char Command)
{
        LCD_RS=0;
        LCD_RW=0;
        
        LCD_DataPort=Command;
        
        LCD_E=1;
        Delay(1);
        
        LCD_E=0;
        Delay(1);
}

void LCD_WriteData(unsigned char Data)
{
        
        LCD_RS=1;
        LCD_RW=0;
        
        LCD_DataPort=Data;
        
        LCD_E=1;
        Delay(1);
        
        LCD_E=0;
        Delay(1);
}

void LCD_Init(void)
{
        LCD_WriteCommand(0x38);
        LCD_WriteCommand(0x0C);
        LCD_WriteCommand(0x06);
        LCD_WriteCommand(0x01);
}

void LCD_SetAC(unsigned char Line,unsigned char Column)
{
        LCD_WriteCommand(0x80);
        if(Line==1)
        {
                LCD_WriteCommand(0x80|(Column-1));
        }
        else if(Line==2)
        {
                LCD_WriteCommand(0x80|(Column-1)+0x40);
        }
}

void LCD_ShowChar(unsigned char Line,unsigned char Column,unsigned char Char)
{
        LCD_SetAC(Line,Column);
        LCD_WriteData(Char);
}

void LCD_ShowString(unsigned char Line,unsigned char Column,unsigned char *String)
{
        LCD_SetAC(Line,Column);
        while(1)
        {
                if(*String!='\0'){LCD_WriteData(*String);}
                else{break;}
                String++;
        }
}
int Power(unsigned char X,unsigned char Y)
{
        unsigned char i;
        int result=1;
        for(i=0;i<Y;i++)
        {
                result*=X;
        }
        return result;
}        
        
void LCD_ShowNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length)
{
        unsigned char i;
        LCD_SetAC(Line,Column);
        for(i=Length;i>0;i--)
        {
                LCD_WriteData('0'+Number/Power(10,i-1)%10);
        }
}
void LCD_ShowsignedNum(unsigned char Line,unsigned char Column,int Num1,unsigned char Length)
{
        int Number1;
        unsigned char i;
        LCD_SetAC(Line,Column);
        if(Num1>0)
        {
                LCD_WriteData('+');
                Number1=Num1;
        }
        else if(Num1<0)
        {
                LCD_WriteData('-');
                Number1=-Num1;
        }
        for(i=Length;i>0;i--)
        {
                LCD_WriteData('0'+Number1/Power(10,i-1)%10);
        }
}


void main()
{
                LCD_Init();
                LCD_ShowChar(1,1,'A');
                LCD_ShowString(1,3,"Hello");
                LCD_ShowNum(1,9,66,2);
                LCD_ShowsignedNum(1,12,-88,2);
                while(1)
                {
                        
                }
}

LCD.rar

25.4 KB, 下載次數: 74, 下載積分: 黑幣 -5

LCD1602模塊化

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:1107186 發表于 2023-12-30 14:50 | 顯示全部樓層
為什么沒有檢測BF是否處于忙標識呢
回復

使用道具 舉報

ID:1113035 發表于 2024-3-14 23:28 來自觸屏版 | 顯示全部樓層
怪了,俺的lcd函數為什么不能用
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本黄a三级三级三级 | 亚洲国产精品久久久 | www.av在线 | 日韩一区二区在线播放 | 精品亚洲国产成人av制服丝袜 | 第一福利视频 | 91一区二区 | 久久久久国产 | 在线观看亚洲一区 | 亚洲激情在线播放 | 长河落日电视连续剧免费观看 | 亚洲天堂久久久 | 日韩精品免费观看 | 久久久久久久久久久国产 | 色黄视频在线观看 | 国产精品99精品久久免费 | 色偷偷网站 | 久久精品小视频 | 黄色片亚洲 | 又色又爽又黄gif动态图 | 成年视频在线观看 | 久久福利视频导航 | 亚洲va韩国va欧美va精品 | 男男成人高潮片免费网站 | 亚洲一区久久 | 日韩在线成人 | 国产精品一区二区在线播放 | 天天色影院 | 国产精品亚洲一区 | 天天操天天做 | 午夜欧美 | 欧美一级日韩一级 | 羞羞在线 | 欧洲av网站 | www午夜| 三级av网站 | 免费网站黄| 婷婷av在线| 四虎色播 | 亚洲网站在线 | 中文字幕高清 |