xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 4KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-12
  • 語言: 其他
  • 標(biāo)簽: 紅外遙控??

資源簡介

這個是紅外遙控的程序,希望對大家有幫助,能夠和大家一起學(xué)習(xí)交流

資源截圖

代碼片段和文件信息

/************************************************************************
?由于晶振的誤差或其他因素導(dǎo)致計算電平時間不準(zhǔn)確,應(yīng)考慮一定的時間誤差。
比如,計算出電平時間大于1.15ms判斷為“1”,小于1.15ms判斷為“0”。
正序解碼法——以發(fā)送最高位開始
定義按鍵數(shù)組keycode[31]對應(yīng)遙控器的31個按鍵(具體元素值見程序);
定義解碼數(shù)組code[4]即地址碼,地址反碼,數(shù)據(jù)碼,數(shù)據(jù)反碼;
定義高電平持續(xù)時間time;
經(jīng)過多次試驗調(diào)試,發(fā)現(xiàn)所用的紅外遙控器的地址碼是0x04,地址反碼是0xFB,其次是數(shù)據(jù)碼xxxx?xxxx數(shù)據(jù)反碼。
解碼過程:
設(shè)置P1.1開中斷,下降沿觸發(fā),P1.1接紅外接收頭的輸出。
遙控器一有按鍵按下,紅外接收頭就會發(fā)出一系列的脈沖波序列,所以P1.1會觸發(fā)33次以上的中斷。
第1次為引導(dǎo)碼,第2到9次為地址碼1,第10到17次是地址碼2,第18到25次是數(shù)據(jù)碼,第26到33次是數(shù)據(jù)反碼。
引導(dǎo)碼不解,解第2到第33個碼,
解得的碼放在code[4]中,依次為地址碼,地址反碼,數(shù)據(jù)碼,數(shù)據(jù)反碼。
根據(jù)數(shù)據(jù)碼code[2]作出相應(yīng)的控制。
**************************************************************************/

#include

#define?CPU_F?((double)1000000)??//數(shù)字控制震蕩器1MHZ
#define?delay_us(x)?__delay_cycles((long)(CPU_F*(double)x/1000000.0))//延時X微秒
#define?delay_ms(x)?__delay_cycles((long)(CPU_F*(double)x/1000.0))//延時X毫秒

//紅外遙控
//unsigned?char?const?keycode[31]={0x1A0x0E0x5D0x4C0x4D0x430x050x59
//0x190x450x420x1B0x1C0x480x440x1D0x5C0x1F0x0A0x130x100x110x0F
//0x0C0x0D0x0B0x080x090x580x470x53};??//31個按鍵的編碼
unsigned?char?code[4]={0x000x000x000x00}; //地址碼,地址反碼數(shù)據(jù)碼,數(shù)據(jù)反碼

//***************************主程序********************//
void?main(void)
{
WDTCTL=WDTPW+WDTHOLD; //關(guān)閉看門狗
BCSCTL1=CALBC1_1MHZ; //這兩句的作用,基本時鐘系統(tǒng)控制,數(shù)控震蕩控制,將時鐘校準(zhǔn)1MHZ
DCOCTL=CALDCO_1MHZ;
P1DIR|=BIT0+BIT6; //P1端口的P1.0、P1.6設(shè)置為輸出方向
P1OUT|=BIT0+BIT6; //P1.0、P1.6輸出高電平
P1IE|=0X02; //P1.1中斷使能
P1IES|=BIT1; //P1.1中斷邊沿選擇,下降沿觸發(fā)
P1IFG=0; //清P1.1中斷標(biāo)志
_BIS_SR(GIE); //開總中斷
while(1) //死循環(huán)
{
delay_ms(360); //延時360ms
switch(code[2])
{
????case?0x46:??????//#1號鍵
????{
???? P1OUT|=BIT0;?//LED01亮

評論

共有 條評論