在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PWM控制LED臺(tái)燈程序帶紅外遙控

            PWM控制LED臺(tái)燈程序帶紅外遙控

            作者: 時(shí)間:2012-10-31 來源:網(wǎng)絡(luò) 收藏

            ;/*************************************************
            ;* 標(biāo)題: 程序*
            ;* 文件: .asm *
            ;* 日期: 2008-12-18 *
            ;* 版本: 1.0*
            ;* 作者: *
            ;****************************************************
            ; 程序帶有功能*
            ; 利用定時(shí)器控制產(chǎn)生占空比可變的PWM 波*
            ; 按K1,PWM 值增加,則占空比減小,LED 燈漸暗。*
            ; 按K2,PWM 值減小,則占空比增加,LED 燈漸亮。*
            ; 我的5644遙控器上的0~9數(shù)字鍵對(duì)應(yīng)10個(gè)亮度等級(jí)。*
            ; 當(dāng)PWM 值增加到最大值或減小到最小值時(shí),蜂鳴器將報(bào)警*
            ; 資源:p1 口,數(shù)碼管。p3.4,p3.5 亮度控制按鍵P3.0 PWM端口,p3.1 蜂鳴器報(bào)警*
            ;*********************************************************
            LEVEL0EQU2FH;亮度等級(jí)9
            LEVEL1EQU4FH;亮度等級(jí)8
            LEVEL2EQU6FH;亮度等級(jí)7
            LEVEL3EQU8FH;亮度等級(jí)6
            LEVEL4EQU0AFH;亮度等級(jí)5
            LEVEL5EQU0BFH;亮度等級(jí)4
            LEVEL6EQU0CFH;亮度等級(jí)3
            LEVEL7EQU0DFH;亮度等級(jí)2
            LEVEL8EQU0EFH;亮度等級(jí)1
            LEVEL9EQU0FFH;亮度等級(jí)0

            PWM EQU 7FH ;PWM 賦初始值

            LED_RAMEQU30H
            IRCOM EQU 50H;50H-53H IR 使用
            IR_NEWEQU 60H;新的遙控代碼值用

            LED_PORTEQUP1 ;數(shù)碼管接口,共陰極
            PWM_OUT EQU P3.0 ;輸出接口
            INCKEY EQU P3.5 ;K1,PWM 值增加鍵。
            DECKEY EQU P3.4 ;K2,PWM 值減小鍵。
            BEEP EQU P3.1 ;蜂鳴器
            IRINEQU P3.2

            ;---------------------------
            ORG 0000H
            SJMP START
            ORG 0003H
            LJMP REMOT;IRF
            ORG 000BH
            SJMP INTT0
            ORG 001BH
            SJMP INTT1
            ORG 0030H
            ;---------------------------
            ;主程序
            ;定時(shí)器0 工作在模式1,定時(shí)器1 工作在模式2。
            ;---------------------------

            START:
            MOV SP,#30H
            MOV TMOD,#21H
            MOV IP,#00001010B
            MOV TH1,PWM ;脈寬調(diào)節(jié)
            MOV TL1,#00H

            MOV TH0,#0FEH ;1ms 延時(shí)常數(shù)0FC
            MOV TL0,#0CH ;頻率調(diào)節(jié)066

            SETB EA;開總中斷
            SETB ET0 ;定時(shí)器0允許
            SETB ET1 ;定時(shí)器1允許
            SETB TR0 ;定時(shí)器0啟動(dòng)
            SETB EX0;外中斷0打開
            SETB IT0;外中斷0采用脈沖方式 ;
            LOOP:
            LCALL DISPLAY
            MOV A,PWM ;
            JB INCKEY,LOOP1 ;增加鍵是否按下?
            CALL DELAY ;延時(shí)去抖動(dòng)
            JB INCKEY,LOOP1
            CJNE A,#0FFH,PWMINC ;是否到最大值?
            CALL BEEP_BL ;是,蜂鳴器報(bào)警。
            SJMP LOOP

            PWMINC: INC PWM ;調(diào)節(jié)脈寬(脈寬減?。?
            SJMP LOOP

            LOOP1: JB DECKEY,LOOP2 ;減小鍵是否按下?
            CALL DELAY ;延時(shí)去抖動(dòng)
            JB DECKEY,LOOP2
            CJNE A,#01H,PWMDEC ;是否到最小值?
            CALL BEEP_BL ;是,蜂鳴器報(bào)警。
            SJMP LOOP

            PWMDEC: DEC PWM ;調(diào)節(jié)脈寬(脈寬增加)
            LOOP2: SJMP LOOP

            ;-----------------------------
            ;T0 中斷服務(wù)子程序(頻率)
            ;控制定時(shí)器1 中斷
            ;-----------------------------
            INTT0:
            CLR TR1
            MOV TH0,#0FEH ;1ms 延時(shí)常數(shù)
            MOV TL0,#0CH ;頻率調(diào)節(jié)
            MOV TH1,PWM
            SETB TR1
            CLR PWM_OUT ;啟動(dòng)輸出
            RETI

            ;-----------------------------
            ;T1 中斷服務(wù)子程序(脈寬)
            ;控制PWM 脈沖寬度
            ;-----------------------------
            INTT1:
            CLR TR1 ;脈寬調(diào)節(jié)結(jié)束
            SETB PWM_OUT ;結(jié)束輸出
            RETI

            ;-----------------------------
            ;************************有接收到遙控器信號(hào)*******
            REMOT:
            CLR EA
            PUSH ACC
            PUSH PSW
            SETB PSW.3;選擇工作寄存器組1(SETB PSW.3)
            CLR PSW.4; (CLR PSW.4)
            MOV R0,#IRCOM
            I1: JNB IRIN,I2 ;等待IR 信號(hào)出現(xiàn)
            JMP IR_SHOW1;I1;原值I1
            I2: MOV R4,#20
            I20: CALL DEL
            DJNZ R4,I20
            JB IRIN,IR_SHOW1;I1 ;確認(rèn)IR 信號(hào)出現(xiàn)
            I21: JB IRIN,I3 ;等IR 變?yōu)楦唠娖?BR>CALL DEL
            JMP I21
            I3: MOV R3,#0 ;8 位數(shù)清為0
            LL:JNB IRIN,I4 ;等IR 變?yōu)榈碗娖?BR>CALL DEL
            JMP LL
            I4: JB IRIN,I5 ;等IR 變?yōu)楦唠娖?BR>CALL DEL
            JMP I4
            I5: MOV R2,#0 ;0.14ms 計(jì)數(shù)
            L1: CALL DEL
            JB IRIN, N1 ;等IR 變?yōu)楦唠娖?IR=0,檢查R2 中的計(jì)數(shù)值
            MOV A,#8
            CLR C
            SUBB A,R2 ;判斷高低位;IF C=0 BIT=0
            MOV A,@R0
            RRC A
            MOV @R0,A ;處理完一位
            INC R3
            CJNE R3,#8,LL ;需處理完8 位
            MOV R3,#0
            INC R0
            CJNE R0,#54H,LL ;收集到4 字節(jié)了
            JMP IR_SHOW
            N1: INC R2
            CJNE R2,#30,L1 ;30--0.14ms 計(jì)數(shù)過長(zhǎng)則時(shí)間到自動(dòng)離開
            JMP IR_SHOW1

            紅外遙控器相關(guān)文章:紅外遙控器原理

            pwm相關(guān)文章:pwm原理


            蜂鳴器相關(guān)文章:蜂鳴器原理

            上一頁 1 2 下一頁

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉