标题:
警报声原理图+pic单片机源程序
[打印本页]
作者:
chuanji
时间:
2017-12-4 17:14
标题:
警报声原理图+pic单片机源程序
1脚为电源端接5V电源,8脚接地, 4脚为控制端,暂不用.2,6,7脚为警音
控制端,按下S1、S2、S3可发出不同的警音
5脚为音频输出端,当停止音频输出时,该脚置低;
电路原理图如下:
629.png
(9.78 KB, 下载次数: 79)
下载附件
原理图
2017-12-4 17:11 上传
pic单片机源程序如下:
#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黑下载附件…………
复制代码
所有资料51hei提供下载:
警报声程序.rar
(2.07 KB, 下载次数: 37)
2017-12-4 17:13 上传
点击文件名下载附件
原程序
下载积分: 黑币 -5
作者:
long927688
时间:
2018-5-16 10:23
你好 请问有c语言的源程序可以发一个吗
作者:
yfpc2006
时间:
2019-1-22 23:36
注意:下载的文件是汇编格式的。
作者:
wwd40
时间:
2023-5-8 18:57
是不是随便一个型号都行?
作者:
xjbworld
时间:
2023-8-5 08:28
初学者水平,
作者:
量子工业
时间:
2023-8-24 11:52
一直想找世界各地的警报的频谱,比如频率,波形,占空比等参数,没有资料,有知道的吗?
比如咱的119,120,其他地区的 笛频率,波形等信息
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1