Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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

List of 8 messages in thread
TopicAuthorDate
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      

Back to Subject List