新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機C語言程序設(shè)計(12)

PIC單片機C語言程序設(shè)計(12)

作者: 時間:2013-02-05 來源:網(wǎng)絡(luò) 收藏
  6.Pic單片機程序SIM軟件仿真技巧(2)

  鑒于C 語言模擬仿真(SIM)在學(xué)習(xí)C 語言程序時十分有用,這里筆者再進一步討論模擬仿真的更多功能。

 ?、?模擬仿真C 程序運行的全過程,如果想要仿真查看《PIC 單片機C 語言設(shè)計程序(8)》Pic07.C 中的程序的全部運行過程(0 ~ 99 的增量),是十分困難的,其原因是,主函數(shù)voidmain( ) 要調(diào)用顯示函數(shù)display(x),而該顯示函數(shù)為了完成X++ 的0 ~ 99 任意一個增量(△為1 秒)的顯示,則要通過循環(huán)語句while(d>0)進行d-- 的100 次循環(huán)(因d=100),模擬仿真這種循環(huán)太費時。且在該循環(huán)語句while(d>0)中, 又要調(diào)用延時函數(shù)delay(200), 使仿真更復(fù)雜。盡管這種仿真可以在MPLAB IDE 中完全正常運行,但是操作者等待時間太長。解決上述問題的最佳方法, 是改寫程序pic07.C 中的一些參數(shù),以快速完成程序模擬仿真的全過程。改寫程序仍在MPLAB IDE(較高版本)集成環(huán)境下進行,改寫的原則是不能減少C 程序的代碼數(shù)(量),僅改寫其中少數(shù)參數(shù)值(值大的),即不改變程序的整體工作模式。比如,將pic07.C顯示函數(shù)中說明語句unsigned int d=100, 的d 值改為3,d 值決定0 ~ 99 每個增量的時間,d=100,增量時間約1 秒, 同一循環(huán)操作時間大大減少,以便我們進入程序的其他運作。又如,將pic07.C 循環(huán)語句while(d>0) 中的延時( 調(diào)用)delay(200) ;改為delay(4), 將無限循環(huán)語句while(1) 中調(diào)用顯示函數(shù)display(x) ;中的if(x==99) 改為if(x==4)。這樣整個程序的邏輯功能操作,便可較快地通過模擬調(diào)試全部完成。經(jīng)上述改寫后的程序重新命名為pic07a.C,其清單如下:

c語言相關(guān)文章:c語言教程



上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉