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

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于89C51設(shè)計(jì)的電話遠(yuǎn)程控制開(kāi)關(guān)

      基于89C51設(shè)計(jì)的電話遠(yuǎn)程控制開(kāi)關(guān)

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

      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í)候把原始密碼寫(xiě)入地址為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)單表示,在這里只寫(xiě)出了電器“一”的控制子程序,其它子程序很相似,詳見(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)試完畢。

      5.2.2 振鈴音檢測(cè)

      在本單元電路制作前期,實(shí)驗(yàn)室中無(wú)模擬交換機(jī),無(wú)法產(chǎn)生振鈴信號(hào),我只好在完成此部分的焊接后回寢室中完成其測(cè)試。將本裝置的電話線兩端并聯(lián)在電話機(jī)兩端,摘機(jī)撥打“190”,然后掛機(jī),市交換機(jī)會(huì)回送連續(xù)的測(cè)試振鈴音。經(jīng)過(guò)測(cè)量,這種測(cè)試振鈴音和正常的振鈴信號(hào)的頻率、振幅等特性都一樣,只是正常的振鈴信號(hào)是1秒通4秒斷,而這種測(cè)試振鈴音是連續(xù)的。當(dāng)送測(cè)試振鈴音時(shí),用萬(wàn)用表的直流檔測(cè)量光電耦合器4N25的輸出端,有明顯的電壓,這說(shuō)明可以形成中斷響應(yīng)信號(hào)。后接振鈴指示燈,發(fā)現(xiàn)在送鈴流 圖5.1信號(hào)時(shí),指示燈亮,但是燈在閃爍。分析得光耦輸出端所接的濾波電容C2太小,于是把原來(lái)的1μF換成現(xiàn)在的100μF,如右圖5.1所示,問(wèn)題得到解決。
      因?yàn)閱纹瑱C(jī)T0所響應(yīng)的外部中斷信號(hào)是低電平有效,所以在光耦輸出端接了一個(gè)開(kāi)關(guān)三極管T1控制指示燈,在三極管的輸出端接了三個(gè)反向器。經(jīng)過(guò)三極管T1的開(kāi)關(guān)作用和三個(gè)反向器的反向作用,輸出應(yīng)該為低電平。但是在測(cè)量反向器輸出端時(shí)發(fā)現(xiàn):振鈴指示燈亮,但反向器輸出端為高電平。說(shuō)明振鈴信號(hào)可以通過(guò)三極管,但無(wú)法通過(guò)反向器。分析原因可能是反向器74LS04壞了,換之,再測(cè),還是老問(wèn)題。經(jīng)過(guò)細(xì)心測(cè)量三極管的發(fā)射極電壓發(fā)現(xiàn):有振鈴時(shí)Ve=1.1V,這時(shí)反向器74LS04認(rèn)為是低電平,當(dāng)無(wú)振鈴脈沖信號(hào)時(shí),還是認(rèn)為是低電平,所以振鈴信號(hào)無(wú)法通過(guò)反向器。解決方法很簡(jiǎn)單,把三極管的發(fā)射極端的下拉電阻R4從原來(lái)的20kΩ改成5.1kΩ,提升三極管的發(fā)射極電壓。
      在畢業(yè)設(shè)計(jì)的后期,實(shí)驗(yàn)室有了模擬小交換機(jī),經(jīng)測(cè)試,本單元電路完全正常,振鈴檢測(cè)部分調(diào)試完畢。

      5.2.3 模擬摘掛機(jī)

      此部分的調(diào)試較為容易,電路接好后,用5V高電平測(cè)試之,指示燈亮,繼電器吸合正常。接入模擬小交換機(jī),控制摘機(jī)時(shí),交換機(jī)的端口指示燈亮,反之掛機(jī)時(shí),指示燈滅。說(shuō)明此部分完全正常。接入仿真機(jī)測(cè)試時(shí)發(fā)現(xiàn):?jiǎn)纹瑱C(jī)的TXD端不能控制模擬摘掛機(jī)部分的摘掛機(jī)。分析得出結(jié)論:可能是接口的電平不相符合。解決方法:加上一個(gè)三極管模擬開(kāi)關(guān),加上一個(gè)反向器(74LS04)進(jìn)行控制隔離作用。經(jīng)過(guò)接入仿真機(jī)測(cè)試表明反向器的作用很明顯,于是在后面的電路設(shè)計(jì)當(dāng)中,我在許多的接口上大多使用了反向器。至此,模擬摘掛機(jī)部分調(diào)試完畢。



      評(píng)論


      相關(guān)推薦

      技術(shù)專(zhuān)區(qū)

      關(guān)閉