亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

uint

  • #include <reg52.h> #include <stdio.h> #include <string.h> #define uchar unsigne

    #include <reg52.h> #include <stdio.h> #include <string.h> #define uchar unsigned char #define uint unsigned int #define isp_iap_byte_read 0x1 #define isp_iap_byte_program 0x2 #define isp_iap_sector_erase 0x3 #define wait_time 0x1

    標(biāo)簽: include gt lt unsigne

    上傳時(shí)間: 2016-05-18

    上傳用戶:agent

  • 很完整的51串口程序 包括如下: 串口中斷服務(wù)程序

    很完整的51串口程序 包括如下: 串口中斷服務(wù)程序,僅需做簡(jiǎn)單調(diào)用即可完成串口輸入輸出的處理 出入均設(shè)有緩沖區(qū),大小可任意設(shè)置。 可供使用的函數(shù)名: char getbyte(void) 從接收緩沖區(qū)取一個(gè)byte,如不想等待則在調(diào)用前檢測(cè)inbufsign是否為1。 getline(char idata *line, unsigned char n) 獲取一行數(shù)據(jù)回車結(jié)束,必須定義最大輸入字符數(shù) putbyte(char c) 放入一個(gè)字節(jié)到發(fā)送緩沖區(qū) putbytes(unsigned char *outplace,j) 放一串?dāng)?shù)據(jù)到發(fā)送緩沖區(qū),自定義長(zhǎng)度 putstring(unsigned char code *puts) 發(fā)送一個(gè)定義在程序存儲(chǔ)區(qū)的字符串到串口 puthex(unsigned char c) 發(fā)送一個(gè)字節(jié)的hex碼,分成兩個(gè)字節(jié)發(fā)。 putchar(uchar c,uchar j) 輸出一個(gè)無符號(hào)字符數(shù)的十進(jìn)制表示,必須標(biāo)示小數(shù)點(diǎn)的位置,自動(dòng)刪除前面無用的零 putint(uint ui,uchar j) 輸出一個(gè)無符號(hào)整型數(shù)的十進(jìn)制表示,必須標(biāo)示小數(shù)點(diǎn)的位置,自動(dòng)刪除前面無用的零 delay(unsigned char d) 延時(shí)n x 100ns putinbuf(uchar c) 人工輸入一個(gè)字符到輸入緩沖區(qū) CR 發(fā)送一個(gè)回車換行

    標(biāo)簽: 串口程序 串口中斷 服務(wù) 程序

    上傳時(shí)間: 2016-06-13

    上傳用戶:epson850

  • 功能:用msp430驅(qū)動(dòng)1621芯片的段碼液晶 作者:徐世龍(網(wǎng)名:清風(fēng)徐徐) 說明:源創(chuàng)(調(diào)試絕對(duì)能用) ----------------------------------------

    功能:用msp430驅(qū)動(dòng)1621芯片的段碼液晶 作者:徐世龍(網(wǎng)名:清風(fēng)徐徐) 說明:源創(chuàng)(調(diào)試絕對(duì)能用) ---------------------------------------------------- cs-----p65 wr-----p64 dat----p63 mcu----msp430f135 ------------------------------------------------------------*/ /*------------------------ 功能:延時(shí) 參數(shù):uint y 返回:無 說明:無 -------------------------*/

    標(biāo)簽: 1621 msp 430 驅(qū)動(dòng)

    上傳時(shí)間: 2014-01-02

    上傳用戶:kernaling

  • //1602液晶顯示字屏為:TX-1C MCU GOTOYUNLONGDZ #include<reg52.h> #define uchar unsigned char #defi

    //1602液晶顯示字屏為:TX-1C MCU GOTOYUNLONGDZ #include<reg52.h> #define uchar unsigned char #define uint unsigned int

    標(biāo)簽: GOTOYUNLONGDZ unsigned include define

    上傳時(shí)間: 2014-11-14

    上傳用戶:caiiicc

  • #include <stc12c2052AD.H>// 標(biāo)準(zhǔn)庫的頭文件 #include <intrins.h> #include <absacc.h> #d

    #include <stc12c2052AD.H>// 標(biāo)準(zhǔn)庫的頭文件 #include <intrins.h> #include <absacc.h> #define uchar unsigned char #define uint unsigned int

    標(biāo)簽: include gt lt intrins

    上傳時(shí)間: 2016-08-29

    上傳用戶:rocwangdp

  • 基于單片機(jī)的10根線束線纜檢測(cè)器的源程序 #pragma sfr #pragma DI #pragma EI #pragma NOP //#pragma interrupt INTTM010

    基于單片機(jī)的10根線束線纜檢測(cè)器的源程序 #pragma sfr #pragma DI #pragma EI #pragma NOP //#pragma interrupt INTTM010 isr_INTTM000 #pragma interrupt INTTM80 isr_INTTM80 //#pragma interrupt INTTMH1 isr_INTTMH1 #pragma section @@CNST OPT AT 80H const char OPTION=0x94 typedef unsigned char uchar typedef unsigned int uint //==PORT DEFINE== #define SEND1_P P4.1 #define SEND2_P P4.2 #define SEND3_P P4.3 #define SEND4_P P4.4 #define SEND5_P P4.5 #define SEND6_P P4.6 #define SEND7_P P4.7 #define SEND8_P P13.0 #define SEND9_P P2.3 #define SEND10_P P2.2

    標(biāo)簽: pragma interrupt INTTM 010

    上傳時(shí)間: 2017-05-25

    上傳用戶:sunjet

  • 用定時(shí)器以間隔500MS在6位數(shù)碼管上依次顯示0、1、 2、3….C、D、E、F,重復(fù)。

    #include<reg51.h> #define uchar unsigned char #define uint unsigned int uint i,j; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void main() {  j=0; i=0;     TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; ET0=1; TR0=1; while(1); } void time0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%6;     i++; if(i==15) { P0=table[j]; dula=1; dula=0; P0=0XC0; wela=1; wela=0; j++; i=0; if(j==16) { j=0; } } }

    標(biāo)簽: 用定時(shí)器以間隔500MS在6位數(shù)碼管上依次顯示0、1、 2、3….C、D、E、F,重復(fù)。

    上傳時(shí)間: 2016-02-11

    上傳用戶:嬌縱Pamper

  • AVR單片機(jī)轉(zhuǎn)速表

    /****************************************************************                  外部晶振8M                  PA0~3:四位數(shù)碼管的位選                  PB0~7:數(shù)碼管的8位段選                  外部中斷0用于計(jì)數(shù)                  定時(shí)器0溢出中斷的定時(shí)為1ms                  說明 :檢測(cè)到水流較小時(shí),繼電器延時(shí)1秒關(guān)閉  ******************************************************************/                #include<iom16v.h>   #include<macros.h>   #define uchar unsigned char   #define uint unsigned int       char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};  //數(shù)碼管段選        char position[4]={0xfe,0xfd,0xfb,0xf7};//數(shù)碼管位選        uint sumnum=0;  //用于記錄1000ms內(nèi)進(jìn)入中斷的次數(shù)        uint time=0;   //記錄進(jìn)入比較定時(shí)器0的次數(shù)        uint num=0;     //記錄1ms內(nèi)進(jìn)入中斷的次數(shù)        uint count=0;   //進(jìn)入外部中斷0的次數(shù)        uchar flag;        uint sumnum1;   //記錄100ms內(nèi)的數(shù)目       /***************************函數(shù)聲明***************************/        void delay();        void display(uint m );        void init();        void init_0();        void init_2();    void _delay_us(uint l)   {        unsigned int i;        for(i=0;i<l;i++)        {        asm("nop");        }   }           /**************************主函數(shù)***********************************/       void main()   {        init();        init_0();        init_2();        while(sumnum<5)        {           PORTD=0XBF;           segdisplay(sumnum1);        }       while(1)       {           segdisplay(sumnum1);       }           }        /*************************掃描數(shù)碼管時(shí)的延時(shí)函數(shù)*********************/        void delay()    {         uchar i,j;         for(i=6;i>0;i--)         for(j=225;j>0;j--);    }        /************************數(shù)碼管顯示函數(shù)*****************************/       void segdisplay( int temp)        {         int seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};         int temp1,temp2,temp3,temp4;         temp1=temp/1000;         temp2=(temp/100)%10;         temp3=(temp/10)%10;         temp4=temp%10;         DDRB=0xff;         DDRA|=0x0f;           PORTA=~BIT(3);           PORTB=seg[temp1];           _delay_us(100);           PORTA=~BIT(2);           PORTB=seg[temp2];           _delay_us(100);           PORTA=~BIT(1);           PORTB=seg[temp3];           _delay_us(100);           PORTA=~BIT(0);           PORTB=seg[temp4];           _delay_us(100);       }        /***********************管腳初始化函數(shù)*********************/        void init()    {                      DDRD|=0X40;   //PD4 設(shè)置為輸出             PORTD=0XBF;                DDRA=0XFF;             DDRB=0XFF;             PORTA=0XFF;             PORTB=0XFF;    }        /***********************外部中斷0初始化*********************/        void init_0()    {         MCUCR=0X02;   //INT0為下降沿觸發(fā)         GICR=0X40;   //使能INT0中斷         SREG=0X80;  //使能總中斷    }        /**********************定時(shí)器2初始化***********************/        void init_2()    {         TCCR0=0x03;   // 內(nèi)部時(shí)鐘,64 分頻(8M/64=125KHz)          TCNT0=0x83;   //裝初值           TIMSK=0x01;   // 允許 T/C0溢出中斷中斷      }          /***********************外部中斷0子函數(shù)********************/        #pragma interrupt_handler int0_isr:2        void int0_isr(void)        {             count++;        }        /*********************定時(shí)計(jì)數(shù)器0溢出中斷子函數(shù)*****************/       #pragma interrupt_handler int0_over:10        void int0_over(void)       {           TCNT0=0x83;   //重裝初值            if((time%100) == 0)               sumnum1 = num;           if(time == 1000)           {               sumnum=num;               if(sumnum<10)               {                                      if((flag==1)&&(sumnum<10))                   {                       PORTD=0XFF;                       flag=0;                   }                                      flag++;               }               else                       PORTD=0XBF;               num=0;               time=0;           }           num+=count;           count=0;           ++time;        } 

    標(biāo)簽: C語言

    上傳時(shí)間: 2016-03-09

    上傳用戶:彥 yan

  • LED電壓表源代碼

    #include "stm8s103f.h" #include "LEDBL.h" #include "UART1.h" #include "LCD1621.h" //#include "KEY.h" #define uchar unsigned char #define uint unsigned int _Bool KEYC @PB_IDR:4;//COPY _Bool KEYP @PC_IDR:6;//POW uint ShowMode = 1;

    標(biāo)簽: LED

    上傳時(shí)間: 2016-03-23

    上傳用戶:wfbuewsf

  • 紅外遙控RGB

    #include "STC90.h" #include < intrins.h > #define uchar unsigned char #define uint unsigned int #define led_port P1 sbit IR_RE = P3^2; sbit led_r = P1^3; sbit led_g = P1^4; sbit led_b = P1^5; sbit led_wd = P1^7; sbit K1 =P3^0 ; //增加鍵 sbit K2 =P3^1 ; //減少鍵 sbit BEEP =P3^7 ; //蜂鳴器 uchar temp,temp1; bit k=0; //紅外解碼判斷標(biāo)志位,為0則為有效信號(hào),為1則為無效 bit Flag2; uchar date[4]={0,0,0,0}; //date數(shù)組為存放地址原碼,反碼,數(shù)據(jù)原碼,反碼 uint lade_1,lade_2,lade_3,lade_4; uint num; uchar date_ram,ee_temp,ee_temp1; uchar WDT_NUM=0; uchar const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值01234567 uchar code seg[]={7,6,5,4,3,2,1,0};//分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼 unsigned long disp_date; void fade(); void fade1(); /*************************** 看門狗子程序*************************/ void watchdog_timer() { if(WDT_NUM==5) { WDT_NUM=0; led_wd=!led_wd; } WDT_NUM++; WDT_CONTR=0x3f; } /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } /*--------------------------延時(shí)1ms程子程序-----------------------*/ void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=126;y>0;y--); } /*--------------------------延時(shí)1ms程子程序-----------------------*/ delay1000() { uchar i,j; i=5; do{j=95; do{j--;} while(j); i--; } while(i); } /*---------------------------延時(shí)882us子程序-----------------------*/ delay882() { uchar i,j; i=6; do{j=71; do{j--;} while(j); i--; }while(i); } /*--------------------------延時(shí)2400us程子程序-----------------------*/ delay2400() { uchar i,j; i=5; do{j=237; do{j--;} while(j); i--; }while(i); } /**********************************************************************/ /* void display() { uchar i; for(i=0;i<8;i++) { P0=dofly[disp_date%10];//取顯示數(shù)據(jù),段碼 P2=seg[i]; //取位碼 delay_1ms(1); disp_date/=10; } } */ /*********************************************************************/ uchar EEPROM_read(uint addr)//EEPROM字節(jié)讀 { ISP_CONTR=0x83; //系統(tǒng)時(shí)鐘<12M時(shí),對(duì)ISP_CONTR寄存器設(shè)置的值,本電路為11.0592M ISP_CMD=1; //字節(jié)讀 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); return ISP_DATA; } //-------------------------------------------------------------------- void EEPROM_write(uint addr,uchar dat)//EEPROM字節(jié)寫 { ISP_CONTR=0x83; //系統(tǒng)時(shí)鐘<12M時(shí),對(duì)ISP_CONTR寄存器設(shè)置的值,本電路為11.0592M ISP_CMD=2; //字節(jié)編程 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_DATA=dat; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //-------------------------------------------------------------------- void EEPROM_ERASE(uint addr)//EEPROM扇區(qū)擦除 { ISP_CONTR=0x83; //系統(tǒng)時(shí)鐘<12M時(shí),對(duì)ISP_CONTR寄存器設(shè)置的值,本電路為11.0592M ISP_CMD=3; //扇區(qū)擦除 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //************************************************************** /*----------------------------------------------------------*/ /*-----------------------紅外解碼程序(核心)-----------------*/ /*----------------------------------------------------------*/ void IR_decode() { uchar i,j; while(IR_RE==0); delay2400(); if(IR_RE==1) //延時(shí)2.4ms后如果是高電平則是新碼 { delay1000(); delay1000(); for(i=0;i<4;i++) { for(j=0;j<8;j++) { while(IR_RE==0); //等待地址碼第1位高電平到來 delay882(); //延時(shí)882us判斷此時(shí)引腳電平 ///CY=IR_RE; if(IR_RE==0) { date[i]>>=1; date[i]=date[i]|0x00; } else if(IR_RE==1) { delay1000(); date[i]>>=1; date[i]=date[i]|0x80; } } //1位數(shù)據(jù)接收結(jié)束 } //32位二進(jìn)制碼接收結(jié)束 } } /* void LED_PWM() { lade_2=num; //384 lade_4=num; //384 while(lade_2!=0&Flag2==1) { for(lade_3=512;lade_3>lade_4;lade_3--) //512 { led_port=0x00; delay(1); } lade_3=512; //512 lade_4--; for(lade_1=0;lade_1<lade_2;lade_1++) { led_port=0x38; //c7 delay(1); } lade_1=0; lade_2--; if(temp!=0x0c&Flag2==1) { lade_2=0; } lade_2=num; //384 lade_4=num; //384 } } */ void calc() { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; //************************************* 1 /* if(date[3]==0xff&Flag2==1) { if(num>=20) { num=num-80; } //else num=1; LED_PWM(); } if(date[3]==0xfe&Flag2==1) { if(num<=500) { num=num+80; } // else num=511; LED_PWM(); } if(ee_temp1==0xfd) { led_port=0x00; watchdog_timer(); } if(ee_temp1==0xfc) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } */ //********************************************** 2 if(ee_temp1==0xfb) { led_port=0x00; led_r=1; watchdog_timer(); } if(ee_temp1==0xfa) { led_port=0x00; led_g=1; watchdog_timer(); } if(ee_temp1==0xf9) { led_port=0x00; led_b=1; watchdog_timer(); } if(ee_temp1==0xf8) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } //************************************** 3 if(ee_temp1==0xf7) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x07) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x07) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf6) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x06) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x06) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf5) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x05) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x05) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf4) { while(ee_temp==4) { led_port=0x00; led_r=1; delay_1ms(200); led_port=0x00; led_r=1; led_g=1; delay_1ms(200); led_port=0x00; led_g=1; delay_1ms(200); watchdog_timer(); led_port=0x00; led_g=1; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; led_r=1; delay_1ms(200); watchdog_timer(); } } //************************************** 4 if(ee_temp1==0xf3) { uint fade_1,fade_2,fade_3,fade_4; fade_2=416; //384 fade_4=416; //384 while(fade_2!=0&ee_temp==0x03) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x03) { fade_2=0; } watchdog_timer(); fade_2=416; //384 fade_4=416; //384 } } if(ee_temp1==0xf2) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x02) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x02) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xf1) { uint fade_1,fade_2,fade_3,fade_4; fade_2=348; //384 fade_4=348; //384 while(fade_2!=0&ee_temp==0x01) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x01) { fade_2=0; } watchdog_timer(); fade_2=348; //384 fade_4=348; //384 } } if(ee_temp1==0xf0) { while(ee_temp==0) { led_port=0x00; led_r=1; delay_1ms(500); watchdog_timer(); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); watchdog_timer(); } } //******************************************** 5 if(ee_temp1==0xef) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x0f) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0f) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xee) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0e) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0e) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xed) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0d) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0d) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xec) fade(); //******************************************* 6 if(ee_temp1==0xeb) { led_port=0x00; led_r=1; led_g=1; watchdog_timer(); } if(ee_temp1==0xea) { led_port=0x00; //led_r=0; led_g=1; led_b=1; watchdog_timer(); } if(ee_temp1==0xe9) { led_port=0x00; led_r=1; //led_g=0; led_b=1; watchdog_timer(); } if(ee_temp1==0xe8) fade1(); } void fade() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0c) { fade_2=0; } } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); // watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); // watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); } void fade1() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x08) { fade_2=0; } } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); } void init() { led_port=0x00; /* led_r=1; delay_1ms(500); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); led_port=0x00; */ delay_1ms(2); WDT_CONTR=0x3f; delay_1ms(500); } //******************************** void main() { init(); Flag2=0; SP=0x60; //堆棧指針 EX0=1; //允許外部中斷0,用于檢測(cè)紅外遙控器按鍵 EA=1; num=255; while(1) { calc(); } } //******************************************************************** /*------------------------外部中斷0程序-------------------------*/ /*------------------主要用于處理紅外遙控鍵值--------------------*/ void int0() interrupt 0 { uchar i; Flag2=0; /////// k=0; EX0=0; //檢測(cè)到有效信號(hào)關(guān)中斷,防止干擾 for(i=0;i<4;i++) { delay1000(); if(IR_RE==1){k=1;} //剛開始為9ms的引導(dǎo)碼. } led_port=0x00; if(k==0) { IR_decode(); //如果接收到的是有效信號(hào),則調(diào)用解碼程序 if(date[3]>=0xe8) { if(date[3]<=0xfb) { temp1=date[3]; EEPROM_ERASE(0x2000); //STC_EEROM_0X2000 temp1 EEPROM_write(0x2000,temp1); EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; /* temp=date[3]&0x0f; EEPROM_ERASE(0x2004); //STC_EEROM_0X2004 temp EEPROM_write(0x2004,temp); */ } else { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; } } delay2400(); delay2400(); delay2400(); delay_1ms(500); } EX0=1; //開外部中斷,允許新的遙控按鍵 }

    標(biāo)簽: RGB 紅外遙控

    上傳時(shí)間: 2016-07-02

    上傳用戶:184890962

主站蜘蛛池模板: 湖口县| 大方县| 泸州市| 平原县| 郁南县| 晋宁县| 苗栗县| 嘉善县| 永新县| 房产| 衢州市| 河源市| 武清区| 十堰市| 仙桃市| 遂溪县| 岳普湖县| 双城市| 阳新县| 青河县| 巴中市| 长治市| 河津市| 青州市| 裕民县| 揭东县| 乃东县| 乌审旗| 海丰县| 曲阳县| 永川市| 铁岭市| 赣州市| 井研县| 九江县| 红安县| 翼城县| 巴青县| 翁牛特旗| 蓬溪县| 宝应县|