em phải dùng lệnh asm gì để so sánh số A với số B nếu như số B lớn hơn hoặc bằng số A thì nhảy sang nhãn khác hay A nhỏ hơn B thì nhảy sang thực thi ở nhãn khác. Mong các bác chỉ bảo giùm em chỉ biết có ngôn ngữ asm thôi ( vì em đang học nó )
Thông báo
Collapse
No announcement yet.
help tập lệnh asm
Collapse
X
-
có lệnh "CJNE <dest-byte>,<src-byte>,rel" đó bạn ( Compare and Jump if Not Equal). Lệnh này có ảnh hưởng tới cờ nhớ C.
lệnh này có thể dùng:
- so sánh thanh ghi Acc với 1 ô nhớ trong RAM (CJNE A,direct,rel).
- so sánh thanh ghi ACC với một giá trị trực tiếp (CJNE A,#data,rel).
- so sánh thanh ghi Rn với một giá trị trực tiếp (CJNE Rn,#data,rel).
- so sánh giá trị trong ô nhớ được trỏ tới bởi thanh ghi Rn với một giá trị trực tiếp (CJNE @Rn,#data,rel).
Comment
-
Dùng đoạn lệnh sau :Nguyên văn bởi ozonedark2 Xem bài viếtem phải dùng lệnh asm gì để so sánh số A với số B nếu như số B lớn hơn hoặc bằng số A thì nhảy sang nhãn khác hay A nhỏ hơn B thì nhảy sang thực thi ở nhãn khác. Mong các bác chỉ bảo giùm em chỉ biết có ngôn ngữ asm thôi ( vì em đang học nó )
...
mov a, #soA
mov b, #soB
cjne a, b, k_bang
...
...
k_bang: jc b_hon_a
a_hon_b:
...
b_hon_a: ...
....
Trong đoạn lệnh trên soA; soB là 2 số cần so sánh; A < B thì nhảy đến nhãn b_hon_a; ngược lại thì thực hiện nhãn a_hon_b !
Comment
-
để em thử xem. thank anh !Nguyên văn bởi Ck33spkt Xem bài viếtDùng đoạn lệnh sau :
...
mov a, #soA
mov b, #soB
cjne a, b, k_bang
...
...
k_bang: jc b_hon_a
a_hon_b:
...
b_hon_a: ...
....
Trong đoạn lệnh trên soA; soB là 2 số cần so sánh; A < B thì nhảy đến nhãn b_hon_a; ngược lại thì thực hiện nhãn a_hon_b !|
Comment
-
mấy anh giúp em với sao em nhấn mode mà nó hok nhảyDQ BIT P3.0
mode bit p2.0
up bit p2.1
down bit p2.2
DEM EQU R2
T_LSB EQU 30H ;byte nhiet do thap doc tu SCRATCHPAD
T_MSB EQU 20H ;byte nhiet do cao doc tu SCRATCHPAD
TEMP EQU 32H ;nhiet do sau khi hieu chinh
DIGIT EQU 31H ;phan thap phan
T_DIGIT EQU 33H
T_LED EQU 34H
ORG 0000H
JMP CHUONG_TRINH_CHINH
WRITE_TIME_SLOT: ;viet 1 bit
CLR DQ
NOP
NOP
MOV DQ,C
MOV R5,#15
LCALL DELAY
SETB DQ
NOP
RET
READ_TIME_SLOT: ;doc 1 bit
CLR DQ
NOP
NOP
SETB DQ
MOV R5,#4
CALL DELAY
MOV C, DQ
MOV R5,#25
LCALL DELAY
RET
RESET_DS1820:
CLR DQ
MOV R5,#244
LCALL DELAY
SETB DQ
MOV R5,#36
LCALL DELAY
JB DQ,RESET_DS1820
MOV R5,#212
CALL DELAY
RET
WRITE_BYTE:
MOV DEM,#8
WRITE_LAI:
RRC A
LCALL WRITE_TIME_SLOT
DJNZ DEM, WRITE_LAI
SETB DQ
MOV R5,#50
LCALL DELAY
RET
READ_BYTE:
MOV DEM,#8
READ_LAI:
LCALL READ_TIME_SLOT
RRC A
DJNZ DEM, READ_LAI
MOV R5,#50
LCALL DELAY
RET
DELAY:
DJNZ R5,$
RET
DELAY_LONG:
MOV R6,#0FFH
DELAY_LAI:
LCALL DELAY
DJNZ R6,DELAY_LAI
RET
BCD:
MOV B,#10
DIV AB
MOV T_LED,A
RET
HIEU_CHINH: ;hieu chinh 0.1 va nhiet do (+)
MOV TEMP,#0
MOV DIGIT,#0
ANL A,#0FH ;BO BYTE CAO
MOV TEMP,A
MOV A,T_LSB
ANL A,#0F0H ;BO BYTE THAP
ORL TEMP,A
MOV A,TEMP
SWAP A
MOV TEMP,A
;-------------------------------------------------------------------------------------
MOV A,T_LSB
ANL A,#0FH ;BO BYTE CAO
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV DIGIT,A
RET
KIEMTRA: ;hieu chinh gia tri cua nhiet do (-)
JNB 6,OUT_KT
MOV A,#0FFH
CLR C
SUBB A,TEMP
MOV TEMP,A
MOV A,#0FH
ANL A,T_LSB
CJNE A,#0,OUT_KT1
INC TEMP
JMP OUT_KT
OUT_KT1:
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV DIGIT,A
OUT_KT:
RET
OUTLED:
MOV DPTR,#TABLE0
MOV A,TEMP
CALL BCD
MOV A,B
MOVC A,@A+DPTR
ANL A,#01111111B
MOV P1,A
CLR P3.4
CALL DELAYLED
SETB P3.4
MOV A,T_LED
CALL BCD
JNB 6,NEXT1 ;dau (-)
MOV A,#10
NEXT1: MOVC A,@A+DPTR
MOV P1,A
CLR P3.2
CALL DELAYLED
SETB P3.2
MOV A,B
MOVC A,@A+DPTR
MOV P1,A
CLR P3.3
CALL DELAYLED
SETB P3.3
MOV A,DIGIT
MOVC A,@A+DPTR
MOV P1,A
CLR P3.5
CALL DELAYLED
SETB P3.5
RET
DELAYLED:
MOV R7,#5
LOOPD: MOV R6,#255
DJNZ R6,$
DJNZ R7,LOOPD
RET
CHUONG_TRINH_CHINH:
SETB DQ
AGAIN:
LCALL RESET_DS1820
MOV A,#0CCH ; SKIP ROM (CCH) NH?P TH?NG D?N CáC L?NH B? NH? C?A DS1820
LCALL WRITE_BYTE
MOV A,#44H ; CONVERT T KH?I D?NG M?T QUá TRìNH DO Và CHUY?N D?I GIá TR? NHI?T D?
LCALL WRITE_BYTE
LCALL RESET_DS1820
MOV A,#0CCH ; SKIP ROM (CCH) NH?P TH?NG D?N CáC L?NH B? NH? C?A DS1820
LCALL WRITE_BYTE
MOV A,#0BEH ; READ SCRATCHPAD CHO PHéP THI?T B? CH? D?C N?I DUNG B? NH? NHáP
LCALL WRITE_BYTE
LCALL READ_BYTE
MOV T_LSB,A ;THAP
LCALL READ_BYTE
MOV T_MSB,A ;CAO
LCALL RESET_DS1820
LCALL HIENTHI
mov r5,#250
call delay
jnb mode,nhietdo_dat1
clr c
mov a,50h
cjne a,#temp,nhay1
clr c
mov a,51h
cjne a,#temp,nhay2
JMP AGAIN
HIENTHI:
CALL HIEU_CHINH
CALL KIEMTRA
CALL OUTLED
RET
nhay1:jc relay
clr p2.3
ret
relay:
setb p2.3
ret
nhay2:jnc alarm
clr p2.4
ret
alarm:
setb p2.4
ret
hienthi1:
mov dptr,#table0
mov a,r5
mov b,#100
div ab
movc a,@a+dptr
mov p1,a
clr p3.3
call delayled
setb p3.3
mov a,b
mov b,#10
div ab
movc a,@a+dptr
mov p1,a
clr p3.4
call delayled
setb p3.4
mov a,b
movc a,@a+dptr
mov p1,a
clr p3.5
call delayled
setb p3.5
ret
nhietdo_dat1:
jb up,nut_down
jnb up,$
inc 50h
mov a,50h
cjne a,#125,nut_down
mov 50h,#0
nut_down:
jb down,hienthi2
jnb down,$
dec 50h
mov a,50h
cjne a,#0,hienthi2
mov 50h,#125
hienthi2:
mov p1,#0c7h
clr p3.2
call delayled
setb p3.2
mov r4,50h
acall hienthi1
jb mode,nhietdo_dat1
call delayled
jnb mode,$
nhietdo_dat2:
nut_up1:
jb up,nut_down1
jnb up,$
inc 51h
mov a,51h
cjne a,#125,nut_down1
mov 51h,#0
nut_down1:
jb down,hienthi3
jnb down,$
dec 51h
mov a,51h
cjne a,#0,hienthi3
mov 51h,#125
hienthi3:
mov p1,#89h
clr p3.2
call delayled
setb p3.2
mov r4,51h
acall hienthi1
jb mode,nhietdo_dat2
call delayled
jnb mode,$
ret
TABLE0:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH, 0FFH
TABLE1:
DB 0,0,1,0,2,3,0,4,5,0,6,0,7,8,0,9
TABLE2:
DB 0,0,9,8,0,7,0,6,5,0,4,3,0,2,0,1
END|
Comment
-
Cho luôn cái sơ đồ phần cứng và mạch mô phỏng lên đi bạn ơi. Nhìn cái đống code này nản lắm !Nguyên văn bởi ozonedark2 Xem bài viếtmấy anh giúp em với sao em nhấn mode mà nó hok nhảy
Comment
Bài viết mới nhất
Collapse
-
bởi Abril9Chào mọi người, động cơ bước có hộp số (https://www.oyostepper.es/category-2...eductores.html) trên thiết bị của tôi đã được sử dụng khoảng sáu tháng. Gần đây, tôi nhận thấy dầu rò rỉ từ trục đầu ra. Mỡ bôi trơn đã bị chảy và nhỏ giọt...
-
Channel: Các hệ thống tự động hóa khác
Hôm qua, 13:26 -
-
bởi AbirChào mọi người, gần đây tôi có một ý tưởng mới.
Tôi muốn nâng cấp thiết bị của mình để tăng tốc độ, vì vậy tôi đã thay đổi nguồn cấp cho mạch điều khiển từ 24V lên 48V. Động cơ vẫn giữ nguyên và dòng điện định...-
Channel: Điện tử công nghiệp
Hôm qua, 09:49 -
-
bởi nguyendinhvanCó một chi tiết sai cơ bản trong kỹ thuật điện tử....
-
Channel: Tâm tình dân kỹ thuật
26-03-2026, 19:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
THAM vơ...-
Channel: Tâm tình dân kỹ thuật
25-03-2026, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
24-03-2026, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -

Comment