导航:首页 > 操作系统 > 红外遥控单片机程序

红外遥控单片机程序

发布时间:2023-01-17 12:40:20

单片机控制红外程序

给你一个PIC写的接收红外遥控器的程序。

//******************************************************

//mcu: PIC16F883
//author:
//data:
//ver: 1.0
//********************************************************
#include <pic.h>
#include <pic16f887.h>
#include "main.h"

// 函数声明部份

void interrupt IRQ_TEST(void);
void fun_intset(void);
void set_port(void);
void fun_timerset(void);

void delay_10us(void);
void delay_130us(void);

void test_remote(void);

// 主函数
void main()
{
set_port();
fun_timerset();
fun_intset();
delay_10ms();
ram_ini();
GIE=1;

while(1)
{
asm("clrwd");

test_remote();

}
}

//端口I/O定义子程序
void set_port()
{

ANSEL =0X00; //porta io port
ANSELH=0X00; //portb io port
//TRISX BIT=1, PORTX AS INPUT
TRISA = 0x0F; //RA0-RA3 INPUT ,RA4-RA5 OUTPUT

TRISB = 0x07; //RB0 PASS0, RB1-RB2 INPUT ,RB3-RB6 OUTPUT

TRISC = 0x0F;
// TRISC = 0x03; //RC0-RC1 INPUT,RC5-RC6 OUTPUT , RC3 RC4 EEPROM SCL SDA
PORTC=0;
PORTA=0XFF;
// WPUB=0XFF;
PORTB=0X07;
}

//中断子程序
void interrupt IRQ_TEST(void)
{
if(T0IF) //Timer0中断服务子程序
{
TMR0=0xce;
T0IF=0;
timer_100us++; //100us
}

if(INTF==1)
{

INTF=0;
timer_rec=timer_100us;
timer_100us=0;
flag_rec_remote=1;
}
}

//定时器0初始化设置子程序
void fun_timerset()
{
//Timer0初始化设置
PSA=0;//Timer0 使用预分频器
//Timer0选择分频率为1:2
PS0=0;PS1=0;PS2=0;
//内部时钟定时方式,定时时间:200uS,误差:0uS
T0CS=0;
// TMR0=0x9b;

TMR0=0xce; //100us
}

/*

//定时器2初始化设置子程序
void fun_timer2set()
{

//Timer2初始化设置
//timer2使用预分频率1:1
T2CKPS0=0;T2CKPS1=0;
//timer2使用后分频率1:1
TOUTPS0=0;
TOUTPS1=0;
TOUTPS2=0;
TOUTPS3=0;
//定时器2定时时间为:200uS,误差:0uS
TMR2=0x38;
TMR2ON=1;
}

*/

//中断允许设置子程序
void fun_intset()
{
T0IE=1;//Tiemr0中断允许

INTEDG=0; //RB0 FALLAGE INTERRUPT
INTE=1;
INTF=0;

}

void ram_ini(void)
{

}
//------------------------------------------------------------

//*****************************************************************************

void delay_10us(void)
{
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
}

void delay_130us(void)
{
uchar i;

for(i=0;i<13;i++)
{
NOP;
NOP;
NOP;
}
}

void delay_10ms(void)
{
unsigned int i;

for(i=0;i<1000;i++)
{
NOP;
NOP;
NOP;
NOP;
NOP;
}
}

void test_remote(void)
{
uchar rec_ok,i;

if(flag_rec_remote==1)
{
flag_rec_remote=0;

// remote_buf[rec_byte]=timer_rec; //test use
// rec_byte++; //test use
// return; //test use

if(flag_rec_head==0)
{
if(timer_rec>=90&&timer_rec<=140) //135
{
flag_rec_head=1;
rec_byte=0;
rec_bit=0;
rec_buf=0;
return;
}
}
else
{
if(timer_rec>=8&&timer_rec<=12) //11.2
{
rec_buf=(rec_buf>>1);
rec_buf=rec_buf&0x7f;

}

else if(timer_rec>=18&&timer_rec<=22) //22
{
rec_buf=(rec_buf>>1);
rec_buf=rec_buf|0x80;
}
else if(timer_rec>=90&&timer_rec<=140)
{
flag_rec_head=1;
rec_byte=0;
rec_bit=0;
rec_buf=0;
return;
}
else
{
flag_rec_head=0;
rec_byte=0;
rec_bit=0;
rec_buf=0;
return;
}

}

if(flag_rec_head==1)
{

rec_bit++;
if(rec_bit==8)
{
remote_buf[rec_byte]=rec_buf;
rec_byte++;
rec_bit=0;
if(rec_byte==4)
{
NOP;
NOP;
NOP;
NOP;
rec_byte=0;
rec_bit=0;
rec_buf=0;
flag_rec_head=0;

}
}

}
}

}

Ⅱ 求一个单片机红外遥控器控制设计的源程序

程序太长,须仔细研究。

#definemain_GLOBALS

#include<reg51.h>
#include"main.h"
#include"SAA3010.h"

unsignedcharcounter;
unsignedchartemp;

sbitP2_0=0xA0;
sbitP2_1=0xA1;
sbitP2_2=0xA2;
sbitP2_3=0xA3;

voiddecode_init(void)
{
load_code_detected=0;
repeat_code_detected=0;
decode_error=0;
temp1=0;
temp2=0;
temp3=0;
temp4=0;
TH1=0;
TL1=0;
TR1=0;
}

voidmain(void)
{
EX0=1;
IT0=1;
TMOD=0x11;
ET0=1;
TH0=128;
TL0=0;
TR0=1;
P0=0;


TH1=0;
TL1=0;
decode_init();
EA=1;
counter=0;
data_available=0;
while(1)
{
if(data_available==1)
{

if(key_code==01)//display"1"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0xf9;
}

if(key_code==0x02)//display"2"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0xa4;
}

if(key_code==0x03)//display"3"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0xb0;
}

if(key_code==0x04)//display"4"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0x99;
}

if(key_code==0x05)//display"5"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0x92;
}

if(key_code==0x06)//display"6"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0x82;
}

if(key_code==0x07)//display"7"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0xf8;
}

if(key_code==0x08)//display"8"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0x80;
}

if(key_code==0x09)//display"9"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0x90;
}

if(key_code==0x00)//display"0"
{
P2_0=0;//选中四个数码管
P2_1=0;
P2_2=0;
P2_3=0;
P0=0xc0;
}
data_available=0;
}
}
}
//**********************************************************************************************************************
voidkey_isr(void)interrupt0
{
EX0=0;//立即关闭外部中断,转为查询方式解码
led=0;//开LED表示收到红外信号

temp=SAA3010_decode();//解码
if(temp==1)gotokey_isr_exit;
counter=0;
key_isr_exit:
decode_init();
led=1;
EX0=1;
}

voidTimer0_isr(void)interrupt1
{
counter++;
if(counter>3)
{
if(led==0)led=1;
counter=0;
}
ET0=1;
}

#defineSAA3010_GLOBALS
#include<reg51.h>
#include"SAA3010.h"
#include"main.h"


//===========================================================================================================
//该函数的作用是每调用一次就在temp1-4组成的32bit长度的最低位上移入
//一个0或者1,数据由bitdata确定
voidSAA3010_cycle_data(unsignedcharbitdata)
{
temp4=temp4<<1;
if((temp3&0x80)==1)temp4=temp4|0x01;
elsetemp4=temp4&0xfe;

temp3=temp3<<1;
if((temp2&0x80)==1)temp3=temp3|0x01;
elsetemp3=temp3&0xfe;

temp2=temp2<<1;
if((temp1&0x80)==1)temp2=temp2|0x01;
elsetemp2=temp2&0xfe;

temp1=temp1<<1;
if(bitdata==1)temp1=temp1|0x01;
elsetemp1=temp1&0xfe;
}

//===========================================================================================================
//解码出错返回1,对则返回0
unsignedcharSAA3010_decode(void)
{
//-----------------------------------------------------------------------------------------------------------
unsignedcharcount=0;

TR1=1;//启动计时
while(1)
{
while(ir_receive==0);//等待电平变高,不需要超时监测
TR1=0;//高电平(对发射电路而言)测试结束
high_level_time=TH1*256+TL1;//记录高电平的数据
//-----------------------------------------------------------------------------------------------------------
TH1=0; TL1=0;TR1=1;//启动对低电平的测试
//-----------------------------------------------------------------------------------------------------------
//处理低电平
if((high_level_time<750)||(high_level_time>1800))return1;//不是合格的电平
if((high_level_time>750)&&(high_level_time<1000)){SAA3010_cycle_data(0);count+=1;}//移入一个0
if((high_level_time>1500)&&(high_level_time<1800)){SAA3010_cycle_data(0);SAA3010_cycle_data(0);count+=2;}//移入两个0

while(ir_receive==1)//等待电平变低
{
if(TH1>0x08)break;//高电平超时,正常情况下是测试结束,异常时则是出错
}

TR1=0;//低电平(对发射电路而言)测试结束
if(TH1>0x08){break;}
low_level_time=TH1*256+TL1;//保存低电平的数据

TH1=0; TL1=0; TR1=1; //为增加计时的准确性,数据的处理都是在计时过程里
//-----------------------------------------------------------------------------------------------------------
//处理高电平
if((low_level_time<750)||(low_level_time>1800))return1;//不是合格的电平
if((low_level_time>750)&&(low_level_time<1000)){SAA3010_cycle_data(1);count+=1;}//移入一个0
if((low_level_time>1500)&&(low_level_time<1800)){SAA3010_cycle_data(1);SAA3010_cycle_data(1);count+=2;}//移入两个0
}

if(count==26){SAA3010_cycle_data(1);count++;}
if(count!=27)return1;
led=0;

//提取按健信息
key_code=0;
if((temp1>>1)&0x01)key_code=key_code|0x01;
elsekey_code=key_code&0xfe;
if((temp1>>3)&0x01)key_code=key_code|0x02;
elsekey_code=key_code&0xfd;
if((temp1>>5)&0x01)key_code=key_code|0x04;
elsekey_code=key_code&0xfb;
if((temp1>>7)&0x01)key_code=key_code|0x08;
elsekey_code=key_code&0xf7;
if((temp2>>1)&0x01)key_code=key_code|0x10;
elsekey_code=key_code&0xef;
if((temp2>>3)&0x01)key_code=key_code|0x20;
elsekey_code=key_code&0xdf;

//提取系统信息
sys_code=0;
if((temp2>>5)&0x01)sys_code=sys_code|0x01;
elsesys_code=sys_code&0xfe;
if((temp2>>7)&0x01)sys_code=sys_code|0x02;
elsesys_code=sys_code&0xfd;

if((temp3>>1)&0x01)sys_code=sys_code|0x04;
elsesys_code=sys_code&0xfb;
if((temp3>>3)&0x01)sys_code=sys_code|0x08;
elsesys_code=sys_code&0xf7;
if((temp3>>5)&0x01)sys_code=sys_code|0x10;
elsesys_code=sys_code&0xef;
if((temp3>>7)&0x01)sys_code=sys_code|0x20;
elsesys_code=sys_code&0xdf;

data_available=1;
return0;
}
//===========================================================================================================

Ⅲ 红外线遥控 单片机

这个程序我之前写过一个,解码用单片机接收NEC遥控器32编码和电视遥控器42位编码,程序里面自动识别32和42位的编码用数码管进行显示对应的数值,我还写过红外发射,模拟NEC协议发射红外编码和电视机、奥克斯空调、卫星接收机都能控制,需要的可以网络私信!

Ⅳ 单片机如何实现红外遥控

以下文件是51单片机实现遥控解码,通过数码管显示键码的程序,P0口驱动数码管段选,p2.6和p2.7为数码管位选,接收头连到P3.2口。此程序以通过验证,可以直接编译使用,另外还有一个继电器和蜂鸣器的控制,不用可以屏蔽掉。

;********************************************************************************
;* 描述: *
;* 遥控键值读取器 *
;* 数码管显示, P0口为数码管的数据口 *
;* *
;********************************************************************************
;遥控键值解码-数码管显示 *
;********************************************************************************/

#include <reg51.h>
#include <intrins.h>

void IR_SHOW();
void delay(unsigned char x);//x*0.14MS
void delay1(unsigned char ms);
void beep();

sbit IRIN = P3^2;
sbit BEEP = P3^7;
sbit RELAY= P1^3;
sbit GEWEI= P2^7;
sbit SHIWEI= P2^6;

unsigned char IRCOM[8];
unsigned char code table[16] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
main()
{
IE = 0x81; //允许总中断中断,使能 INT0 外部中断
TCON = 0x1; //触发方式为脉冲负边沿触发
delay(1);

IRIN=1;
BEEP=1;
RELAY=1;
for(;;)
{
IR_SHOW();
}

} //end main

void IR_IN() interrupt 0 using 0
{
unsigned char i,j,k,N=0;
EA = 0;
I1:
for (i=0;i<4;i++)
{
if (IRIN==0) break;
if (i==3) {EA =1;return;}
}
delay(20);
if (IRIN==1) goto I1; //确认IR信号出现
while (!IRIN) //等 IR 变为高电平
{delay(1);}

for (j=0;j<4;j++)
{
for (k=0;k<8;k++)
{
while (IRIN) //等 IR 变为低电平
{delay(1);}
while (!IRIN) //等 IR 变为高电平
{delay(1);}
while (IRIN) //计算IR高电平时长
{
delay(1);
N++;
if (N>=30) {EA=1;return;}
}
IRCOM[j]=IRCOM[j] >> 1;
if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}
N=0;
}//end for k
}//end for j

if (IRCOM[2]!=~IRCOM[3]) {EA=1;return;}
IRCOM[5]=IRCOM[2] & 0x0F;
IRCOM[6]=IRCOM[2] & 0xF0;
IRCOM[6]=IRCOM[6] >> 4;
beep();
EA = 1;

}

void IR_SHOW()
{
P0 = table[IRCOM[5]];
GEWEI = 0;
SHIWEI = 1;
delay1(4);
P0 = table[IRCOM[6]];
SHIWEI = 0;
GEWEI = 1;
delay1(4);
}

void beep()
{
unsigned char i;
for (i=0;i<100;i++)
{
delay(5);
BEEP=!BEEP;
}
BEEP=1;
}

void delay(unsigned char x)//x*0.14MS
{
unsigned char i;
while(x--)
{
for (i = 0; i<13; i++) {}
}
}

void delay1(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i<120; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

Ⅳ 51单片机红外遥控程序是什么

#includex0dx0a#includex0dx0a#define uchar unsigned charx0dx0a#define uint unsigned intx0dx0asbit lcden = P2^7;x0dx0asbit lcdrs = P2^6;x0dx0asbit lcdwr = P2^5;x0dx0asbit IR = P3^2;x0dx0auchar IRCOM[6];//数组,用于存储红外编码x0dx0auchar code table1[] = "remote control";x0dx0auchar code table2[] = "CODE:";x0dx0avoid delayms(uchar x)// 延时x*0.14msx0dx0a{x0dx0auchar i;x0dx0awhile(x--)x0dx0afor(i=0;i<13;i++){}x0dx0a}x0dx0avoid delay(uchar x)//延时xmsx0dx0a{x0dx0auchar i,j;x0dx0afor(i=x;i>0;i--)x0dx0afor(j=110;j>0;j--);x0dx0a}x0dx0a/****************************LCD部分***********************************************/x0dx0avoid write_com(uchar com)x0dx0a{x0dx0alcden = 0;x0dx0alcdrs = 0;x0dx0alcdwr = 0;x0dx0aP0 = com;x0dx0adelay(5);x0dx0alcden = 1;x0dx0adelay(5);x0dx0alcden = 0;//别忘了lcden拉低x0dx0a}x0dx0avoid write_date(uchar date)x0dx0a{x0dx0alcden = 0;x0dx0alcdrs = 1;x0dx0alcdwr = 0;x0dx0aP0 = date;x0dx0adelay(5);x0dx0alcden = 1;x0dx0adelay(5);x0dx0alcden = 0;x0dx0a}x0dx0avoid lcd_init(void)x0dx0a{x0dx0alcden = 0;x0dx0alcdrs = 0;x0dx0alcdwr = 0;x0dx0adelay(5);x0dx0awrite_com(0x38);x0dx0awrite_com(0x0c);x0dx0awrite_com(0x06);x0dx0awrite_com(0x01);x0dx0a}x0dx0a/*****************main()************************/x0dx0avoid main(void)x0dx0a{x0dx0auchar count=0;x0dx0aIR = 1;x0dx0alcd_init();x0dx0awrite_com(0x80);x0dx0awhile(table1[count]!='\0')x0dx0a{x0dx0awrite_date(table1[count]);x0dx0acount++;x0dx0adelay(5);x0dx0a}x0dx0acount = 0;x0dx0awrite_com(0x80+0x40);x0dx0awhile(table2[count]!='\0')x0dx0a{x0dx0awrite_date(table2[count]);x0dx0acount++;x0dx0adelay(5);x0dx0a}x0dx0ax0dx0aIE = 0x81; //开中断x0dx0aTCON = 0x01;//脉冲负边沿触发x0dx0awhile(1);x0dx0ax0dx0a}x0dx0a/*********************红外中断**************************/x0dx0avoid IR_time() interrupt 0 x0dx0a{x0dx0auchar i,j,TimeNum=0;//TimeNum用来计IR高电平次数 从而判断是0还是1x0dx0aEX0 = 0; //关闭中断x0dx0adelayms(5);x0dx0aif(1 == IR)x0dx0a{x0dx0aEX0 = 1;x0dx0areturn;x0dx0a}x0dx0awhile(!IR) //跳过9ms前导低电平x0dx0adelayms(1);x0dx0afor(i=0;i<4;i++)x0dx0a{x0dx0afor(j=0;j<8;j++)x0dx0a{x0dx0awhile(IR) //跳过4.5ms的前导高电平x0dx0adelayms(1);x0dx0awhile(!IR) //跳过0.56ms的低电平x0dx0adelayms(1);x0dx0ax0dx0awhile(IR) x0dx0a{x0dx0aTimeNum++; //计时高电平时间从而判断读取的是0还是1x0dx0adelayms(1);x0dx0a}x0dx0aif(TimeNum>=30)//按键按下时间过长 跳过x0dx0a{x0dx0aEX0 = 1;x0dx0areturn;x0dx0a}x0dx0aIRCOM[i] = IRCOM[i]>>1;x0dx0aif(TimeNum >= 8) //8*0.14ms 这时读取的是1;x0dx0a{x0dx0aIRCOM[i] = IRCOM[i]|0x80;x0dx0a}x0dx0aTimeNum = 0;x0dx0a}x0dx0a}x0dx0aif(IRCOM[2]!=~IRCOM[3])//判断八位数据和八位数据反码是否相等x0dx0a{x0dx0aEX0 = 1;x0dx0areturn;x0dx0a}x0dx0aIRCOM[4] = IRCOM[2]&0x0f;//取低四位x0dx0aIRCOM[5] = IRCOM[2]>>4; //IRCOM[5]取IRCOM[2]高四位x0dx0aif(IRCOM[4] > 9) //转换成字符x0dx0a{x0dx0aIRCOM[4] = IRCOM[4] + 0x37;x0dx0a}x0dx0aelsex0dx0aIRCOM[4] = IRCOM[4] + 0x30;x0dx0aif(IRCOM[5] > 9)x0dx0a{x0dx0aIRCOM[5] = IRCOM[5] + 0x37;x0dx0a}x0dx0aelsex0dx0aIRCOM[5] = IRCOM[5] + 0x30;x0dx0adelay(5);x0dx0awrite_com(0x80 + 0x40 + 5);x0dx0awrite_date(IRCOM[5]);x0dx0awrite_date(IRCOM[4]);x0dx0aEX0 = 1; //重新开启外部中断x0dx0a}

Ⅵ 51单片机红外线遥控LED程序,疑惑中!!!!!

红外收发中,IRDATA[2]与IRDATA[3]是取反的关系。也就是说两个数对应各位前者为1后者就为0
其余的问题,都是根据红外接收时序来编的程序,以下总结以下红外收发时序供参考,你读懂就可以理解了。

采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的"0";;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的"1“上述"0"和"1"组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H后16位为8位操作码(功能码)及其反码。
发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。
解码的关键是如何识别"0"和"1",接收端而言,"0"是0.56ms的高+0.56ms的低。"1"是1.68ms的高+0.56ms的低。所以可以根据高电平的宽度区别"0"和"1"。当高电平出现时开始延时,0.56ms以后,若读到的电平为低,说明该位为"0",反之则为"1",为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为"0",读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。为了共用引导部分延时程序,一般用0.9ms延时。

由此可见,有效数据是4字节(32位)。前两个字节可定义用户编码,后两个字节分别是真正的数据及其反码。

Ⅶ 求51单片机红外遥控程序

sbitIR_OUT=P3^2;
unsignedcharSigInfo[4];//存储红外按键编码,SigInfo[2]为按键值

voidCmd_Require(void);

voidINT_Ext0()interrupt1//外部中断0
{
u8i,j;
u16time=8000;

EA=0;

for(i=0;i<10;i++){
delay0_7ms();
if(IR_OUT){
EA=1;
return;
}
}

while(!IR_OUT);

delay2_5ms();
if(!IR_OUT){
EA=1;
return;
}

while(IR_OUT&&time){
time--;
}
time=8000;

for(i=0;i<4;i++){
for(j=0;j<8;j++){
SigInfo[i]>>=1;
while(!IR_OUT);

delay0_7ms();

if(IR_OUT){
SigInfo[i]|=0x80;
while(IR_OUT&&time){
time--;
}
time=8000;
}
}
}

Cmd_Require();
EA=1;
}

voidCmd_Require(void)
{
switch(SigInfo[2]){
case0x0c:
//此处代码随意
break;
case0x18:
//...
break;
//...
default:
break;
}
}

延时没写,因单片机而异的,要精确点才能解码。

Ⅷ 单片机编程(红外线遥控器)

这段程序的意思是将键值换算成ASCII码字符表示;
0x30 表示ASCII码的‘0’,ASCII码表里面字符0的编号就是0x30;
0x37 的意思是当键值大于9时,键值用十六进制字符表示,0x37 实际上是‘A’-10,‘A’=0x41,‘A’- 10 =0x37;比如键值是10,那么输出就是ASCII字符‘A’;

阅读全文

与红外遥控单片机程序相关的资料

热点内容
6s怎么外接u盘需要什么app 浏览:131
linux查看文件权限命令 浏览:685
安卓手游存档怎么用 浏览:761
linuxyum安装ftp 浏览:690
村委会主任可以推行政命令吗 浏览:102
电脑文件夹封面多张图片 浏览:263
网吧总服务器叫什么 浏览:922
多个算法解决同一个问题 浏览:455
小车解压后我的购车发票呢 浏览:977
做app开发用什么云服务器 浏览:177
linux网卡子接口 浏览:985
21岁职高毕业学程序员怎么学 浏览:321
vs如何对单个文件编译 浏览:6
为什么有的电脑不能安装python 浏览:75
金蝶迷你版加密狗检测到过期 浏览:186
硬件描述语言编译结果 浏览:655
程序员逆天改命 浏览:19
金斗云服务器 浏览:447
港口工程pdf 浏览:770
程序设计语言pdf 浏览:434