中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 沒有仿真器開發(fā)單片機程序

        沒有仿真器開發(fā)單片機程序

        作者: 時間:2011-12-29 來源:網(wǎng)絡(luò) 收藏

        我大大小小斷斷續(xù)續(xù)也算開發(fā)了幾年P(guān)IC了.除了一開始用了ICD開發(fā)了一個之外,后來再也沒有用過硬件仿真.說來有些慚愧,到現(xiàn)在我自己掏腰包買的ICD2還沒啟用,硬件仿真器更是連見都沒見到過.這都是因為LB酸的緣故,這就不說了.

        先說到現(xiàn)在的單位開發(fā)的第一個東東.用的是12C508A,OTP的.先用MPLAB軟仿真,軟仿真的基本通過了,再"硬仿真",其實就是拿芯片燒了試.誰讓LB不肯買N千的仿真器呢?好在當時倉庫里有N萬片,燒!不過后來我自己有些肉痛,想想一個程序才100多句,燒一次還有300多字空的,怪可惜的,又想了一個一片燒幾次的辦法,先在這里簡單介紹一下.

        關(guān)鍵是寫程序的時候要當心一點.比如一個芯片打算寫3次就這樣寫:
        1.第一次編程的時候在第一句寫上ORG0x03,然后寫GOTOSTART1
        2.在后面的程序中緊跟著寫程序,每個子程的標號為LABLE1_X
        3.燒寫....
        4.測試...
        5.第二次編程,在第一次的GOTOSTART1前面一句寫ORG0x02,然后寫GOTOSTART2
        6.緊跟在第一次的程序后面去掉END寫第二次程序,每個子程序的標號為LABLE2_X.
        7.燒第二次...校驗OK...
        8.測試...
        大家明白了嗎?還可以舉一反三,想想有中斷時怎么多次燒寫...
        余容后述......

        后來漸漸開發(fā)的程序大了,光靠看波形看不出什么名堂,要看內(nèi)存,怎么辦?只有把那些數(shù)值讀出來,可又沒其它的硬件...好在現(xiàn)在都有FLASH芯片,程序大一點,多燒幾次沒關(guān)系...有什么用?!先別急,電腦肯定有,再到網(wǎng)上當一個串口調(diào)試軟件,再編一個串口通訊程序,使可以和電腦通訊...明白了嗎?

        隔一段時間把關(guān)鍵的寄存器值送到電腦上...16進制看不懂?有BIN2BCD的子程序,還看不明白?有BCD2ASCII的子程序...

        我就這樣收啊收,什么地方有問題,就調(diào)用一下串口通訊的發(fā)哪個寄存器的值...只要你高興,增加一個CALL而已...

        端口不夠?指示燈總有一個吧?數(shù)字輸入腳總有一個吧?暫時借來復用一下...
        況且,ICD也要占用兩個口,幾個寄存器,一段程序空間,總比買一個ICD簡單吧?況且實時/實地仿真,再好也沒有了?



        評論


        相關(guān)推薦

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

        關(guān)閉