您的位置 首页 汽车

1602屏合作红外遥控(完成光标移动)与对1602新的知道

1、效果图2、代码3、对1602新的认识(小结)效果图代码工程文件下载:http:www51heicomfgxde_crarincludereg51h>includeintr

1、效果图
2、代码
3、对1602新的知道(小结)

效果图

代码
工程文件下载:http://www.51hei.com/f/gxde_c.rar

#include

#include
sbit RS = P2^4; //界说端口
sbit RW = P2^5;
sbit EN = P2^6;
unsigned char sj[33]; //接纳脉冲时刻数组
unsigned char ac; //l602AC值,(显现缓存地址)
unsigned char i; //脉冲个数记载
unsigned char mcsj; //脉冲时刻(大于0.56ms小于1.125ms为0,大于1.125ms小于2.25ms)
bit MC=0; //接纳红外脉冲开端标志(0:脉冲现已完毕,1:脉冲刚开端)
bit JS=0; //脉冲接纳完毕标志位(1标志接纳完毕)
bit JM=0; //解码完结标志位(1:解码完结)
void Delay(unsigned char f);
void dsq_0() interrupt 1 using 1 //定时器T0中止服务函数
{
mcsj++; //256
}
void wbzd_0() interrupt 0 //外部中止服务函数
{
if(MC)
{
if(mcsj>32) //判别是不是引导码。(如果是i=0)
i=0;
sj[i]=mcsj; //把脉冲时刻存入sj这个数组里
mcsj=0; //清空脉冲时刻预备接纳下一个脉冲时刻
i++;
if(i==33) //判别是否接纳完脉冲时刻
{
i=0;
JS = 1; //接纳完结标志方位1
MC=0; //红外脉冲完毕
}
}
else
{
MC=1; //红外脉冲开端
mcsj=0; //清空脉冲时刻
}
}
void csh_dsq_0() //初始化定时器0
{
TMOD = 0x02;
TH0=0x00; //定时器0的重装数据
TL0=0x00; //初始化
ET0=1; //翻开定时器0中止
TR0=1; //启用定时器0
}
void csh_wbzd_0() //初始化外部中止0
{
IT0=1; //外部中止0下降沿触发
EX0=1; //启用外部中止0
EA=1; //翻开总中止
}
void hwjm(unsigned char *p) //红外解码函数
{
unsigned char i,j,k=1;
for(i=0;i<4;i++) //4组数据的计数
{
for(j=0;j<8;j++) //每组数据中的8位数据核算
{
p[i] >>= 1; //数据右移一位
if(sj[k]>7) //脉冲时刻大于7的便是1
p[i] |= 0x80;
k++;
}
}
JS = 0; //剖析完结清零JS
JM = 1; //解码完结JM置1
}
void Delayus(unsigned char t) // us等级延时
{
while(–t);
}
void Delayms(unsigned char t)// ms等级延时
{
while(t–)
{
//大致延时1mS
Delayus(245);
Delayus(245);
}
}
bit m_1602(bit i) //判别1602是否忙(参数i=1:读取AC值。i=0:不读AC值)
{
P0 = 0xFF; //预备读取
RS = 0;
RW = 1;
EN = 0;
_nop_();
EN = 1; //发生高电平
if(i)
ac = P0 & 0x7f; //读取AC值
return (bit)(P0 & 0x80);
}
void x_1602(bit i,unsigned char j) //参数一是写(0、写指令 1、写数据),参数二是写入的8位数据
{
while(m_1602(0))
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
RS = i;
RW = 0;
EN = 1;
P0 = j;
_nop_();
EN = 0; //发生下降沿
}
void qp_1602() //清屏函数
{
x_1602(0,0×01); //第一个参数是:写入的类型(0、写指令 1、写数据),第一个参数是:写入的数据
Delayms(5);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/317213.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部