新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機第六次作業

        單片機第六次作業

        作者: 時間:2016-11-25 來源:網絡 收藏
        作業:第29題,已知R0中值為n,計算1^2+2^2+3^2+……+n^2并放入30h.(n較小不考慮求和的溢出)
        1、先fileànew建asm文件29.asm
        MOV R1,#00H
        LOOP:MOV A,R0
        MOV B,R0
        MUL AB
        ADD A,R1
        MOV R1,A
        DJNZ R0,LOOP
        MOV 30H,R1
        END
        為了調試時看數據,預先在r0中賦值為3,所以程序前加:
        MOV R0,#3
        所以程序變為:
        MOV R0,#3
        MOV R1,#00H
        LOOP:MOV A,R0
        MOV B,R0
        MUL AB
        ADD A,R1
        MOV R1,A
        DJNZ R0,LOOP
        MOV 30H,R1
        END
        2、建新工程,Projectànewproject,選AtemlàAT89C51,導入文件29.asm。
        注意,對初學者,一個工程里只能有本程序29.asm,無關的程序要刪除,新試驗一個程序最好重新建工程,以保證一個工程里只有你要試驗的那一個程序。

        3、可見程序




        4、編譯通過后,點debug下的start/stop開始調試,step和stepover都是單步調試,step是遇到子程序或中斷也要進入進行單步調試,stepover是遇到子程序或中斷當一句一次執行完。本程序物子程序,二者是一樣的。我們執行一句得到:


        繼續執行:


        可見A,B值都已改變,下一步:



        可見A,B值改變。下一步,



        R1此時為0,所以A值不變。下一步:


        可見R1值改變,接著執行循環語句:



        上一頁 1 2 下一頁

        關鍵詞: 單片機求

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 扎兰屯市| 辉南县| 嘉鱼县| 榆中县| 寻甸| 邢台县| 民乐县| 昌吉市| 阳曲县| 黔西县| 乌鲁木齐县| 古田县| 卫辉市| 峨眉山市| 珲春市| 曲沃县| 巴林左旗| 台江县| 高州市| 鹤壁市| 沈阳市| 桐乡市| 榆社县| 隆化县| 都匀市| 宝山区| 民和| 谢通门县| 汉寿县| 泰顺县| 玉门市| 洞口县| 北川| 湖南省| 亚东县| 馆陶县| 溆浦县| 大理市| 都安| 深泽县| 阿拉善左旗|