防宠物踩踏式报警器及其同时测量若干区域面积的方法

文档序号:5874909阅读:235来源:国知局
专利名称:防宠物踩踏式报警器及其同时测量若干区域面积的方法
技术领域
本发明涉及安防电子技术领域,特别是一种防宠物踩踏式报警装置以及一种测量随机分布的若干区域的面积的方法。
背景技术
2010年7月提交国家知识产权局专利局审查的发明“防宠物踩踏式报警器及其轮廓法测量面积区分脚型的方法”借助单片机技术,先跟踪出被踩踏区域的轮廓,然后以“数格子量面积的方法”检测轮廓内区域的面积,据此区分人与小动物的脚型,其防宠物踩踏式报警器仅仅警报人的踩踏,避免了小动物踩踏引起的误报。但是,在理论上,若同时出现多块被踩踏区域,所述轮廓法测量面积的结果虽然有效于区分人与小动物的脚型,却未明确其与各被踩踏区域的一一对应关系,而且,随着跟踪区域轮廓的次数的增加,会“一圈一圈地”缩小。

发明内容
本发明的目的是提供一种防宠物踩踏式报警器及其同时测量若干区域面积的方法,所述同时测量若干区域面积的方法以所述防宠物踩踏式报警器为物理基础,采用单片机技术测量同时被踩踏的若干区域的面积,据此区分人与小动物的脚型,在受到人的踩踏时发出报警声。本发明实现其目的所采用的技术方案是所述防宠物踩踏式报警器由一个长方形框架、电池组、单片机系统、串入并出电路、并入串进电路、音乐电路以及同时测量若干区域面积以区分脚型程序组成;其中,长方形框架的上部和底部各有一组电极,分别称之为列电极组和行电极组,每一组电极包括72根彼此独立、间距均勻、裸露的导线,两组导线排列的方向相互垂直,列电极组的导线依序分别连接到并入串进电路的各个并行输入端,行电极组的导线依序分别连接到串入并出电路的各个并行输出端,单片机系统装载有同时测量若干区域面积以区分脚型程序,其输出口线P3. 7连接到音乐电路的输入端,电池组作为本装置的电源。所述长方形框架的上部和底部的两组电极由该框架的两侧绝缘隔离并支撑着。所述单片机系统包括一块单片机及其晶振电路和上电复位电路、随机存储器电路,其中,随机存储器电路由一块74HC373和64KB的RAM组成。所述串入并出电路由9块74HC164级联组成第一块74HC164的信号串行输入端 A连接到单片机系统的输出口线Pl. 2,其最高位输出端QH连接到第二块的信号串行输入端 A,第二块的最高位输出端QH连接到第三块的信号串行输入端A,依次类推,共产生8 (位/ 块)X9块=72位的信号并行输出端;9块74HC164的清零端与信号串行输入端B都连接到电池组的正极,它们的时钟信号输入端都连接到单片机系统的输出口线Pl. 3。所述并入串进电路由9块74HC165级联组成最后一块74HC165的并入串出信号端QH连接到前一块的信号串行输入端DS,依次类推,共产生8 (位/块)X 9块=72位的信号并行输入端,每一位信号并行输入端还各自连接ー个下拉电阻到电池组的负极,第一块 74HC165的并入串出信号端QH连接到单片机系统的输入口线Pl. 5,这9块74HC165的并入 数据装载控制端/PL都连接到单片机系统的输出ロ线Pl. 6,它们的时钟信号输入端都连接 到单片机系统的输出ロ线Pl. 7,它们的时钟使能输入端/CE都连接到电池组的负极。本发明所述同时測量若干区域面积的方法包含在同时测量若干区域面积以区分 脚型程序中,用于区分人与小动物的脚型,其步骤如下步骤一、初始化单片机M0V_SP,2FH,堆栈初值,CLR_P1. 2,Pl. 3,Pl. 7,P3. 7,准备输出信号,SETB_P1. 5, Pl. 6,准备输入信号,CLR_F0,初始化跟踪区域轮廓工作结束的标志位,步骤ニ、初始化程序CLR_R5, CLR_R6’ R5, R6分别为格子计数器的低字节和高字节,MOV.Ri, #AL,M0V_R2, #AH'RAM中后部开辟有小块临时存储区,用于存储被跟踪区域 的轮廓上坐标点的坐标,#AL, #AH分别为该区域的起始地址之低、高字节,R1, R2分别为RAM 中临时存储区地址指针的低字节和高字节寄存器,M0V_DPL, #AL, M0V_DPH, #AHMOV_R0, #RAM0, M0V_A, #00H ,#RAM0 为 RAM 中临时存储区的大小,LoopO :M0VX_iDPTR, A ,清零RAM中临时存储区中的ー个单元,INC_DPTR,指向下ー单元,DJNZ_R。,LoopO ,R0 为循环计数器,CLR_R7,初始化踩踏区域数目计数器,Loopl :MOV_R0, #Number_C0L ,Number_C0L 为列电极组中导线的数目,Loop2 :M0V_R3, #Number_R0W ,Number_R0ff 为行电极组中导线的数目,SETB_P1. 2,NOP, CLR_P1. 2 ,清零串入并出电路的9块74HC164的输出端,DJNZ_R3, Loop2,R3 为循环计数器,DJNZ_R0, Loopl,R0 为循环计数器,M0V_DPH, #00H, M0V_DPL, #00H ,初始化数据指针 DPTR,,分开为两个8位的x,y坐标指针,步骤三、开始扫描检测被踩踏的区域1)通过单片机对行电极组中的第一根导线输出一个高电平,然后,逐根检测列 电极组中导线的电平,其低、高电平分别以#00H,#01H表示且存储之M0V_@DPTR,#00H或 M0V_iDPTR, #01H,其中,每检测完ー根列电极组导线,y坐标指针就指向下一根列电极组导 线INC_DPL,如果检查完毕列电极组中的全部导线,即DPL = Number_C0L,把x,y坐标指针指 向下一根行电极组导线INC_DPH,M0V_DPL, #00H ;2)通过单片机对行电极组中的下一根导线输出一个高电平,然后,逐根检测列电 极组中导线的电平,其低、高电平分别以#00H,#01H表示且存储之,其中,每检测完ー根列 电极组导线,y坐标指针就指向下一根列电极组导线,
如果检查完毕列电极组中的全部导线,即DPL = Number_C0L,把x,y坐标指针指向下一根行电极组导线;3)判断行电极组中当前处于高电平的导线是否超出其最后一根仏冲?!^灿!^一!^!^^丨行电极组中导线的数目^不是最后一根,跳转到本步骤三之2)继续进行扫描检测;(b)DPH = Number_R0ff,已超出最后一根,执行下一步骤;步骤四、跟踪被踩踏区域的轮廓1)初始化 X,y 坐标指针 DPTR :M0V_DPH, #01H, M0V_DPL, #01H ;2)暂存当前X,y坐标指针DPTR,称之为当前跟踪坐标指针,从RAM取出并查看当前位置的数据M0V_A,ODPTR (a)如果该数据为#00H,执行本步骤四之3);(b)如果该数据为#01H,查看位于当前坐标位置的上、右、下与左方的四邻 {(DPH — DPH-I,DPL)、(DPH, DPL — DPL+1)、(DPH — DPH+1, DPL)与(DPH,DPL — DPL-1)} 处的四个数据,即按照跟踪区域轮廓的规则获取与行、列电极组导线被踩踏所致接触的区域对应的轮廓,并用相应的数码标志该轮廓所包围的区域;然后,执行本步骤四之3);3)恢复当前X,y坐标指针DPTR为当前跟踪坐标指针,把它指向下一个坐标点 如果当前坐标点已经处于本行最后的位置,即DPL = Number_C0L-l时,下一个坐标点为 (DPH — DPH+1, DPL — 1),否则,下一个坐标点为(DPH, DPL — DPL+1);4)如果X,y坐标指针DPTR尚未指向最后一行,即DPH < Number_R0W_l,跳转本步骤四之2),继续跟踪被踩踏区域的轮廓,否,则结束跟踪被踩踏区域轮廓的工作;步骤五、查看跟踪区域轮廓工作结束的标志位Ftl 如果Ftl = 0,说明没有被踩踏的区域,转到步骤一,重新开始扫描检查工作;如果Ftl = 1,清零该标志位=CLILFci,然后查看踩踏区域数目计数器R7 (a)如果R7 = 0,说明没有形成被踩踏的区域,转到步骤一,重新开始扫描检查工作;(b)如果R7 ^ 1,说明发生了被踩踏的区域,其数目就是R7中的计数值,执行下一步骤;步骤六、运用“数格子量面积的方法”,获得与当前的踩踏区域数目计数器R7对应的被踩踏区域的面积=S(R7);然后,把踩踏区域数目计数器&减1 :DEC_R7 步骤七、如果R7 ^ 1,继续执行步骤六,以获得下一块被踩踏区域的面积=S(R7),如果R7 = 0,结束数格子量面积的工作;步骤八、如果上述R7块被踩踏区域中有一块的面积S (R7)彡Area, (Area为某个预定值),就判断为受到人的脚的踩踏,并发出警报信号SETB_P3. 7,延时约十秒,再撤除该报警信号CLR_P3. 7 ;步骤九、跳转到步骤一,开始新的一轮扫描检测工作。上述步骤四中所述跟踪区域轮廓的规则包括1)被跟踪区域的特征是“被跟踪区域内的每一个坐标点都对应着数据#01H,需要被跟踪的区域之外或需要被跟踪的区域之间的坐标点都对应着数据#00H” ;
2)启动跟踪轮廓定时器,如果该定时器的计时时间到了预定的数置,复位单片机;3)当前坐标位置对应的数据为#01H,查看当前坐标位置的上、右、下与左方四个邻点对应的数据的关系,决定当前坐标位置的移动方向,该移动方向经过的路径就形成该区域的轮廓,有关移动当前坐标位置的规则如下a)如果其右方邻点对应的数据为#01H,其上、下、左方邻点对应的数据都为#00H, 就把当前坐标位置移向其右方邻点处;b)如果其下方邻点对应的数据为#01H,其上、右、左方邻点对应的数据都为#00H, 就把当前坐标位置移向其下方邻点处;c)如果其左方邻点对应的数据为#01H,其上、右、下方邻点对应的数据都为#00H, 就把当前坐标位置移向其左方邻点处;d)如果其上方邻点对应的数据为#01H,其右、下、左方邻点对应的数据都为#00H, 就把当前坐标位置移向其上方邻点处;e)如果其右、下方邻点对应的数据都为#01H,其左、上方邻点对应的数据都为 #00H,就把当前坐标位置移向其右方邻点处;f)如果其下、左方邻点对应的数据都为#01H,其上、右方邻点对应的数据都为 #00H,就把当前坐标位置移向其下方邻点处;g)如果其左、上方邻点对应的数据都为#01H,其右、下方邻点对应的数据都为 #00H,就把当前坐标位置移向其左方邻点处;h)如果其上、右方邻点对应的数据都为#01H,其下、左方邻点对应的数据都为 #00H,就把当前坐标位置移向其上方邻点处;i)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为 #00H,且其由其左方邻点移动而来,就把当前坐标位置移向其上方邻点处;j)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为 #00H,且其由其右方邻点移动而来,就把当前坐标位置移向其下方邻点处;k)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为 #00H,且其由其上方邻点移动而来,就把当前坐标位置移向其右方邻点处;1)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为 #00H,且其由其下方邻点移动而来,就把当前坐标位置移向其左方邻点处;m)如果其上方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其右方邻点处;η)如果其右方邻点对应的数据为#00Η,其余三个邻点对应的数据都为#01Η,就把当前坐标位置移向其下方邻点处;ο)如果其下方邻点对应的数据为#00Η,其余三个邻点对应的数据都为#01Η,就把当前坐标位置移向其左方邻点处;ρ)如果其左方邻点对应的数据为#00Η,其余三个邻点对应的数据都为#01Η,就把当前坐标位置移向其上方邻点处;q)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中也没有出现本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,尝试退出该“奇异的隅角”把当前坐标位置对应的数据置为#00H,从RAM内的临时存储区取出最后存进去的坐标值,把该坐标值赋予当前坐标位置指针即(DPH,DPL),也就是退回到前一个位置的坐标处,然后,按照上述跟踪区域轮廓的规则继续跟踪下一个曲线轮廓点,如果能够找到下一个曲线轮廓点,就继续跟踪区域轮廓的工作,否则,所遇到的“奇异的隅角”表明不存在封闭、连续的轮廓曲线,即没有形成被踩踏的区域,这时,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器1^ ,设置跟踪区域轮廓工作结束的标志位 SETB-Ftl,结束本轮跟踪区域轮廓的工作;r)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中出现了本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,把踩踏区域数目计数器R7加1 :INC_R7,然后,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1, &,设置跟踪区域轮廓工作结束的标志位=SETB-Ftl,结束本轮跟踪区域轮廓的工作;4)每次移动当前坐标位置之前,根据RAM中临时存储区地址指针寄存器R1, R2把当前位置的坐标(DPH,DPL)依序存储在RAM内的临时存储区,然后使得RAM中临时存储区地址指针寄存器R1, R2指向下一处存储单元;5)每次移动当前坐标位置之前,把当前坐标位置对应的数据改写成R7+#01H,即 M0V_A, R7, INC_A,M0VX_iDPTR, A ;6)上述诸规则中,所述数据#00H与非#01H的其它数据等效。上述步骤四所述“用相应的数码标志该轮廓所包围的区域”的实施方法包括下述步骤步骤一、初始化X,y 坐标指针 DPTR :M0V_DPH, #01H, M0V_DPL, #01H ;步骤二、如果χ,y坐标指针DPTR已经指向最后一行即DPH = Number_R0W-l,则结束标志轮廓区域的工作;步骤三、从RAM取出并查看当前位置的数据M0V_A,iDPTR,1)如果该数据不等于#01H,χ, y坐标指针DPTR指向其下一个坐标点,然后,继续执行本实施方法之步骤二;2)如果该数据等于#01H,先暂存当前位置的x,y坐标指针DPTR,并称之为目标位置,然后,查看该目标位置是否处于轮廓所包围之中(a)把当前位置的X,y坐标指针DPTR指向目标位置的左方,逐个坐标点地取出它们对应的数据,即DEC_DPL,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器 R7,即 CLR_C,SUBB_A, R7 如果遇到等于R7的坐标点,跳到本实施方法步骤三之2) (b),继续查看工作;如果进行到DPL = 0还没有遇到等于R7的坐标点,就把x,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;(b)把当前位置的X,y坐标指针DPTR指向目标位置的右方,逐个坐标点地取出它们对应的数据,即INC_DPL,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器R7:如果遇到等于R7的坐标点,跳到本实施方法步骤三之2) (C),继续查看工作;如果进行到DPL = Number_C0L-l还没有遇到等于R7的坐标点,就把x,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;(c)把当前位置的x,y坐标指针DPTR指向目标位置的上方,逐个坐标点地取出它们对应的数据,即DEC_DPH,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器R7:如果遇到等于R7的坐标点,跳到本实施方法步骤三之2) (d),继续查看工作;如果进行到DPH = 0还没有遇到等于R7的坐标点,就把x,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;(d)把当前位置的x,y坐标指针DPTR指向目标位置的下方,逐个坐标点地取出它们对应的数据,即INC_DPH,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器R7:如果遇到等于R7的坐标点,说明该目标位置位于踩踏区域数目计数器R7对应的轮廓所包围的区域内,把该目标位置作上数码标记M0V_A,R7, M0VX_iDPTR, Α,然后,把x,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;如果进行到DPH = Number_R0ff-l还没有遇到等于R7的坐标点,把x,y坐标指针 DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;3)本实施方法之步骤三所述“下一个坐标点”的含义是,如果当前坐标点已经处于本行最后的一列即DPL = Number_C0L-l时,下一个坐标点为(DPH — DPH+1, DPL 一 1),否则,下一个坐标点为(DPH,DPL 一 DPL+1)。上述步骤六所述数格子量面积的方法包括下述步骤步骤一、初始化X,y 坐标指针 DPTR :M0V_DPH, #00H, M0V_DPL, #00H ;步骤二、从RAM取出并查看当前位置的数据M0V_A,iDPTR,(a)如果该数据不等于踩踏区域数目计数器R7,跳到本方法之步骤三;(b)如果它等于踩踏区域数目计数器R7,查看当前坐标位置的正下方 (DPH — DPH+1, DPL)、左下角(DPH — DPH+1,DPL — DPL-1)两处的数据是否同时等于踩踏区域数目计数器R7,是,则格子计数器^ft加1 ;还要查看当前坐标位置的右邻(DPH,DPL —DPL+1)对应的数据是否等于踩踏区域数目计数器R7:是,跳转本方法之步骤三,否,进一步查看当前坐标位置的正下方(DPH —DPH+1,DPL)、右下角(DPH —DPH+1, DPL — DPL+1)两处的数据是否同时等于踩踏区域数目计数器R7,是,则格子计数器1 也加1 ;若当前坐标位置位于边上的第一行、第一列、最后一行或最后一列,则当前坐标位置的正下方、左下角、右邻与右下角在RAM中没有相应的数据,此时其坐标的特点是DPH < 0、DPL < 0、DPH = Number_R0ff 或 DPL = Number_C0L,权当这些坐标点处的数据为 #00H ;步骤三、χ, y坐标指针DPTR指向当前坐标位置的下一个坐标点如果当前坐标点已经超出本行倒数第一列,即DPL = Number_C0L时,下一个坐标点为(DPH — DPH+1, DPL 一 0),否则,下一个坐标点为(DPH,DPL 一 DPL+1);步骤四、如果X,y坐标指针DPTR尚未超出倒数第一行,即DPH < Number_R0W,跳转本方法之步骤二,继续本次数格子量面积的工作;
否,则计算与踩踏区域数目计数器R7对应的区域的面积S(R7) = Ii6Ii5Xi^uare,其中,Sstium为一个格子的面积,由行、列电极组内导线的间距决定,清零格子计数器Ii6R5,结束本次数格子量面积的工作。本发明的优点是,按照行、列两电极组导线的排列建立二维坐标系,借助单片机就可以扫描检测被踩踏的若干区域、跟踪它们的轮廓、用序数标志各个轮廓内的区域、对各个区域分别数格子算面积、判断脚型并决定是否发出报警声;所述测量面积的方法完备,普遍适用。


下面对照附图进一步具体说明本发明。图1是本发明的结构示意图。图2是单片机系统的原理图。图3是串入并出电路的原理图。图4是用数码表示被踩踏的区域以及数格子量面积的方法示意图。图5是并入串进电路的原理图。图6是跟踪区域轮廓的规则的示意图,包括情形(a)-(r);其中,每一种情形的中心为当前坐标位置,虚线箭头表示当前位置的来源方向,实线箭头表示当前位置的移动方向,数据0与其它非1的数据等效,情形(q)表示跟踪轮廓过程中可能遇到的“奇异的隅角”,情形(r)表示跟踪轮廓过程的结束条件,其中的Ii7表示本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一。图7是说明跟踪被踩踏区域轮廓的前一部分过程的示意图。图中,1.长方形框架,11.长方形框架1的侧面(宽),12.长方形框架1的侧面 (长),13.长方形框架1底板上的(行)电极组,14.位于长方形框架的上部的(列)电极组,141.目标区域I,142.扫描检测到的第一个目标区域的轮廓的跟踪起始点,143.跟踪目标区域轮廓的行扫描检测方向,144.跟踪目标区域I获得的轮廓,145.目标区域Π, 21.-29. 74HC164,31. -39. 74HC165。
具体实施例方式本发明包括一个长方形框架(1)、电池组、单片机系统、串入并出电路、并入串进电路、音乐电路以及同时测量若干区域面积以区分脚型程序。长方形框架(1)如图1所示,其上部和底部各有一组电极(14)和(13),分别称之为列电极组和行电极组,每一组电极由72根裸露的金属导线组成,这些导线彼此独立,间距均勻,两组电极(14)和(13)的导线排列的方向相互垂直(不作严格要求),由框架(1) 的两侧(11)或(1 绝缘隔离并支撑着,整个长方形框架的外部包裹着绝缘材料,外形似踏脚垫。单片机系统如图2所示,图中没有画出单片机的上电复位电路和时钟电路。假设行、列电极组各有256根导线,会产生256X256 = 65536个交叉点,每个交叉点有两种状态分离或接触,而64KB = 64X 1024 = 64X 210 = 65536,因此,需要扩展64KB片外RAM, 其中还要包括至少256BX2X4 = 2KB RAM内的临时存储区,以存储各轮廓点坐标的高、低字节。单片机需要选用8051系列中具有40个脚的,最好它自带片内Flash程序存储器,这时,其单片机的引脚/EA接到电源正极。所述串入并出电路如图3所示,由九块8位串入并出移位寄存器
74HC164(21)-(29)级联组成,其72个输出端QA, QB, QC, QD, QE,......分别依次连接到长
方形框架(1)的底部的行电极组(13)中的每根金属导线。所述并入串进电路如图5所示,由九块8位并入串出移位寄存器
74HC165(31)-(39)级联组成,其72个输出端A,B,C,D,E,......分别依次连接到长方形框
架(1)的上部的列电极组(14)中的每根金属导线。这72个输出端A,B,C,D,E,......的
每一个还各自连接一个 30ΚΩ的下拉电阻到电源的负端,因为简洁缘故,图5中并没有全部画出这些下拉电阻。音乐电路采用音乐集成电路配合扬声器,或者只使用一只蜂鸣器,用于发出报警声。平时,行、列电极组中导线在空间上相互交叉但没有接触,列电极组中的导线的电势被下拉到电源地,单片机通过串入并出电路逐根扫描式输出高电平到行电极组的导线。 受到踩踏时,被踩踏的区域内行、列电极组中的导线发生接触,依序使得位于这些接触点的列电极组中的导线也处于高电平。可以选取位于左上角的第一个交叉点所在处作坐标系的原点,按照行、列电极组中导线的排列方向建立坐标系,单片机通过扫描检测获得空间上相互交叉的点的高、低电平,被存储在64KB片外RAM中。这样,用#00H,#01H两个数码就表示了整个防宠物踩踏式报警器所警戒的区域的状况。为了对各个被踩踏区域分别“数格子量面积”,需要区分被踩踏的区域,其工作包括“跟踪被踩踏区域的轮廓”和“用相应的数码标志该轮廓所包围的区域”,即以不同的数码跟踪并标志出不同的被踩踏的区域,参见图4所示。同时测量若干区域面积以区分脚型程序之步骤四叙述了“跟踪被踩踏区域的轮廓”的方法,它按照从左向右、从上向下的行、列检测顺序,寻找代表被踩踏的电极接触点的数据#01H,直到最后一行的最后一个坐标点被搜索完毕为止。每一次找到数据#01H时, 先暂存当前X,y坐标指针DPTR,称之为当前跟踪坐标指针,然后,遵循“跟踪区域轮廓的规则”(如图6所描述),开始跟踪从此坐标点起始的被踩踏区域(用数据#01H表示)的轮廓。跟踪过程中,χ, y坐标位置指针逐个坐标点地移动,每一次移动前,当前坐标点的数据被改写成踩踏区域数目计数器R7的计数值加上#01H,其坐标(DPH,DPL)被保存在RAM内的临时存储区,它们构成了被跟踪区域的轮廓。跟踪完一块独立的区域以后,踩踏区域数目计数器R7加1,表示刚才被跟踪的区域的顺序计数。紧接着,开始同时测量若干区域面积以区分脚型程序之步骤四所述“用相应的数码标志该轮廓所包围的区域”的标志工作按照从左向右、从上向下的行、列检测顺序,逐个坐标点地在整个防宠物踩踏式报警器所警戒的区域内搜索数据#01H,如果找到了 #01H的坐标点,就分析它是否处于计数值R7所表示的轮廓之包围中,如果它属于该轮廓包围圈内, 用数码R7赋予该坐标点;所述标志工作一直进行到最后一行的最后一个坐标点才告结束。每跟踪、标志完一块被踩踏区域,恢复X,y坐标位置指针为“跟踪被踩踏区域的轮廓”过程中的“当前跟踪坐标指针”,指向其下一个位置,继续跟踪其它被踩踏区域的轮廓并加以标志,一直进行到最后一行的最后一个坐标点才告结束。图7示意了跟踪被踩踏区域轮廓的前一部分过程。逐块跟踪被踩踏区域的轮廓并用被踩踏区域计数值R7加以标志,这项工作结束以后,接着是一块一块地“数格子量面积”。“数格子量面积的方法”如同时测量若干区域面积以区分脚型程序之步骤六所述。 参见图4,数格子的规则之要点是1)从左向右、从上向下逐个坐标点地查看并统计格子, 2)遇到相应的标志数码R7的时候,先按照a — b — c路线进行查看,如果该路线上相关的三个交叉点的数据都为标志数码R7,则表示该踩踏区域内包围了一个格子;然后,查看其右边的点e的数据是否为标志数码R7 是,则按下一个坐标点来统计格子,否,则按照a — b — d 路线查看,如果该路线上相关的三个交叉点的数据都为标志数码R7,则表示该踩踏区域内还得计数一个格子;幻数到最后一行的最后一个坐标点结束本次数格子工作。这时,把踩踏区域数目计数器R7减去1,然后开始对下一块被踩踏区域数格子,如此进行,直到踩踏区域数目计数器R7 = 0。踩踏区域的面积等于统计出的被踩踏区域内格子的数量乘上一个格子的面积。根据被踩踏区域面积的大小,可以分析受到的踩踏的性质,判断是否属于人的踩踏还是小动物的踩踏。这项分析判断工作放在跟踪并标志完全部被踩踏区域以后进行,也可以在每跟踪并标志完一块被踩踏区域以后就立即进行,这样,装置的反应速度要快一些。本发明所述单片机系统的输出或输入端口线可以根据实际情形加以变换,所述列或行电极组所包含的导线的数目及其间距、相应的串入并出、并入串出移位寄存器的数目以及随机存储器的容量可以根据本发明所述扫描检测原理增加或减少。
权利要求
1.防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征是所述防宠物踩踏式报警器由一个长方形框架、电池组、单片机系统、串入并出电路、并入串进电路、音乐电路以及同时测量若干区域面积以区分脚型程序组成;其中,长方形框架的上部和底部各有一组电极,分别称之为列电极组和行电极组,每一组电极包括72根彼此独立、间距均勻、裸露的金属导线,两组电极的导线排列的方向相互垂直,列电极组的导线依序分别连接到并入串进电路的各个并行输入端,行电极组的导线依序分别连接到串入并出电路的各个并行输出端,单片机系统装载有同时测量若干区域面积以区分脚型程序,其输出口线P3. 7连接到音乐电路的输入端,电池组作为本装置的电源。
2.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征是所述长方形框架的上部和底部的两组电极由该框架的两侧绝缘隔离并支撑着。
3.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征是所述单片机系统包括一块单片机及其晶振电路和上电复位电路、随机存储器电路, 其中,随机存储器电路由一块74HC373和64KB的RAM组成。
4.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征是所述串入并出电路由9块74HC164级联组成第一块74HC164的信号串行输入端A 连接到单片机系统的输出口线Pl. 2,其最高位输出端QH连接到第二块的信号串行输入端 A,第二块的最高位输出端QH连接到第三块的信号串行输入端A,依次类推,共产生8 (位/ 块)X9块=72位的信号并行输出端;9块74HC164的清零端与信号串行输入端B都连接到电池组的正极,它们的时钟信号输入端都连接到单片机系统的输出口线Pl. 3。
5.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征是所述并入串进电路由9块74HC165级联组成最后一块74HC165的并入串出信号端QH连接到前一块的信号串行输入端DS,依次类推,共产生8 (位/块)X 9块=72位的信号并行输入端,每一位信号并行输入端还各自连接一个下拉电阻到电池组的负极,第一块 74HC165的并入串出信号端QH连接到单片机系统的输入口线Pl. 5,这9块74HC165的并入数据装载控制端/PL都连接到单片机系统的输出口线Pl. 6,它们的时钟信号输入端都连接到单片机系统的输出口线Pl. 7,它们的时钟使能输入端/CE都连接到电池组的负极。
6.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征在于,所述同时测量若干区域面积的方法包含在所述同时测量若干区域面积以区分脚型程序中,用于区分人与小动物的脚型,其步骤如下步骤一、初始化单片机’堆栈初值,’准备输出信号, ’准备输入信号,’初始化跟踪区域轮廓工作结束的标志位,步骤二、初始化程序CLR_R5,CLR_R6,R5, R6分别为格子计数器的低字节和高字节,M0V_R1 #AL, M0V_R2,#AH ,RAM中后部开辟有小块临时存储区,用于存储被跟踪区域的轮廓上坐标点的坐标,#AL, #AH分别为该区域的起始地址之低、高字节,R1, R2分别为RAM 中临时存储区地址指针的低字节和高字节寄存器,M0V_SP,2FHCLR_P1. 2,PL 3,PL 7,P3. 7SETB_P1. 5,PL 6CLR_F0M0V_DPL, #AL, M0V_DPH, #AHMOV_R0,#RAM0,M0V_A, #00H ,#RAM0 为 RAM 中临时存储区的大小,LoopO :MOVX_iDPTR, A,清零RAM中临时存储区中的ー个单元,INC_DPTR,指向下ー单元,DJNZ_R0, LoopO,R0为循环计数器,CLR_R7,初始化踩踏区域数目计数器,Loopl :MOV_R0, #Number_COL ,Number_COL 为列电极组中导线的数目,Loop2 :M0V_R3, #Number_ROW ,Number_ROff 为行电极组中导线的数目,SETB_P1. 2,NOP, CLR_P1. 2 ,清零串入并出电路的9块74HC164的输出端,DJNZ_R3,Loop2,R3为循环计数器,DJNZ_R0, Loopl,R0为循环计数器,MOV_DPH, #00H, MOV_DPL, #00H'初始化数据指针 DPTR,,分开为两个8位的x,y坐标指针, 步骤三、开始扫描检测被踩踏的区域1)通过单片机对行电极组中的第一根导线输出一个高电平,然后,逐根检测列电极组 中导线的电平,其低、高电平分别以#00H,#01H表示且存储之M0V_@DPTR,#00H或MOVJg DPTR, #01H,其中,每检测完ー根列电极组导线,y坐标指针就指向下一根列电极组导线 INC_DPL,如果检查完毕列电极组中的全部导线,即DPL = Number_C0L(列电极组中导线的数 目),把x,y坐标指针指向下一根行电极组导线INC_DPH,M0V_DPL, #00H ;2)通过单片机对行电极组中的下一根导线输出一个高电平,然后,逐根检测列电极组 中导线的电平,其低、高电平分别以#00H,#01H表示且存储之,其中,每检测完ー根列电极 组导线,y坐标指针就指向下一根列电极组导线,如果检查完毕列电极组中的全部导线,即DPL = Number_COL,把x,y坐标指针指向下 一根行电极组导线;3)判断行电极组中当前处于高电平的导线是否超出其最后ー根(a)DPH<Number_ROW(行电极组中导线的数目),不是最后一根,跳转到本步骤之2) 继续进行扫描检测;(b)DPH= Number_ROff,已超出最后ー根,执行下ー步骤; 步骤四、跟踪被踩踏区域的轮廓1)初始化x,y 坐标指针 DPTR :M0V_DPH, #01H, M0V_DPL, #01H ;2)暂存当前x,y坐标指针DPTR,称之为当前跟踪坐标指针,从RAM取出并查看当前位 置的数据M0V_A,ODPTR (a)如果该数据为#00H,执行本步骤四之3);(b)如果该数据为#01H,查看位于当前坐标位置的上、右、下与左方的四邻 {(DPH 一 DPH-I,DPL)、(DPH, DPL 一 DPL+1)、(DPH 一 DPH+1, DPL)与(DPH,DPL 一 DPL-1)} 处的四个数据,即按照跟踪区域轮廓的规则获取与行、列电极组导线被踩踏所致接触的区 域对应的轮廓,并用相应的数码标志该轮廓所包围的区域;然后,执行本步骤四之3);3)恢复当前X,y坐标指针DPTR为当前跟踪坐标指针,把它指向下一个坐标点如果当前坐标点已经处于本行最后的位置,即DPL = Number_C0L-l时,下一个坐标点为 (DPH — DPH+1, DPL — 1),否则,下一个坐标点为(DPH, DPL — DPL+1);4)如果X,y坐标指针DPTR尚未指向最后一行,即DPH< Number_R0W-l,跳转本步骤四之2),继续跟踪被踩踏区域的轮廓,否,则结束跟踪被踩踏区域轮廓的工作;步骤五、查看跟踪区域轮廓工作结束的标志位Ftl 如果Ftl = 0,说明没有被踩踏的区域,转到步骤一,重新开始扫描检查工作;如果Ftl = 1,清零该标志位=CLILFci,然后查看踩踏区域数目计数器R7 (a)如果R7= 0,说明没有形成被踩踏的区域,转到步骤一,重新开始扫描检查工作;(b)如果R7^ 1,说明发生了被踩踏的区域,其数目就是R7中的计数值,执行下一步骤;步骤六、运用“数格子量面积的方法”,获得与当前的踩踏区域数目计数器R7对应的被踩踏区域的面积=S(R7);然后,把踩踏区域数目计数器&减1 :DEC_R7 步骤七、如果R7 ^ 1,继续执行步骤六,以获得下一块被踩踏区域的面积=S(R7),如果R7 =0,结束数格子量面积的工作;步骤八、如果上述R7块被踩踏区域中有一块的面积S(R7) ^ Area, (Area为某个预定值),就判断为受到人的脚的踩踏,并发出警报信号SETB_P3. 7,延时约十秒,再撤除该报警信号CLR_P3. 7 ;步骤九、跳转到步骤一,开始新的一轮扫描检测工作。
7.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征在于,所述同时测量若干区域面积以区分脚型程序之步骤四中所述跟踪区域轮廓的规则包括1)被跟踪区域的特征是“被跟踪区域内的每一个坐标点都对应着数据#01H,需要被跟踪的区域之外或需要被跟踪的区域之间的坐标点都对应着数据#00H” ;2)启动跟踪轮廓定时器,如果该定时器的计时时间到了预定的数置,复位单片机;3)当前坐标位置对应的数据为#01H,查看当前坐标位置的上、右、下与左方四个邻点对应的数据的关系,决定当前坐标位置的移动方向,该移动方向经过的路径就形成该区域的轮廓,有关移动当前坐标位置的规则如下a)如果其右方邻点对应的数据为#01H,其上、下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其右方邻点处;b)如果其下方邻点对应的数据为#01H,其上、右、左方邻点对应的数据都为#00H,就把当前坐标位置移向其下方邻点处;c)如果其左方邻点对应的数据为#01H,其上、右、下方邻点对应的数据都为#00H,就把当前坐标位置移向其左方邻点处;d)如果其上方邻点对应的数据为#01H,其右、下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其上方邻点处;e)如果其右、下方邻点对应的数据都为#01H,其左、上方邻点对应的数据都为#00H,就把当前坐标位置移向其右方邻点处;f)如果其下、左方邻点对应的数据都为#01H,其上、右方邻点对应的数据都为#00H,就把当前坐标位置移向其下方邻点处;g)如果其左、上方邻点对应的数据都为#01H,其右、下方邻点对应的数据都为#00H,就把当前坐标位置移向其左方邻点处;h)如果其上、右方邻点对应的数据都为#01H,其下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其上方邻点处;i)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为#00H,且其由其左方邻点移动而来,就把当前坐标位置移向其上方邻点处;j)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为#00H,且其由其右方邻点移动而来,就把当前坐标位置移向其下方邻点处;k)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为#00H,且其由其上方邻点移动而来,就把当前坐标位置移向其右方邻点处;1)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为#00H,且其由其下方邻点移动而来,就把当前坐标位置移向其左方邻点处;m)如果其上方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其右方邻点处;η)如果其右方邻点对应的数据为#00Η,其余三个邻点对应的数据都为#01Η,就把当前坐标位置移向其下方邻点处;ο)如果其下方邻点对应的数据为#00Η,其余三个邻点对应的数据都为#01Η,就把当前坐标位置移向其左方邻点处;P)如果其左方邻点对应的数据为#00Η,其余三个邻点对应的数据都为#01Η,就把当前坐标位置移向其上方邻点处;q)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中也没有出现本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,尝试退出该“奇异的隅角”把当前坐标位置对应的数据置为#00H,从RAM内的临时存储区取出最后存进去的坐标值,把该坐标值赋予当前坐标位置指针即(DPH,DPL),也就是退回到前一个位置的坐标处,然后,按照上述跟踪区域轮廓的规则继续跟踪下一个曲线轮廓点,如果能够找到下一个曲线轮廓点,就继续跟踪区域轮廓的工作,否则,所遇到的“奇异的隅角”表明不存在封闭、连续的轮廓曲线,即没有形成被踩踏的区域,这时,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1, &,设置跟踪区域轮廓工作结束的标志位SETB_ Ftl,结束本轮跟踪区域轮廓的工作;r)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中出现了本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,把踩踏区域数目计数器R7加1即INC_R7,然后,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1, &,设置跟踪区域轮廓工作结束的标志位=SETB-Ftl,结束本轮跟踪区域轮廓的工作;4)每次移动当前坐标位置之前,根据RAM中临时存储区地址指针寄存器R1,&把当前位置的坐标(DPH,DPL)依序存储在RAM内的临时存储区,然后使得RAM中临时存储区地址指针寄存器R1, R2指向下一处存储单元;5)每次移动当前坐标位置之前,把当前坐标位置对应的数据改写成&+#01!1,即M0V_ A, R7, INC_A,M0VX_iDPTR, A ;6)上述诸规则中,所述数据#00H与非#01H的其它数据等效。
8.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征在于,所述同时测量若干区域面积以区分脚型程序之步骤四所述“用相应的数码标志该轮廓所包围的区域”的实施方法包括下述步骤步骤一、初始化 χ, y 坐标指针 DPTR :M0V_DPH, #01H,M0V_DPL, #01H ; 步骤二、如果χ,y坐标指针DPTR已经指向最后一行即DPH = Number_R0W-l,则结束标志轮廓区域的工作;步骤三、从RAM取出并查看当前位置的数据M0V_A,iDPTR,1)如果该数据不等于#01Η,χ,y坐标指针DPTR指向其下一个坐标点,然后,继续执行本实施方法之步骤二;2)如果该数据等于#01H,先暂存当前位置的X,y坐标指针DPTR,并称之为目标位置, 然后,查看该目标位置是否处于轮廓所包围之中(a)把当前位置的x,y坐标指针DPTR指向目标位置的左方,逐个坐标点地取出它们对应的数据,即DEC_DPL,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器 R7,即 CLR_C, SUBB_A, R7 如果遇到等于R7的坐标点,跳到本实施方法步骤三之2) (b),继续查看工作; 如果进行到DPL = 0还没有遇到等于R7的坐标点,就把X,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;(b)把当前位置的x,y坐标指针DPTR指向目标位置的右方,逐个坐标点地取出它们对应的数据,即INC_DPL,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器R7 如果遇到等于R7的坐标点,跳到本实施方法步骤三之2) (c),继续查看工作; 如果进行到DPL = Number_C0L-l还没有遇到等于R7的坐标点,就把x,y坐标指针DPTR 指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;(c)把当前位置的x,y坐标指针DPTR指向目标位置的上方,逐个坐标点地取出它们对应的数据,即DEC_DPH,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器R7 如果遇到等于R7的坐标点,跳到本实施方法步骤三之2) (d),继续查看工作; 如果进行到DPH = 0还没有遇到等于R7的坐标点,就把X,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;(d)把当前位置的x,y坐标指针DPTR指向目标位置的下方,逐个坐标点地取出它们对应的数据,即INC_DPH,M0VX_A, iDPTR,并逐个坐标点地查看该数据是否等于踩踏区域数目计数器R7 如果遇到等于R7的坐标点,说明该目标位置位于踩踏区域数目计数器R7对应的轮廓所包围的区域内,把该目标位置作上数码标记M0V_A,R7, M0VX_iDPTR, Α,然后,把x,y坐标指针DPTR指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;如果进行到DPH = Number_R0ff-l还没有遇到等于R7的坐标点,把x,y坐标指针DPTR 指向目标位置的下一个坐标点,继续本实施方法之步骤二 ;3)本实施方法之步骤三所述“下一个坐标点”的含义是,如果当前坐标点已经处于本行最后的一列即DPL = Number_C0L-l时,下一个坐标点为(DPH — DPH+1,DPL — 1),否则,下一个坐标点为(DPH,DPL 一 DPL+1)。
9.根据权利要求1所述的防宠物踩踏式报警器及其同时测量若干区域面积的方法,其特征在于,所述同时测量若干区域面积以区分脚型程序之步骤六所述数格子量面积的方法包括下述步骤步骤一、初始化 χ, y 坐标指针 DPTR :M0V_DPH, #00H, M0V_DPL, #00H ; 步骤二、从RAM取出并查看当前位置的数据M0V_A,iDPTR,(a)如果该数据不等于踩踏区域数目计数器R7,跳转本方法之步骤三;(b)如果它等于踩踏区域数目计数器R7,查看当前坐标位置的正下方(DPH—DPH+1, DPL)、左下角(DPH —DPH+1,DPL — DPL-I)两处的数据是否同时等于踩踏区域数目计数器 R7,是,则格子计数器1 61 5加1 ;还要查看当前坐标位置的右邻(DPH,DPL —DPL+1)对应的数据是否等于踩踏区域数目计数器R7 是,跳转本方法之步骤三,否,进一步查看当前坐标位置的正下方(DPH —DPH+1,DPL)、右下角(DPH —DPH+1, DPL — DPL+1)两处的数据是否同时等于踩踏区域数目计数器R7,是,则格子计数器1 也加1 ;若当前坐标位置位于边上的第一行、第一列、最后一行或最后一列,则当前坐标位置的正下方、左下角、右邻与右下角在RAM中没有相应的数据,此时其坐标的特点是DPH < 0、DPL < 0、DPH = Number_R0ff或DPL = Number_C0L,权当这些坐标点处的数据为#00H ;步骤三、X,y坐标指针DPTR指向当前坐标位置的下一个坐标点如果当前坐标点已经超出本行倒数第一列,即DPL = Number_C0L时,下一个坐标点为(DPH — DPH+1,DPL — 0), 否则,下一个坐标点为(DPH, DPL — DPL+1);步骤四、如果X,y坐标指针DPTR尚未超出倒数第一行,即DPH < Number_R0W,跳转本方法之步骤二,继续本次数格子量面积的工作;否,则计算与踩踏区域数目计数器R7对应的区域的面积S(R7) = Ι^5Χ&_Μ,其中, 为一个格子的面积,由行、列电极组内导线的间距决定,清零格子计数器4 ,结束本次数格子量面积的工作。
全文摘要
防宠物踩踏式报警器及其同时测量若干区域面积的方法包括防宠物踩踏式报警器与同时测量若干区域面积的方法两部分;后者体现于同时测量若干区域面积以区分脚型程序,前者由一个长方形框架、电池组、单片机系统、串入并出电路、并入串进电路与音乐电路组成,其中,长方形框架的上部和底部分别设置有列、行电极组,其导线依序分别连接到并入串进电路的各个并行输入端与串入并出电路的各个并行输出端。按照行、列两电极组导线的排列建立二维坐标系,借助单片机扫描检测被踩踏的区域、跟踪它们的轮廓、用序数标志各个轮廓内的区域、对各个区域分别数格子算面积、判断脚型并决定是否发出报警声。所述测量面积的方法完备,适用各型单片机。
文档编号G01B7/28GK102339516SQ201010228539
公开日2012年2月1日 申请日期2010年7月16日 优先权日2010年7月16日
发明者张文娟, 张海明, 曾艺 申请人:重庆工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1