標(biāo)題: 這個(gè)c51的程序怎么改 [打印本頁]

作者: 哈哈9494123    時(shí)間: 2017-5-17 11:32
標(biāo)題: 這個(gè)c51的程序怎么改
采用proteus仿真模擬系統(tǒng)的實(shí)物調(diào)試原理
根據(jù)控制系統(tǒng)調(diào)試的需要,我們自己準(zhǔn)備了一些調(diào)試設(shè)備:
    1)proteus軟件            一個(gè)
    2)Keil軟件              一個(gè)
由于沒有實(shí)物可以進(jìn)行系統(tǒng)的調(diào)試且proteus軟件可以非常完善的模擬仿真硬件電路,所以我采用proteus軟件來畫出電話遠(yuǎn)程控制的基本電路圖,再用Keil軟件進(jìn)行C語言的程序編寫,最后把Keil軟件與proteus軟件進(jìn)行關(guān)聯(lián)設(shè)置,即可把Keil軟件中的程序下載到單片機(jī)中進(jìn)行運(yùn)行。這樣不但對該系統(tǒng)進(jìn)行了硬件電路的設(shè)計(jì),而且也對軟件編程也進(jìn)行了調(diào)試。
由于proteus軟件中沒有DTMF芯片的仿真模型且DTMF芯片功能現(xiàn)在非常完善,DTMF的外圍電路也非常的簡單,工作也很穩(wěn)定。連接上電路就可譯出8421碼,用8421碼來區(qū)別不同的電話按鍵操作。所以我直接用4×4矩陣鍵盤中的12個(gè)數(shù)字替代DTMF譯碼電路,這樣單片機(jī)直接和按鍵連接。
proteus軟件中同樣也沒有語音芯片的仿真模型,但是語音芯片就是按事先存儲好的提示音通過單片機(jī)的控制進(jìn)行不同位置的調(diào)用,我在該軟件中用蜂鳴器對其進(jìn)行替代,用不同頻率的控制信號來表示不同的語音提示,這樣蜂鳴器就會按單片機(jī)的控制產(chǎn)生不同的提示音。
單片機(jī)通過繼電器驅(qū)動電路控制繼電器的通斷從而實(shí)現(xiàn)家用電器的開關(guān),原理就是小信號控制大電流、大電壓設(shè)備。只要小信號能正常的輸出則家用電器就能正常的開關(guān)。為了直觀的看出單片機(jī)輸出的小信號是否正常,我在proteus軟件中用單片機(jī)直接驅(qū)動LED燈,用LED燈的亮滅來模擬家用電器的開斷。
為了能直觀的看出輸入鍵盤按下的鍵位,我用7段數(shù)碼管對其進(jìn)行顯示,用矩陣鍵盤最左邊的三列來模擬電話的按鍵(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5967.tmp.png表示#號鍵,file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5968.tmp.png表示*號鍵)。數(shù)碼管不但能顯示按鍵的數(shù)位而且在用戶輸入密碼三次錯(cuò)誤的時(shí)候,系統(tǒng)將自動的掛機(jī),我用LED燈、數(shù)碼管的全滅來表示這一狀態(tài)。但是在程序的后半部分?jǐn)?shù)碼管的顯示和LED燈的亮滅有些沖突,所以在后半部分沒有顯示鍵盤輸入值。
6.2 proteus調(diào)試
     我采用該軟件的仿真來模擬整體系統(tǒng)的調(diào)試。
     第一步:用按鍵輸入T0端口來模擬電話振鈴次數(shù),當(dāng)按鍵次數(shù)大于6次時(shí),表示無人接聽,系統(tǒng)自動摘機(jī),我用LED燈D1點(diǎn)亮來表示這一狀態(tài),如圖6-2所示:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5969.tmp.jpg
                                 6-2
第二步:通過矩陣鍵盤輸入密碼,當(dāng)輸入的密碼與系統(tǒng)設(shè)置的密碼一致時(shí),系統(tǒng)允許控制家用電器操作,我用LED燈D2點(diǎn)亮來表示這一狀態(tài),如果密碼輸入錯(cuò)誤則D2不亮,而且在密碼三次輸入錯(cuò)誤時(shí)LED燈及數(shù)碼管全部的熄滅,如圖6-3所示。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps596A.tmp.jpg
                         
6-3
第三步:如果輸入file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps596B.tmp.png1~5的數(shù)字則表示把家用電器打開,1~5分別代表不同的家用電器。如果輸入file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps596C.tmp.png1~5的數(shù)字則表示把家用電器關(guān)閉,1~5分別代表不同的家用電器,如下圖6-4、6-5所示。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps596D.tmp.jpg
            6-4 家用電器全部打開
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps596E.tmp.jpg
     6-5 家用電






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1