新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機查表程序的自動生成技術

        單片機查表程序的自動生成技術

        作者: 時間:2012-11-15 來源:網絡 收藏


        利用以上,計算時輸入文件名為A.ASM,Vmax=3,得至的A.ASM的內容如下(共90行表格,略去其中的大部分表格):
        ;A.ASM
        SUB1 MOVWF BUF
        SUBLW .90
        BTFSS STATUS,C
        RETLW .0
        MOVLW HIGH($+4)
        MOVWF PCLATH
        MOVF BUF,W
        ADDWF PCL,F
        RETLW .0;0
        RETLW .5;1
        ……
        RETLW .90;72
        RETLW .86;73
        RETLW .81;74
        ……
        RETLW .11;88
        RETLW .5;89
        RETLW .0;90

        把以下插入的適當地方,時中要賦以W相應的值,再CALL

        SUB1就可以得到sin(x)第W點上的值。整個計算約10個指令周期(如采用4MHz晶振,為10μs左右)。如果采用乘除的方法計算,至少要花幾百甚至上千個指令周期,而且得到的結果精度也差。

        2.2 非線性插值

        應用中會遇到非線性元件,例如熱敏電阻的電阻-溫度特性、斷路器的保護特性等都是非線性關系。這里以斷路器的保護特性為例,說明自動編程的應用。假設現在要仿真的斷路器的特性為雙曲線,如圖1所示。

        據此,可以設延時時間與電流的關系為

        (I+I0)(t+t0)=K

        (1)

        由圖1的三個點可以得到以下聯立方程組:

        (I+20)(t+33)=K

        (I+40)(t+20)=K (2)

        (I+90)(t+10)=K

        采用迭代法解得I0=11.111 1,t0=0.222

        2,K=1 033.58,代入式(1)得

        t=[1 033.58/(I+11.111 1)]-0.222

        2 (3)

        現在假設在硬件線路中,電流信號是轉換為電壓信號經A/D后得到的,其相應點的關系為:0A→0V,100A→3V,A/D為8位,A/D參考電壓為5V。轉換計算首先將A/D值轉換為對應的電壓值,再將電壓值轉換為對應的電流值I,再根據式(3)求相應的延時時間T,最后將延時時間T再轉換為延時的間常數T0。T0按式(4)計算:

        (256-t0)·Tcy·K=T (4)

        t0=256-t/(Tcy·K) (5)

        其中,Tcy為指令周期,在4MHz晶振時,Tcy=1μs;K為預分頻系數;t為欲延時的時間,單位為μs。

        晶振相關文章:晶振原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长兴县| 潢川县| 忻城县| 平乐县| 威宁| 游戏| 壤塘县| 乐山市| 天柱县| 宿州市| 盐城市| 永昌县| 正阳县| 黑山县| 中方县| 长白| 平阳县| 晋城| 睢宁县| 威远县| 临潭县| 天长市| 遂川县| 读书| 城市| 廊坊市| 阳高县| 辽阳县| 通河县| 枣庄市| 淮滨县| 彝良县| 银川市| 丹凤县| 彭州市| 遂溪县| 呼伦贝尔市| 林州市| 磐安县| 阳原县| 永顺县|