Mấy cái thanh ghi R0, R1, R2, R3, R4, R5, R6, R7 nó dùng để làm gì vậy...?
Thông báo
Collapse
No announcement yet.
Hỏi về code led cho 89c51!
Collapse
X
-
mà thực ra chương trình của bạn nếu nhiều thì mới là vấn đề vì bạn sẽ phải tính toán thật tiết kiệm bộ nhớ. chứ ít thì cũng không cần lắm. bạn chỉ cần chú ý tập lệnh của nó (8951) vì có 1 số lệnh chỉ thao tác được với thanh ghi A mà từ R0 - R7 thi không được. đọc vđk 8951 đi là hiểu hết bạn ah
Comment
-
Với code này
ORG 0000H
main:
MOV P1,#00000001B
CALL DELAY
MOV P1,#00000010B
CALL DELAY
MOV P1,#00000100B
CALL DELAY
MOV P1,#00001000B
CALL DELAY
MOV P1,#00010000B
CALL DELAY1
MOV P1,#00100000B
CALL DELAY1
MOV P1,#01000000B
CALL DELAY1
MOV P1,#10000000B
CALL DELAY
jmp main
DELAY:
MOV R3, # 255
HERE2:
MOV R4, # 255
HERE:
DJNZ R4, HERE
DJNZ R3, HERE2
RET
DELAY1:
MOV R6,#55
HERE4:
MOV R7,#255
HERE3:
DJNZ R7,HERE3
DJNZ R6,HERE4
RET
END
đc chia làm mấy phần chính vậy bác
VD:
ORG 0000H
main: (mở đầu)
MOV P1,#00000001B
CALL DELAY
MOV P1,#00000010B
CALL DELAY
MOV P1,#00000100B
CALL DELAY
MOV P1,#00001000B
CALL DELAY
MOV P1,#00010000B
CALL DELAY1
MOV P1,#00100000B
CALL DELAY1
MOV P1,#01000000B
CALL DELAY1
MOV P1,#10000000B
CALL DELAY
(phần thân dùng để điều khiển các port P0, P1, P2, P3)
jmp main
DELAY:
MOV R3, # 255
HERE2:
MOV R4, # 255
HERE:
DJNZ R4, HERE
DJNZ R3, HERE2
RET
DELAY1:
MOV R6,#55
HERE4:
MOV R7,#255
HERE3:
DJNZ R7,HERE3
DJNZ R6,HERE4
RET
(không biết, giải đáp giúp e phần này)
END
(kết thúc chương trình)
Comment
-
8951 có thanh ghi A,B , R0 - R7 là các thanh ghi 8bit, dptr(16bit) và các thanh ghi đặc biệt. RAM của nó có 128 byte được chia làm 3 phần chính sau:
1/ 32byte đầu được dùng làm băng thanh ghi và ngăn xếp
2/ 16byte tiếp theo dùng để định địa chỉ theo bit, được dùng làm bộ nhớ đọc or ghi.
3/ 80 byte tiếp dùng như bản nháp.
32 byte đầu lại được chia thành 4 băng, tính ra mỗi băng có 8 thanh ghi (8bit) từ R0- R7 (nằm trong RAM) tương ứng với các ngăn nhớ 0h -7h đối với băng 0 ; 08h- 0fh với băng 1; tương tự với 2 băng còn lại cho tới địa chỉ ngăn nhớ 7fh. chú ý: tránh nhầm tên địa chỉ R0 -R7 trong các băng với các thanh ghi R0-R7 của 8951.
VD thanh ghi R0 (8bit) thì có thể lưu trữ được các giá trị từ 00h- ffh (0-255).
hic còn lại các thứ linh tinh khác thì phải đọc thôi chứ tỉ mỉ hơn thì nó thành sách mất .
chúc bạn học tốt. mình cũng mới tiếp xúc với em này được gần 1 năm thôi.
Comment
-
delay và delay1 ở đây là các chương trình con (các chương trình làm chậm). RX ...bạn dùng để làm vòng lặp (các giá trị lặp).để mình giải thích qua cho bạn chương trình delay:
DELAY:
MOV R3, # 255 ;chuyển giá trị 255 vào R3.
HERE2: ; nhãn
MOV R4, # 255 ; chuyển giá trị 255 vào R4.
HERE: ; nhãn
DJNZ R4, HERE ; nhảy tới nhãn here cho tới khi nào r4 giảm về 1 ( nhảy 255 lần)
DJNZ R3, HERE2 ; nhảy tới nhãn here2 cho tới khi nào r3 giảm về 1 (nhảy 255 lần)
RET ; kết thúc 1 chương trình con
ở đây chúng ta có thể tính toán được thời gian trễ bằng cách tính xem lệnh thực hiện tốn bao nhiêu chu trình máy (vd:mov tốn 1 chu trình máy, djnz tốn 2 chu trình máy ) mỗi chu trình máy kéo dài 1.085 micro giây đối với thạch anh 11.0592Mhz sau đó bạn cộng trừ nhân chia với số lần bạn thực hiên lệnh đấy (nhớ tính vòng lặp). thế là bạn đã tính được thời gian trễ bằng tổng thời gian thực hiện delay.
Comment
-
Em kiếm trên mạng có cái lập trình này cũng khá hay..!
mo dau 8051 B1 - Wattpad
nó gọi là lập trình gì vậy bác..?
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi mèomướpDạ cháu đọc 1 số bài viết của bác vi... thì nhớ đc bác là 1 cụ già gần 80 tuổi, sức khỏe yếu. Đam mê và làm vc về kỹ thuật điện. Thích thơ ca. Có nhìu bài chia sẻ quý báu cho thế hệ sau. Tuy nhiên già rồi nên khái tính, bảo thủ, nhưng vẫn đáng kính ạ... còn lão nhathung... thì kiểu bố đời
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 12:52 -
-
bởi lvhnHãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:49 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnNhớ không nhầm thì lúc còn đi học có gặp chú 1 lần cf bãi xe Nguyễn Kim, giờ quán cf đó nghỉ bán rồi
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 15:44 -
-
Trả lời cho Thắc mắc pin 21v ?bởi lvhnCon số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 15:32 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnThay mấy con transisto nhỏ đầu vào, thường vi sai lỗi hay bị. Khám tổng quát chân các linh kiện xem có bị rỉ sét nhiều không?
-
Channel: Điện thanh
Hôm qua, 15:24 -
-
bởi dinhthuong92Mạch này hiệu suất ra led đạt khoảng 90.7% tại 12V in, 40W out.
-
Channel: Nguồn!
27-07-2026, 10:15 -
-
bởi dinhthuong92Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
-
Channel: Nguồn!
27-07-2026, 10:09 -
-
Trả lời cho [Chia sẻ] Tổng hợp các công ty AI Việt Nam đang làm gì thật sự — Từ voicebot, computer vision đến AI agentsbởi nguyendinhvanCàng ngày, CNTT càng trở nên lôi thôi , rách việc.
Cái AI và Ge... trên trình duyệt chỉ tổ làm vướng mắt, mất thì gian.
Tôi toàm phải mất cộng tắt nó đi.-
Channel: Xu hướng, nhu cầu và thị trường
25-07-2026, 14:59 -
-
bởi trung30000Em có con amply 12 sò D 718 và e688 , biến áp 15A, 30v 0 30 v, một kênh thì hoạt động bình thường, kênh còn lại nổ bụp bụp, sột sột, đèn tín hiệu nhảy lên vạch max, khoảng 4 đến 5 giây, sau đó đèn tín hiệu trả về mức không, Em thấy như...
-
Channel: Điện thanh
24-07-2026, 13:50 -
-
Trả lời cho Tìm hiểu máy hàn lăn (Rolling Welding)bởi hoang_3ibác cần thì liên hệ Em: mayhanhaivuong.com (0903238399)...
-
Channel: Điện tử công nghiệp
24-07-2026, 10:58 -

Comment