?? lab3a.asm
字號:
#INCLUDE p16F877A.inc ; Include the standard definitions
#DEFINE DEVICE_FREQ_HZ D'4000000' ; Used in later calculations
#DEFINE BEEP_HZ D'440' ; Chosen Beep Frequency
Start
BANKSEL TRISC ; BANKSEL to get to TRISC bank (bank 1)
bcf TRISC,2 ; Set CCP1 as an output
movlw ((DEVICE_FREQ_HZ/D'64')/BEEP_HZ)-1 ; Load period
movwf PR2 ; "
BANKSEL CCPR1L ; BANKSEL is needed to get bank to bank 0.
movlw ((DEVICE_FREQ_HZ/D'128')/BEEP_HZ) ; Load duty cycle
movwf CCPR1L ; "
movlw 0x06 ; Turn on TMR2 (for PWM)
movwf T2CON ; and /16 prescale
CheckButton
btfsc PORTA,4
goto ButtonOff
ButtonOn
movlw H'0C'
movwf CCP1CON
goto CheckButton
ButtonOff
clrf CCP1CON
goto CheckButton
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -