| ??? 04/05/03 14:58 Read: times |
#42933 - Can i use at89c51 with 8253 make pwm |
i must use at89c51 with PIT 8253 make pwm 3 phase signal (spece Vector modulation). who know about flow chart of assably or where you have saw about it .
i have exsample of program but i think it not successful. because someone tell me it not have table (time). you think ? input f and modulation come from hardware but i want to stck it at 4Khz and 1. Can you amend it ? ORG 0000H AJMP INIT ;********** INITIAL Program *********** ORG 0100H INIT: MOV P1,#00H MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV R6,#00H MOV R7,#00H MOV 0F0H,#00H MOVA,#9BH MOV DPTR,#0F803H MOVX @DPTR,A ;********* PROGRAM Start ************** RUN: MOV DPTR,#0F800H MOVX A,@DPTR MOV R0,A ;FREQUENCY INPUT ----->f MOV DPTR,#0F801H MOVX A,@DPTR MOV R1,A ;MODULATION INDEX IINPUT ----->ma ;********* FIRST SAMPLING ************* ;********* PHASE A ********************** START: MOV A,R3 ;Store ADDRESS VECTOR MOV DPTR,#TAB_1A MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 ;Store DATA VECTOR MOVC A,@A+DPTR MOV DPH,01H MOV DPL,#00H MOVC A,@A+DPTR MOV R5,A ;********* PHASE B ********************** MOV A,R3 ;Store ADDRESS VECTOR MOV DPTR,#TAB_1B MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 ;Store DATA VECTOR MOVC A,@A+DPTR MOV DPH,01H MOV DPL,#00H MOVC A,@A+DPTR MOV B,A ;********* PHASE C ********************** MOV A,R3 ;Store ADDRESS VECTOR MOV DPTR,#TAB_1C MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 ;Store DATA VECTOR MOVC A,@A+DPTR MOV DPH,01H MOV DPL,#00H MOVC A,@A+DPTR MOV R6,A ;******LOAD DATA 1st SAMPLING ******* MOV A,#92H ;PIT 8253, MODE1, LSB, BINARY, COUNTER 2 MOV DPTR,#0FC03H MOVX @DPTR,A MOV A,R5 MOV DPTR,#OFCO2H MOVX @DPTR,A MOV A,#52H ;PIT 8253, MODE1, LSB, BINARY, COUNTER 1 MOV DPTR,#0FC03H MOVX @DPTR,A MOV A,B MOV DPTR,#OFCO1H MOVX @DPTR,A MOV A,#12H ;PIT 8253, MODE1, LSB, BINARY, COUNTER 0 MOV DPTR,#0FC03H MOVX @DPTR,A MOV A,R6 MOV DPTR,#OFCO0H MOVX @DPTR,A ;**** ENABLE PIT 8253 FIRST SAMPLING **** MOV P1,#47H NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV P1,#00H MOV R6,#9DH DELAY1: DJNZ R6,DELAY1 ;********* SECOND SAMPLING ********** ;********* PHASE A ********************** START: MOV A,R3 ;Store ADDRESS VECTOR MOV DPTR,#TAB_2A MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 ;Store DATA VECTOR MOVC A,@A+DPTR MOV DPH,01H MOV DPL,#00H MOVC A,@A+DPTR MOV R5,A ;********* PHASE B ********************** MOV A,R3 ;Store ADDRESS VECTOR MOV DPTR,#TAB_2B MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 ;Store DATA VECTOR MOVC A,@A+DPTR MOV DPH,01H MOV DPL,#00H MOVC A,@A+DPTR MOV B,A ;********* PHASE C ********************** MOV A,R3 ;Store ADDRESS VECTOR MOV DPTR,#TAB_2C MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 ;Store DATA VECTOR MOVC A,@A+DPTR MOV DPH,01H MOV DPL,#00H MOVC A,@A+DPTR MOV R6,A ;****** LOAD DATA 2nd SAMPLING ******* MOV A,#92H ;PIT 8253, MODE1, LSB, BINARY, COUNTER 2 MOV DPTR,#0FC03H MOVX @DPTR,A MOV A,R5 MOV DPTR,#OFCO2H MOVX @DPTR,A MOV A,#52H ;PIT 8253, MODE1, LSB, BINARY, COUNTER 1 MOV DPTR,#0FC03H MOVX @DPTR,A MOV A,B MOV DPTR,#OFCO1H MOVX @DPTR,A MOV A,#12H ;PIT 8253, MODE1, LSB, BINARY, COUNTER 0 MOV DPTR,#0FC03H MOVX @DPTR,A MOV A,R6 MOV DPTR,#OFCO0H MOVX @DPTR,A ;**** ENABLE PIT 8253 SECOND SAMPLING **** MOV P1,#0BFH NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MOV P1,#38H MOV R6,#83H DELAY2: DJNZ R6,DELAY2 ;********* SECTOR LOOP ************ CJNE R0,#00H,LOOP_A LJMP RUN LOOP_A: MOV A,R4 MOV PSW,#00H ADD A,R0 JC LOOP_1 MOV R4,A MOV A,R3 MOV DPTR,#TAB_1A MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 MOVC A,@A+DPTR CJNE A,#0FFH,LOOP_B0 INC R3 MOV A,R4 MOV PSW,#00H SUBB A,#21H MOV R4,A CJNE R3,#18H,LOOP_B1 MOV R3,#00H LJMP RUN LOOP_1: MOV R4,A INC R3 MOV A,R3 MOV DPTR,#TAB_1A MOVC A,@A+DPTR MOV DPH,A MOV DPL,#00H MOV A,R4 MOVC A,@A+DPTR CJNE A,#0FFH,LOOP_A0 INC R3 MOV A,R4 MOV PSW,#00H SUBB A,#21H MOV R4,A CJNE R3,#18H,LOOP_A1 MOV R3,#00H LJMP RUN LOOP_A0:LJMP START LOOP_A1:LJMP START LOOP_B0:LJMP START LOOP_B1:LJMP START ;********* TABLE VECTOR ************ TAB_1A: DB 3AH,3BH,3CH,3DH,42H,43H,44H,45H TAB_1C: DB 3EH,3FH,40H,41H,3EH,3FH,40H,41H TAB_1B: DB 46H,47H,48H,49H,3AH,3BH,3CH,3DH DB 3AH,3BH,3CH,3DH,42H,43H,44H,45H DB 3EH,3FH,40H,41H,3EH,3FH,40H,41H TAB_2A: DB 3EH,3FH,40H,41H,46H,47H,48H,49H TAB_2C: DB 3AH,3BH,3CH,3DH,3AH,3BH,3CH,3DH TAB_2B: DB 42H,43H,44H,45H,3EH,3FH,40H,41H DB 3EH,3FH,40H,41H,46H,47H,48H,49H DB 3AH,3BH,3CH,3DH,3AH,3BH,3CH,3DH END |
| Topic | Author | Date |
| Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
| RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
| RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
| RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
| RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
| RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
| RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 | |
RE: Can i use at89c51 with 8253 make pwm | 01/01/70 00:00 |



