虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

智能计数

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

    基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下: $MOD52    ORG   0000H         LJMP  MAIN         ORG   0003H         LJMP  0100H         ORG   0013H         LJMP  0150H         ORG   0050HMAIN:    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  PX1NEXT1:   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 , ANEXT:  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 , ANEXT2:  RETI   ORG   0200HHEXTOBCDD: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 , #10HHB3:     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   0250HDISPLAY:  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 , #11111110BAGAIN:   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   RETTAB:     DB    03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH   ;七段码表DELY:    MOV   R1,#80D1:        MOV    R2,#100             DJNZ   R2,$ DJNZ    R1,D1 RET DELAY:   MOV   TMOD , #01H           ;延时子程序         MOV   TL0  , #0FEH         MOV   TH0  , #0FEH  SETB  TR0WAIT:    JNB   TF0  , WAIT         CLR   TF0  CLR   TR0  RETDELY0:   MOV  R1,  #200D3:  MOV  R2,#250          DJNZ  R2,$  DJNZ  R1,D3    RET          END       该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。   由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。

    标签: 单片机 红外 控制系统设计 原理图

    上传时间: 2013-12-22

    上传用户:tangsiyun

  • 飞思卡尔智能车的舵机测试程序

    飞思卡尔智能车的舵机测试程序 #include <hidef.h>      /* common defines and macros */#include <MC9S12XS128.h>     /* derivative information */#pragma LINK_INFO DERIVATIVE "mc9s12xs128" void SetBusCLK_16M(void)             {       CLKSEL=0X00;        PLLCTL_PLLON=1;          //锁相环电路允许位    SYNR=0x00 | 0x01;        //SYNR=1    REFDV=0x80 | 0x01;          POSTDIV=0x00;            _asm(nop);              _asm(nop);    while(!(CRGFLG_LOCK==1));       CLKSEL_PLLSEL =1;          } void PWM_01(void) {     //舵机初始化   PWMCTL_CON01=1;    //0和1联合成16位PWM;    PWMCAE_CAE1=0;    //选择输出模式为左对齐输出模式    PWMCNT01 = 0;     //计数器清零;    PWMPOL_PPOL1=1;    //先输出高电平,计数到DTY时,反转电平    PWMPRCLK = 0X40;    //clockA 不分频,clockA=busclock=16MHz;CLK B 16分频:1Mhz     PWMSCLA = 0x08;    //对clock SA 16分频,pwm clock=clockA/16=1MHz;         PWMCLK_PCLK1 = 1;   //选择clock SA做时钟源    PWMPER01 = 20000;   //周期20ms; 50Hz;    PWMDTY01 = 1500;   //高电平时间为1.5ms;     PWME_PWME1 = 1;   

    标签: 飞思卡尔智能车 舵机 测试程序

    上传时间: 2013-11-04

    上传用户:狗日的日子

  • 智能计数

    智能计数器,对外部信号脉冲进行计数,并将脉冲个数显示出来。 基本要求:计数至少65536个脉冲,并将脉冲个数显示出来。

    标签: 智能计数

    上传时间: 2015-06-22

    上传用户:450976175

  • 基于背景差的实时车辆检测与计数系统

    基于背景差的实时车辆检测与计数系统,小论文,希望对智能交通的研究者有帮助。

    标签: 背景 车辆检测 计数系统

    上传时间: 2013-12-23

    上传用户:huangld

  • 介绍了以AT89C2051单片机为核心的智能频率计的设计

    介绍了以AT89C2051单片机为核心的智能频率计的设计,利用单片机内部的定时(计数)器完成待测信号周期(频率)的测量。对系统的信号预处理电路、控制电路和显示电路三大部分进行了研究,采用RS232接口电路,利用VB6编程语言实现了PC机串口接收控制程序。

    标签: C2051 2051 89C AT

    上传时间: 2017-07-10

    上传用户:2467478207

  • 实时控制与智能仪表 多微机系统的通信技术

    实时控制与智能仪表 多微机系统的通信技术

    标签: 实时控制 智能仪表 微机系统 通信技术

    上传时间: 2013-08-01

    上传用户:eeworm

  • 智能建筑综合布线工程的设计施工与验收

    智能建筑综合布线工程的设计施工与验收

    标签: 智能建筑 工程 综合布线 设计施工

    上传时间: 2013-07-30

    上传用户:eeworm

  • 智能建筑与综合布线系统

    智能建筑与综合布线系统

    标签: 智能建筑 综合布线系统

    上传时间: 2013-04-15

    上传用户:eeworm

  • 智能建筑工程弱电施工图集(上,下册) .PDF

    智能建筑工程弱电施工图集(上,下册) .PDF

    标签: 智能建筑 工程 图集

    上传时间: 2013-08-01

    上传用户:eeworm

  • 智能建筑自动化技术

    智能建筑自动化技术

    标签: 智能建筑 自动化技术

    上传时间: 2013-05-18

    上传用户:eeworm