振动传感器拾取到振动信号后经Q1放大给IC1,JS83就是一个PIC12C508单片机,它的6脚按照程序输出所需要的音调波形,经Q2推动升压变压器升压,驱动压电蜂鸣器发声。
原理图:
下面是用PIC16C54做的测试程序,程序按照音调波形图编制。
PIC54 EQU 1FFH
PIC57 EQU 7FFH
SUB EQU 0
PORTA EQU 05H
RA EQU 05H
PORTB EQU 06H
RB EQU 06H
STATUS EQU 03H
PA2 EQU 7
PA1 EQU 6
PA0 EQU 5
TO EQU 4
PD EQU 3
Z EQU 2
DC EQU 1
C EQU 0
DEL200USCount EQU 07H
DEL200US EQU 08H
DEL1SCount EQU 09H
FLAG EQU 0AH
THREE EQU 0BH
KAIJIDEL EQU 0CH
Buf1 EQU 0DH
Buf2 EQU 0EH
DEL10SBuf1 EQU 0FH
DEL10SBuf2 EQU 10H
LXXCount EQU 11H
LXXBuf1 EQU 12H
LXXEndBuf EQU 13H
LXXCount1 EQU 14H
TEMP EQU 1EH
DEL20USCount EQU 1FH
PortAStatus EQU 00H
PortBStatus EQU 01H
;RB.0=振动信号 1
;RB.1=OUT 0
;*******************************************
ORG SUB
MAIN:
GOTO BEGIN
;*******************************************
DELAY1S: ;延时60MS
MOVLW 07H
OPTION
CLRF 1
WAIT:
CLRWDT
MOVF 1,0
XORLW 0EBH
BTFSS STATUS,Z
GOTO WAIT
RETLW 00H
;*******************************************
DELAY: ;发3声控制
MOVLW 3 ;3
MOVWF DEL200US
DELAY1:
MOVLW 200 ;200
MOVWF DEL1SCount
LOOP_100MS:
CLRWDT
BSF RB,1
CALL DELAY200us
BCF RB,1
CALL DELAY200us
DECFSZ DEL1SCount,1
GOTO LOOP_100MS
DECFSZ DEL200US,1
GOTO DELAY1
RETLW 00H
;*******************************************
DELAY_LXX: ;连续发声控制
MOVLW 8 ;8
MOVWF DEL200US
MOVLW 21 ;21
MOVWF TEMP
DELAY11:
MOVLW 60 ;60
MOVWF DEL1SCount
LOOP:
CLRWDT
BSF RB,1
CALL DELAY200us
BCF RB,1
MOVF TEMP,0
MOVWF LXXBuf1
LOOP1:
CALL DELAY20US
DECFSZ LXXBuf1,1
GOTO LOOP1
DECFSZ DEL1SCount,1
GOTO LOOP
DECF TEMP,1
MOVF TEMP,0
MOVWF LXXBuf1
DECFSZ DEL200US,1
GOTO DELAY11
RETLW 00H
;*******************************************
DELAY200us: ;延时200us
MOVLW 50 ;50
MOVWF DEL200USCount
DELAY200us1:
NOP
DECFSZ DEL200USCount,1
GOTO DELAY200us1
RETLW 00H
;*******************************************
DELAY20us: ;延时20us
MOVLW 5 ;5
MOVWF DEL20usCount
DELAY20us1:
DECFSZ DEL20usCount,1
GOTO DELAY20us1
RETLW 00H
;*******************************************
TestZD: ;检测振动信号
MOVLW 40H ;40
MOVWF Buf1
CLRF Buf2
TestZD1:
CLRWDT
BTFSS RB,0 ;ZD input
INCF Buf2,1
DECFSZ Buf1,1
GOTO TestZD1
BCF Flag,0
MOVLW 30H ;30
SUBWF Buf2,1
BTFSS STATUS,C
BSF Flag,0 ;Flag.0=1有振动
RETLW 00H
;*******************************************
BEGIN:
MOVLW PortAStatus
TRIS RA
MOVLW PortBStatus
TRIS RB
MOVLW 07H ;预分频器分频比1/256
OPTION
BCF RB,1
;BTFSS STATUS,TO ;看门狗复位转,上电复位继续
;GOTO MAINLOOP
INIT: ;初始化
CLRF FLAG ;清标志寄存器
KAIJI_1S:
CALL DELAY ;开机响1秒
[
1] [
2]
关键字:PIC 单片机 锁报警器
引用地址:
PIC单片机-锁报警器
推荐阅读最新更新时间:2024-11-13 10:44
CS32F116Q MCU在汽车智能尾灯的应用方案
随着汽车智能化的不断发展,人们开始追求更好的驾驶体验,并对全面的汽车安全性能,提出了更高的要求,其中包括具有重要提示功能的汽车尾灯系统。 通常,汽车尾部的灯组是车辆灯光系统中非常重要的一部分,由刹车灯、倒车灯、转向灯、雾灯组成。尾灯的主要功能是提醒后方车辆,向其传达前车的行驶状态。 为了提高尾灯的显示效果和稳定性,其解决方案通常采用MCU+LED驱动芯片的组合。鉴于需要符合车辆的规格要求,所以需要满足AEC-Q100的可靠性认证,以提高系统的稳定性。 芯海科技CS32F116Q是一款基于ARM Cortex-M3内核的通用车规MCU,满足AEC-Q100认证的要求,可广泛应用于车灯控制、车用电机控制、车窗控制、汽车传感器检
[嵌入式]
图解汽车电子:MCU及汽车电子供应情况追踪
在“图解新能源”栏目之后,我尝试做一些“图解汽车电子”的内容,也是通过整理汽车电子的方方面面,来追踪芯片以及其它电子部件的情况。 当下的几个主要现状是—— · 目前全球范围内汽车芯片的供应环节,少部分车企恢复到满产状态,但是大部分车企存在结构性短缺; · 从芯片企业的角度来看,供应层面会在2022年进入缓解期,但是2023年芯片的产能确实基本都被锁定了; · 从消费电子的芯片来看,MCU的供应已经开始出现供大于求的情况,中国这一波国产替代战斗力十足。 由于汽车芯片是整个芯片行业的一个分支,在通往国产替代的过程中,是可以追踪整个过程。 图1 汽车芯片短缺给汽车行业造成了很大的困扰 PART 1:汽车
[汽车电子]
单片机LCD12864链表实现贪吃蛇源码
单片机源程序如下: #include reg52.h #include stdlib.h #include lcd12864.h #define uchar unsigned char #define uint unsigned int #define Random(x) (rand()%x) #define dgrade 11 #define igrade 15 #define up 9 #define down 13 #define left 12 #define right 14
[单片机]
51单片机数码管详解
一.数码管基础知识 LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用的段数一般为7段,有的另加一个小数点 。LED数码管根据LED的接法不同,分为共阳和共阴两类 。 1.共阳极数码管 指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制,如图a所示。 2.共阴极数码管 指八段数码管的八段发光二极管的阴极(负极)都连在一起,而阳极对应的各段分别控制,如图b所示。 二.静态数码管(以共阳极为例) 1.原理分析 LED 发光二极管的正极共同接在VCC上,这里以单片机P1口为例,当P1口对应引脚为0(即低电平)时数码
[单片机]
单片机数码管显示消隐
不知道同学们是否发现了,我们的这两个数码管动态显示程序的运行效果似乎并不是那么完美,第一个小问题,大家仔细看,数码管的不应该亮的段,似乎有微微的发亮,这种现象叫做“鬼影”,这个“鬼影”严重影响了我们的视觉效果,我们该如何解决呢? 同学们在今后可能会遇到各种各样的实际问题,可能很多都是我们没有讲过的,遇到问题怎么办呢?大家要相信,你作为初学者,遇到的问题肯定不是第一个遇到的,肯定有前辈已经遇到过相同的或类似的问题,他们一般都会在网上发表各种帖子,各种讨论,所以大家遇到问题,首先就应该形成一个到网上搜索的条件反射,这个问题大家可以到网上搜:“数码管消隐”或者“数码管鬼影解决”,多找相关关键词搜索试试,会搜索也是一种能力。 大家在网上搜
[单片机]
小小的水果竟能驱动AVR单片机?
能工作的水果供电的AVR单片机的配置如下: 硬件:Mega88,32KHz外部晶振,2倍负压电路由AVR的PWM驱动,LCD是静态的笔端式LCD,用Mega88的IO口直接驱动,没有分时扫描。 软件:在Timer0中断服务程序中每2秒钟刷新LCD显示,平时AVR工作在空闲模式。Timer1提供PWM波形驱动2倍负压电路。 测量数据: 电路工作时水果电池电压2.5V,整机电流30uA,2倍负电压提供电压大约-3V。 本来觉得水果电池驱动LCD只是展示会上的噱头,三片柠檬的电力,应该足够带动LCD的。不过最初当我用Mega8L做了一个电路却不能用水果电池驱动时,我下决心亲自实践一番,看看水果供电的AVR单片机能否成功。这样
[单片机]
PIC单片机调试心得
我是一位初学者,pic初学者,但是在单片机行当已经混迹多年了。说句实话,c开发环境都大同小异,只不过烧写和在线仿真大同小异。钻研了两天,收到了很多回应和启发。 下面应soso的请求,把最近的调试心得和大家分享 1、 先说说我要做的东西 说来惭愧,这是临时的一个小任务,做一个采集和现实的部分,用两路ad采集模拟量,通过开关进行切换,简单的说就是开关打开,显示一路模拟量;开关关闭,显示另一路模拟量。主电路及其简单,我就直接说了,不附图了。电源通过一个负载(滑动变阻器就可以)回到电源负极,在回路中接入一个电流传感器,实时采集电流信号(如果条件不允许,也可以用康铜丝或者一个大瓦数小数值的采样电阻采集电流信号。然后通过放大,隔离后送入单片机
[单片机]
基于SPI接口的温度测量系统
在当今农业和工业生产过程中,温度作为一个基本物理量起着越来越重要的作用。随着科技的发展,人们对温度测量的要求是越来越高,对温度测量的范围也越来越广。因此,温度测量和控制技术具有一定的必要性。 1 硬件电路设计 系统设计硬件电路分为:控制电路、键盘电路、传感器电路、显示电路和报警电路。AVR单片机接收到TC72温度传感器检测到的温度信号后,经过控制运算给出控制信号,通过LCD显示检测温度的大小;矩阵键盘可以设定温度上下限值,当温度超出设定范围时,报警电路会发出警报,达到温度测量和控制的目的。SPI温控系统的工作原理如图1所示。 1.1 控制电路模块 AVR单片机由Atmel公司利用Flash新技术,研制的RISC
[单片机]