电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>单片机>基于单片机的红外门进控制系统设计与制作(含源程序和原理图)

基于单片机的红外门进控制系统设计与制作(含源程序和原理图)

2009-04-27 | rar | 444 | 次下载 | 10积分

资料介绍

基于单片机红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。
该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:
其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。
精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下:

$MOD52 
  ORG   0000H
         LJMP  MAIN
         ORG   0003H
         LJMP  0100H
         ORG   0013H
         LJMP  0150H
         ORG   0050H
MAIN:    CLR   A
         MOV   30H , A           ;初始化缓存区
         MOV   31H , A
         MOV   32H , A
         MOV   33H , A
         MOV   R6  , A
         MOV   R7  , A
  SETB  EA
  SETB  EX0
  SETB  EX1
  SETB  IT0
  SETB  IT1
  SETB  PX1
NEXT1:   ACALL HEXTOBCDD        ;调用数制转换子程序
         ACALL DISPLAY          ;调用显示子程序
         LJMP  NEXT1

         ORG   0100H  ;中断0服务程序
 LCALL  DELY
 mov 70h,#2
 djnz 70h,next
 JBC  F0,NEXT
        SETB F0
        CLR P0.0
 LCALL  DELY0
 SETB   P0.0        
         MOV   A , R7
   ADD   A , #1
   MOV   R7, A
   MOV   A , R6
         ADDC  A , #0
  MOV   R6 , A
  CJNE  R6 , #07H , NEXT
  CLR   A
  MOV   R6 , A
  MOV   R7 , A
NEXT:  RETI
  ORG   0150H    ;中断1服务程序
 LCALL  DELY
 mov 70h,#2
 djnz 70h,next2
 JBC  F0,NEXT2
 SETB  F0
 CLR P0.0
 LCALL  DELY0
 SETB   P0.0  
 CLR C           
         MOV   A , R7
 
  SUBB   A , #1
  MOV   R7, A
  MOV   A , R6
   SUBB  A , #0
  MOV   R6 , A
  CJNE  R6 , #07H , NEXT2
  CLR   A
  MOV   R6 , A
  MOV   R7 , A
NEXT2:  RETI


  ORG   0200H
HEXTOBCDD:MOV  A , R6               ;由十六进制转化为十进制
         PUSH  ACC
         MOV   A , R7
         PUSH  ACC
  MOV   A , R2
         PUSH  ACC
  CLR   A
         MOV   R3 , A
  MOV   R4 , A
  MOV   R5 , A
  MOV   R2 , #10H
HB3:     MOV   A  , R7              ;将十六进制中最高位移入进位位中
         RLC   A
  MOV   R7 , A
  MOV   A  , R6
  RLC   A
  MOV   R6 , A
  MOV   A  , R5              ;每位数加上本身相当于将这个数乘以2
  ADDC  A  , R5
  DA    A
  MOV   R5 , A
  MOV   A  , R4
  ADDC  A  , R4
  DA    A                   ;十进制调整
  MOV   R4 , A
  MOV   A  , R3
  ADDC  A  , R3
  DJNZ  R2 , HB3
  POP   ACC
  MOV   R2 , A
  POP   ACC
  MOV   R7 , A
  POP   ACC
  MOV   R6 , A
  RET
  ORG   0250H
DISPLAY:

 MOV   R0 , #30H
         MOV   A  , R5
  ANL   A  , #0FH
  MOV   @R0 , A
  MOV   A  , R5
  SWAP  A
  ANL   A  , #0FH
  INC   R0
  MOV   @R0 , A
  MOV   A  , R4
  ANL   A , #0FH
  INC   R0
  MOV   @R0 , A
  MOV   A   , R4
  SWAP  A
  ANL   A  , #0FH
  INC   R0
  MOV   @R0 , A
  MOV   R0 , #30H
  MOV   R2 , #11111110B
AGAIN:   MOV   A  , R2
         MOV   P2 , A
         MOV   A  , @R0
  MOV   DPTR , #TAB
  MOVC  A  , @A+DPTR
  MOV   P1 , A
  ACALL DELAY
  INC   R0
  MOV   A  , R2
  RL    A
  MOV   R2 , A
  JB    ACC.4  , AGAIN

  RET
TAB:     DB    03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH   ;七段码表
DELY:    MOV   R1,#80
D1:        MOV    R2,#100
             DJNZ   R2,$
 DJNZ    R1,D1
 RET 
DELAY:   MOV   TMOD , #01H           ;延时子程序
         MOV   TL0  , #0FEH
         MOV   TH0  , #0FEH
  SETB  TR0
WAIT:    JNB   TF0  , WAIT
         CLR   TF0
  CLR   TR0
  RET
DELY0:   MOV  R1,  #200
D3:  MOV  R2,#250
         DJNZ  R2,$
  DJNZ  R1,D3
 
  RET 
         END      
该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。
   由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 651单片机窗帘控制器仿真程序
  12. 1.93 MB  |  2次下载  |  免费
  13. 751单片机大棚环境控制器仿真程序
  14. 1.10 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费