//////////////////////////////////////
创新互联是一家专注于成都做网站、成都网站制作、成都外贸网站建设与策划设计,金林网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:金林等地区。金林做网站价格咨询:18980820575
//晶振频率为6MHz 一个机器周期2us //
//实现按键地址码、指令码的数码管显示//
//2010-06-01 //
//////////////////////////////////////
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
bit overflag,dataover;//开始接收数据,数据处理完毕
uchar timedata;//定时器0溢出次数
uchar chubus[33];//33Byte数据 timedata组成的数组
uchar jieguos[4];//地址码,地址反码,数据码,数据反码;
void initial()//初始化
{
IT0=1;EX0=1;//负边沿触发
TMOD=0x01;ET0=1;TR0=1;//模式1,十六位定时器
TH0=0xff;TL0=0x06;//0.5ms溢出
EA=1; //开总中断
}
void time0() interrupt 1//定时器0中断
{TH0=0xff;TL0=0x06;
timedata++;
}
void ex0() interrupt 0//外部中断0,接收数据
{
static bit startflag;//开始接收
static uchar i;
if(startflag)
{
if(timedata32timedata=16) i=0;
chubus[i]=timedata;
timedata=0;
i++;
if(i==33){overflag=1;i=0;}
}
else
{
startflag=1;
timedata=0;
}
}
void chulidata()
{
uchar chubu;//初步数据
uchar jieguo;//结果数据
uchar x,y,z=1;
for(x=0;x4;x++)//处理四组数据
{
for(y=1;y=8;y++)//处理一组数据8Byte
{
chubu=chubus[z];
jieguo=jieguo1;
if(chubu3) jieguo=jieguo|0x80;//大于1.5mS为1
z++;
}
jieguos[x]=jieguo;
jieguo=0;
}
dataover=1;
}
void delay(uint z)
{
uint x ,y;
for(x=z;x0;x--)
for(y=110;y0;y--);
}
void display()
{
uchar gao,gao1;
uchar di,di1;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
gao1=table[jieguos[0]/16];
di1=table[jieguos[0]%16];
gao=table[jieguos[2]/16];
di=table[jieguos[2]%16];
dula=1;
P0=gao1;
dula=0;
P0=0xff;
wela=1;
P0=0x7e;
wela=0;
delay(2);
dula=1;
P0=di1;
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(2);//地址码
dula=1;
P0=gao;
dula=0;
P0=0xff;
wela=1;
P0=0x77;
wela=0;
delay(2);
dula=1;
P0=di;
dula=0;
P0=0xff;
wela=1;
P0=0x6f;
wela=0;
delay(2);//指令码
}
void main()
{
initial();//初始化
while(1)
{
if(overflag)//数据接收完毕
{
chulidata();//处理数据,完成标志dataover
overflag=0;
}
if(dataover)
{
display();//数码管显示
}
}
}
J2ME是基于JVM的操作,外设方面都没办法控制的,可以用C语言以及汇编。单晶片那方面的知识
红外遥控编码
应用中的各种红外遥控系统的原理都大同小异,区别只是在于各系统的信号编码格式不同。
红外遥控发射器组成了键扫描、编码、发射电路。当按下遥控器上任一按键时,TC9012即产生一串脉冲编码。
建议看一下《简单谈一下JAVA和红外线》。可以通过可编程接收器来做
这不是一个人能做的 这设计到多个领域:
要为你这个功能写一个app应用,就是一个小工具,一般是用java
单片机编程和开发,和蓝牙模块通讯,和红外通讯,一般用C和汇编开发
如果涉及蓝牙协议和通讯格式 还需要处理android系统,在linux平台操作
你一个人是做不了这么多事情的,方案公司做这个东东都要一个月