.define P_IOA_Data 0x7000<br />.define P_IOA_Dir 0x7002<br />.define P_IOA_Attrib 0x7003<br />.define dog_Clear 0x7012<br />.ram<br />.var s1,s2,k=100;<br />.data<br />data_code:.dw 0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f<br />bit_code:.dw 0x0200,0x0100<br />.code<br />.public _main<br />_main:<br />r1=0x03ff<br />[P_IOA_Dir]=r1<br />[P_IOA_Attrib]=r1<br />r1=0x0000<br />[P_IOA_Data]=r1<br />r3=0<br />[s1]=r3<br />[s2]=r3<br /><br />//---------------------------<br />//display doub data<br />//---------------------------<br />loop0:<br />r1=60<br />[k]=r1<br />loop1:<br />bp=data_code<br />r1=[s1] <br />r1=r1+bp <br />r2=bit_code<br />r3=[r1] //- ;取数码<br />r4=[r2] // ;取位码<br />r3=r3+r4 // ;<br />[P_IOA_Data]=r3<br />call _delay2<br /><br /><br />r1=[s2]<br />r1=r1+bp<br />r3=[r1]<br />r2=bit_code<br />r2=r2+1<br />r4=[r2]<br />r3=r3+r4<br />[P_IOA_Data]=r3<br />call _delay2<br /><br />r1=[k]<br />r1-=1<br />[k]=r1<br />cmp r1,0<br />jne loop1<br /><br />r1=[s1]<br />r1+=1 //;指向下一个数码<br />[s1]=r1<br />cmp r1, 9<br />jle loop0<br /><br />r1=0<br />[s1]=r1<br />r4=[s2]<br />r4+=1<br />[s2]=r4<br /><br />r4=[s2]<br />cmp r4,9<br />jle loop0<br />r4=0<br />[s2]=r4<br />jmp loop0<br /><br />r3+=1<br />r1=data_code<br />r2=bit_code<br /><br />loop:<br />r3=[r1++]<br />r4=[r2]<br />r3=r3+r4<br />[P_IOA_Data]=r3<br />//call _delay1<br />jmp loop<br /><br /><br />.public _delay2<br />_delay2:<br />r3=0x0000<br />lop2:<br />r4=1<br />[dog_Clear]=r4<br />r3+=1<br />cmp r3 ,0x03ff<br />jne lop2<br />retf<br /><br /> |
|