LCD1602_WriteInt程序
时间: 2023-09-06 17:11:50 浏览: 37
下面是一个简单的LCD1602_WriteInt程序的示例,它可以将整数值写入16x2字符LCD显示屏上:
```
#include <LiquidCrystal.h> // 引入LCD库
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // 初始化LCD对象
void setup() {
lcd.begin(16, 2); // 初始化LCD显示屏
}
void loop() {
int value = 1234; // 要写入LCD屏幕的整数值
lcd.setCursor(0, 0); // 设置光标位置为第一行第一列
lcd.print("Value: "); // 显示字符串 "Value: "
lcd.print(value); // 将整数值写入LCD屏幕
delay(1000); // 等待1秒
lcd.clear(); // 清空LCD屏幕
}
```
在这个例子中,我们使用LiquidCrystal库来控制LCD显示屏。在setup()函数中,我们初始化了LCD对象并设置了屏幕的行数和列数。在loop()函数中,我们定义了一个整数变量value,并将其设置为1234。然后,我们使用lcd.setCursor()函数将光标位置设置为第一行第一列,并使用lcd.print()函数将字符串 "Value: " 和整数值value写入LCD屏幕。最后,我们等待1秒钟,然后使用lcd.clear()函数清空LCD屏幕。
相关问题
51单片机lcd1602两行显示程序
以下是51单片机使用LCD1602显示器实现两行显示的程序:
```c
#include <reg52.h>
#include <stdio.h>
#define LCD1602_DATAPORT P0
sbit LCD1602_RS = P2^0; // RS引脚
sbit LCD1602_RW = P2^1; // RW引脚
sbit LCD1602_EN = P2^2; // EN引脚
void delay(unsigned int t)
{
while(t--);
}
void LCD1602_WriteCmd(unsigned char cmd)
{
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_DATAPORT = cmd;
LCD1602_EN = 1;
delay(100);
LCD1602_EN = 0;
}
void LCD1602_WriteData(unsigned char dat)
{
LCD1602_RS = 1;
LCD1602_RW = 0;
LCD1602_DATAPORT = dat;
LCD1602_EN = 1;
delay(100);
LCD1602_EN = 0;
}
void LCD1602_Init()
{
LCD1602_WriteCmd(0x38); // 8位数据线,2行显示,5x7点阵字符
LCD1602_WriteCmd(0x0c); // 显示开,无光标,不闪烁
LCD1602_WriteCmd(0x06); // 地址自动加1,不移动屏幕
LCD1602_WriteCmd(0x01); // 清屏
}
void LCD1602_SetCursor(unsigned char x, unsigned char y)
{
unsigned char addr;
if (y == 0) // 第一行
addr = 0x80 + x;
else // 第二行
addr = 0xc0 + x;
LCD1602_WriteCmd(addr);
}
void LCD1602_Print(const char *str)
{
while(*str != '\0')
{
LCD1602_WriteData(*str++);
}
}
void main()
{
LCD1602_Init(); // 初始化
LCD1602_SetCursor(0, 0); // 设置光标位置
LCD1602_Print("Hello,"); // 输出第一行
LCD1602_SetCursor(0, 1); // 设置光标位置
LCD1602_Print("world!"); // 输出第二行
while(1);
}
```
程序中通过 `LCD1602_WriteCmd()` 函数来向LCD1602发送命令,通过 `LCD1602_WriteData()` 函数来向LCD1602发送数据。同时,还实现了一些辅助函数,如 `LCD1602_Init()` 用于初始化LCD1602, `LCD1602_SetCursor()` 用于设置光标位置, `LCD1602_Print()` 用于向LCD1602输出字符串。在主函数中,先进行了LCD1602的初始化,然后设置光标位置和输出两行字符串。
#include<reg52.h> #include<intrins.h> #define LCD1602_DB P0 sbit LCD1602_RS=P2^0; sbit LCD1602_RW=P2^1; sbit LCD1602_E=P2^2; unsigned int frq;//定义频率变量 unsigned char frq_display[5];//定义频率显示数组 void delay(unsigned int x);//延时函数 void write_com(unsigned char com);//写入指令函数 void write_data(unsigned char date);//写入数据函数 void init_lcd1602();//初始化LCD函数 void display(unsigned char *p);//显示函数 void measure();//测量频率函数 void main() { init_lcd1602();//初始化LCD1602 while(1) { measure();//测量频率 display(frq_display);//显示频率 } } void delay(unsigned int x)//延时函数 { unsigned int i,j; for(i=x;i>0;i--) { for(j=110;j>0;j--); } } void write_com(unsigned char com)//写入指令函数 { LCD1602_RS=0; LCD1602_RW=0; LCD1602_DB=com; LCD1602_E=1; _nop_(); _nop_(); LCD1602_E=0; } void write_data(unsigned char date)//写入数据函数 { LCD1602_RS=1; LCD1602_RW=0; LCD1602_DB=date; LCD1602_E=1; _nop_(); _nop_(); LCD1602_E=0; } void init_lcd1602()//初始化LCD函数 { write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口 write_com(0x0c);//开显示,关光标,不闪烁 write_com(0x06);//读写指针自动加1,不移动屏幕 write_com(0x01);//清屏 write_com(0x80);//设置显示起始地址 } void display(unsigned char *p)//显示函数 { write_com(0x80);//设置显示起始地址 while(*p!='\0') { write_data(*p++); } } void measure()//测量频率函数 { unsigned long cnt=0; TMOD=0x01;//设置计时器0为16位计数模式 TH0=0; TL0=0; TR0=1;//计时器0开始计数 while(TF0==0);//等待计时器0溢出 TR0=0;//计时器0停止计数 cnt=TH0*256+TL0;//获取计时器0的计数值 frq=11059200/cnt;//计算频率值 sprintf(frq_display,"%4uhz",frq);//将频率值转换成字符串 TF0=0;//清除计时器0溢出标志 }
这段程序的作用是使用单片机测量外部信号的频率,并将频率值显示在LCD1602液晶屏上。程序中使用了计时器0来计数外部信号的频率,通过计算得到频率值,并将频率值转换成字符串形式,最后使用LCD1602显示出来。程序中需要连接计时器0的引脚和外部信号的引脚,具体接线方式可以参考单片机开发板的引脚图。同时,程序中使用了P0口来作为LCD1602的数据总线,P2口的0、1、2分别作为LCD1602的RS、RW、E控制引脚。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)