在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)設(shè)計(jì)的電話遙控器

            基于51單片機(jī)設(shè)計(jì)的電話遙控器

            作者: 時(shí)間:2013-02-21 來(lái)源:網(wǎng)絡(luò) 收藏

            提示音發(fā)生是使用有限循環(huán),反復(fù)使單片機(jī)的RXD口的電平反轉(zhuǎn),從而形成方波信號(hào)。 子程序代碼:

            ORG 1100H
            RING10:MOV R6,#20 ;input password
            RING11:MOV R7,#20 ;800Hz
            RING12:LCALL DL10 ;sound=1
            CPL P3.0 ;delay=0.5s
            DJNZ R7,RING12
            DJNZ R6,RING11
            CLR P3.0
            RET

            ORG 1150H
            RING20:MOV R3,#03
            RING21:MOV R6,#20 ;password wrong
            RING22:MOV R7,#20 ;1600Hz
            RING23:LCALL DL20 ;sound=3
            CPL P3.0 ;delay=0.25s
            DJNZ R7,RING23
            DJNZ R6,RING22
            CLR P3.0
            MOV R7,#200
            RING24:LCALL DL10
            DJNZ R7,RING24
            DJNZ R3,RING21
            CLR P3.0
            RET

            ORG 1200H
            RING30:MOV R3,#02
            RING31:MOV R6,#20 ;select
            RING32:MOV R7,#20 ;800Hz
            RING33:LCALL DL10 ;sound=2
            CPL P3.0 ;delay=0.5s
            DJNZ R7,RING33
            DJNZ R6,RING32
            CLR P3.0
            MOV R7,#200
            RING34:LCALL DL10
            DJNZ R7,RING34
            DJNZ R3,RING31
            CLR P3.0
            RET

            ORG 1250H
            RING40:MOV R3,#03
            RING41:MOV R6,#20 ;control
            RING42:MOV R7,#20 ;800Hz
            RING43:LCALL DL10 ;sound=3
            CPL P3.0 ;delay=0.5s
            DJNZ R7,RING43
            DJNZ R6,RING42
            CLR P3.0
            MOV R7,#100
            RING44:LCALL DL10
            DJNZ R7,RING44
            DJNZ R3,RING41
            CLR P3.0
            RET

            ORG 1300H
            RING50:MOV R6,#40 ;finish
            RING51:MOV R7,#20 ;1600Hz
            RING52:LCALL DL20 ;sound=1
            CPL P3.0 ;delay=0.15s
            DJNZ R7,RING52
            DJNZ R6,RING51
            CLR P3.0
            RET

            ORG 1500H
            DL10:MOV R5,#25 ;delay1.25ms,f=800HZ,fosc=12MHz,
            DL12:MOV R4,#25
            DL11:DJNZ R4,DL11
            DJNZ R5,DL12
            RET

            ORG 1600H
            DL20:MOV R5,#12 ;delay0.625ms,f=1600HZ,fosc=12MHz,
            DL22:MOV R4,#25
            DL21:DJNZ R4,DL21
            DJNZ R5,DL22
            RET

            ORG 1650H
            DL30:MOV R5,#50 ;delay20ms
            DL32:MOV R4,#200
            DL31:DJNZ R4,DL31
            DJNZ R5,DL32
            RET

            4.2 密碼檢測(cè)部分

            本系統(tǒng)密碼校驗(yàn)的基本原理是:在系統(tǒng)初始化的時(shí)候把原始密碼寫入地址為30H開(kāi)始的存儲(chǔ)空間內(nèi),密碼的位數(shù)“5”賦給R7。當(dāng)系統(tǒng)摘機(jī)時(shí),要求輸入密碼,單片機(jī)把解碼后的數(shù)據(jù)(使用者輸入的密碼)存儲(chǔ)在38H開(kāi)始的存儲(chǔ)空間內(nèi)。然后單片機(jī)對(duì)進(jìn)行兩個(gè)存儲(chǔ)地址的內(nèi)容逐位進(jìn)行比較,直到完全相等才能轉(zhuǎn)到下一進(jìn)程,有一位不同,程序就轉(zhuǎn)到出錯(cuò)程序。

            子程序代碼:
            ORG 0150H
            HOKE: CLR 7DH
            SETB P3.1 ;open telephone
            CLR TR0 ;close T0
            MOV R2,#03H ;password wrong 3
            LCALL RING10 ;input password
            IN: CLR 7EH ;7EH=0
            DTMF: MOV R7,#5H ;PASSWORD:5 R7
            MOV R1,#38H ;sign
            SETB P1.4
            SETB P1.5
            SETB P1.6
            SETB P1.7
            WAIT: JBC 7EH,CC ;wait INT0
            LJMP WAIT
            CC: MOV R7,#5H ;password 5***
            MOV R0,#30H ;password top
            MOV R1,#38H ;sign
            CMP: MOV A,@R1
            MOV R4,A
            CLR C
            MOV A,@R1
            SUBB A,@R0 ;test
            INC R0
            INC R1
            JZ AAA ;OK,pass one
            LJMP QQ
            AAA: DJNZ R7,CMP ;R7-1!=0
            LJMP LL ;pass
            QQ: DJNZ R2,IN1 ;password wrongR2!=0
            LCALL RING20
            LJMP STOP
            IN1:LCALL RING20 ;password wrong,try!
            LJMP IN

            4.3 密碼修改部分

            本系統(tǒng)是通過(guò)在線輸入密碼而改變特定存儲(chǔ)器中的密碼值的。
            程序代碼:
            ORG 1700H
            KEYIN: SETB RS1 ;當(dāng)前工作寄存器第二工作區(qū)
            CLR RS0
            ANL A,#00H ;清零A寄存器
            MOV B,#05H
            LCALL RING10 ;發(fā)提示音:輸入密碼***
            MOV R7,#5H
            MOV R1,#38H
            WPIN: JBC 7EH,READ ;等待INT0中斷
            LJMP WPIN
            READ: MOV R1,#38H
            MOV R0,#40H
            MOV R7,#05H
            READ1: MOV A,@R1
            MOV @R0,A
            INC R0
            INC R1
            DJNZ R7,READ1 ;判斷輸入密碼是否為5位,否跳轉(zhuǎn)READ1
            LCALL RING10 ;滿5位,發(fā)提示音:再輸入新密碼
            MOV R7,#5H
            MOV R1,#38H
            WRE: JBC 7EH,KEYCMP ;等待中斷INT1
            LJMP WRE
            KEYCMP:MOV R6,#05H
            MOV R0,#40H
            MOV R1,#38H
            KEYCP:MOV A,@R0
            CLR C
            SUBB A,@R1 ;A減((R1))
            INC R1
            INC R0
            JZ BBB ;A的內(nèi)容如果為0,則跳轉(zhuǎn)BBB
            LJMP LL
            BBB: DJNZ R6,KEYCP ;R6減1不為0,則跳轉(zhuǎn)KEYCP,即循環(huán)比較密碼的五位
            MOV R1,#38H
            MOV R0,#30H
            MOV R6,#5H
            KEYREIN:MOV A,@R1
            MOV @R0,A
            INC R1
            INC R0
            DJNZ R6,KEYREIN ;R6減1不為0,則跳轉(zhuǎn),即循環(huán)比較密碼的五位
            LCALL RING50 ;發(fā)提示音:新密碼已經(jīng)設(shè)置
            LJMP STOP
            RET

            4.4 控制電器部分

            本系統(tǒng)首先通過(guò)外圍雙音頻解碼電路解碼的信息(選擇電器)判斷所選擇的電器,然后跳轉(zhuǎn)到每一個(gè)子程序,通過(guò)單片機(jī)向P1口的低四位發(fā)送數(shù)據(jù),這些控制信息表示對(duì)不同的電器進(jìn)行控制的控制字。為了簡(jiǎn)單表示,在這里只寫出了電器“一”的控制子程序,其它子程序很相似,詳見(jiàn)附錄。

            程序代碼:
            LL: LCALL RING30 ;sound:input control
            MOV R7,#1H ;***
            MOV R1,#38H
            CLR 7EH
            WAIT0: JBC 7EH,DD ;wait INT0
            LJMP WAIT0
            DD: MOV R1,#38H
            MOV A,@R1
            RR A
            RR A
            RR A
            RR A
            MOV R4,A
            RL A
            ADD A,R4
            MOV DPTR,#TAB
            JMP @A+DPTR
            TAB: LJMP ZERO
            LJMP EIGHT;8
            LJMP FOUR ;4
            LJMP STOP ;#
            LJMP TWO ;2
            LJMP ZERO ;0
            LJMP SIX ;6
            LJMP LL ;**
            LJMP ONE ;1
            LJMP LL ;9,**
            LJMP FIVE ;5
            LJMP LL ;A,**
            LJMP THREE;3
            LJMP LL ;*,**
            LJMP SEVEN;7
            LJMP LL ;C,**

            ORG 0250H
            ZERO: LJMP LL

            ONE: LCALL RING40 ;發(fā)提示音:請(qǐng)操作電器
            OO1: MOV R7,#01H
            CLR 7EH
            WAIT1: JBC 7EH,WW1 ;wait INT0
            LJMP WAIT1
            WW1:MOV R1,#38H ;檢查信號(hào)首位
            MOV A,@R1
            CJNE A,#50H,BB1 ;(38)不等于0AH(0),則跳轉(zhuǎn)BB1
            LJMP ZZ1 ;(38)等于0AH(0),則跳轉(zhuǎn)ZZ1
            BB1: CJNE A,#80H,QUIT1 ;(38)不等于01H(1),則跳轉(zhuǎn)QUIT1
            SETB P1.3 ;open 1
            CLR P1.2
            CLR P1.1
            CLR P1.0
            LJMP QUIT1
            ZZ1: CLR P1.3 ;close all
            CLR P1.2
            CLR P1.1
            CLR P1.0
            LCALL RING50 ;finsh
            QUIT1: LJMP LL

            4.5 振鈴計(jì)數(shù)部分

            本單元是通過(guò)計(jì)數(shù)器T0的外部中斷方式來(lái)計(jì)數(shù)的,程序代碼:

            ORG 0090H
            TT0: SETB 7DH
            RETI


            第五章 系統(tǒng)調(diào)試

            5.1 整體調(diào)試

            整體調(diào)試所使用的測(cè)試儀器儀表和工具:

            1、IBM-PC/XT兼容機(jī)一臺(tái),主頻:50Hz,有軟驅(qū)和25針串行接口;
            2、ME-5103單片機(jī)仿真機(jī)一個(gè);
            3、MF116萬(wàn)用表一個(gè);
            4、計(jì)算機(jī)5V穩(wěn)壓電源一個(gè);
            5、SR8雙蹤示波器;
            6、Manley In-Circuit Emulator Debugger(MBUG)開(kāi)發(fā)軟件;

            本裝置的調(diào)試主要分為硬件調(diào)試、軟件調(diào)試和聯(lián)機(jī)調(diào)試等三大部分。
            經(jīng)過(guò)初步的分析設(shè)計(jì)后,在制作硬件電路的同時(shí),調(diào)試也在穿插進(jìn)行。這樣有利于問(wèn)題的分析和解決,不會(huì)造成問(wèn)題的積累,而且不會(huì)因?yàn)橐粋€(gè)小問(wèn)題而進(jìn)行整體電路的檢查,從而可以節(jié)約大量的調(diào)試時(shí)間。軟件編程中,我是首先完成單元功能模塊的調(diào)試,然后進(jìn)行系統(tǒng)調(diào)試,整體上與硬件調(diào)試的方法差不多。聯(lián)機(jī)調(diào)試是最重要的一部分,同時(shí)也是本裝置成功的關(guān)鍵。有許多新問(wèn)題都不是很容易解決的。

            調(diào)試的步驟

            5.2 硬件單元電路 5.2.1 5V穩(wěn)壓電源

            本裝置使用單5V穩(wěn)壓電源供電,要求交流成分小。經(jīng)過(guò)示波器測(cè)量5V穩(wěn)壓電源輸出端,其交流部分電壓的峰-峰值為6mV,符合本裝置的電源要求,穩(wěn)壓電源調(diào)試完畢。

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


            評(píng)論


            相關(guān)推薦

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

            關(guān)閉