lcd1602驱动程序

news/2025/1/8 12:47:42/

lcd.c

#include "lcd.h"
#include "reg52.h"void lcd1602_write_cmd(uchar cmd)
{LCD1602_RS=0;  //写命令LCD1602_RW=0;//写LCD1602_E=0;LCD1602_DATEPORT=cmd;delay_ms(1);//1msLCD1602_E=1;delay_ms(1);LCD1602_E=0;
}
void lcd1602_write_data(uchar dat)
{LCD1602_RS=1;  //写数据LCD1602_RW=0;//写LCD1602_E=0;LCD1602_DATEPORT=dat;delay_ms(1);//1msLCD1602_E=1;delay_ms(1);LCD1602_E=0;
}
void lcd1602_init(void)
{lcd1602_write_cmd(0x38);lcd1602_write_cmd(0x0c);lcd1602_write_cmd(0x06);//模式lcd1602_write_cmd(0x01);
}
void lcd1602_clear(void)
{lcd1602_write_cmd(0x01);
}
//x:0-15  y:0-1
void  lcd1602_show_string(uchar x,uchar y,uchar *str)//lcd1602_show_string(0,0,"123456789")
{uchar i=0;if((y>1)|(x>15))return;if(y<1)  //从第一行开始显示{while(*str!='\0'){if(i<16-x)lcd1602_write_cmd(0x80+x+i);//第一行else lcd1602_write_cmd(0x80+0x40+x+i-16);//第二行lcd1602_write_data(*str);str++;i++;}}else  //从第二行开始显示{while(*str!='\0'){if(i<16-x)lcd1602_write_cmd(0x80+0x40+x+i);//第一行else lcd1602_write_cmd(0x80+x+i-16);//第二行lcd1602_write_data(*str);str++;i++;}}
}
void lcd1602_show_data(uchar x,uchar y,uchar dat)//lcd1602_show_data(0,0,1);dat+0x30
{if((y>1)|(x>15))return;if(y<1)//第一行{lcd1602_write_cmd(0x80+x);}else //第二行{lcd1602_write_cmd(0x80+0x40+x);}lcd1602_write_data(dat+0x30);
}

lcd.h

#ifndef __lcd_H_
#ifndef __lcd_H_#include "reg52.h"#define uchar unsigned char
#define uint unsigned int#define LCD1602_DATEPORT  P2sbit LCD1602_RS=P0^7;
sbit LCD1602_RW=P0^6;
sbit LCD1602_E=P0^5;void delay_ms(uint ms);
void lcd1602_write_cmd(uchar cmd);
void lcd1602_write_data(uchar dat);
void lcd1602_init(void);
void lcd1602_clear(void);
void  lcd1602_show_string(uchar x,uchar y,uchar *str);
void lcd1602_show_data(uchar x,uchar y,uchar dat);#endif


http://www.ppmy.cn/news/192977.html

相关文章

ESXI 带网卡realtek驱动下载

福利贴&#xff0c;关键字&#xff1a; realtek网卡驱动&#xff0c;esxi&#xff0c;esxi 7.0 官方版本里面没有realtek驱动&#xff0c;还要自己下了注入进去。 要么就是有人做了放在百度网盘里&#xff0c;我的原则是绝对不给它充钱。 另外也有放在CSDN里面赚积分的&…

新一代ASR6501在发布后对SX1262、SX1278、SX1276有何影响

SX1278/6是Semtech公司在2013年推出的一款远距离、低功耗的无线收发器&#xff0c;是一款性能高的物联网无线收发器&#xff0c;具备特殊的LoRa调制方式&#xff0c;在一定程度上增加了通信距离&#xff1b;而SX1262是一款新产品&#xff0c;同样由Semtech公司在2018年推出&…

Fedora 15 16 17 18 20无线网卡驱动安装

一直不想在虚拟机中安装使用系统&#xff0c;然后就打算给自己的电脑安装一个双系统&#xff0c;因对Fedora有比较好的印象&#xff0c;也就还是选用了它作为我的第二系统。废话少说&#xff0c;我安装的是Fedora&#xff0c;当已安装完以后&#xff0c;发现无线网卡那边显示缺…

[SugerTangYL] LCD1602驱动程序Verilog

前言 LCD1602作为基础液晶屏&#xff0c;是许多应用工程师绕不过的器件。藉由对LCD1602的学习&#xff0c;我们能了解到液晶屏的工作原理&#xff0c;对今后其他液晶屏的学习有着良好的铺垫作用。 一、LCD1602 LCD1602是指显示内容为16x2&#xff0c;即可以显示两行&#xff0c…

Linux系统Realtek网卡驱动安装

Ubuntu有时会不支持电脑的无线网卡&#xff0c;这时就需要自己安装了。 可以在官网找安装文件或者github上找源码编译安装。 Realtek无线网卡的安装包可以在github下载(https://github.com/rtlwifi-linux/rtlwifi_new)&#xff0c;然后进入目录 $make $sudo make install …

HT1622 驱动程

#include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit LCD_CS P1^0; //端口还没按原理图改过来&#xff0c;应为p0^0~p0^3; sbit LCD_RD P1^1; sbit LCD_WR P1^2; sbit LCD_DATA P1^3; / //-------------------------------------------…

物联网LoRa系列-22:LoRa终端--射频芯片SX1261 SX1262的LoRa专用调制解调器与配置

目录结构&#xff1a; 1. SX1261/2功能模块 2. 调制技术的基本原理 3. LoRa调制解调的介绍 4. LoRa调制解调的寄存器设置 1. SX1261/2功能模块&#xff1a; MCU与SX1261/2物理上通过两组接口进行通信&#xff1a; &#xff08;1&#xff09;SPI总线 &#xff08;2&#x…

基于FPGA的LCD1602驱动

一、功能描述 本设计实现LCD_1602的接口&#xff0c;具体功能定义如下&#xff1a; 1、异步复位信号&#xff1b; 2、按下复位键后在LCD_1602液晶屏显示内部设置好的字符,每间隔0.1秒显示一个字符。 二、输入输出信号描述 三、设计思想 1、首先把50MHz的时钟信号转化为10Hz的…