📄 power.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Project: Interfacing PICs
; Source File: POWER.ASM
; Author: M. Bates
; Date: 20-8-05
; .....................................................
;
; Step through power outputs using button
; 1. DC switch using relay
; 2. Mains AC switch using triac
; 3. Speaker output from relay
; .....................................................
;
; Processor: PIC 16F877
;
; Hardware: Proteus VSM POW1.DSN
; Clock: RC = 100kHz
; Inputs: none
; Outputs: PortD
;
; WDTimer: Disabled
; PUTimer: Enabled
; Interrupts: Disabled
; Code Protect: Disabled
;
; ***********************************************************
PROCESSOR 16F877 ; Define MCU type
__CONFIG 0x3733 ; Set config fuses (RC clock)
; Register Label Equates.....................................
PORTC EQU 07 ; Port C Data Register
PORTD EQU 08 ; Port D Data Register
TRISD EQU 88 ; Port D Direction Register
STATUS EQU 03 ; Carry flag register
; ***********************************************************
; Initialise Port D (Port A defaults to inputs)..............
BANKSEL TRISD ; Bank 1
CLRF TRISD ; Outputs
BANKSEL PORTD ; Bank 0
; Start main loop ...........................................
start CLRF PORTD ; Clear Port D Data
BSF PORTD,3 ; Select no output
BCF STATUS,0 ; Clear carry bit
next BTFSC PORTC,0 ; Button on?
GOTO next ; no
wait BTFSS PORTC,0 ; yes - off?
GOTO wait ; no
RRF PORTD ; yes - move bit right
BTFSS STATUS,0 ; last output?
GOTO next ; no - next output
GOTO start ; yes - restart
END ; terminate source code
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -