em đang cần giải thuật va chương trình viết bằng asm để đổi số bcd 16 bit sang mã hẽ để hiển thị trên led 7 đoạn. anh nào co thể viết dược thì giúp e với! e cảm ơn!!!!!!
chuyển số bcd 16 bit sang mã hex dùng vđk avr
Collapse
X
-
Be quan. Plz contact through email:
-
cam on a.
cam on a. nhung ma e co chuong trinh viet cho 89c51 chay dung rui nhung e ko biet viet cho avr tai vi avr ko co lệnh chia nen e thay khó qua! day la ctrinh tren 89. a co the chuyen sang ctrinh cho avr giup e dc ko?Nguyên văn bởi Lenh Ho Xem bài viếtcái này cho e
http://www.dientuvietnam.net/forums/...43/#post525957
THUONG_HIGH EQU 7FH
THUONG_LOW EQU 7EH
SBC_HIGH EQU 7DH
SBC_LOW EQU 7CH
SO_DU EQU 7BH
;---------------------
;CHUONG TRINH CHINH
ORG 0000H
MOV DPTR,#LED7SEG
SJMP MAIN
ORG 0030H
MAIN:
LCALL HEX_DEC
;TRA BANG DOI BCD RA LED7SEG
MOV A,40H
MOVC A,@A+DPTR
MOV 40H,A
MOV A,41H
MOVC A,@A+DPTR
MOV 41H,A
MOV A,42H
MOVC A,@A+DPTR
MOV 42H,A
MOV A,43H
MOVC A,@A+DPTR
MOV 43H,A
LCALL DISPLAY
SJMP MAIN
;----------------
;DOAN CHUONG CON
HEX_DEC: MOV SBC_HIGH,#0x03
MOV SBC_LOW,#0xe8
ACALL CHIA_10
MOV 40H,SO_DU ; BYTE CHUA CO SO THAP NHAT
MOV SBC_HIGH,THUONG_HIGH
MOV SBC_LOW,THUONG_LOW
ACALL CHIA_10
MOV 41H,SO_DU ; BYTE CHUA CO SO THU 2
MOV SBC_HIGH,THUONG_HIGH
MOV SBC_LOW,THUONG_LOW
ACALL CHIA_10
MOV 42H,SO_DU ; BYTE CHUA CO SO THU 3
MOV SBC_HIGH,THUONG_HIGH
MOV SBC_LOW,THUONG_LOW
ACALL CHIA_10
MOV 43H,SO_DU ; BYTE CHUA CO SO THU 4
MOV SBC_HIGH,THUONG_HIGH
MOV SBC_LOW,THUONG_LOW
ACALL CHIA_10
MOV 44H,SO_DU ; BYTE CHUA CO SO CAO NHAT
RET
;--------------
;DOAN CODE CHIA 10
; SO BI CHIA CHUA TREN SBC_HIGH VAF SBC_LOW
;THUONG SO CHUA TREN THUONG_HIGH VA THUONG_LOW
; SO DU CHUA TREN SO_DU
CHIA_10: MOV A,SBC_HIGH
MOV B,#10
DIV AB
MOV THUONG_HIGH,A
MOV A,B ; B DANG CHUA SO DU < 10
SWAP A
MOV B,A
MOV A,SBC_LOW
SWAP A
ANL A,#0x0f ; CHI LAY NIBLE CAO CUA SBC_LOW GHEP VAO SO DU LA NIBLE CAO DANG O B
ORL A,B ; TAO DUOC 1 BYTE DE CHIA TIEP
MOV B,#10
DIV AB ; KET QUA PHEP CHIA NAY CHI LA MOT SO < 10
SWAP A
MOV THUONG_LOW,A ; DUA KET QUA VAO NIBLE CAO CUA THUONG_LOW
MOV A,B
SWAP A
MOV B,A
MOV A,SBC_LOW
ANL A,#0x0f ; CHI LAY NIBLE THAP CUA SBC_LOW GHEP VAO SO DU LA NIBLE CAO DANG O B
ORL A,B ; TAO DUOC 1 BYTE DE CHIA TIEP
MOV B,#10
DIV AB
ORL A,THUONG_LOW
MOV THUONG_LOW,A
MOV SO_DU,B
RET
;---------------
;CHUONG TRINH TAO TRE 10MS
DELAY:
MOV R1,#20
MOV R0,#230
LAP: DJNZ R0,LAP
DJNZ R1,LAP
RET
;--------------------------------------
DISPLAY:
;HIEN THI LED 1
MOV P2,40H
SETB P3.0
ACALL DELAY ; TAO TRE 10MS
CLR P3.0
;HIEN THI LED 2
MOV P2,41H
SETB P3.1
ACALL DELAY ; TAO TRE 10MS
CLR P3.1
;HIEN THI LED 3
MOV P2,42H
SETB P3.2
ACALL DELAY ; TAO TRE 10MS
CLR P3.2
;HIEN THI LED 4
MOV P2,43H
SETB P3.3
ACALL DELAY ; TAO TRE 10MS
CLR P3.3
RET
LED7SEG:
DB 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
; 0 1 2 3 4 5 6 7 8 9
END
Comment
Bài viết mới nhất
Collapse
-
bởi domar123Giải pháp cho dàn PC cao cấp chơi game và làm việc
Khi xây dựng một bộ máy tính cao cấp, việc chọn đúng vi xử lý và card đồ họa sẽ quyết định trực tiếp đến trải nghiệm thực tế của bạn. Dòng chip AMD trang bị công nghệ...-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 08:55 -
-
bởi domar123Giải pháp toàn diện cho người dùng đa nhiệm
Nếu bạn đang cần một bộ máy vừa phục vụ công việc chuyên môn nặng vừa đáp ứng nhu cầu giải trí cao cấp, sự kết hợp giữa Ryzen 9 9950X TRAY và Radeon RX 9070 XT 16GB là lựa chọn...-
Channel: Đánh giá sản phẩm DTVN
17-08-2026, 17:12 -
-
bởi lvhnKhác nhau là đi lái thuê hoặc chạy dịch vụ được
...
-
Channel: Tâm tình dân kỹ thuật
17-08-2026, 15:50 -
-
bởi ittcHic, sao nhiều anh em khuyên là đàn ông đã học thì học luôn số sàn chứ đừng học số tự động anh....-
Channel: Tâm tình dân kỹ thuật
16-08-2026, 17:46 -
-
bởi mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
14-08-2026, 16:34 -

Comment