//**************************************************/******************* *************
//0、本程序配套视频教程《人人学会单片机》录制时间为:2020年6月25日
//1、本代码和资料最后编辑时间为:2021年4月24日,视频和代码不同之处,以本代码为准。
//2、本代码只适合STC15W单片机。可能不兼容其他单片机。
//**************************************************/******************* *************
#include "all.h"
u8 xdata LCD1602_Write_Buffer1[16]; //1602 上行数据
u8 xdata LCD1602_Write_Buffer2[16]; //1602 下行数据
u8 code LCD1602_5x8[8]={0x08,0x00,0x07,0x08,0x08,0x08,0x08,0x07};
u8 xdata LCD1602_Write_Cursor_Add;
//**************************************************/******************* *************
//LCD1602驱动芯片AiP31066要求:两次写入的时间间隔有39us、43us等,为确保稳定好记,周期取50微秒最好。
//LCD1602_Delay函数的参数是工作在STC15W单片机+30M晶振频率,74HC595数据发送时间15us,
//如果74HC595使用bit方式操作,或者直接单片机并口发送到LCD,请将本延迟函数改成50us。
//74HC595使用循环移位方式,那么,执行delay函数的时间 = 50us - 74HC595数据发送时间15us ≈ 35us,既len=1 执行35us
//**************************************************/******************* *************
void LCD1602_Delay(u8 len) //既len=1 执行35us
{
u8 idata i;
while(len--)
{
i=10; //经过测量得到的值
while(i--);
}
}
//**************************************************/******************* *************
//向LCD1602液晶里面写入一个命令(既地址),两次调用时间间隔绝对要大于40us。
//**************************************************/******************* *************
void LCD1602_Write_Add(u8 Add)
{
LCD1602_RS=0;
LCD1602_E=0;
LCD1602_Delay(1);
LCD1602_E=1;
HC595_Write_Buffer[0]=Add;
HC595_Write_Buffer[1]=0;
HC595_Write_Data_Drive();
LCD1602_E=0;
}
//**************************************************/******************* *************
//向LCD1602液晶里面写入一个数据(既字符),两次调用时间间隔绝对要大于40us。
//**************************************************/******************* *************
void LCD1602_Write_Dat(u8 Dat) //写内容
{
LCD1602_RS=1;
LCD1602_E=0;
LCD1602_Delay(1);
LCD1602_E=1;
HC595_Write_Buffer[0]=Dat;
HC595_Write_Buffer[1]=0;
HC595_Write_Data_Drive();
LCD1602_E=0;
}
//**************************************************/******************* *************
//LCD1602的硬件初始化,以及写入自定义图像,(特别注意:使用595驱动LCD,则本函数必须写在595初始化后面)
//**************************************************/******************* *************
void LCD1602_Init()
{
u8 i;
LCD1602_Delay(250); //上电后等待至少15ms,才能往LCD写指令
LCD1602_Delay(250); //上电后等待至少15ms,才能往LCD写指令
LCD1602_Write_Add(0x38); //执行时间40us 设置总线模式为八位 总线
LCD1602_Write_Add(0x01); //执行时间1.53ms 清除整个屏幕需要很长时间
LCD1602_Delay(50);
LCD1602_Write_Add(0x02); //执行时间1.53ms 光标地址返回到原点
LCD1602_Delay(50);
LCD1602_Write_Add(0x06); //执行时间40us 字符书写模式
LCD1602_Write_Add(0x0C); //执行时间40us 显示开、关
LCD1602_Write_Add(0x14); //执行时间40us 光标或者字符移动设置
LCD1602_Write_Add(0x40); //执行时间40us 自定义存储空间起始地址
for(i=0;i<8;i++)
{
LCD1602_Write_Dat(LCD1602_5x8[i]);//每写入一个字节的执行时间是45us
}
}
//**************************************************/******************* *************
//LCD1602 显示字符和光标控制
//**************************************************/******************* *************
void LCD1602_Display_Ser()
{
u8 i;
LCD1602_Write_Add(0x80); //40us 设置显示地址
for(i=0;i<16;i++)
{
LCD1602_Write_Dat(LCD1602_Write_Buffer1[i]);//每写入一个字节的执行时间是45us
}
LCD1602_Write_Add(0xC0); //40us 设置显示地址
for(i=0;i<16;i++)
{
LCD1602_Write_Dat(LCD1602_Write_Buffer2[i]);//每写入一个字节的执行时间是45us
}
switch(LCD1602_Write_Cursor_Add)
{
case 0:LCD1602_Write_Add(0x0C);break;//不显示也不闪烁光标
case 1:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCa);break;
case 2:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCd);break;
case 3:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC7);break;
case 4:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC4);break;
case 5:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC1);break;
case 6:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCf);break;
case 7:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x89);break;
case 8:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x86);break;
case 9:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x83);break;
}
}
大富大贵7
- 粉丝: 394
- 资源: 8870
最新资源
- comsol燃料电池模型,等温和不等温的均有 下面是验证图以及参考文献
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮的黑色导航jq幻灯商务服务html5模板5552.zip
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮大图商务简洁响应式整站模板4889.zip
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮全屏大气互联网产品专题html5模板5301.zip
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮美女模特美妆企业响应式html5模板4902.zip
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮木纹背景家居家装企业网站模板5483.zip
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮的CSS3动画互联网商务整站模板5317.zip
- 【Web网页设计制作-毕业设计期末大作业源码】浅绿色个性纯色HTML5模板下载5473.zip
- 【Web网页设计制作-毕业设计期末大作业源码】青春时尚漂亮运动APP软件官网模板5150.zip
- 【Web网页设计制作-毕业设计期末大作业源码】清爽大气商业外贸企业官网整站模板5336.zip
- 【Web网页设计制作-毕业设计期末大作业源码】漂亮响应式互联网科技公司wordpress主题模板5299.zip
- 【Web网页设计制作-毕业设计期末大作业源码】深蓝色金融证券公司企业网站模板4928.zip
- 【Web网页设计制作-毕业设计期末大作业源码】深色天空背景宽屏跳转产品展示模板5312.zip
- 【Web网页设计制作-毕业设计期末大作业源码】摄影图片画廊幻灯展示HTML5模板推荐5553.zip
- 【Web网页设计制作-毕业设计期末大作业源码】深蓝色商务UI设计公司企业模板下载4910.zip
- 基于拓展卡尔曼滤波的车辆质量与道路坡度估计 车辆坡度与质量识别模型,基于扩展卡尔曼滤波,估计曲线与实际误差合理 先用递归最小二乘法(RLS)质量识别,最后利用扩展卡尔曼坡度识别(EKF) 送纹献
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈