红色警戒-尤里的复仇里的ra2.exe是什么?

红色警戒-尤里的复仇里的ra2.exe是什么?,第1张

ra2.exe是红警2的启动程序手竖,因为尤里是红警2的资料片。所以是连在一起的。另外红警2的最新版是1.006而尤里是1.001,版本不同而已不必在意! 其实共和国之辉不是原版而是个人改编作品(漏洞百出旁毁),真正的毕启大红警2是没有中国的,你那个才是原版红警2 !

给你一个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=0PS1=0PS2=0

//内部时钟定时方式,定时时旦行拿间:200uS,误差:0uS

T0CS=0

// TMR0=0x9b

TMR0=0xce//100us

}

/*

//定时器2初始化设置子程序

void fun_timer2set()

{

//Timer2初始化设置

//timer2使带颤用预分频率1:1

T2CKPS0=0T2CKPS1=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=0i<13i++)

{

NOP

NOP

NOP

}

}

void delay_10ms(void)

{

unsigned int i

for(i=0i<1000i++)

{

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

}

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8234634.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存