新聞中心

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

PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(12)

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

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

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

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



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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉