keil的純軟體模擬功能

來源:互聯網
上載者:User

 

      本文引自 http://blog.ednchina.com/likee/25421/category.aspx 

 

通常大家都說keil的純軟體模擬功能無比的強大,它到底強大到哪種程度呢?簡單地來說,它能夠模擬到幾乎所有的內部資源及外圍的IO口。

 

 

如所示,幾乎所有的IO口、串口、I2C、SPI、AD等,都能夠模擬。呵呵,夠強大了吧?下面以外圍IO口的流水燈模擬及AD轉換為例,來慢慢說明。

大家可以下載下面這個軟體包進行結合我的例子同步:

 

 

 

下載完後直接可以編譯,編譯後,沒有錯誤和警告,然後就可以點擊中的那個紅色的d字形按鈕進行 debug,然後點擊“peripherals”按鈕,選擇GPIO,再在子功能表中選擇Port0(因為在程式中我是將流水燈寫在對應的Port0管腳上的)。再按一下全速運行,呵呵,是不是發現IO0SET的第十六位到第二十三位的鉤依次打上呢?這是因為它們依次就高電平,如果我們在實際的開發板上接上LED(陽極接限流電阻再接IO口,陰極接地)的話,這樣就會使我們的LED閃啊閃的,像流水一樣~~~~~~~~

而AD轉換呢?我們有AD轉換,首先要類比出一個類比電壓才行。點擊Debug後,不要點全速運行,在Debug菜單中選擇function editor (open Ini file),會提示我們開啟一個指令檔,把下面這樣檔案加進去:

指令檔的內容是:

//

// Generate Sine Wave Signal on AD Channel 0

//

signal void AIN0(void) {

 float volts;        // peak-to-peak voltage

 float frequency;    // output frequency in Hz

 float offset;       // voltage offset

 float duration;     // duration in Seconds

 float val;

 long i, end; 

 

 volts     = 1.5;

 offset    = 1.6;

 frequency = 1800;

 duration = 0.1;

 

 printf ("Sine Wave Signal on AD Channel 0."n");

 

 end = (duration * 100000);

 while(1) {

    val = __sin (frequency * (((float) STATES) / CLOCK) * 2 * 3.1415926);

    AIN0 = (val * volts) + offset;

    swatch (0.00001);                // in 10 uSec steps

 }

}

進行儲存,編譯,下面按下全速運行,再開啟邏輯分析視窗,這個時候你看到正弦波了嗎?肯定看不到啦!

這是為什麼呢?因為我們還沒有把它加到類比IO口呢!那麼怎麼添加呢?在下面這個視窗中:

 

 

 

 

 

我們再看看前面這樣指令碼的內容,那個函數是將一個正弦波訊號加到一個叫AIN0的管腳,這可以在command 視窗中輸入 “dir vtreg”命令來查看這個類比的CPU有哪些類比資源。那麼,我們將這個函數添加到類比連接埠,輸入這個指令碼函數的名稱:“AIN0()”,這個時候看到正弦波了嗎?看到了!看到一個正弦波在跳啊跳的,多開心啊!

總體如:

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.