智能物流仓库控制系统

智能物流仓库控制系统(1)

51单片机为核心,加入温度传感器、红外技术传感器、蜂鸣器、继电器、光照消毒灯等等,进行仓库实时模拟。

第一篇文章首先介绍一下LCD1602吧!

LCD1602就是那个绿色的显示屏,他可以显示一些东西~但在显示之前要把线接好,D0-D7介入P0口,有上拉电阻可以供电,RS、RW、EN分别接入P2.0、P2.1、P2.2

LCD1602选择的是16引脚,VSS和VDD是电源的两端,VDD为正极VSS为负极。V0则是对比调整电压,为了使显示屏的显示清晰,直接选择V0接地,使其处于最清晰的状态。有三个控制状态的引脚,分别是EN 、RW 、RS,不同的状态产生不同的效果,例如当RS低电平,RW与EN都为高电平设置为读状态,RS与RW都为低电平则为写指令,可在D0-D7显示出来,RS、RW和E都为高电平则为读数据,RS为高电平,RW为低电平则是写数据,数据在D0-D7中输出选择自带上拉电阻的P0接口将其对应接起来,如果想让LCD1602可以正常显示,首先要编写LCD1602的初始化程序,定义写指令函数,查询LCD1602的使用手册,分别使此函数输入0x38(设置显示模式)、0x01(清屏)、0x80(设置数据指针起点)、0x0c(开显示不显示光标),之后可以根据定义的写地址、写数据函数来输入想要显示的内容。A、K引脚是控制背光的电源脚。

整点干货吧!上程序。

#include<reg51.h>

#define uchar unsigned char
#define uint unsigned int
#define LCDPORT P0             

sbit RS=P2^0;	 //定义LCD引脚
sbit RW=P2^1;
sbit EN=P2^2;

void delay1ms(uint z)				//延时函数
 {
	  uint i,j;;
    for(i=z;i>0;i--)
    for(j=110;j>0;j--);
 }
 



void write_com(unsigned char com)			//写地址
 {  
   delay1ms(1);
   RS=0;
   RW=0;
   EN=0;
   P0=com;
   delay1ms(1);
   EN=1;
   delay1ms(1);
   EN=0;
  }

void write_dat(unsigned char dat)			//写数据
{  
	 delay1ms(1);;
   RS=1;
   RW=0;
   EN=0;
   P0=dat;
   delay1ms(1);
   EN=1;
   delay1ms(1);
   EN=0;
}

 void lcd_init()					//lcd初始化
{   
		delay1ms(15);
    write_com(0x38);
	  delay1ms(5);
    write_com(0x08);
	  delay1ms(5);
    write_com(0x01);
		delay1ms(5);
		write_com(0x06);
		delay1ms(5);
		write_com(0x0c);
		delay1ms(5);
}

 void display(unsigned char *p)			//显示
{
	while(*p!='\0')
	{
		write_dat(*p);
		p++;
		delay1ms(1);
	}
}

声明上面的 函数,可以直接调用使用 ,写地址的时候要根据下表进行书写,1602就是16位*2有32个可以写地址的地方,可以利用代码进行数据输入

 write_com(地址);
 write_dat(字符串);

这里的地址写法有很多,一般我会讲第一个位置视为0x80后面的位置则是0x80+0x00、0x01....,字符串可以在最前面定义,在这里直接调用或者直接输入。

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

40

41

42

43

44

45

46

47

48

49

4A

4B

4C

4D

4E

4F

 

这些指令基本可以驱动一个LCD1602进行数字、字母的显示,但是这些显示都是固定的,在后面我们要将温度传感器接收到的输入输入到单片机内,并且利用LCD1602显示出来(如果我不犯懒的话会写的)!

之后还可以利用多个按键进行LCD1602的屏幕切换等等。 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值