<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC單片機C語(yǔ)言程序設計(11)

PIC單片機C語(yǔ)言程序設計(11)

作者: 時(shí)間:2013-02-05 來(lái)源:網(wǎng)絡(luò ) 收藏
  2) 調用stop Watch(跑表)

  點(diǎn)擊圖49 中的Debugger 命令, 并在彈出的下拉菜單中點(diǎn)擊setting,即可生成圖50 所示的Simulator Settings 界面。在該界面中,頻率為20MHz,我們將其改成實(shí)際電路(即《PIC 單片機C 語(yǔ)言(4)》中的圖3))所用的晶振頻率4MHz,然后點(diǎn)擊圖50 中的“確定”,回到圖49 所示界面。在該界面中點(diǎn)擊“Debugger”命令,并在彈出的下拉菜單中點(diǎn)擊“Stop watch,即可生成圖51 所示的對話(huà)框。

圖50

圖51

  3) 定量測試

  下面我們來(lái)驗證程序運行時(shí),各代碼運行的具體時(shí)間是否如《PIC 單片機C 語(yǔ)言(10)》中的表6 所示。具體操作如下:

  a. 點(diǎn)擊圖49 快捷圖標中的命令Animate,之后立即點(diǎn)擊快捷圖標中的Halt(停止),便會(huì )出現圖52 所示界面。其中,主程序TRISA=0X10 賦值語(yǔ)句左邊有一個(gè)綠色箭頭,指向的是模擬調試時(shí)程序運行的起始語(yǔ)句;而語(yǔ)句X++ ;(自增量)左邊有一個(gè)斷點(diǎn)標志,即紅色的“B”(若語(yǔ)句X++ ;左邊無(wú)斷點(diǎn)標志“B”,可通過(guò)雙擊X++ 旁的位置,來(lái)進(jìn)行斷點(diǎn)“B”的設置)。接下來(lái),便可驗證《PIC 單片機C 語(yǔ)言(10)》中表6 列出的程序各語(yǔ)句的耗時(shí)量了,其操作方法如下:

  b. 圖52“Stop watch”界面右下角的程序頻率為4(MHz),說(shuō)明設置頻率是正確的。點(diǎn)擊圖52 中的命令“Zero”清0,使Zero 右邊的time 為0(說(shuō)明:該行最右側顯示的是執行多條語(yǔ)句的累積時(shí)間,此處可不管),隨后點(diǎn)擊MPLAB IDE 菜單行中的模擬調試快捷圖標Step Into(單步),使程序按照《PIC 單片機C 語(yǔ)言程序設計(10)》表6 所列,從綠色起始箭頭所指語(yǔ)句TRIA=0X10 ;開(kāi)始,只運行一步就停下來(lái),此時(shí),圖52 中Zero 右側time旁顯示該語(yǔ)句運行耗時(shí)數是2μs,與表6 所列數值完全相符,而綠色起始箭頭則指向了下一條語(yǔ)句“PORTB=0X40”;處。

圖52

  接著(zhù)運行語(yǔ)句“PORTB=0X40”;, 方法同語(yǔ)句“TRIA=0X10”;。即先點(diǎn)擊Zero,清0,使Zero 右邊的time 為0,再點(diǎn)擊Step Into( 單步),執行語(yǔ)句“PORTB=0X40”;,可以看到綠色起始箭頭又指向了其下一條語(yǔ)句INTCON=0X00;,此時(shí),圖52 中Zero 右側time 旁邊給出的該語(yǔ)句運行耗時(shí)數是3μs,與表6 所列數值完全相符。

  用同樣的方法,依次執行表6 所列的語(yǔ)句,從而確認各語(yǔ)句運行的時(shí)間是否與表6 所列數值相同。

  需要注意的是,在點(diǎn)擊Step Into( 單步) 命令運行一條語(yǔ)句前,必須先點(diǎn)擊Zero,對time 清0 一次(即不觀(guān)察累計時(shí)間)。

  此外,運行位賦值定義語(yǔ)句unit_bit=X%10 ;ten_bit= X10%10 ;時(shí),應將點(diǎn)擊Step into 命令換成點(diǎn)擊“Step over”命令,其余操作不變,程序又可快速單步運行。遇到delay(200);延時(shí)語(yǔ)句時(shí),也用“Step over”命令,才能順利驗證表6 中的耗時(shí)量。

  4) LED 顯示增量時(shí)間的測定

  類(lèi)似上述方法,當程序運行到display(x);語(yǔ)句處時(shí),先點(diǎn)擊Zero(清time 的0),然后點(diǎn)擊MPLAB IDE 模擬調試的快捷命令“Run”(全速運行),使程序從display(x);全速運行到預先設置的斷點(diǎn)X++ ;處,此時(shí),圖52 中time 的顯示值為1.036104S(秒),說(shuō)明pic07.c 程序中的d=100 值大了一點(diǎn)。

  此時(shí),我們可將程序中的d 值改為99(或98、97),然后在用前述增量時(shí)間測定方法對其進(jìn)行運行時(shí)間測定,來(lái)找到最準確的0 ~ 99 遞增為1 秒的d 值。

  需要說(shuō)明的是,每次修改了d 值之后,都要按照《PIC 單片機C 語(yǔ)言程序設計(9)》一文介紹的方法,先在MPLAB IDE7.40 集成開(kāi)發(fā)環(huán)境中,對源程序pic07.C 進(jìn)行編譯,并確認編譯成功,再按本文所述方法進(jìn)行增量時(shí)間測定


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>