aa0809 equ 0d8h ;0通道 (启动转换) (89C52数字电压表设计) ab0809 equ 0e0h ;读0通道 ba0809 equ 0dch ;一通道(启动转换) bb0809 equ 0e4h ;读1通道 ca0809 equ 0dah ;二道道(启动转换) cb0809 equ 0e2h ;读二通道 da0809 equ 0deh ;三通道(启动转换) db0809 equ 0e6h ;读三通道 ea0809 equ 0d9h ;四通道(启动转换) eb0809 equ 0e1h ;读四通道 fa0809 equ 0ddh ;五通道(启动转换) fb0809 equ 0e5h ;读五通道 ga0809 equ 0dbh ;六通道(启动转换) gb0809 equ 0e3h ;读六通道 ha0809 equ 0dfh ;七通道(启动转换) hb0809 equ 0e7h ;读匕通道 org 0000h ljmp start org 0030h ljmp mvp start: in0: mov p2,#aa0809 ;启动0通道 mov a,#40h djnz acc,$ mov p2,#ab0809 mov a,p0 ;得出0通道结果 mov 70h,a in1: mov p2,#ba0809 ;启动一通道 mov a,#40h djnz acc,$ mov p2,#bb0809 mov a,p0 ;得出一通道结果 mov 71h,a in2: mov p2,#ca0809 ;启动二通道 mov a,#40h djnz acc,$ mov dptr,#cb0809 movx a,@dptr ;得出二通道结果 mov 72h,a in3: mov p2,#da0809 ;启动三通道 mov a,#40h djnz acc,$ mov p2,#db0809 mov a,p0 ;得出三通道结果 mov 73h,a in4: mov p2,#ea0809 ;启动四通道 mov a,#40h djnz acc,$ mov p2,#eb0809 mov a,p0 ;得出四通道结果 mov 74h,a in5: mov p2,#fa0809 ;启动五通道 mov a,#40h djnz acc,$ mov p2,#fb0809 mov a,p0 ;得出五通道结果 mov 75h,a in6: mov p2,#ga0809 ;启动六通道 mov a,#40h djnz acc,$ mov p2,#gb0809 mov a,p0 ;得出六通道结果 mov 76h,a in7: mov p2,#ha0809 ;启动匕通道 mov a,#40h djnz acc,$ mov p2,#hb0809 mov a,p0 mov 77h,a jnb p3.6,aa ;得出匕通道结果
mvp: nop mov r0,#70h mov r4,#0 mov r7,#8 jb p3.5,bb jnb p3.6,aa bb: nop mov a,r4 mov dptr ,#tab movc a,@a+dptr clr p3.3 setb p3.0 setb p3.1 setb p3.2 mov p1,a call delay call delay ;延时一秒 mov a,@r0 nop call loop call delay call delay ;延时一秒 inc r0 inc r4 djnz r7,bb ljmp start aa: nop mov a,r4 mov dptr,#tab movc a,@a+dptr clr p3.3 mov p1,a call delay mov a,@r0 call loop call delay jnb p3.6,cc ljmp start cc: inc r4 inc r0 ljmp aa loop: mov b,#51 ;显示百位 div ab mov dptr,#tab movc a,@a+dptr orl a,#80h ;clr p3.4 ;选通端 (74ls245) setb p3.0 SETB p3.3 setb p3.1 clr p3.2 mov p1,a nop mov a,b mov b,#5 ;显示十位 div ab mov dptr,#tab movc a,@a+dptr ;clr p3.4 setb p3.3 ;选通端 (74ls245) setb p3.0 clr p3.1 setb p3.2 mov p1,a nop mov a,b ;显示个位 mov b,#10 mul ab mov b,#51 div ab mov dptr,#tab movc a,@a+dptr ;clr p3.4 setb p3.3 ;选通端 (74ls245) clr p3.0 setb p3.1 setb p3.2 mov p1,a ret tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh delay: mov r6,#0 mov r5,#0 delayloop: djnz r6,delayloop djnz r5,delayloop ret end |