找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1722|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

這個(gè)c51的程序怎么改

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:201688 發(fā)表于 2017-5-17 11:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
采用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)行。這樣不但對(duì)該系統(tǒng)進(jìn)行了硬件電路的設(shè)計(jì),而且也對(duì)軟件編程也進(jìn)行了調(diào)試。
由于proteus軟件中沒有DTMF芯片的仿真模型且DTMF芯片功能現(xiàn)在非常完善,DTMF的外圍電路也非常的簡(jiǎn)單,工作也很穩(wěn)定。連接上電路就可譯出8421碼,用8421碼來區(qū)別不同的電話按鍵操作。所以我直接用4×4矩陣鍵盤中的12個(gè)數(shù)字替代DTMF譯碼電路,這樣單片機(jī)直接和按鍵連接。
proteus軟件中同樣也沒有語音芯片的仿真模型,但是語音芯片就是按事先存儲(chǔ)好的提示音通過單片機(jī)的控制進(jìn)行不同位置的調(diào)用,我在該軟件中用蜂鳴器對(duì)其進(jìn)行替代,用不同頻率的控制信號(hào)來表示不同的語音提示,這樣蜂鳴器就會(huì)按單片機(jī)的控制產(chǎn)生不同的提示音。
單片機(jī)通過繼電器驅(qū)動(dòng)電路控制繼電器的通斷從而實(shí)現(xiàn)家用電器的開關(guān),原理就是小信號(hào)控制大電流、大電壓設(shè)備。只要小信號(hào)能正常的輸出則家用電器就能正常的開關(guān)。為了直觀的看出單片機(jī)輸出的小信號(hào)是否正常,我在proteus軟件中用單片機(jī)直接驅(qū)動(dòng)LED燈,用LED燈的亮滅來模擬家用電器的開斷。
為了能直觀的看出輸入鍵盤按下的鍵位,我用7段數(shù)碼管對(duì)其進(jìn)行顯示,用矩陣鍵盤最左邊的三列來模擬電話的按鍵(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5967.tmp.png表示#號(hào)鍵,file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps5968.tmp.png表示*號(hào)鍵)。數(shù)碼管不但能顯示按鍵的數(shù)位而且在用戶輸入密碼三次錯(cuò)誤的時(shí)候,系統(tǒng)將自動(dò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)自動(dò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 家用電

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表