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

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

1ms

  • /*用rtos編寫LED數(shù)碼管顯示程序,其中有用于計(jì)算的程序*/ /*另加LED流水燈*/ //須加入conf_tny.a51將周期數(shù)改為1000(原為10000)

    /*用rtos編寫LED數(shù)碼管顯示程序,其中有用于計(jì)算的程序*/ /*另加LED流水燈*/ //須加入conf_tny.a51將周期數(shù)改為1000(原為10000),即將報(bào)時(shí)周期改為1ms,將TimeSharing由5改為1,即將時(shí)間片改為1ms /*測試結(jié)果:1)可很穩(wěn)定地顯示,LED的閃爍也正常 2)如果將Timer1的定時(shí)中斷改為1000即1ms發(fā)送一次,可以看到LED流水燈速度時(shí)顯示加快,但同時(shí)數(shù)碼管出現(xiàn)閃爍,系統(tǒng)超載

    標(biāo)簽: LED conf_tny 10000 rtos

    上傳時(shí)間: 2017-06-04

    上傳用戶:xhz1993

  • 此文件是C語言編寫的驅(qū)動AVR單片機(jī)的I/O口

    此文件是C語言編寫的驅(qū)動AVR單片機(jī)的I/O口,使LED每間隔1ms就閃爍。

    標(biāo)簽: AVR C語言 編寫 單片機(jī)

    上傳時(shí)間: 2013-12-27

    上傳用戶:gaome

  • 這是我的程序

    這是我的程序,用來是實(shí)時(shí)測量由遙控器發(fā)出的pwm波的正脈沖的長度。pwm波70hz,正脈沖的長度可以從2.1ms到0.9ms之間調(diào)整。

    標(biāo)簽: 程序

    上傳時(shí)間: 2013-12-26

    上傳用戶:Miyuki

  • 測量范圍從1Hz—10kHz的正弦波、方波、三角波

    測量范圍從1Hz—10kHz的正弦波、方波、三角波,時(shí)基寬度為1us,10us,100us,1ms。用單片機(jī)實(shí)現(xiàn)自動測量功能。

    標(biāo)簽: 1Hz kHz 10 測量

    上傳時(shí)間: 2017-09-08

    上傳用戶:kbnswdifs

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

    /****************************************************************                  外部晶振8M                  PA0~3:四位數(shù)碼管的位選                  PB0~7:數(shù)碼管的8位段選                  外部中斷0用于計(jì)數(shù)                  定時(shí)器0溢出中斷的定時(shí)為1ms                  說明 :檢測到水流較小時(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

  • svpwm matlab

    空間矢量脈寬調(diào)制(Space Vector Pulse Width Modulation)    SVPWM的主要思想是:以三相對稱正弦波電壓供電時(shí)三相對稱電動機(jī)定子理想磁鏈圓為參考標(biāo)準(zhǔn),以三相逆變器不同開關(guān)模式作適當(dāng)?shù)那袚Q,從而形成PWM波,以所形成的實(shí)際磁鏈?zhǔn)噶縼碜粉櫰錅?zhǔn)確磁鏈圓。傳統(tǒng)的SPWM方法從電源的角度出發(fā),以生成一個(gè)可調(diào)頻調(diào)壓的正弦波電源,而SVPWM方法將逆變系統(tǒng)和異步電機(jī)看作一個(gè)整體來考慮,模型比較簡單,也便于微處理器的實(shí)時(shí)控制。    普通的三相全橋是由六個(gè)開關(guān)器件構(gòu)成的三個(gè)半橋。這六個(gè)開關(guān)器件組合起來(同一個(gè)橋臂的上下半橋的信號相反)共有8種安全的開關(guān)狀態(tài). 其中000、111(這里是表示三個(gè)上橋臂的開關(guān)狀態(tài))這兩種開關(guān)狀態(tài)在電機(jī)驅(qū)動中都不會產(chǎn)生有效的電流。因此稱其為零矢量。另外6種開關(guān)狀態(tài)分別是六個(gè)有效矢量。它們將360度的電壓空間分為60度一個(gè)扇區(qū),共六個(gè)扇區(qū),利用這六個(gè)基本有效矢量和兩個(gè)零量,可以合成360度內(nèi)的任何矢量。    當(dāng)要合成某一矢量時(shí)先將這一矢量分解到離它最近的兩個(gè)基本矢量,而后用這兩個(gè)基本矢量矢量去表示,而每個(gè)基本矢量的作用大小就利用作用時(shí)間長短去代表。    在變頻電機(jī)驅(qū)動時(shí),矢量方向是連續(xù)變化的,因此我們需要不斷的計(jì)算矢量作用時(shí)間。為了計(jì)算機(jī)處理的方便,在合成時(shí)一般是定時(shí)去計(jì)算(如每0.1ms計(jì)算一次)。這樣我們只要算出在0.1ms內(nèi)兩個(gè)基本矢量作用的時(shí)間就可以了。由于計(jì)算出的兩個(gè)時(shí)間的總合可能并不是0.1ms(比這小),而那剩下的時(shí)間就按情況插入合適零矢量。 由于在這樣的處量時(shí),合成的驅(qū)動波形和PWM很類似。因此我們還叫它PWM,又因這種PWM是基于電壓空間矢量去合成的,所以就叫它SVPWM了。 

    標(biāo)簽: matlab svpwm

    上傳時(shí)間: 2016-04-25

    上傳用戶:bijiaohao22

  • 紅外遙控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則為有效信號,為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};//分別對應(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í),對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í),對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í),對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,用于檢測紅外遙控器按鍵 EA=1; num=255; while(1) { calc(); } } //******************************************************************** /*------------------------外部中斷0程序-------------------------*/ /*------------------主要用于處理紅外遙控鍵值--------------------*/ void int0() interrupt 0 { uchar i; Flag2=0; /////// k=0; EX0=0; //檢測到有效信號關(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(); //如果接收到的是有效信號,則調(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

  • 51單片機(jī)基礎(chǔ)應(yīng)用設(shè)計(jì)C語言實(shí)例(400例)合集

    100-24c02記憶開機(jī)次數(shù)101-24c02存儲上次使用中狀態(tài)102-DS1302 時(shí)鐘原理103-DS1302可調(diào)時(shí)鐘104-DS1302時(shí)鐘串口自動更新時(shí)間105-1602液晶顯示DS1302時(shí)鐘106-字庫ST7920 12864液晶基礎(chǔ)顯示107-按鍵 12864顯示108-PCF8591 1路AD數(shù)碼管顯示109-PCF8591 4路AD數(shù)碼管顯示11-LED循環(huán)右移110-PCF8591 DA輸出模擬111-PCF8591 輸出鋸齒波112-PCF8591 1602液晶顯示113-串口通訊114-串口通訊中斷應(yīng)用115-RS485基本通訊原理116-紅外接收原理117-紅外解碼數(shù)碼管顯示118-紅外解碼1602液晶顯示119-紅外發(fā)射原理12-查表顯示LED燈120-紅外收發(fā)測試121-雙紅外發(fā)射避障原理測試122-1個(gè)18B20 溫度傳感器 數(shù)碼管顯示123-1個(gè)18b20溫度傳感器1602液晶顯示124-多個(gè)18b20溫度傳感器1602液晶顯示125-超溫報(bào)警測試126-溫度可調(diào)上下限1602126-溫度可調(diào)上下限1602顯示127-PS2鍵盤輸入1602液晶顯示128-雙色點(diǎn)陣1種顏色顯示測試129-雙色點(diǎn)陣2種顏色顯示測試13-雙燈左移右移閃爍130-雙色點(diǎn)陣顯示特定圖形131-雙色點(diǎn)陣交替圖形顯示132-雙色點(diǎn)陣雙色交替動態(tài)顯示133-熱敏電阻測試數(shù)碼管顯示134-光敏電阻測試數(shù)碼管顯示135-自動調(diào)光測試136-串轉(zhuǎn)并數(shù)字芯片測試137-非門數(shù)字芯片測試138-電子琴139-實(shí)用99分鐘倒計(jì)時(shí)器14-花樣燈140-外部頻率測試141-定時(shí)做普通時(shí)鐘可調(diào)142-1602液晶顯示的密碼鎖143-實(shí)用密碼鎖144-1602液晶顯示的計(jì)算器145-秒表146-串口測溫電腦顯示147-交通燈測試148-點(diǎn)陣模擬電梯上行下行149-點(diǎn)陣流動廣告模擬15-PWM調(diào)光150-綜合測試程序151-12位AD_DS1621與12864液晶152-閃爍燈一153-閃爍燈二154-流水燈A155-51單片機(jī)12864大液晶屏proteus仿真156-流水燈B157-數(shù)碼管顯示158-12864LCD顯示計(jì)算器鍵盤按鍵實(shí)驗(yàn)159-數(shù)碼管顯示(鎖存器)16-共陽數(shù)碼管靜態(tài)顯示160-數(shù)碼管動態(tài)顯示161-數(shù)碼管滾動顯示162-數(shù)碼管字符顯示163-獨(dú)立按鍵164-矩陣鍵盤165-矩陣鍵盤(LCD)166-用DS1302與12864LCD設(shè)計(jì)的可調(diào)式中文電子日歷167-定時(shí)器的使用(方式1)168-12864LCD圖形滾動演示169-用PG12864LCD設(shè)計(jì)的指針式電子鐘17-1個(gè)共陽數(shù)碼管顯示變化數(shù)字170-定時(shí)器的使用(方式2)171-外部中斷的使用172-定時(shí)器和外部中斷173-開關(guān)控制12864LCD串行模式顯示174-點(diǎn)陣顯示175-液晶1602顯示176-12864帶字庫測試程序177-串行12864顯示178-遙控鍵值解碼-12864LCD顯示179-液晶12864并行18-單個(gè)數(shù)碼管模擬水流180-液晶12864并行2181-串口發(fā)送試驗(yàn)182-串口接收試驗(yàn)183-串口接收(1602)184-蜂鳴器發(fā)聲185-直流電機(jī)調(diào)速186-蜂鳴器間斷發(fā)聲187-lcd-12864應(yīng)用188-繼電器控制189-直流電機(jī)調(diào)速19-按鍵控制單個(gè)數(shù)碼管顯示190-步進(jìn)電機(jī)191-存儲AT24C02192-PCF8591T AD實(shí)驗(yàn)193-PCF8591T芯片DA實(shí)驗(yàn)194-溫度采集DS18B20195-EEPROM_24C02196-12864LCD顯示24C08保存的開機(jī)畫面197-紅外解碼198-12864LCD顯示EPROM2764保存的開機(jī)畫面199-時(shí)鐘DS1302(LCD)2-IO輸出-點(diǎn)亮1個(gè)LED燈方法220-單個(gè)數(shù)碼管指示邏輯電平200-宏晶看門狗201-SD卡202-秒表203-普通定時(shí)器時(shí)鐘204-彩屏控制205-彩屏圖片顯示206-12864+DS1302時(shí)鐘+18B20溫度計(jì)207-12864測試程序208-12864串行驅(qū)動演示209-12864生產(chǎn)廠程序21-8位數(shù)碼管顯示其中之一210-12864中文顯示測試211-LCD12864212-12864M液晶顯示(有字庫)程序(匯編)213-超聲波測距LCD12864顯示214-紅外遙控鍵值解碼12864液晶顯示(匯編語言)215-用DS1302與12864LCD設(shè)計(jì)的可調(diào)式中文電子日歷216-中文12864217-中文12864LCD顯示紅外遙控解碼實(shí)驗(yàn)218-IO端口輸出219-IO端口輸入22-8位數(shù)碼管靜態(tài)顯示其中之二220-流水燈221-數(shù)碼管顯示222-數(shù)碼管動態(tài)掃描演示223-獨(dú)立按鍵224-獨(dú)立按鍵去抖動225-定時(shí)器0226-定時(shí)器1227-定時(shí)器2228-外部中斷0電平觸發(fā)229-外部中斷0邊沿觸發(fā)23-8位數(shù)碼管動態(tài)掃描顯示230-外部中斷1231-矩陣鍵盤232-液晶LCM1602233-LCD1602動態(tài)顯示234-EEPROM24c02235-開機(jī)次數(shù)記憶236-紅外解碼LCD1602液晶顯示237-紅外解碼數(shù)碼管顯示238-喇叭239-液晶背光控制24-8位數(shù)碼管動態(tài)掃描原理演示240-與電腦串口通信241-步進(jìn)電機(jī)242-字庫LCD12864液晶測試243-液晶數(shù)碼綜合顯示244-99秒計(jì)時(shí)245-99倒計(jì)時(shí)246-搶答器247-PWM調(diào)光248-LED點(diǎn)陣249-直流電機(jī)調(diào)速25-數(shù)碼管顯示動態(tài)數(shù)據(jù)250-按鍵計(jì)數(shù)器251-秒表252-數(shù)碼管移動253-花樣燈254-紅綠燈255-音樂播放256-紅外收發(fā)演示257-普通定時(shí)器時(shí)鐘258-繼電器控制259-ps2鍵盤LCD1602液晶顯示26-9累加260-RTC實(shí)時(shí)時(shí)鐘DS1302液晶顯示261-單線溫度傳感器18b20262-串口測溫263-帶停機(jī) 步進(jìn)電機(jī)正反轉(zhuǎn)264-步進(jìn)電機(jī)正反轉(zhuǎn)265-AD_DA_PCF8591266-液晶AD_DA_PCF8591267-秒手動記數(shù)268-功能感受269-流水登27-99累加270-點(diǎn)亮一個(gè)二極管271-用單片機(jī)控制一個(gè)燈閃爍272-將P1口狀態(tài)送入P0、P2、P3273-P3口流水燈274-通過對P3口地址的操作流水點(diǎn)亮8位LED275-用不同數(shù)據(jù)類型控制燈閃爍時(shí)間276-用P0口、P1 口分別顯示加法和減法運(yùn)算結(jié)果277-用P0、P1口顯示乘法運(yùn)算結(jié)果278-用P1、P0口顯示除法運(yùn)算結(jié)果279-用自增運(yùn)算控制P0口8位LED流水花樣28-999累加280-用P0口顯示邏輯與運(yùn)算結(jié)果281-用P0口顯示條件運(yùn)算結(jié)果282-用P0口顯示按位異或運(yùn)算結(jié)果283-用P0顯示左移運(yùn)算結(jié)果284-萬能邏輯電路實(shí)驗(yàn)285-用右移運(yùn)算流水點(diǎn)亮P1口8位LED286-用if語句控制P0口8位LED的流水方向287-用swtich語句的控制P0口8位LED的點(diǎn)亮狀態(tài)288-用for語句控制蜂鳴器鳴笛次數(shù)289-包含單片機(jī)寄存器的頭文件29-9999累加290-用do-while語句控制P0口8位LED流水點(diǎn)亮291-用字符型數(shù)組控制P0口8位LED流水點(diǎn)亮292-用P0口顯示字符串常量293-用P0 口顯示指針運(yùn)算結(jié)果294-用指針數(shù)組控制P0口8位LED流水點(diǎn)亮295-用數(shù)組的指針控制P0 口8 位LED流水點(diǎn)亮296-用P0 、P1口顯示整型函數(shù)返回值297-用有參函數(shù)控制P0口8位LED流水速度298-用數(shù)組作函數(shù)參數(shù)控制流水花樣299-用數(shù)組作函數(shù)參數(shù)控制流水花樣3-IO輸出-點(diǎn)亮多個(gè)LED燈方法130-9累減300-用函數(shù)型指針控制P1口燈花樣31-99累減32-999累減33-9999累減34-顯示小數(shù)點(diǎn)35-數(shù)碼管消隱36-數(shù)碼管遞加遞減帶消隱37-數(shù)碼管左移38-數(shù)碼管右移38-數(shù)碼管右移139-數(shù)碼管右移24-IO輸出-點(diǎn)亮多個(gè)LED燈方法240-數(shù)碼管循環(huán)左移41-數(shù)碼管循環(huán)右移41-數(shù)碼管循環(huán)右移142-數(shù)碼管循環(huán)右移243-數(shù)碼管閃爍44-數(shù)碼管局部閃爍45-定時(shí)器046-定時(shí)器147-定時(shí)器248-產(chǎn)生1ms方波49-產(chǎn)生200mS方波5-閃爍1個(gè)LED50-產(chǎn)生多路不同頻率方波51-1個(gè)獨(dú)立按鍵控制LED52-1個(gè)獨(dú)立按鍵控制LED狀態(tài)轉(zhuǎn)換53-2按鍵加減操作53-2按鍵加減操作數(shù)碼管顯示54-多位數(shù)按鍵加減(閃爍)54-多位數(shù)按鍵加減(閃爍)數(shù)碼管顯示55-多位數(shù)按鍵加減(不閃爍)55-多位數(shù)按鍵加減(不閃爍)數(shù)碼管顯示56-定時(shí)器掃描數(shù)碼管(不閃爍)57-按鍵長按短按效果58-搶答器59-獨(dú)立按鍵依次輸入數(shù)據(jù)6-不同頻率閃爍1個(gè)LED燈60-按鍵從右至左輸入61-8位端口檢測8獨(dú)立按鍵62-矩陣鍵盤行列掃描63-矩陣鍵盤反轉(zhuǎn)掃描64-矩陣鍵盤中斷掃描65-矩陣鍵盤密碼鎖66-矩陣鍵盤簡易計(jì)算器67-外部中斷0電平觸發(fā)68-外部中斷1電平觸發(fā)69-外部中斷0下降沿觸發(fā)7-不同頻率閃爍多個(gè)LED燈70-外部中斷1下降沿觸發(fā)71-T0外部計(jì)數(shù)輸入72-T1外部計(jì)數(shù)輸入73-看門狗溢出測試74-按鍵喂狗75-喇叭發(fā)聲原理76-警車聲音77-救護(hù)車聲音78-喇叭滴答聲79-報(bào)警發(fā)聲8-8位LED左移80-消防車警報(bào)81-音樂播放82-步進(jìn)電機(jī)轉(zhuǎn)動原理83-步進(jìn)電機(jī)正反轉(zhuǎn)84-步進(jìn)電機(jī)按鍵控制85-步進(jìn)電機(jī)轉(zhuǎn)

    標(biāo)簽: 51單片機(jī) C語言

    上傳時(shí)間: 2021-11-08

    上傳用戶:

  • 室內(nèi)5G網(wǎng)絡(luò)白皮書(HKT GSA 華為)

    1. 引言2. 概述3.3.1 100Mbps 以上的邊緣速率3.3.2 99.999% 高可靠性和≤ 1ms 的超低時(shí)延3.3.3 1 個(gè)連接/ 平方米3.3.4 其他3.3.5 小結(jié)4.1.1 高頻組網(wǎng)傳播損耗與穿透損耗大,室外覆蓋室內(nèi)難4.1.2 無源分布式天線系統(tǒng)演進(jìn)難、綜合損耗大、互調(diào)干擾大3.1 5G 三大業(yè)務(wù)類型3.2 室內(nèi)5G 業(yè)務(wù)及特征3.3 室內(nèi)5G 業(yè)務(wù)對網(wǎng)絡(luò)的需求4.2 多樣化的業(yè)務(wù)要求網(wǎng)絡(luò)具備更大的彈性容量4.3 行業(yè)應(yīng)用要求網(wǎng)絡(luò)具備極高可靠性4.4 四代共存網(wǎng)絡(luò)及新業(yè)務(wù)發(fā)展要求網(wǎng)絡(luò)具有高效運(yùn)維、智能運(yùn)營能力4.5 小結(jié)5.1 組網(wǎng)策略: 高中低頻分層組網(wǎng),提供更大容量5.2 MIMO 選擇策略:標(biāo)配4T4R,提供更好的用戶體驗(yàn)5.3 方案選擇策略:大容量數(shù)字化方案是必然選擇5.4 容量策略:彈性容量,靈活按需滿足業(yè)務(wù)需求5.5 可靠性策略:面向5G 業(yè)務(wù)的可靠性設(shè)計(jì)5.6 部署策略:端到端數(shù)字化部署,奠定網(wǎng)絡(luò)運(yùn)維和運(yùn)營的基礎(chǔ)5.7 網(wǎng)絡(luò)運(yùn)維策略:可視化運(yùn)維,實(shí)現(xiàn)室內(nèi)5G 網(wǎng)絡(luò)可管可控5.8 網(wǎng)絡(luò)運(yùn)營策略:基于網(wǎng)絡(luò)運(yùn)營平臺,支撐室內(nèi)5G 網(wǎng)絡(luò)智能運(yùn)營5.9 小結(jié)

    標(biāo)簽: 5g 華為

    上傳時(shí)間: 2022-01-30

    上傳用戶:qdxqdxqdxqdx

  • 宏晶 STC15F2K60S2開發(fā)板配套軟件源碼 基礎(chǔ)例程30例

    宏晶 STC15F2K60S2開發(fā)板配套軟件源碼 基礎(chǔ)例程30例/**********************基于STC15F2K60S2系列單片機(jī)C語言編程實(shí)現(xiàn)使用如下頭文件,不用另外再包含"REG51.H"#include <STC15F2K60S2.h>***********************/#include "STC15F2K60S2.H"//#include "REG51.H" //sfr P4   = 0xC0;#define  uint unsigned int  #define  uchar unsigned char  /**********************引腳別名定義***********************/sbit SEL=P4^3; // LED和數(shù)碼管選擇引腳 高:LED有效 低:數(shù)碼管有效 // SEL連接的單片機(jī)引腳必須為帶有上拉電阻的引腳 或?qū)⑵渲苯舆B接VCC#define data P2 // 數(shù)據(jù)輸入定義  /**********************函數(shù)名稱:Delay_1ms功能描述:延時(shí)入口參數(shù):unsigned int t 表示要延時(shí)t個(gè)1ms 出口參數(shù):無備注:通過參數(shù)t,控制延時(shí)的時(shí)間長短***********************/void Delay_1ms(uint t){ uchar j;   for(;t>0;t--)       for(j=110;j>0;j--)     ;}/**********************函數(shù)名稱:Led_test功能描述:對8個(gè)二極管進(jìn)行測試,依次輪流點(diǎn)亮8個(gè)二極管入口參數(shù):無出口參數(shù):無備注:  ***********************/void Led_test(){    uchar G_value=0x01; // 給變量賦初值 SEL=1;    //高電平LED有效   while(1) { data=G_value; Delay_1ms(10000); G_value=G_value<<1; if(G_value==0x00) { data=G_value; Delay_1ms(10000); G_value=0x01;      } }}/***********************主函數(shù)************************/void main(){ ///////////////////////////////////////////////// //注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關(guān)的IO口均為 //      高阻態(tài),需將這些口設(shè)置為準(zhǔn)雙向口或強(qiáng)推挽模式方可正常使用 //相關(guān)IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2 //        P2.3/P2.7/P3.7/P4.2/P4.4/P4.5 ///////////////////////////////////////////////// P4M1=0x00; P4M0=0x00; P2M0=0xff; P2M1=0x00; //將P2設(shè)為推挽 Led_test();  }

    標(biāo)簽: STC15F2K60S2

    上傳時(shí)間: 2022-05-03

    上傳用戶:

主站蜘蛛池模板: 陕西省| 盐边县| 凤城市| 南阳市| 江永县| 达日县| 凌云县| 曲松县| 枞阳县| 平乡县| 武冈市| 龙口市| 天祝| 鸡东县| 陇南市| 连江县| 临桂县| 沙湾县| 宿州市| 元江| 锡林浩特市| 台北县| 醴陵市| 湾仔区| 托克逊县| 乌海市| 武强县| 东海县| 凤山市| 观塘区| 沅陵县| 延吉市| 嘉义县| 仁布县| 海宁市| 隆化县| 堆龙德庆县| 巴塘县| 卓资县| 张家港市| 嘉禾县|