Programming the 8085
Home
Graphics
C++
Data Structures
Monday, September 27, 2010
Rotate Stepper Motor in both direction
4100 0E 34 START: MVI C,34H 4102 21 3F 41 FORWARD: LXI H, FORLOOK 4105 CD 21 41 CALL ROTATE 4108 0D DCR C 4109 C2 02 41 JNZ FORWARD 410C CD 35 41 CALL STOP 410F 0E 34 MVI C,34H 4111 21 40 41 REVERSE: LXI H,REVLOOK 4114 CD 21 41 CALL ROTATE 4117 0D DCR C 4118 C2 11 41 JNZ REVERSE 411B CD 35 41 CALL STOP 411E C3 00 41 JMP START 4121 06 04 ROTATE: MVI B,04H 4123 7E REPT: MOV A,M 4124 D3 C0 OUT 0C0H 4126 11 03 03 LXI D,0303H 4129 1B LOOP1: DCX D 412A 7B MOV A,E 412B B2 ORA D 412C C2 29 41 JNZ LOOP1 412F 23 INX H 4130 05 DCR B 4131 C2 23 41 JNZ REPT 4134 C9 RET 4135 11 FF FF STOP: LXI D,0FFFFH 4138 1B LOOP2: DCX D 4139 7B MOV A,E 413A B2 ORA D 413B C2 38 41 JNZ LOOP2 413E C9 RET 413F 09 05 06 0A FORLOOK: DB 09 05 06 0A 4143 0A 06 05 09 REVLOOK: DB 0A 06 05 09
Rotate Stepper Motor in clockwise direction
4100 21 1A 41 START: LXI H, LOOKUP 4103 06 04 MVI B,04 4105 7E REPT: MOV A,M 4106 D3 C0 OUT 0C0H 4108 11 03 03 LXI D,0303H 410B 00 DELAY: NOP 410C 1B DCX D 410D 7B MOV A,E 410E B2 ORA D 410F C2 0B 41 JNZ DELAY 4112 23 INX H 4113 05 DCR B 4114 C2 05 41 JNZ REPT 4117 C3 00 41 JMP START 411A 09 05 06 0A LOOKUP: DB 09 05 06 0A
Tuesday, September 21, 2010
Square wave with 90 degree phase shift using 8255
4100 3E 80 LOOP: MVI A,80H 4102 D3 0F OUT 0FH 4104 3E FF MVI A,0FFH 4106 D3 0C OUT 0CH 4108 CD 20 41 CALL DELAY 410B D3 0D OUT 0DH 410D CD 20 41 CALL DELAY 4110 3E 00 MVI A,00H 4112 D3 0C OUT 0CH 4114 CD 20 41 CALL DELAY 4117 D3 0D OUT 0DH 4119 CD 20 41 CALL DELAY 411C C3 00 41 JMP LOOP 411F 76 HLT 4120 06 30 DELAY: MVI B,30H 4122 05 WAIT: DCR B 4123 C2 22 41 JNZ WAIT 4126 C9 RET
Square wave using 8255
4100 3E 80 LOOP: MVI A,80H 4102 D3 0F OUT 0FH 4104 3E FF MVI A,0FFH 4106 D3 0C OUT 0CH 4108 CD 16 41 CALL DELAY 410B 3E 00 MVI A,00H 410D D3 0C OUT 0CH 410F CD 16 41 CALL DELAY 4112 C3 00 41 JMP LOOP 4115 76 HLT 4116 06 30 DELAY: MVI B,30H 4118 05 WAIT: DCR B 4119 C2 18 41 JNZ WAIT 411C C9 RET
Thursday, September 9, 2010
Real time clock
4100 21 00 00 HOUR: LXI H,0000H 4103 3E 00 MIN: MVI A,00H 4105 32 00 50 SEC: STA 5000H 4108 CD 40 41 CALL DISPLY 410B CD 36 41 CALL DELAY 410E CD 36 41 CALL DELAY 4111 3A 00 50 LDA 5000H 4114 C6 01 ADI 01H 4116 27 DAA 4117 FE 60 CPI 60H 4119 C2 05 41 JNZ SEC 411C 7D MOV A,L 411D C6 01 ADI 01H 411F 27 DAA 4120 6F MOV L,A 4121 FE 60 CPI 60H 4123 C2 03 41 JNZ MIN 4126 2E 00 MVI L,00H 4128 7C MOV A,H 4129 C6 01 ADI 01H 412B 27 DAA 412C 67 MOV H,A 412D FE 24 CPI 24H 412F C2 03 41 JNZ MIN 4132 C3 00 41 JMP HOUR 4135 76 HLT 4136 01 00 F4 DELAY: LXI B,0F400H 4139 0B WAIT: DCX B 413A 79 MOV A,C 413B B0 ORA B 413C C2 39 41 JNZ WAIT 413F C9 RET 4140 57 DISPLY: MOV D,A 4141 3E 02 MVI A,02H 4143 CD 05 00 CALL 0005H 4146 3E 0C MVI A,0CH 4148 0E 0A MVI C,0AH 414A CD 05 00 CALL 0005H 414D 55 MOV D,L 414E 0E 05 MVI C,05H 4150 3E 0C MVI A,0CH 4152 CD 05 00 CALL 0005H 4155 54 MOV D,H 4156 0E 00 MVI C,00H 4158 3E 0C MVI A,0CH 415A CD 05 00 CALL 0005H 415D C9 RET
Newer Posts
Older Posts
Home
Subscribe to:
Posts (Atom)