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