利用AT89C51微控制器和ADC0808构成温度控制器。程序不显示数据
org 0000h
ljmp main
org 000bh
ljmp tr0i
org 0030h
main:
mov sp, #5fh
setb ea
mov tmod,#06h
mov th0,#0ffh
mov tl0,#0ffh
setb et0
setb tr0
loop:
lcall display
setb p2.2
nop
clr p2.2
jnb p3.4,$
ljmp loop
sjmp $
display:
mov b,100
div ab
mov r0,a
mov a,b
mov b,10
div ab
mov r1,a
mov r2,b
mov a,#7fh
mov dptr,#7fffh
movx @dptr,a
mov dptr,#table
mov a,r0
movc a,@a+dptr
mov dptr,#0bfffh
movx @dptr,a
lcall delay
mov a,#0dfh
mov dptr,#7fffh
movx @dptr,a
mov dptr,#table
mov a,r1
movc a,@a+dptr
mov dptr,#0bfffh
movx @dptr,a
lcall delay
mov a,#0bfh
mov dptr,#7fffh
movx @dptr,a
mov dptr,#table
mov a,r2
movc a,@a+dptr
mov dptr,#0bfffh
movx @dptr,a
lcall delay
ret
tr0i:
setb p2.1
mov a,p1
reti
delay:
push 04h
mov r4, #01h
delay1:
push 04h
mov r4, #0ffh
djnz r4,$
pop 04h
djnz r4, delay1
pop 04h
ret
org 0300h
table: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
现在还学汇编语言的不多了~