基于单⽚机汽车防盗报警系统设计-单⽚机毕业课程设计
传感器检测,分别是热释电传感器检测是否有⼈,震动传感器检测车体本⾝是否发⽣震动,车门传感器检测是否车门开关。通过液晶内容和指⽰灯展⽰当前状态,并携带报警装置。
#include <reg52.h>                                      /* 包含头⽂件 */
#include <math.h>
#include "uart.h"
#include "display.h"
#define uint unsigned int
#define uchar unsigned char                          /* 宏定义 */
sbit ale = P2 ^ 6;
sbit start = P2 ^ 7;
sbit eoc = P3 ^ 2;
sbit oe = P3 ^ 3;                              /* 定义adc0809的控制引脚 */
sbit adda = P2 ^ 0;
sbit addb = P2 ^ 1;
汽车电子防盗系统
sbit addc = P2 ^ 2;                              /* adc0809的地址引脚 */
sbit  LED1 = P3^0;
sbit  LED2 = P3^1;
sbit  LED3 = P3^6;
sbit  BUZZ = P3^4;
unsigned long voltdata[8];
uint  realvolt, i, j, k, l, t, sum, a[5];    /* 定义全局变量 */
unsigned char CH;
uchar  add;                                    /* 地址变量 */
uchar  TxBuf[8];                              /* 四个显⽰的位 */
unsigned char t0Count;
unsigned char flagAu = 1;
uchar flag = 0;
/*
* 函数说明
*/
void addselect()                /* 量程选择 */
{
CH++;                  /* 通道号加 */
if ( CH > 7 )          /* 最⼤到5    符号&:按位与符号,⼆进制对应位如果都为1,那么结果的对应位就为1,否则为0 */
CH = 0;        /* 清零,⼀共三个通道0 1 2 对应⼆进制是0000.0001.0010 */
adda = CH & 0x01;    /* 将通道对应的⼆进制0101&0001,结果就是0001,赋值给adda(引脚只能接受最低位的数据,只有1和0),那么adda引脚就是⾼电平 */ addb = (CH & 0x02) >> 1;
addc = (CH & 0x04) >> 2;
delay( 5 );            /* 短延时 */
}