📄 pwm.asm
字号:
;**************************************************************************
; 超声清创机程序
;**************************************************************************
D200_R1 EQU 50H ;延时寄存器
D200_R2 EQU 51H
ORG 0000H
GOTO START
ORG 0004H
BCF PIR1,TMR2IF
RETFIE
ORG 0055H
START:
;--------------------I/O口初始化--------------------
BSF STATUS,RP0
MOVLW 00H
MOVWF TRISC
MOVLW 01H
MOVWF TRISB
BCF STATUS,RP0
MOVLW 00011000B
MOVWF PORTC
MOVLW 11111101B
MOVWF PORTB
;---------------------产生PWM波---------------------
PWM: BSF STATUS,RP0 ;选BANK1
MOVLW 40H ;36kHz
MOVWF PR2
BSF PIE1,TMR2IE
BCF STATUS,RP0 ;选BANK0
BSF INTCON,PEIE
BSF INTCON,GIE
MOVLW 20H ;脉宽,高8位
MOVWF CCPR1L
BCF CCP1CON,4 ;脉宽,低2位
BCF CCP1CON,5
MOVLW 00000000B ;TMR2
MOVWF T2CON
BSF CCP1CON,2 ;CCP设置为PWM操作状态
BSF CCP1CON,3
BSF T2CON,TMR2ON
;------------------------main-----------------------
MAIN: NOP
GOTO MAIN
;------------------------延时-----------------------
D200MS: MOVLW 0EBH
MOVWF D200_R1 ;外层寄存器
D200MS_LP0: MOVLW 0FFH
MOVWF D200_R2 ;内层寄存器
D200MS_LP1: NOP
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ D200_R2
GOTO D200MS_LP1
DECFSZ D200_R1
GOTO D200MS_LP0
RETLW 0
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -