A. 求西門子PLC1個實現自加1功能的程序。。謝謝
西門子什麼系列的PLC?你自己在函數里找一下,都有相對應的功能函數塊的呀。
比如300系列的ADD_I函數,比如你要在條件I0.0滿足的時候給MW10加1,程序如下:
B. 這個匯編程序里bx沒有初始化,也沒有讓它自動+1。為什麼它一開始就位0,並且自動加1
inc bl語句就將bx寄存器加1了。bl就是bx的低8位部分。
程序載入時,默認bx被初始化為0。
C. 匯編語言如何實現1到15的自加呢
data segment
wei db ?
shiwei db ?
gewei db ?
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax ;數據段地址-->DS
mov cx,15 ;循環次數
mov ax,0 ;和
mov bx,0 ;加數
rot: inc bx ;bx+1,加數加1
add ax,bx ;相加,把1,2,3加到ax中,每次只加一個,和放在AX中
loop rot ;cx-1,不等0就循環,等0退出。
mov bl,100
div bl ;把和分解成百位、十位、個位,三個位。用的方法除以100、10取商
;這里除以100,得到商->AL,余數->AH,AL就是百位
mov [wei],al
mov al,ah
mov ah,0
mov bl,10 ;上面的余數-->ax
div bl ;這里除以10,得到商->AL,余數->AH,AL就是十位,AH就是個位
mov [shiwei],al
mov [gewei],ah
disp: mov ah,2
mov dl,[wei]
add dl,30h
int 21h ;顯示百位,用的是DOS功能調用2號功能(顯示),顯示的ASCII給DL
mov ah,2
mov dl,[shiwei]
add dl,30h
int 21h ;顯示十位,用的是DOS功能調用2號功能(顯示),顯示的ASCII給DL
mov ah,2
mov dl,[gewei]
add dl,30h
int 21h ;顯示個位,用的是DOS功能調用2號功能(顯示),顯示的ASCII給DL
mov ax,4c00h
int 21h ;dos返回功能
code ends
end start
D. 用匯編語言編寫一個程序:通過鍵盤輸入一個數字,求1加到該數的和,並將結果顯示在屏幕上
假如輸入的數是N,則計算(1+N)*N/2
E. 如何用匯編語言寫一個從1加到100的程序
你說的應該是dos平台,edit是dos下的記事本。
就用windows 的記事本,或者任何文本編輯器寫好代碼,保存為*.asm格式就可以了。
主要程序段大概就是下面這樣,結果放在ax,cx是循環用。
mov ax,0
mov cx,0
loop1:
add ax,cx
inc cx
cmp cx,101
jnz loop1
F. 匯編語言編製程序,實現從1加到100
最簡短的完整程序:
CODE SEGMENT
ASSUME CS:CODE
START:
;---------------------------------
MOV AX, 0
MOV CX, 100
S: ADD AX, CX
LOOP S
;-----基本的,就上面四行----
MOV AH, 4CH
INT 21H
CODE ENDS
END START
G. 一位數碼管連在51單片機上,按鍵後數碼管加1,按一下加1.怎樣用匯編語言編寫
一、圖貌似有點問題:
1、用的是共陰極數碼管,如果用單片機直接驅動的話,應該用共陽極的;
2、所有LED(包括數碼管)都未接限流電阻,建議串接470歐左右的;
3、單片機直接驅動「sounder」,估計驅動電流不夠,建議接三極體後再輸出
二、程序可以借鑒樓上的,但需要修改:
......
SETB P1.0
JNB P1.0,$
......
在這2句之間需要加入:
JB 1.0 LP0
LCALL DELAY_50MS
另:加入子程序DELAY_50MS
DELAY_50MS:
MOV R7,#0C3H
LP_DL:
MOV R6,#00H
DJNZ R6,$
DJNZ R7,LP_DL
RET
如果換成共陽極數碼管後,數據表換成以下的:
TABLE: ;表:共陽數碼管 0-9 A-F
DB 0C0H,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
以上意見供參考
H. 請問單片機中怎麼用匯編實現R1每次加1,到100的時候就結束程序
一般這種的都會寫成 減1, 程序比較清爽
加1也是要以的, 代碼要多一些
LOOP:
INC R1
CJNE R1,#100, LOOP // 沒到100轉LOOP重新計數
RET // 加到100返回
I. 用匯編語言寫一程序,利用定時計數器,定時一秒,一個數碼管秒個位加1,同時有八個LED燈在循環流動。
;定時器定時一秒,一個數碼管秒個位加1,同時八個LED燈循環流動
很簡單的題目,只能寫很簡單的程序:
ORG 0000H
JMP START
ORG 000BH
INC R2
RETI
START:
SETB TR0
MOV IE, #82H
MOV R3, #127
LP: MOV R4, #0
DP: MOV A, R4
MOV DPTR, #TAB
MOVC A, @A + DPTR
MOV P3, A
MOV P0, R3
MOV A, R3
RR A
MOV R3, A
CJNE R2, #122, $ ;定時 999424us
MOV R2, #0
INC R4
CJNE R4, #10, DP
JMP LP
TAB:
DB 0C0H,0F9H,0A4H,0B0H, 99H
DB 92H, 82H, 0F8H, 80H, 90H