chào các a!
có ai pro avr có thể giúp e chuyen đoạn code viết cho 89051 sang cho avr đc ko?
đoạn code của e là:
;=========================================
;=============== khai bao ================
;=========================================
byte_cao equ 60h
byte_thap equ 62h
thuong_high equ 7eh
thuong_low equ 7dh
sbc_high equ 7ch
sbc_low equ 7bh
sodu equ 7ah
led0 equ 40h
led1 equ 41h
led2 equ 42h
led3 equ 43h
led4 equ 44h
;=========================================
;=========== voidmain ====================
;=========================================
org 0x0000
mov byte_cao,#0xff
mov byte_thap,#0xff
mov dptr,#led7_code
sjmp voidmain
org 0x0040
voidmain:
lcall dem
lcall bcd_hex
lcall display
sjmp voidmain
;=========================================
;============== bcd_hex ==================
;=========================================
bcd_hex:
mov sbc_high,byte_cao
mov sbc_low,byte_thap
lcall chia10
mov led0,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led1,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led2,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led3,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led4,sodu
ret
;=========================================
;============= chia 10 ===================
;=========================================
chia10:
mov a,sbc_high
mov b,#10
div ab
mov thuong_high,a
mov a,b
swap a
mov b,a
mov a,sbc_low
swap a
anl a,#0fh
orl a,b
mov b,#10
div ab
swap a
mov thuong_low,a
mov a,b
swap a
mov b,a
mov a,sbc_low
anl a,#0fh
orl a,b
mov b,#10
div ab
orl a,thuong_low
mov thuong_low,a
mov sodu,b
ret
;=========================================
;============== display ==================
;=========================================
display:
mov a,led0
movc a,@a+dptr
mov led0,a
mov a,led1
movc a,@a+dptr
mov led1,a
mov a,led2
movc a,@a+dptr
mov led2,a
mov a,led3
movc a,@a+dptr
mov led3,a
mov a,led4
movc a,@a+dptr
mov led4,a
mov p2,led0
setb p3.0
lcall delay
clr p3.0
mov p2,led1
setb p3.1
lcall delay
clr p3.1
mov p2,led2
setb p3.2
lcall delay
clr p3.2
mov p2,led3
setb p3.3
lcall delay
clr p3.3
mov p2,led4
setb p3.4
lcall delay
clr p3.4
ret
;=========================================
;============= delay =====================
;=========================================
delay:
mov r1,#20
mov r0,#230
LAP:
djnz r0,lap
djnz r1,lap
ret
;=========================================
;============= dem =======================
;=========================================
dem:
mov a,#0xff
inc byte_thap
cjne a,byte_thap,__countup_exit
mov 0x25,#0x00
inc byte_cao
cjne a,byte_cao,__countup_exit
mov 0x26,#0x00
__countup_exit:
ret
;=========================================
;============ led7_code ==================
;=========================================
org 0x0500
led7_code:
db 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
end
mong các pro giúp e!!!!!!!
thanks!!!!!!!
có ai pro avr có thể giúp e chuyen đoạn code viết cho 89051 sang cho avr đc ko?
đoạn code của e là:
;=========================================
;=============== khai bao ================
;=========================================
byte_cao equ 60h
byte_thap equ 62h
thuong_high equ 7eh
thuong_low equ 7dh
sbc_high equ 7ch
sbc_low equ 7bh
sodu equ 7ah
led0 equ 40h
led1 equ 41h
led2 equ 42h
led3 equ 43h
led4 equ 44h
;=========================================
;=========== voidmain ====================
;=========================================
org 0x0000
mov byte_cao,#0xff
mov byte_thap,#0xff
mov dptr,#led7_code
sjmp voidmain
org 0x0040
voidmain:
lcall dem
lcall bcd_hex
lcall display
sjmp voidmain
;=========================================
;============== bcd_hex ==================
;=========================================
bcd_hex:
mov sbc_high,byte_cao
mov sbc_low,byte_thap
lcall chia10
mov led0,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led1,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led2,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led3,sodu
mov sbc_high,thuong_high
mov sbc_low,thuong_low
lcall chia10
mov led4,sodu
ret
;=========================================
;============= chia 10 ===================
;=========================================
chia10:
mov a,sbc_high
mov b,#10
div ab
mov thuong_high,a
mov a,b
swap a
mov b,a
mov a,sbc_low
swap a
anl a,#0fh
orl a,b
mov b,#10
div ab
swap a
mov thuong_low,a
mov a,b
swap a
mov b,a
mov a,sbc_low
anl a,#0fh
orl a,b
mov b,#10
div ab
orl a,thuong_low
mov thuong_low,a
mov sodu,b
ret
;=========================================
;============== display ==================
;=========================================
display:
mov a,led0
movc a,@a+dptr
mov led0,a
mov a,led1
movc a,@a+dptr
mov led1,a
mov a,led2
movc a,@a+dptr
mov led2,a
mov a,led3
movc a,@a+dptr
mov led3,a
mov a,led4
movc a,@a+dptr
mov led4,a
mov p2,led0
setb p3.0
lcall delay
clr p3.0
mov p2,led1
setb p3.1
lcall delay
clr p3.1
mov p2,led2
setb p3.2
lcall delay
clr p3.2
mov p2,led3
setb p3.3
lcall delay
clr p3.3
mov p2,led4
setb p3.4
lcall delay
clr p3.4
ret
;=========================================
;============= delay =====================
;=========================================
delay:
mov r1,#20
mov r0,#230
LAP:
djnz r0,lap
djnz r1,lap
ret
;=========================================
;============= dem =======================
;=========================================
dem:
mov a,#0xff
inc byte_thap
cjne a,byte_thap,__countup_exit
mov 0x25,#0x00
inc byte_cao
cjne a,byte_cao,__countup_exit
mov 0x26,#0x00
__countup_exit:
ret
;=========================================
;============ led7_code ==================
;=========================================
org 0x0500
led7_code:
db 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
end
mong các pro giúp e!!!!!!!
thanks!!!!!!!
Comment