新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第五個試驗----跟我學作單片機運算加減乘除法

        第五個試驗----跟我學作單片機運算加減乘除法

        作者: 時間:2011-02-25 來源:網絡 收藏

        看到這個題目,呵呵,可能好多人要打石頭哥的板子;7+5等于幾啊?這還用你教?但是里,數字是用二進制來表示的:這個就有一點拗口啦/雖然我們的教材到這里你可能還沒有學會一個指令。但是我的意思是首先作幾個試驗,提高大家對的興趣。具體的指令太多了,不過還好,一般我們只需要記住常用的10-20條就夠了。OK,現在開始動手。

        我們寫入以下兩條指令

        MOV P1,#23H
        END

        這個程序大家想必看得懂, 就是把23H這個16進制數送往P1口(即P1.0--P1.7)匯編得到HEX燒寫后然后把芯片插入實驗卡座; 可以看到P1.0-1.7的狀態為;

        P1.0 滅

        P1.1 滅

        P1.2 亮

        P1.3 亮

        P1.4 亮

        P1.5 滅

        P1.6 亮

        P1.7 亮

        (倚天開發套件運行照片)

        為什么會這樣呢?

        注意,因為我們的P1口的8個燈,都是一端接正5V,一端接端口的,那么呢端口為低電平0。發光管亮。高電平不亮。從高往低排列(從1.7---1.0)那么就是00100011。這個數字就是23H啦。什么?你不信?好了,請您接著看!00100011二進制呢就是100011,按照數學的原則前面的0不算數。

        跟我打開電腦的程序/附件/計算器,然后把計算器設置為科學型。然后點擊二進制,輸入100011

        然后點擊一下十六進制可以看到數字變成了23。這就是我們輸入的23H了,

        練習:25H+36H?

        程序如下:

        MOV R0,#25H;將立即數25送寄存器R0

        MOV A,#36H;將立即數36送累加器A

        ADD A,R0;將R0與A的內容相加,結果在A

        NOP;空操作

        POV P1,A;將累加器A的值送P1口。

        END;結束

        將程序編譯以后燒入片子運行;可以看到燈的狀態為

        P1.0 滅

        P1.1 滅

        P1.2 亮

        P1.3 滅

        P1.4 滅

        P1.5 亮

        P1.6 滅

        P1.7 亮

        就是二進制數01011011。我們還是用上面的計算器來看看結果對不對:先將計算器設置為16進制,輸入25+36=結果為5E

        然后呢再點擊二進制結果為1011110,可見結果完全正確〉

        大家接著可以自行練習

        減法指令SUBB

        乘法指令 MUL

        除法指令 DIV

        的用法, 相信經過這一節的學習,大家對這幾個指令的印象會非常深刻了。同時讓我們對于計算機的數字有了一個

        深刻的認識。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 普格县| 沧州市| 贡嘎县| 来宾市| 泰和县| 开阳县| 定襄县| 广水市| 滁州市| 芜湖县| 清丰县| 射阳县| 邢台县| 旬阳县| 宜阳县| 双峰县| 杭州市| 台江县| 萝北县| 丰原市| 修文县| 南城县| 武山县| 海丰县| 大荔县| 星子县| 大方县| 灵武市| 香港 | 南召县| 新和县| 汶川县| 准格尔旗| 布拖县| 乐亭县| 上饶县| 建宁县| 岱山县| 江都市| 临汾市| 灵寿县|