91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 174.88 KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-12-02
  • 語言: 其他
  • 標簽: msp430F149??

資源簡介

簡單的通過msp430操作1838T接收紅外線遙控的代碼

資源截圖

代碼片段和文件信息


#include??

#define???uchar???unsigned?char
#define???uint????unsigned?int
#define?t_3ms5??2300
#define?t_1ms???666
#define?RDIN?P1IN//紅外線模塊OUT所在的端口輸入寄存器RD必須是有中斷功能的端口
#define?RDDIR?P1DIR//紅外線模塊OUT所在的端口輸入/輸出方向寄存器
#define?RDIES?P1IES//紅外線模塊OUT所在的端口中斷觸發沿選擇寄存器
#define?RDIFG?P1IFG//紅外線模塊OUT所在的端口中斷標志寄存器
#define?RDIE?P1IE//紅外線模塊OUT所在的端口中斷使能寄存器
#define?RDbit?BIT6//紅外線模塊OUT所在的端口的位
const?uint?RDbit_back=~RDbit;
uchar?get_code[4]?=?{0};
uint??timer;
#include?“msp430.h“

void?delay(uint?time)????//10ms--10000
{
?while(time--);
}

uchar?rd_dat()
{
??uchar?stat;
??stat?=?RDIN;
??return?(stat);
}

uchar?get_num()
{
??uchar?ijrddat=0;
??//_DINT();?????????????//關閉中斷
??for(j=0;j<4;j++)//16位的用戶碼,8位按鍵數據碼以及8位按鍵數據碼反碼
??{?
????//如是輸出數據1,
????//則先輸出0.56ms的低電平,
????//再輸出1.69ms的高電平,共2.25ms;
????//若是輸出數據0,
????//則先輸出0.56ms的低電平,
????//再輸出0.565ms的高電平,共1.125ms
????for(i=8;i>0;i--)
????{
??????dat>>=1;?//一位一位獲得八位數據
??????do
????????rd=rd_dat();//獲取紅外線模塊OUT所在的端口RD的值
??????while(!(rd?&?RDbit)); //等待低電平結束,出現高電平
??????set_timer_b0(); //開始檢測高電平時間,打開定時器
??????do
????????rd=rd_dat();//獲取紅外線模塊OUT所在的端口RD的值
??????while(rd?&?RDbit);???????//等待高電平結束,出現低電平
??????timer=TBR;???????????????//得到高電平時間
??????stop_timer_b0();?????????//關閉定時器
??if(timer>t_1ms)dat=dat|0x80;//通過高電平時間判斷該位數據是1
??????else?dat=dat&0x7f;??//通過高電平時間判斷該位數據是0 ??
??????}
???get_code[j]=dat;
???}
??//_EINT();?
??return(get_code[2]);?????????????//獲取按鍵數據碼
}

void?main(?void?)
{
??WDTCTL?=?WDTPW?+?WDTHOLD;?//關看門狗
??P2DIR=0Xff;//P2全設為輸出,控制LED燈
??P2OUT=0Xff;//LED燈全滅
??RDDIR?|=?(~RDbit);//將紅外線模塊OUT(P16)置為輸入
??P1IES|=RDbit;//
??P1IFG&=(~RDbit);
??P1IE|=RDbit;
??//static?uint??i;//循環輔助變量,不知道為什么要靜態局部變量才能正常工作
??//uchar?rd;//緩存紅外線模塊OUT所在的端口RD的值
??//uchar?dat_code=0;//緩存獲取到的按鍵數據碼
??_EINT();
??while(1)
??{
????//_BIS_SR(LPM3_bits+GIE);
????uint?ji;
????for(j=0;j<2;j++)
????{
??????for(i=0;i<10000;i++)
????delay(10000);
????if(j==1)
??????(P2OUT&=0xfe);
????else
????(P2OUT|=0x01);
????}
??}
}

#?pragma?vector?=?PORT1_VECTOR
__interrupt?void?P1_Interrupt(void)
{
??_DINT();//關閉中斷
??if((RDIFG&RDbit)==RDbit)//若紅外線模塊OUT(P16)出現低電平
??{
????RDIFG&=RDbit_back;//清中斷標志位
????//static?uint??i;//循環輔助變量,不知道為什么要靜態局部變量才能正常工作
????uchar?rd;//緩存紅外線模塊OUT所在的端口RD的值
????uchar?dat_code=0;//緩存獲取到的按鍵數據碼
????delay(10);?
????rd=rd_dat();//獲取紅外線模塊OUT所在的端口RD的值
????if(rd?&?RDbit)//若紅外線模塊OUT(P16)確實出現低電平,開始識別,否則結束識別?
????{
??????RDIFG&=RDbit_back;//清中斷標志位
??????_EINT();//開啟中斷
??????return;
????}
????do
????{
??????rd=rd_dat();
????}
????while(!(rd?&?RDbit)); ?//等待9ms低電平結束,出現高電平
????set_timer_b0();
????do
????{
??????rd=rd_dat();//獲取紅外線模塊OUT所在的端口RD的值
????}
????while(rd?&?RDbit); ?//等待4.5ms高電平結束,出現低電平
????timer=TBR;
????stop_timer_b0();?//以上為處理引導碼
????if(timer????{
??????delay(1000);
??????RDIFG&=RDbit_back;
??????_EINT();
??????return;
????}
????dat_code=get_num();???//取得按鍵數據碼
????switch(dat_code)
???

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????17966??2011-01-07?00:38??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Backup?of?hwreceive.ewd

?????文件??????47746??2011-01-07?00:38??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Backup?of?hwreceive.ewp

?????文件??????19545??2010-12-27?13:58??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Debug\Exe\4.d43

?????文件????????176??2011-01-04?18:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Debug\Obj\4.pbd

?????文件??????23830??2010-12-27?13:58??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Debug\Obj\main.r43

?????文件????????940??2014-02-11?22:49??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\disp_4led.h

?????文件???????2167??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\hwreceive.dep

?????文件??????21406??2014-02-11?20:15??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\hwreceive.ewd

?????文件??????54028??2014-02-11?23:28??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\hwreceive.ewp

?????文件????????163??2011-01-07?00:38??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\hwreceive.eww

?????文件???????3916??2014-03-06?00:14??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\main.c

?????文件????????989??2014-03-05?21:55??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\msp430.h

?????文件???????1242??2010-12-17?13:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Exe\4.txt

?????文件???????1211??2014-03-06?00:14??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Exe\hwreceive.txt

?????文件????????107??2010-12-17?13:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Obj\4.pbd

?????文件??????65973??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Obj\hwreceive.pbd

?????文件??????65973??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Obj\hwreceive.pbd.browse

?????文件??????65973??2014-03-06?00:14??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Obj\main.pbi

?????文件???????9599??2014-03-06?00:14??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Obj\main.pbi.cout

?????文件??????10444??2014-03-06?00:14??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\Release\Obj\main.r43

?????文件???????3238??2011-01-04?18:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\12.wsdt

?????文件???????2699??2011-01-04?18:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\4.cspy.bat

?????文件??????16856??2011-01-04?18:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\4.dbgdt

?????文件???????1120??2011-01-04?18:59??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\4.dni

?????文件???????2664??2011-01-07?00:35??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\hwdecode.wsdt

?????文件???????1348??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\hwreceive.cspy.bat

?????文件?????????63??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\hwreceive.dbgdt

?????文件????????635??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\hwreceive.dni

?????文件???????3517??2014-03-12?21:43??紅外線接收(完成2)\紅外接收通過數碼管顯示鍵碼\settings\hwreceive.wsdt

?????文件?????678758??2004-01-03?01:04??紅外線接收(完成2)\紅外資料\電風扇紅外發射.bmp

............此處省略19個文件信息

評論

共有 條評論