這個微控制器題怎麼做?(組合語言)

2022-07-05 22:12:20 字數 4500 閱讀 1912

1樓:但行耕耘莫問收穫

程式如下:

org 0000h

jmp main

org 0030h

main: mov sp,#68h

mov r7,#08h

mov r0,30h

mov r1,40h

loop: mov a,@r0

mov b,@r1

add a,b

mov @r0,a

inc r0

inc r1

djnz r7,loop

jmp $end

2樓:做而論道

下列程式,可以滿足題目要求:

org 0000h

sjmp main

org 0030h

main:

mov r7, #08h

mov r0, #30h

mov r1, #40h

clr c

loop:

mov a, @r0

addc a, @r1

mov @r0,a

inc r0

inc r1

djnz r7, loop

sjmp $end

3樓:寶可嘉

mov r1,08h

mov r2,30h

mov r3,40h

mov a,r2

loop:

add a,@r3

mov @r2

inc r2

inc r3

djnz r1 ,loop

4樓:匿名使用者

org 0000h

jmp main

org 0030h

main: mov sp,#68h

mov r7,#08h

mov r0,30h

mov r1,40h

loop: mov a,@r0

mov b,@r1

add a,b

mov @r0,a

inc r0

inc r1

djnz r7,loop

jmp $end

微控制器程式設計題怎麼做?組合語言 100

5樓:匿名使用者

keym equ p3.2

keys1 equ p3.3

keys2 equ p3.4

led equ p2.0

beep equ p2.1

org 0000h

ljmp main

org 0030h

main:

jb keym,main

jb keys1,main1

main1:

clr led

clr beep

lcall delay

sjmp main

main2:

jb keys2,main3

sjmp main1

main3:

clr beep

sjmp main

delay:

mov r2,#20

dly1:

mov r3,#200

dly2:

mov r4,#250

djnz r4,$

djnz r3,dly2

djnz r2,dly1

retend

51微控制器程式設計題,用組合語言怎麼做?

6樓:沙裡波特

一道小題,簡單寫寫,就夠用了。

本程式,經過了實驗,符合題目要求。

關於微控制器的一個小題目,用組合語言怎麼寫出該題目程式**? 20

程式設計題(微控制器)組合語言

7樓:做而論道

定時器t1設定為外部事件計數器,要求每計500個脈衝,

t1轉為定時方式,在p1.2輸出一個脈寬10ms的正脈衝。

設系統時脈頻率為12mhz.

org 0000h

;-----------------------------------

start:

clr p1.2

clr tr1

mov tmod, #50h ;t1計數方式1

mov th1, #(65536 - 500) / 256 ;計數值為500

mov tl1, #(65536 - 500) mod 256

setb tr1

jnb tf1, $

clr tf1

;-----------------------------------

setb p1.2

clr tr1

mov tmod, #10h ;t1定時方式1

mov th1, #(65536 - 10000) / 256 ;定時10000us

mov tl1, #(65536 - 10000) mod 256

setb tr1

jnb tf1, $

clr tf1

sjmp start

;-----------------------------------end

8樓:匿名使用者

#include

#define uint unsigned intuint times=0;

bit flag;

void t1isr() interrupt 3else}}

main()

9樓:匿名使用者

利用定時器中斷實現的任務,請編譯一下,若有問題歡迎追問。

oorg 0000h

sjmp main;跳轉到主程式

org 001bh

ajmp timer1_interrupt;跳轉到定時計數器t1中斷子程式

main: clr p1.2;清p1.

2mov tmod,#50h;配置t1為外部16位計數mov th1,#0fe;配置t1暫存器外部計數500個脈衝初值mov th0,#0ch

setb et1;使能t1中斷

setb tr1;使能t1計數

setb ea;開全域性中斷

jb a8h.3,$;等待中斷暫存器ie的et1位清0mov tmod,#10h;;配置t1為10ms定時器mov th1,#0d8h;配置t1暫存器10ms定時計數初值,按12mhz頻率計算出來的

mov tl1,#0f0h

setb p1.2;置位p1.2,10ms正脈衝上升沿setb et1;使能t1中斷

setb tr1;使能t1計數

loop: jb a8h.3,loop;等待10msajmp main;返回開始處繼續下一輪500個脈衝計數timer1_interrupt:

;t1中斷子程式clr et1;禁止t1中斷

clr tr0;禁止t1計數

reti;中斷返回

我這有一個mcs-51微控制器程式設計題(用組合語言)急求答案。各位哥哥姐姐幫忙啊!題目見下邊

10樓:趙賀彩

loop4:mov r5,#30

loop2:mov a,20h

jnb acc.7,loop1

movx @r1,a

mov 51#,@r1

inc r6

loop1:movx r0,a

mov 21#,@r0

inc r7

cjne a,#100,loop3

jc loop3

hbcd: mov b,#100

div ab

mov r3,a

mov a,#10

xch a,b

div ab

swap a

add a,b

retloop3:mov a,aah

djnz r5,loop4

mov 20h,r6

mov 50h,r7

11樓:匿名使用者

離問題結束還有 14 天 23 小時

12樓:做而論道

再明確一下:

將正數放到外部儲存區21h單元開始的區域,20h單元存放「正數」的個數,

將負數放到外部儲存區51h單元開始的區域,50h單元存放「正數」的個數,

--50h單元應該是存放「負數」的個數,對吧?

對於分離出來的正數作如下處理,將小於100的數改成壓縮bcd碼的表示形式,其它資料全部改成aah,經過處理以後的資料仍然存放在原地址單元。

--「原地址單元」是指「片內ram20h開始的單元」?

--還是「外部儲存區21h單元開始的區域」?

微控制器組合語言問題

建議你用定時中斷方式,下面的供參考 org 0000h ajmp start org 001bh ljmp time1 定時中斷1入口 org 0030h start mov 30h,0 mov 31h,0 mov 32h,0 mov 33h,0 mov p2,0ffh mov dptr,table...

微控制器串列埠通訊問題(組合語言),微控制器串列埠通訊問題(組合語言)

這倆程式,執行到最後邊,都是 ret,返回指令。返回到何處去呀?呵呵,還是,先解決程式結構的問題。1 程式結構 有問題,沒有呼叫子程式 就不應該有子程式返回指令。2 jnb ti,clr ti 為判斷 串列埠 是否 傳送 完畢的,3 jnb ri,clr ri 為判斷 串列埠 是否 有接收 的,如果...

at89c51微控制器怎麼用組合語言寫「多個延時程式」

微控制器組合語言中要使一個延時程式可以被不同情況下呼叫而延時不同的時間,可以通過類似於c語言中傳遞引數的方式來實現,舉例如下 org 0000h ljmp main org 0030h main mov p0,5ah p0上的led燈間隔點亮mov r7,50 r7是延時傳遞引數lcall dela...