银行一米线的c程序 芯片AT89C52,语音模块接单片机的P34,P35端口,激光模块接单片机的P24,P25端口,语言是

作者&投稿:师温 (若有异议请与网页底部的电邮联系)
使用AT89C52单片机,输入为比较电路,当输入为低电平时,输出警报器接通。该怎么接线,使用哪些端口。~

这电路简单啊,你只要把你的信号接一个IO口,报警控制接一个IO口。程序去判断信号IO,为低的时候就把控制IO赋值1就可以了。

如图:P3口具有除了基本I/O口以外的第二种功能,所以P3口比P1口多了一个“第二输入功能线”和“第二输出功能线”。“第二输出功能线”与锁存器的输出端Q通过一个与非门和管脚部分连接。这样,如果“内部总线”向锁存器Q端输入1时,根据与非门的逻辑关系,与非门的输出端(即场效应管的栅极G)则反相跟随第二输出功能线的电平,此时,如果第二输出功能线为高电平,场效应管输入为低电平,于是场效应管截止,这样,管脚P3.X输出高电平;反之亦然。
当P3.X口作第二功能输入时,输入信号通过一个缓冲器进入“第二输入功能线”,在“读管脚”之前就把第二功能的输入信号读走。

//程序说明--------------------
//程序一直检测激光模块接口,
//如果先检测到里面的接口,延时一段 时间后,又检测到外面的接口信号,说明有人往外走,启动语音“谢谢光临”
//如果先检测到外面的接口信号,延时一段时间后,检测到里面的接口信号,说明有人走进来,启动语音“某某银行竭诚为你服务”
//当有人还在里面的时候,后续的人进来,提示“请退到一米线外”

#include<AT89X52.H>

//端口定义------------------
sbit WELCOME =P3^4;
sbit BYE =P3^5;
sbit INSIDE =P2^4;
sbit OUTSIDE =P2^5;
// 语音(P3.4和P3.5)和激光模块(P2.4和P2.5)

unsigned char someone; //有人 为1,无人0

//延时---------------------
void delay()
{
unsigned char i,j,k;
for(i=0;i<200;i++)
for(j=0;j<200;j++)
for(k=0;k<200;k++);
}

//主程序------------------
void main()
{
while(1)
{
if(INSIDE) //出去
{
delay();
if(OUTSIDE)
{
someone=0;
BYE=0;
}
}
if(OUTSIDE) //进来
{
delay();
if(INSIDE)
{
someone=1;
WELCOME=0;
}
}
if(someone)
{
if(OUTSIDE) //后面有人进来
{
delay();
if(INSIDE)
{
//请退到一米线外
}
}
}
}
}

具体还要按 实际 调整

  #include <reg52.h>
  #define uchar unsigned char
  #define uint unsigned int
  sbit rst=P3^4;
  sbit sda=P3^5;
  uchar flag;
  //sbit key=P2^0;
  //sbit l1=P1^2;
  //sbit l2 =P1^3;
  //sbit fm=P1^7;
  sbit j1=P3^2;
  sbit j2=P3^3;
  uchar flag1,flag2,flag3,flag4;
  void delay(uint z)
  {
  uint x,y;
  for(x=z;x>0;x--)
  for(y=110;y>0;y--);
  }
  void delayus(uint z)
  {
  uint x,y;
  for(x=z;x>0;x--)
  for(y=10;y>0;y--);
  }
  void send_oneline(uchar add)
  {
  uchar i;
  rst=0;
  delay(1);
  rst=1;
  delay(17); /*复位延时 17MS*/
  rst=1;
  delay(6); /* delay 6ms */
  sda=0;
  delay(5); /* delay 5ms */
  for(i=0;i<8;i++)
  {sda=1;
  if(add & 1)
  {delayus(4); /* 400us */
  sda=0;
  delayus(2); /* 200us */
  }
  else {
  delayus(2); /* 200us */
  sda=0;
  delayus(4); /* 400us */
  }
  add>>=1; }
  sda=1;

  }
  void main()
  {
  uchar num;
  while(1)
  {
  if(j1==0)
  {
  flag=1;
  num++;
  while(!j1);
  while(flag)
  {
  if(j2==0)
  {
  while(!j2);
  if(num==1)
  {
  send_oneline(0);
  delay(3000);
  }
  if(num>=2)
  {
  send_oneline(2);
  delay(2500);
  }
  flag=0;
  }
  }
  }
  if(j2==0)
  {
  flag=1;
  num--;
  while(!j2);
  while(flag)
  {
  if(j1==0)
  {
  while(!j1);
  if(num==0)
  {
  num=0;
  send_oneline(1);
  delay(3000);
  }
  if(num>=1)
  {
  send_oneline(3);
  delay(2500);
  }
  flag=0;
  }
  }
  }
  }
  }


合浦县13524327148: 下列关于隐私权的说法中,正确的是() -
柞谦济迪:[选项] A. 有教养的人胸怀宽广,不应该有隐私 B. 侵犯他人隐私是违法行为,都要受刑罚处罚 C. 隐私权受到法律的限制,没有绝对的隐私权 D. 银行执行“一米线”的法律强制规定,保护了储户的隐私权

合浦县13524327148: 谁能简单的说一下 由AT89C52 DS12C887 DS18B20 1602 构成的电子钟的工作原理
柞谦济迪: 第一 构成电子钟的器件是不包含18B20的 它是温度传感器 第二 1602与12c887都是定时时钟芯片 只要任意一片就可以 其中1602使用的是串口传输 硬件简单 不过软件稍微复杂,12c887是并行传输,硬件要求资源多,不过软件容易写

合浦县13524327148: 麻辣烫底料怎么做 -
柞谦济迪: 一、麻辣烫配方骨、肉汤大量(随时加汤)以下是10份(锅)汤料油炒郫县豆瓣 800克郫县豆瓣...

合浦县13524327148: 现实生活中,我们会遇到各种各样的“标志线”,下列属于关爱公民生命健康权的“标志线”是() ①横穿马路的“斑马线” ②施工现场的“警戒线” ③银... -
柞谦济迪:[选项] A. ①②③ B. ②③④ C. ①②④ D. ①③④

合浦县13524327148: STM32VET6单片机的工作频率最高是多少? -
柞谦济迪: 相当于普通8051的0~80MHz,实际工作频率可达48MHz. 单片机,全称单片微型计算机

合浦县13524327148: 谁能告诉我银行一米警示线系统的工作原理啊,救命啊.....
柞谦济迪: 你可以用两个激光探头,放在银行一米线的位置,一前一后.检测到有人进入时,提示“某某银行欢迎你”,当这个人还没有离开,又检测到有人进来时,提示“请退出一米线外等候”,如果这个人退出一米线了,提示“谢谢您的合作”,如果没有离开,继续提示“请退出一米线外等候”.直到第一个人离开,提示“欢迎下次光临”用两个激光探头和接收头就够用了!

合浦县13524327148: 求ADS1112的工作原理和工作过程 -
柞谦济迪: ADS1112是TI公司生产的一款具有两个差动或三个单端通道的自校准ADC,可配置为提供12位到16位精度.该产品使用板上2.048V参考电压(精度为0.05%,漂移为5ppm/C)执行转换过程,其可编程数据速率为15、30、60或240采样/每秒....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网