<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

            在《PIC 單片機(jī)C 語(yǔ)言(10)》中,我們以C 語(yǔ)言程序pic07.C 為例,介紹了SIM 軟件仿真調(diào)試的基本手段和方法,下面介紹SIM 軟件仿真的技巧,包括用跑表直接測(cè)試C 程序運(yùn)行的耗時(shí)(包括秒值)、快速觀察C 程序的運(yùn)行路徑、顯示C程序中的變量值和修改程序中的錯(cuò)誤等等。

            ⑴ 用跑表測(cè)試程序的延時(shí)量和秒計(jì)時(shí)值這里, 我們?nèi)砸詐ic07.C 為例, 介紹利用MPLAB IDE 提供的跑表(又稱停表—stop watch 命令),測(cè)試C 程序中所要求的各種計(jì)時(shí)值的操作步驟。

            該操作十分簡(jiǎn)單,同時(shí)也是實(shí)際程序調(diào)試中經(jīng)常要用到的。

            pic07.C 是一個(gè)0~99 秒的脈沖發(fā)生器程序。

            其秒個(gè)位在LED 顯示(電路見《PIC 單片機(jī)C 語(yǔ)言(4)》中的圖3)時(shí),從0 到1、從1到2、??,每隔1 秒顯示數(shù)字加1,而秒值是由pic07.C 程序顯示函數(shù)中的d 值(d=100)決定的。

            如果用MPLAB IDE 提供的跑表測(cè)試該時(shí)間若未達(dá)到1 秒的要求,可直接改變d 值(增加或減少),來(lái)達(dá)到所規(guī)定的遞增1 秒的要求。

            用跑表測(cè)試pic07.C 程序中各代碼功能的時(shí)間,其操作方法如下:

            1) 例行操作

            按照《PIC 單片機(jī)C 語(yǔ)言(9)》一文介紹的方法,在MPLAB IDE7.40 集成開發(fā)環(huán)境中,對(duì)源程序pic07.C 進(jìn)行編譯,只要編譯成功(此為進(jìn)行軟件仿真的必要和充分條件),便可進(jìn)行下面的SIM 軟件仿真操作了。

            點(diǎn)擊圖37( 見《PIC 單片機(jī)C 語(yǔ)言程序設(shè)計(jì)(9)》) 中的pic07.C, 把該程序調(diào)到MPLABIDE7.40 的桌面上。再按照《PIC 單片機(jī)C 語(yǔ)言程序設(shè)計(jì)(10)》中介紹的方法,在MPLAB IDE7.40的窗口上設(shè)置軟件仿真調(diào)試狀態(tài)窗口,如圖49 所示。

          圖49

            注意:接下來(lái)將使用圖49 中的7 個(gè)模擬調(diào)試快捷圖標(biāo)(Debug)。


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();