lcd1602显示0-255
时间: 2023-07-29 18:11:34 浏览: 121
lcd1602屏幕显示
这里提供一个C语言程序,可以将0-255的数字显示在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;
void DelayUs2x(unsigned char t);
void DelayMs(unsigned char t);
void Lcd1602_WriteCommand(unsigned char command);
void Lcd1602_WriteData(unsigned char dat);
void Lcd1602_Init();
void main()
{
unsigned char i;
Lcd1602_Init();
while(1)
{
for(i=0;i<=255;i++)
{
Lcd1602_WriteCommand(0x80); //设置光标位置为第一行第一列
Lcd1602_WriteData(i/100+'0'); //显示百位
Lcd1602_WriteData(i%100/10+'0'); //显示十位
Lcd1602_WriteData(i%10+'0'); //显示个位
DelayMs(500); //延时500ms
}
}
}
void DelayUs2x(unsigned char t)
{
while(--t);
}
void DelayMs(unsigned char t)
{
while(t--)
{
DelayUs2x(245);
DelayUs2x(245);
}
}
void Lcd1602_WriteCommand(unsigned char command)
{
LCD1602_RS = 0; //选择指令寄存器
LCD1602_RW = 0; //选择写入模式
LCD1602_DB = command; //写入指令
LCD1602_E = 1; //使能信号置高
_nop_(); //空操作
_nop_();
LCD1602_E = 0; //使能信号置低
}
void Lcd1602_WriteData(unsigned char dat)
{
LCD1602_RS = 1; //选择数据寄存器
LCD1602_RW = 0; //选择写入模式
LCD1602_DB = dat; //写入数据
LCD1602_E = 1; //使能信号置高
_nop_();
_nop_();
LCD1602_E = 0; //使能信号置低
}
void Lcd1602_Init()
{
Lcd1602_WriteCommand(0x38); //8位数据总线,2行显示,5x7点阵字符
Lcd1602_WriteCommand(0x0c); //显示开,光标关,光标位置不显示
Lcd1602_WriteCommand(0x06); //光标右移,字符不移动
Lcd1602_WriteCommand(0x01); //清屏,光标回到原点
}
```
需要注意的是,这个程序中使用的是51单片机,如果使用其他单片机需要修改相应的引脚定义及延时函数。同时,LCD1602的接线也需要正确连接才能正常显示。
阅读全文