|
1腳為電源端接5V電源,8腳接地, 4腳為控制端,暫不用.2,6,7腳為警音
控制端,按下S1、S2、S3可發(fā)出不同的警音
5腳為音頻輸出端,當(dāng)停止音頻輸出時(shí),該腳置低;
電路原理圖如下:
原理圖
pic單片機(jī)源程序如下:
- #include<p12f629.inc> ;
- #include <pic12f629.inc>
- __config 0x3F4C ;_CPC_ON & _CPU_ON & _CPP_ON & _PWRTE_OFF & _WDT_ON & _FOSC_HS ; 0x3F4C
- ; RAM-Variable
- CSR1 equ 0x20
- CSR2 equ 0x21
- STATUS_TEMP equ 0x2C
- PCL_TEMP equ 0x2D
- DE_TIME1 equ 0x22
- DE_TIME0 equ 0x23
- DE_TIME2 equ 0x24
- DE_TIME3 equ 0x25
- TIME_TMP0 equ 0x26
- TIME_TMP1 equ 0x27
- SOUND_D_TIME0 equ 0x28
- SOUND_D_TIME1 equ 0x29
- DE_TMEP0 equ 0x2A
- DE_TMEP1 equ 0x2B
- CON_SOUND equ 0x55
- SOUND_B_TIME0 equ 0x56
- SOUND_B_TIME1 equ 0x57
- SOUND_D_TIME2 equ 0x58
- CON_A_STAY equ 0x59
- TR0_TIME equ 0x5A
- SOUND_C_TIME1 equ 0x5B
- SOUND_D_TIME3 equ 0x5C
- SOUND_C_TIME0 equ 0x5D
- W_TEMP equ 0x5E
- ; Program
- Org 0x0000
- ; Reset-Vector
- GOTO MAIN
- Org 0x0004
- ; Interrupt-Vector
- MOVWF W_TEMP
- SWAPF STATUS,W
- BCF STATUS,RP0
- MOVWF STATUS_TEMP
- MOVF PCLATH,W
- MOVWF PCL_TEMP
- GOTO Interrupt_0
- Interrupt_0
- BTFSC INTCON,T0IF
- BTFSS INTCON,T0IE
- GOTO Interrupt_exit
- MOVF TR0_TIME,W
- ADDWF TMR0,F
- MOVLW 0x04
- BCF INTCON,T0IF
- BSF CON_SOUND,2
- XORWF GPIO,F
- CLRWDT
- Interrupt_exit
- MOVF PCL_TEMP,W
- MOVWF PCLATH
- SWAPF STATUS_TEMP,W
- MOVWF STATUS
- SWAPF W_TEMP,F
- SWAPF W_TEMP,W
- RETFIE
- ;*****************************************
- RAM_00
- MOVLW 0x49
- MOVWF CSR1
- MOVLW 0x21
- MOVWF CSR2
- MAIN_RAM
- INCF CSR2,F
- MOVF CSR2,W
- MOVWF FSR
- CLRF INDF
- DECFSZ CSR1,F
- GOTO MAIN_RAM
- CLRF CSR2
- RETURN
- MAIN
- CALL RAM_00
- BSF STATUS,RP0
- ;CALL LADR_0x03FF
- ;MOVWF SFR_0x10
- CLRF STATUS
- MOVLW 0xA7
- CLRF SOUND_B_TIME0
- CLRF SOUND_B_TIME1
- CLRF SOUND_D_TIME2
- CLRF CON_A_STAY
- CLRF TR0_TIME
- CLRF SOUND_C_TIME1
- MOVWF SOUND_D_TIME3
- MOVLW 0xFE
- MOVWF SOUND_C_TIME0
- CLRF STATUS
- MOVLW 0x58
- MOVWF TIME_TMP0
- MOVLW 0x02
- MOVWF TIME_TMP1
- ;CALL DELAY_0
- MOVLW 0x07
- MOVWF CMCON ;SFR_0x19 ; !!Warning: SFR_0x19 is Unimplemented
- MOVLW 0x81
- BSF STATUS,RP0
- MOVWF TMR0
- MOVLW 0x3B ;0x3B
- MOVWF GPIO ;PORTA
- BCF STATUS,RP0
- CLRF GPIO ;PORTA
- BSF INTCON,GIE
- CLRF GPIO ;PORTA
- GOTO SEARCH_KEY
- WHILE_0
- BTFSS CON_SOUND,5
- GOTO WHILE_1
- BCF CON_SOUND,0
- CALL LADR_0x0154
- SEARCH_KEY
- CLRWDT
- BCF STATUS,RP0
- BTFSC GPIO ,4 ;BTFSC GPIO ,4 ;PORTA,4
- GOTO SOUND_A_0
- BTFSC GPIO,5
- GOTO SOUND_B_0
- BTFSC GPIO,0 ;PORTA,0
- GOTO SOUND_C_0
- BTFSC GPIO,1 ; PORTA,1
- GOTO SOUND_D_0
- BTFSS GPIO ,1 ;PORTA,1
- GOTO WHILE_0
-
- WHILE_1
-
- CLRF GPIO ;PORTA
- MOVLW 0xA7
- BCF INTCON,T0IE
- BCF CON_SOUND,5
- BCF CON_SOUND,0
- MOVWF SOUND_D_TIME3
- BCF GPIO,2 ; PORTA,2
- GOTO SEARCH_KEY
- ;********************************
- SOUND_A_0
- BTFSC CON_SOUND,0
- GOTO SOUND_A_1
- BSF INTCON,T0IE
- BSF CON_SOUND,0
- BCF CON_SOUND,5
- SOUND_A_1
- CALL SOUND_A_2
- GOTO SEARCH_KEY
- SOUND_A_2
- BSF STATUS,RP0
- MOVF TMR0,W
- XORLW 0x81
- BTFSC STATUS,Z
- GOTO SOUND_A_3
- MOVLW 0x81
- MOVWF TMR0
- SOUND_A_3
- BCF STATUS,RP0
- BTFSS CON_SOUND,2
- RETURN
- BCF CON_SOUND,2
- INCFSZ CON_A_STAY,F
- GOTO SOUND_A_5
- SOUND_A_EXIT
- MOVLW 0x3B
- MOVWF TR0_TIME
- RETURN
- SOUND_A_5
- MOVLW 0x02
- SUBWF CON_A_STAY,W
- BTFSC STATUS,C
- GOTO SOUND_A_6
- SOUND_A_51
- MOVLW 0x76
- MOVWF TR0_TIME
- RETURN
- SOUND_A_6
- MOVLW 0x03
- SUBWF CON_A_STAY,W
- BTFSC STATUS,C
- GOTO SOUND_A_7
- SOUND_A_61
- MOVLW 0x8F
- MOVWF TR0_TIME
- RETURN
- SOUND_A_7
- MOVLW 0x04
- SUBWF CON_A_STAY,W
- BTFSC STATUS,C
- GOTO SOUND_A_8
- SOUND_A_71
- MOVLW 0x94
- MOVWF TR0_TIME
- RETURN
- SOUND_A_8
- MOVLW 0x05
- SUBWF CON_A_STAY,W
- BTFSC STATUS,C
- GOTO SOUND_A_9
- SOUND_A_81
- MOVLW 0xA3
- MOVWF TR0_TIME
- RETURN
- SOUND_A_9
- MOVLW 0x06
- SUBWF CON_A_STAY,W
- BTFSS STATUS,C
- GOTO SOUND_A_81
- MOVLW 0x07
- SUBWF CON_A_STAY,W
- BTFSS STATUS,C
- GOTO SOUND_A_71
- MOVLW 0x08
- SUBWF CON_A_STAY,W
- BTFSS STATUS,C
- GOTO SOUND_A_61
- MOVLW 0x09
- SUBWF CON_A_STAY,W
- BTFSS STATUS,C
- GOTO SOUND_A_51
- CLRF CON_A_STAY
- GOTO SOUND_A_EXIT
- ;********************************
- SOUND_B_0
- BTFSC CON_SOUND,0
- GOTO SOUND_B_1
- BSF INTCON,T0IE
- BSF CON_SOUND,0
- BCF CON_SOUND,5
- CLRF SOUND_B_TIME0
- CLRF SOUND_B_TIME1
- SOUND_B_1
- CALL SOUND_B_2
- GOTO SEARCH_KEY
- SOUND_B_2
- BSF STATUS,RP0
- MOVF TMR0,W
- XORLW 0x81
- BTFSC STATUS,Z
- GOTO SOUND_B_3
- MOVLW 0x81
- MOVWF TMR0
- SOUND_B_3
- BCF STATUS,RP0
- BTFSS CON_SOUND,1
- GOTO SOUND_B_5
- MOVLW 0x66
- MOVWF TR0_TIME
- BTFSS CON_SOUND,2
- RETURN
- BCF CON_SOUND,2
- INCF SOUND_B_TIME0,F
- BTFSC STATUS,Z
- INCF SOUND_B_TIME1,F
- DECF SOUND_B_TIME1,W
- MOVLW 0x90
- SOUND_B_4
- BTFSC STATUS,Z
- XORWF SOUND_B_TIME0,W
- BTFSS STATUS,Z
- RETURN
- MOVLW 0x02
- CLRF SOUND_B_TIME0
- CLRF SOUND_B_TIME1
- XORWF CON_SOUND,F
- RETURN
- SOUND_B_5
- MOVLW 0x85
- …………
- …………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
警報(bào)聲程序.rar
(2.07 KB, 下載次數(shù): 41)
2017-12-4 17:13 上傳
點(diǎn)擊文件名下載附件
原程序
|
評分
-
查看全部評分
|