Example: tourism industry

第8α章 PIC16F88を用いたステッピングモータ の速度制御

8 PIC16F88 .. Web .. 8 -1. PIC16F88 .. 8 -2.. 8 -3. 0 . 8 -4. A/D . 8 -5.. 1. PIC 8 PIC16F84A .. PIC16F88 .. PIC16F88 A/D . 0 .. PIC16F88 2012 6. 2011 . PIC .. 2. DIP PIC16F88 PIC16F84A . 0 19. PIC16F88 PIC16F84A .. 1 4 .. 0 19 . VR1 R1, R2 Tr1 C . VR1 . 3. 8 -1.. +12V. +12V. VR1. 10k .. RA1 RA0 OSC1 OSC2 Vdd RB7 RB6 RB5 RB4.. 4 MHz . CY8C. PIC16F88 . RA4 MCLR24123. RA2 RA3 Vss RB0 RB1 RB2 RB3.. R6. R7. R8. R9. R5 10k . R3 R4. MCLR. 10k . PGD. Vdd PGC. LVP. Vss 10k . +6V SW2 SW1. GND. GND PICkit3 .. 1 . X. Vdc X. Y Vdc Y. +12V. D1 D2 D3 D4. Tr2 Tr3 Tr4 Tr5. 2SC2120 2SC2120 2SC2120 2SC2120.. R6 R7 R8 R9. 510 510 510 510 . RB0. RB1. RB2. RB3. GND. 2 . +12V. +12V. VR1. 10k .. 4.. 4 MHz SW2 SW1.

1 目次. 8α-1. pic16f88. を用いたステッピングモータ制御の実験回路図. 回路図. 立体配線図. 完成写真 8α-2. ステッビングモータの定速駆動

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of 第8α章 PIC16F88を用いたステッピングモータ の速度制御

1 8 PIC16F88 .. Web .. 8 -1. PIC16F88 .. 8 -2.. 8 -3. 0 . 8 -4. A/D . 8 -5.. 1. PIC 8 PIC16F84A .. PIC16F88 .. PIC16F88 A/D . 0 .. PIC16F88 2012 6. 2011 . PIC .. 2. DIP PIC16F88 PIC16F84A . 0 19. PIC16F88 PIC16F84A .. 1 4 .. 0 19 . VR1 R1, R2 Tr1 C . VR1 . 3. 8 -1.. +12V. +12V. VR1. 10k .. RA1 RA0 OSC1 OSC2 Vdd RB7 RB6 RB5 RB4.. 4 MHz . CY8C. PIC16F88 . RA4 MCLR24123. RA2 RA3 Vss RB0 RB1 RB2 RB3.. R6. R7. R8. R9. R5 10k . R3 R4. MCLR. 10k . PGD. Vdd PGC. LVP. Vss 10k . +6V SW2 SW1. GND. GND PICkit3 .. 1 . X. Vdc X. Y Vdc Y. +12V. D1 D2 D3 D4. Tr2 Tr3 Tr4 Tr5. 2SC2120 2SC2120 2SC2120 2SC2120.. R6 R7 R8 R9. 510 510 510 510 . RB0. RB1. RB2. RB3. GND. 2 . +12V. +12V. VR1. 10k .. 4.. 4 MHz SW2 SW1.

2 PIC16F88. R6. R7. R8. R9.. 4. MCLR. +6V R3. PGD. PGC. LVP. Vdd Vss R4 R5. 10k 10k 10k . PICkit3 . GND. GND. 3 . X. Vdc Y. +12V. Y. X. D1 D2 D3 D4. Tr2 Tr3 Tr4 Tr5. 2SC2120 2SC2120 2SC2120 2SC2120.. R6 R7 R8 R9. 510 510 510 510 . RB0. RB1. RB2. RB3. GND. 4 . 8. 5 . RA2 1 18 RA1 RA2/AN2/VREF- 1 18 RA1/AN1. RA3 2 17 RA0 RA3/AN3/VREF+ 2 17 RA0/AN0. RA4 3 16 OSC1 RA4/AN4 3 16 RA7/OSC1. PIC16F84A. PIC16F88. MCLR 4 15 OSC2 RA5/MCLR 4 15 RA6/OSC2. 24123. CY8C. 24123. CY8C. VSS 5 14 VDD VSS 5 14 VDD. RB0/INT 6 13 RB7/PGD RB0/INT/CCP1 6 13 RB7/AN6/PGD. RB1 7 12 RB6/PGC RB1 7 12 RB6/AN5/PGC. RB2 8 11 RB5 RB2 8 11 RB5. RB3 9 10 RB4 RB3/PGM/CCP1 9 10 RB4. (a) PIC16F84A (b) PIC16F88 . 6 PIC16F88 PIC16F84A.

3 9. 8 -2.. 8 PIC16F84A . PIC16F88 . PIC16F84A . 10. SW1 . ;Stepping Motor Control Program (Speed fixed) SW2 .. INCLUDE" " 8 PIC16F84A . list p=16F88. CONFIG 2 . __CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _LVP_OFF. __CONFIG _CONFIG2, _FCMEN_OFF & _IESO_OFF. Register EQU 0x20. MEM1 EQU Register +0 ;MEM1 at 20. TIME1 EQU Register +1 ;TIME1 at 21. TIME2 EQU Register +2 ;TIME2 at 22. TIME3 EQU Register +3 ;TIME3 at 23. ORG 0. GOTO START ;Main Program starts at START , 15 . 19 . ORG 4. START. ;Setting of Port B. BSF STATUS,RP0. BCF STATUS,RP1 ;Selection of Bank 1. MOVLW B'11000000'. MOVWF TRISB ;RB0-5 -> Output Port, RB6,7 -> Input Port BCF ANSEL, 6 ;RB7/AN6 Digital Input BCF ANSEL, 5 ;RB6/AN5 Digital Input BCF STATUS,RP0.

4 BCF STATUS,RP1 ;Selection of Bank 0. MOVLW B'00000101' ;'00001010' -> (W). MOVWF PORTB ;(W) -> (PORTB). 11. 8 PIC16F84A . ; Main Program STEP1 MOVF PORTB,0 ;(RB)->(W). ANDLW B'11000000' ;(W) and 11000000 -> (W). MOVWF MEM1 ;(W) -> (MEM1). BTFSS MEM1,7 ;If the 7th bit = 1, Then skip CALL RotateR. BTFSS MEM1,6 ;If the 6th bit = 1, Then skip CALL RotateL. GOTO STEP1. ;End of Main Program ;Sub Routine1. RotateR. MOVLW B'00000101' ;'00000101' -> (W). MOVWF PORTB ;(W) -> (PORTB). CALL COUNT1. MOVLW B'00000110'. MOVWF PORTB. CALL COUNT1. MOVLW B'00001010'. MOVWF PORTB. CALL COUNT1. MOVLW B'00001001'. MOVWF PORTB. CALL COUNT1. RETURN 12. 8 PIC16F84A . ;Sub Program2. RotateL. MOVLW B'00000101'.

5 MOVWF PORTB. CALL COUNT1. MOVLW B'00001001'. MOVWF PORTB. CALL COUNT1. MOVLW B'00001010'. MOVWF PORTB. CALL COUNT1. MOVLW B'00000110'. MOVWF PORTB. CALL COUNT1. RETURN. ;Idling timer COUNT1 MOVLW 0x10. MOVWF TIME1. STEPM MOVWF TIME2. STEPM1 MOVWF TIME3. STEPM2 DECFSZ TIME3,1. GOTO STEPM2. DECFSZ TIME2,1. GOTO STEPM1. DECFSZ TIME1,1. GOTO STEPM. RETURN. END 13.. MPLAB IDE Project Project Wizard . PIC16F88.. 0 . 14. ( ) . ;Stepping Motor Control Program (Speed fixed). INCLUDE ". list p=16F88. PIC16F88 . __CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _LVP_OFF. __CONFIG _CONFIG2, _FCMEN_OFF & _IESO_OFF. LVP ON .. 9 PGM . PIC16F88 . RB3 . PIC16F88 CONFIGURATION WORD. BLOCK.

6 REGISTER CONFIG1 CONFIG2 2 . DIAGRAM OF RB3/PGM/CCP1 PIN .. LVP OFF LVP (Low . Voltage Programming) 5[V] . Microchip MPASM Suite .. PICKit3 . 15. ( ) 2 . Register EQU 0x20. MEM1 EQU Register +0 ;MEM1 at 20. TIME1 EQU Register +1 ;TIME1 at 21. TIME2 EQU Register +2 ;TIME2 at 22. TIME3 EQU Register +3 ;TIME3 at 23. PIC16F88 4 Bank ( . 7 ) . (General Purpose Register) . Bank 1 20h 7Fh . Bank 2 A0h Efh . Bank 3 120h 16Fh . Bank 4 1A0h 1 EFh . Bank 0 20h 23h .. Bank 0 .. 16. TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG 181h PCL 02h PCL 82h PCL 102h PCL 182h STATUS 03h STATUS 83h STATUS 103h STATUS 183h FSR 04h FSR 84h FSR 104h FSR 184h PORTA 05h TRISA 85h WDTCON 105h 185h PORTB 06h TRISB 86h PORTB 106h TRISB 186h 07h 87h 107h 187h 08h 88h 108h 188h 09h 89h 109h 189h PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 18Ch PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2 18Dh TMR1L 0Eh PCON 8Eh EEDATH 10Eh 18Eh TMR1H 0Fh OSCCON 8Fh EEADRH 10Fh 18Fh T1 CON 10h OSCTUNE 90h 110h 190h TMR2 11h 91h T2 CON 12h PR2 92h SSPBUF 13h SSPADD 93h SSPCON 14h SSPSTAT 94h CCPR1L 15h 95h CCPR1H 16h 96h

7 General General CCP1 CON 17h 97h Purpose Purpose RCSTA 18h TXSTA 98h Register Register TXREG 19h SPBRG 99h 16 16 . RCREG 1Ah 9Ah 1Bh ANSEL 9Bh 1Ch CMCON 9Ch 1Dh CVRCON 9Dh ADRESH 1Eh ADRESL 9Eh ADCON0 1Fh ADCON1 9Fh 11Fh 19Fh 20h A0h 120h 1A0h General General General Purpose Purpose Purpose General Register Register Register Purpose 80 80 80 . Efh 16Fh 1 EFh Register 96 . F0h 170h 1F0h 7 File Register Map 7Fh FFh 17Fh 1 FFh 17. Bank 0 Bank 1 Bank 2 Bank 3. ( ) 3 . ORG 0 ; . GOTO START. ORG 4 7 TRISB . Bank 1 Bank START. ;Setting of Port B 1 . BSF STATUS,RP0 Bank . BCF STATUS,RP1 ;Selection of Bank 1 ARITHMETIC. MOVLW B'11000000' STATUS REGISTER . MOVWF TRISB ;RB0-5 -> Output Port.

8 ;RB6,7 -> Input Port RP1, RP0 = 11 Bank3. BCF ANSEL, 6 ;RB7/AN6 Digital Input = 10 Bank2. BCF ANSEL, 5 ;RB6/AN5 Digital Input = 01 Bank1. = 00 Bank0. TRISB REGISTER STATUS. TRISB bit = 1 PORTB 4 . =0 . ANSEL:ANALOG SELECT REGISTER . ANSELbit = 1 Analog I/O. 18. = 0 Digital I/O. ( ) 4 . BCF STATUS,RP0. BCF STATUS,RP1 ;Selection of Bank 0. MOVLW B'00000101 ;'00001010' -> (W). MOVWF PORTB ;(W) -> (PORTB). 7 PORTB Bank 0 Bank 0.. MEM1, TIME1, TIME2, TIME3 Bank 0 . 20h 23h Bank 0 . Bank .. 19. 8 -3. 0 . ; 0 . INCLUDE" ". RB0(6 1 0 . list p=16F88 . __CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _LVP_OFF . __CONFIG _CONFIG2, _FCMEN_OFF & _IESO_OFF.. ORG 0 ; . GOTO START.)

9 ORG 4 ; . CALL Timer0_interrupt RETFIE ; . START. ; B . BSF STATUS,RP0. BCF STATUS,RP1 1 . MOVLW B'00000000'. MOVWF TRISB ;RB0-7 . ; 0 . BCF OPTION_REG, T0CS ; (FOSC) FOSC/4 = 4 MHz/4 = 1 MHz BCF OPTION_REG, PSA ; 0 PSA = 1 WDT . BSF OPTION_REG, PS2 ;. BSF OPTION_REG, PS1 ;. BSF OPTION_REG, PS0 ;PS2 PS1 PS0 = 111 0 FOSC/4/256 . ; . BSF INTCON, GIE ; . BSF INTCON, PEIE ; . BSF INTCON, TMR0IE ; 0 . BCF INTCON, TMR0IF ; 0 . BCF STATUS,RP0. 20. BCF STATUS,RP1 ; 0 . 0 . ; . STEP1 GOTO STEP1 ;STEP1 . ; . Timer0_interrupt MOVLW B'00000001' ;'00000001' -> (W). MOVWF PORTB ;(W) -> (PORTB). MOVLW B'00000000'. MOVWF PORTB. MOVLW B'11100000' ;11100000 ->(W). ; 0 . ; 11111111 -> 00000000 . MOVWF TMR0 ;(W) -> TMR0.

10 BCF INTCON, TMR0IF ;TMR0 . RETURN. END. 21. 0 ( , 21) 1 . ORG 0 ; . GOTO START. ORG 4 ; . CALL Timer0_interrupt ;Timer0_interrupt . RETFIE ; . START. ; B . BSF STATUS,RP0. BCF STATUS,RP1 ; 1 . MOVLW B'00000000'. MOVWF TRISB ;RB0-7 . 22. 0 ( , 21) 2 . ; 0 . BCF OPTION_REG, T0CS ; (FOSC) . ; FOSC/4 = 4 MHz/4 = 1 MHz BCF OPTION_REG, PSA ; 0 . PSA = 1 WDT . BSF OPTION_REG, PS2 ; PS2 PS1 PS0 = 111 . BSF OPTION_REG, PS1 ; 0 FOSC/4/256 . BSF OPTION_REG, PS0 ;. OPTION_REG Register ( 7 Bank1, 3 . 0 0 . 0 . 4 [MHz] 4 [MHz]/4/256 = [kHz] . 0 0 . (B 11111111' B 00000000') . ORG 4 . 0 B 11100000' . (B 100000000' - B 11100000') [kHz] = (256 224) [kHz] = [ms]. 23. FOSC/4. MUX1 Data Bus MUX2. 0 1 8.)


Related search queries