新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 大神手把手教你STC單片機(jī)片上仿真法

大神手把手教你STC單片機(jī)片上仿真法

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

什么是仿真?

本文引用地址:http://butianyuan.cn/article/201808/385973.htm

我們舉一個(gè)汽車設(shè)計(jì)的例子來(lái)說(shuō)明一下吧。大家一定在影視劇或電視廣告中看過(guò)這樣的鏡頭:在一個(gè)大大的廠房里,一輛嶄新的小汽車正在以很高的速度撞向一面厚厚的水泥墻。坐在車上的兩個(gè)人面不改色心不跳,一動(dòng)不動(dòng)地等待著死亡。他們?yōu)楹稳绱死潇o,因?yàn)?ldquo;他們”是實(shí)驗(yàn)用的假人。說(shuō)時(shí)遲那時(shí)快,汽車已經(jīng)撞到了墻上,巨大的聲響夾雜著飛濺的碎片充滿了空間,汽車在撞擊中破了相。旁邊的幾臺(tái)高速攝像機(jī)記錄下了這一切。這是一次真實(shí)的撞擊實(shí)驗(yàn),目的是為了得出這款車型在出現(xiàn)意外時(shí),是否能保住人的小命。安裝在假人身上的傳感器所得出的數(shù)據(jù),能幫助工程師們發(fā)現(xiàn)安全隱患,改進(jìn)汽車的設(shè)計(jì)??梢哉f(shuō),以上就是一次仿真,一輛真車和兩個(gè)假人有計(jì)劃地撞墻,模擬了真實(shí)車禍情況。仿真讓實(shí)驗(yàn)變得可能,因?yàn)闆](méi)有一個(gè)真人愿意坐在車?yán)飬⑴c這場(chǎng)實(shí)驗(yàn)。當(dāng)真實(shí)情況很難在開(kāi)發(fā)時(shí)再現(xiàn)時(shí),仿真就可以幫助開(kāi)發(fā)者完成必要的實(shí)驗(yàn)。這就如同開(kāi)發(fā)中,我們?cè)谧约旱膶?shí)驗(yàn)板上去開(kāi)發(fā)一款產(chǎn)品一樣。當(dāng)我們?cè)O(shè)計(jì)好了一個(gè)產(chǎn)品的功能,我們要在實(shí)驗(yàn)板上模擬用戶的操作,看看操作是否正常,產(chǎn)品的反應(yīng)速度和穩(wěn)定性如何。這些都是在仿真——模仿用戶使用的真實(shí)情況。

而本文要介紹的是僅使用的“片上仿真”。片上仿真是基于本身的仿真,也就是說(shuō)只要一片單片機(jī),不需要額外購(gòu)買別的東西,就可以實(shí)現(xiàn)仿真。對(duì)于單片機(jī)愛(ài)好者來(lái)說(shuō),片上仿真是最高性價(jià)比的選擇,你甚至不需要修改電路,用給單片機(jī)下載HEX文件的電路就能實(shí)現(xiàn)仿真。各大單片機(jī)公司都已開(kāi)發(fā)出不同性能的支持片上仿真的單片機(jī)。其中STC公司有一款性能很不錯(cuò)的片上仿真單片機(jī)——IAP15F2K61S2。下面我就給大家介紹一下片上仿真環(huán)境的建立,還有進(jìn)入仿真界面的操作流程,最后以一個(gè)實(shí)例告訴大家如何進(jìn)行仿真調(diào)試。這是一些非常簡(jiǎn)單的操作,只要按照本文的步驟操作,就一定能順利學(xué)會(huì)。

仿真電路連接

建立單片機(jī)仿真環(huán)境,最主要的工作是設(shè)置軟件的參數(shù),而硬件電路的連接是很簡(jiǎn)單的事。如果你已經(jīng)制作出了ISP下載線,并成功地給單片機(jī)寫入了HEX文件。那么從某種意義上講,你已經(jīng)完成了單片機(jī)仿真的硬件電路連接。也就是說(shuō),單片機(jī)仿真電路與ISP下載電路是完全相同的。如果是這樣,我為什么還要花時(shí)間來(lái)講仿真電路的連接呢?因?yàn)殡m然電路連接相同,但單片機(jī)不同了。所以我們不能使用STC12C5A60S2和STC12C4052AD來(lái)仿真,因?yàn)檫@兩款芯片不帶仿真功能。而唯一帶仿真功能的單片機(jī)IAP15F2K61S2是最新發(fā)布的15系列單片機(jī),它有著不相同的引腳定義。我們只要熟悉了它的新引腳定義,再來(lái)制作電路就不難了。

首先最明顯的是引腳定義的不同,雖然IAP15F2K61S2也是40腳的單片機(jī),但如果把它直接插在我們做好的ISP下載線里,你會(huì)發(fā)現(xiàn)單片機(jī)是不工作的。不僅IO接口不兼容,連VCC電源輸入的位置也不同。接下來(lái)是外部晶體的使用, IAP15F2K61S2單片機(jī)不需要接外部晶體,因?yàn)樗膬?nèi)部集成了一個(gè)高精度的時(shí)鐘源,可以用軟件設(shè)置成5~30MHz的時(shí)鐘頻率。這一改進(jìn)對(duì)我們使用者的意義是:不論我們做何應(yīng)用,都不需要外接晶體的電路了。只要連接VCC和GND,單片機(jī)就可以工作。再連接TXD和RXD,單片機(jī)就能ISP下載和仿真了。

可仿真單片機(jī)IAP15F2K61S2

下載/仿真電路原理圖

新建仿真環(huán)境

硬件電路連接完畢后,下面開(kāi)始步驟較多的軟件設(shè)置,請(qǐng)大家一定按我介紹的步驟仔細(xì)進(jìn)行。

第1步:下載到STC-ISP V6.36軟件,目前只有V6.36及以上版本支持仿真功能。

第2步:點(diǎn)擊軟件右側(cè)的“KEIL關(guān)聯(lián)設(shè)置”選項(xiàng)卡。仿真相關(guān)的操作都在這個(gè)選項(xiàng)卡里完成。

第3步:接著點(diǎn)擊“添加MCU型號(hào)到Keil中”。這個(gè)操作效果是把STC芯片的仿真程序與KEIL軟件綁定在一起,這樣KEIL軟件中的仿真功能才能操作STC單片機(jī)硬件。

第4步:在彈出的“瀏覽文件夾”窗口中找到KEIL軟件的安裝目錄,并點(diǎn)擊“確定”(默認(rèn)是在C:Keil中)。

第5步:點(diǎn)擊“將IAP15F2K61S2設(shè)置為2.0版仿真芯片”,在此處可以仿真的芯片有兩款:IAP15F2K61S2和IAP15L2K61S2,前一款是F表示5V電源電壓的芯片,后一款是L表示3.3V電源電壓的芯片。我們以5V芯片為例。

第6步:按下第5步的按鈕后,按鍵變灰,下方狀態(tài)窗口出現(xiàn)“正在檢測(cè)目標(biāo)單片機(jī)……”。這個(gè)提示的意思是你需要給單片機(jī)重新上電了,和之前給單片機(jī)寫入HEX文件的方法相同。此時(shí)在硬件上讓單片機(jī)冷啟動(dòng),即會(huì)出現(xiàn)下載程序的提示,最后顯示下載完成。大家可能不明白了,不是要仿真嗎,為什么還要下載程序呢?其實(shí)這次下載的是仿真所需要的仿真處理程序,而不是我們要運(yùn)行的HEX程序文件。仿真處理程序的功能是接收KEIL軟件通過(guò)串口發(fā)出的仿真指令,再用這個(gè)指令去操控單片機(jī)寄存器和IO接口什么的。由此可見(jiàn)仿真處理程序是必不可少的。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 單片機(jī)

評(píng)論


相關(guān)推薦

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

關(guān)閉