AS V1.42 Beta [Bld 32] - source file led.asm - page 1 - 5/24/2007 22:22:46 1/ 0 : ;$Id: led.asm,v 1.12 2007/05/23 11:06:08 runner Exp $ 2/ 0 : 3/ 0 : ; SHIFT LEFT on 10 bit. 4/ 0 : ; 5/ 0 : ; 6/ 0 : ; P25 - CrystalBuzzer - GND 7/ 0 : ; 8/ 0 : ; P27 P26 P17 P16 P15 P14 P13 P12 P11 P10 - LED - V+ 9/ 0 : ; --------------------------------------- 10/ 0 : ; 1 1 1 1 1 1 1 1 1 0 11/ 0 : ; 1 1 1 1 1 1 1 1 0 1 12/ 0 : ; 1 1 1 1 1 1 1 0 1 1 13/ 0 : ; . 14/ 0 : ; 0 1 1 1 1 1 1 1 1 1 15/ 0 : ; 16/ 0 : ; 17/ 0 : ; P25 - SP - GND Crystal Buzzer. 18/ 0 : ; P24 - SW - GND Push SW. 19/ 0 : ; 20/ 0 : ; clock = 6MHz = 2.5us/MachieCycle 21/ 0 : 22/ 0 : cpu 8048 23/ 0 : 24/ 0 : =20H _P25ON equ (1<<5) 25/ 0 : =DFH _P25OFF equ (0ffH ! _P25ON) 26/ 0 : 27/ 0 : =96H SPEED_SLOW equ 150 28/ 0 : =AH SPEED_HIGH equ 10 29/ 0 : 30/ 0 : org 0 31/ 0 : 32/ 0 : 15 dis i 33/ 1 : 35 dis tcnti 34/ 2 : 35/ 2 : init: 36/ 2 : ; 37/ 2 : ; R6 = P10-P17 38/ 2 : ; R7 = P20-P27 39/ 2 : B8 50 mov R0,#(table # 256) 40/ 4 : B9 96 mov R1,#SPEED_SLOW ; set delay time n x 10ms 41/ 6 : 42/ 6 : ledout: 43/ 6 : 14 41 call getptn 44/ 8 : FE mov a,R6 45/ 9 : 39 outl P1,a 46/ A : FF mov a,R7 47/ B : 47 swap a ; .... ..XX -> XX.. .... 48/ C : E7 rl a 49/ D : E7 rl a 50/ E : 3A outl P2,a 51/ F : 14 17 call beep 52/ 11 : 14 28 call delay 53/ 13 : 14 38 call drift 54/ 15 : 04 06 jmp ledout 55/ 17 : 56/ 17 : ; 10ms beep 57/ 17 : beep: 58/ 17 : BC 08 mov R4,#8 59/ 19 : $$loop 60/ 19 : 9A DF anl P2,#_P25OFF AS V1.42 Beta [Bld 32] - source file led.asm - page 2 - 5/24/2007 22:22:46 61/ 1B : BD 42 mov R5,#66 ; 62/ 1D : ED 1D djnz R5,$ ; 63/ 1F : 8A 20 orl P2,#_P25ON 64/ 21 : BD 42 mov R5,#66 ; 65/ 23 : ED 23 djnz R5,$ ; 66/ 25 : ;beep 67/ 25 : EC 19 djnz R4,$$loop 68/ 27 : 83 ret 69/ 28 : 70/ 28 : ; R1 x 10ms 1sec delay 71/ 28 : delay: 72/ 28 : F9 mov a,R1 73/ 29 : AB mov R3,a ;R1 x 10ms 74/ 2A : BC 05 $$l1 mov R4,#5 ;10ms 75/ 2C : BD 5F $$l2 mov R5,#95 ;2ms(1998.63us) 76/ 2E : 00 $$l3 nop 77/ 2F : 00 nop 78/ 30 : 00 nop 79/ 31 : ED 2E djnz R5,$$l3 80/ 33 : EC 2C djnz R4,$$l2 81/ 35 : EB 2A djnz R3,$$l1 82/ 37 : 83 ret 83/ 38 : 84/ 38 : drift: ; speed change 85/ 38 : C9 dec R1 86/ 39 : F9 mov a,R1 87/ 3A : 03 F6 add a,#(256 - SPEED_HIGH) 88/ 3C : F6 40 jc $$ret 89/ 3E : B9 96 mov R1,#SPEED_SLOW 90/ 40 : 83 $$ret ret 91/ 41 : 92/ 41 : getptn: 93/ 41 : F8 mov a,R0 94/ 42 : A3 movp a,@a 95/ 43 : C6 4C jz $$top 96/ 45 : AE mov R6,a 97/ 46 : 18 inc R0 98/ 47 : F8 mov a,R0 99/ 48 : A3 movp a,@a 100/ 49 : AF mov R7,a 101/ 4A : 18 inc R0 102/ 4B : 83 ret 103/ 4C : B8 50 $$top mov R0,#(table # 256) 104/ 4E : 04 41 jmp getptn 105/ 50 : 106/ 50 : table: 107/ 50 : ; ------1076543210 108/ 50 : FE FF dw 1111111111111110b ;0 109/ 52 : FD FF dw 1111111111111101b ;1 110/ 54 : FB FF dw 1111111111111011b ;2 111/ 56 : F7 FF dw 1111111111110111b ;3 112/ 58 : EF FF dw 1111111111101111b ;4 113/ 5A : DF FF dw 1111111111011111b ;5 114/ 5C : BF FF dw 1111111110111111b ;6 115/ 5E : 7F FF dw 1111111101111111b ;7 116/ 60 : FF FE dw 1111111011111111b ;8 117/ 62 : FF FD dw 1111110111111111b ;9 118/ 64 : FF FE dw 1111111011111111b ;8 119/ 66 : 7F FF dw 1111111101111111b ;7 120/ 68 : BF FF dw 1111111110111111b ;6 AS V1.42 Beta [Bld 32] - source file led.asm - page 3 - 5/24/2007 22:22:46 121/ 6A : DF FF dw 1111111111011111b ;5 122/ 6C : EF FF dw 1111111111101111b ;4 123/ 6E : F7 FF dw 1111111111110111b ;3 124/ 70 : FB FF dw 1111111111111011b ;2 125/ 72 : FD FF dw 1111111111111101b ;1 126/ 74 : 00 00 dw 0 ;end mark 127/ 76 : end AS V1.42 Beta [Bld 32] - source file led.asm - page 4 - 5/24/2007 22:22:46 symbol table (* = unused): ------------------------ *ARCHITECTURE : i386-unknown-freebsd - | BEEP : 17 C | *BIGENDIAN : 0 - | *BRANCHEXT : 0 - | *CASESENSITIVE : 0 - | *CONSTPI : 3.141592653589793 - | *DATE : 5/24/2007 - | DELAY : 28 C | DRIFT : 38 C | *FALSE : 0 - | *FULLPMMU : 1 - | GETPTN : 41 C | *HAS64 : 1 - | *HASDSP : 0 - | *HASFPU : 0 - | *HASPMMU : 0 - | *INEXTMODE : 0 - | *INIT : 2 C | *INLWORDMODE : 0 - | *INMAXMODE : 0 - | *INSRCMODE : 0 - | *INSUPMODE : 0 - | L110 : 2A C | L210 : 2C C | L310 : 2E C | LEDOUT : 6 C | *LISTON : 1 - | LOOP9 : 19 C | *MACEXP : 1 - | *MOMCPU : 8048 - | *MOMCPUNAME : 8048 - | *NESTMAX : 100 - | *PACKING : 0 - | *PADDING : 1 - | *RELAXED : 0 - | RET11 : 40 C | SPEED_HIGH : A - | SPEED_SLOW : 96 - | TABLE : 50 C | *TIME : 22:22:46 - | TOP12 : 4C C | *TRUE : 1 - | *VERSION : 142F - | _P25OFF : DF - | _P25ON : 20 - | 45 symbols 29 unused symbols AS V1.42 Beta [Bld 32] - source file led.asm - page 5 - 5/24/2007 22:22:46 codepages: ---------- STANDARD (0 changed characters) 0.05 seconds assembly time 129 lines source file 2 passes 0 errors 0 warnings