标题:
stc15F2K60s4单片机+LCD1602测试程序
[打印本页]
作者:
YJZL
时间:
2019-7-28 11:15
标题:
stc15F2K60s4单片机+LCD1602测试程序
0.png
(4.9 KB, 下载次数: 45)
下载附件
2019-7-28 18:01 上传
单片机源程序如下:
#include"LCD1602.h"
void LCD_1602_Delay1ms(uint c) //误差 0us
{
uchar a,b;
for (; c>0; c--)
{
for (b=199;b>0;b--)
{
for(a=1;a>0;a--);
}
}
}
/*向LCD写入一个字节的命令*/
#ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时
void LCD_Write_Com(uchar com) //写入命令
{
EN = 0; //使能
RS = 0; //选择发送命令
RW = 0; //选择写入
LCD1602_DATAPINS = com; //放入命令
LCD_1602_Delay1ms(1); //等待数据稳定
EN = 1; //写入时序
LCD_1602_Delay1ms(5); //保持时间
EN = 0;
}
#endif
/*向LCD写入一个字节的数据*/
#ifndef LCD1602_4PINS
void LCD_Write_Data(uchar dat) //写入数据
{
EN = 0; //使能清零
RS = 1; //选择输入数据
RW = 0; //选择写入
LCD1602_DATAPINS = dat; //写入数据
LCD_1602_Delay1ms(1);
EN = 1; //写入时序
LCD_1602_Delay1ms(5); //保持时间
EN = 0;
}
#endif
/*清屏函数*/
void LCD_Clear(void)
{
LCD_Write_Com(0x01);
LCD_1602_Delay1ms(5);
}
/*写入字符串函数*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x); //表示第一行
}
else
{
LCD_Write_Com(0xC0 + x); //表示第二行
}
while (*s)
{
LCD_Write_Data( *s);
s ++;
}
}
/*写入字符函数*/
void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x);
}
else
{
LCD_Write_Com(0xC0 + x);
}
LCD_Write_Com( Data);
}
/*初始化LCD屏*/
#ifndef LCD1602_4PINS
void LCD1602_Init() //LCD初始化子程序
{
LCD_Write_Com(0x38); //开显示
LCD_Write_Com(0x0c); //开显示不显示光标
LCD_Write_Com(0x06); //写一个指针加1
LCD_Write_Com(0x01); //清屏
LCD_Write_Com(0x80); //设置数据指针起点
}
#endif
复制代码
所有资料51hei提供下载:
stc15+LCD1602.zip
(1.47 KB, 下载次数: 47)
2019-7-28 11:13 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1