PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(12)
鑒于C 語(yǔ)言模擬仿真(SIM)在學(xué)習(xí)C 語(yǔ)言程序時(shí)十分有用,這里筆者再進(jìn)一步討論模擬仿真的更多功能。
⑴ 模擬仿真C 程序運(yùn)行的全過程,如果想要仿真查看《PIC 單片機(jī)C 語(yǔ)言設(shè)計(jì)程序(8)》Pic07.C 中的程序的全部運(yùn)行過程(0 ~ 99 的增量),是十分困難的,其原因是,主函數(shù)voidmain( ) 要調(diào)用顯示函數(shù)display(x),而該顯示函數(shù)為了完成X++ 的0 ~ 99 任意一個(gè)增量(△為1 秒)的顯示,則要通過循環(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)。解決上述問題的最佳方法, 是改寫程序pic07.C 中的一些參數(shù),以快速完成程序模擬仿真的全過程。改寫程序仍在MPLAB IDE(較高版本)集成環(huán)境下進(jìn)行,改寫的原則是不能減少C 程序的代碼數(shù)(量),僅改寫其中少數(shù)參數(shù)值(值大的),即不改變程序的整體工作模式。比如,將pic07.C顯示函數(shù)中說明語(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), 將無限循環(huán)語(yǔ)句while(1) 中調(diào)用顯示函數(shù)display(x) ;中的if(x==99) 改為if(x==4)。這樣整個(gè)程序的邏輯功能操作,便可較快地通過模擬調(diào)試全部完成。經(jīng)上述改寫后的程序重新命名為pic07a.C,其清單如下:
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評(píng)論