專利名稱:防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法
技術領域:
本發(fā)明涉及安防電子技術領域,特別是一種防寵物踩踏式報警裝置以及一種測量隨機分布的若干區(qū)域的面積的方法。
背景技術:
2010年7月提交國家知識產權局專利局審查的發(fā)明“防寵物踩踏式報警器及其輪廓法測量面積區(qū)分腳型的方法”借助單片機技術,先跟蹤出被踩踏區(qū)域的輪廓,然后以“數(shù)格子量面積的方法”檢測輪廓內區(qū)域的面積,據此區(qū)分人與小動物的腳型,其防寵物踩踏式報警器僅僅警報人的踩踏,避免了小動物踩踏引起的誤報。但是,在理論上,若同時出現(xiàn)多塊被踩踏區(qū)域,所述輪廓法測量面積的結果雖然有效于區(qū)分人與小動物的腳型,卻未明確其與各被踩踏區(qū)域的一一對應關系,而且,隨著跟蹤區(qū)域輪廓的次數(shù)的增加,會“一圈一圈地”縮小。
發(fā)明內容
本發(fā)明的目的是提供一種防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,所述同時測量若干區(qū)域面積的方法以所述防寵物踩踏式報警器為物理基礎,采用單片機技術測量同時被踩踏的若干區(qū)域的面積,據此區(qū)分人與小動物的腳型,在受到人的踩踏時發(fā)出報警聲。本發(fā)明實現(xiàn)其目的所采用的技術方案是所述防寵物踩踏式報警器由一個長方形框架、電池組、單片機系統(tǒng)、串入并出電路、并入串進電路、音樂電路以及同時測量若干區(qū)域面積以區(qū)分腳型程序組成;其中,長方形框架的上部和底部各有一組電極,分別稱之為列電極組和行電極組,每一組電極包括72根彼此獨立、間距均勻、裸露的導線,兩組導線排列的方向相互垂直,列電極組的導線依序分別連接到并入串進電路的各個并行輸入端,行電極組的導線依序分別連接到串入并出電路的各個并行輸出端,單片機系統(tǒng)裝載有同時測量若干區(qū)域面積以區(qū)分腳型程序,其輸出口線P3. 7連接到音樂電路的輸入端,電池組作為本裝置的電源。所述長方形框架的上部和底部的兩組電極由該框架的兩側絕緣隔離并支撐著。所述單片機系統(tǒng)包括一塊單片機及其晶振電路和上電復位電路、隨機存儲器電路,其中,隨機存儲器電路由一塊74HC373和64KB的RAM組成。所述串入并出電路由9塊74HC164級聯(lián)組成第一塊74HC164的信號串行輸入端 A連接到單片機系統(tǒng)的輸出口線Pl. 2,其最高位輸出端QH連接到第二塊的信號串行輸入端 A,第二塊的最高位輸出端QH連接到第三塊的信號串行輸入端A,依次類推,共產生8 (位/ 塊)X9塊=72位的信號并行輸出端;9塊74HC164的清零端與信號串行輸入端B都連接到電池組的正極,它們的時鐘信號輸入端都連接到單片機系統(tǒng)的輸出口線Pl. 3。所述并入串進電路由9塊74HC165級聯(lián)組成最后一塊74HC165的并入串出信號端QH連接到前一塊的信號串行輸入端DS,依次類推,共產生8 (位/塊)X 9塊=72位的信號并行輸入端,每一位信號并行輸入端還各自連接ー個下拉電阻到電池組的負極,第一塊 74HC165的并入串出信號端QH連接到單片機系統(tǒng)的輸入口線Pl. 5,這9塊74HC165的并入 數(shù)據裝載控制端/PL都連接到單片機系統(tǒng)的輸出ロ線Pl. 6,它們的時鐘信號輸入端都連接 到單片機系統(tǒng)的輸出ロ線Pl. 7,它們的時鐘使能輸入端/CE都連接到電池組的負極。本發(fā)明所述同時測量若干區(qū)域面積的方法包含在同時測量若干區(qū)域面積以區(qū)分 腳型程序中,用于區(qū)分人與小動物的腳型,其步驟如下步驟一、初始化單片機M0V_SP,2FH,堆棧初值,CLR_P1. 2,Pl. 3,Pl. 7,P3. 7,準備輸出信號,SETB_P1. 5, Pl. 6,準備輸入信號,CLR_F0,初始化跟蹤區(qū)域輪廓工作結束的標志位,步驟ニ、初始化程序CLR_R5, CLR_R6’ R5, R6分別為格子計數(shù)器的低字節(jié)和高字節(jié),MOV.Ri, #AL,M0V_R2, #AH'RAM中后部開辟有小塊臨時存儲區(qū),用于存儲被跟蹤區(qū)域 的輪廓上坐標點的坐標,#AL, #AH分別為該區(qū)域的起始地址之低、高字節(jié),R1, R2分別為RAM 中臨時存儲區(qū)地址指針的低字節(jié)和高字節(jié)寄存器,M0V_DPL, #AL, M0V_DPH, #AHMOV_R0, #RAM0, M0V_A, #00H ,#RAM0 為 RAM 中臨時存儲區(qū)的大小,LoopO :M0VX_iDPTR, A ,清零RAM中臨時存儲區(qū)中的ー個單元,INC_DPTR,指向下ー單元,DJNZ_R。,LoopO ,R0 為循環(huán)計數(shù)器,CLR_R7,初始化踩踏區(qū)域數(shù)目計數(shù)器,Loopl :MOV_R0, #Number_C0L ,Number_C0L 為列電極組中導線的數(shù)目,Loop2 :M0V_R3, #Number_R0W ,Number_R0ff 為行電極組中導線的數(shù)目,SETB_P1. 2,NOP, CLR_P1. 2 ,清零串入并出電路的9塊74HC164的輸出端,DJNZ_R3, Loop2,R3 為循環(huán)計數(shù)器,DJNZ_R0, Loopl,R0 為循環(huán)計數(shù)器,M0V_DPH, #00H, M0V_DPL, #00H ,初始化數(shù)據指針 DPTR,,分開為兩個8位的x,y坐標指針,步驟三、開始掃描檢測被踩踏的區(qū)域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)判斷行電極組中當前處于高電平的導線是否超出其最后一根仏沖?!^燦!^一!^!^^丨行電極組中導線的數(shù)目^不是最后一根,跳轉到本步驟三之2)繼續(xù)進行掃描檢測;(b)DPH = Number_R0ff,已超出最后一根,執(zhí)行下一步驟;步驟四、跟蹤被踩踏區(qū)域的輪廓1)初始化 X,y 坐標指針 DPTR :M0V_DPH, #01H, M0V_DPL, #01H ;2)暫存當前X,y坐標指針DPTR,稱之為當前跟蹤坐標指針,從RAM取出并查看當前位置的數(shù)據M0V_A,ODPTR (a)如果該數(shù)據為#00H,執(zhí)行本步驟四之3);(b)如果該數(shù)據為#01H,查看位于當前坐標位置的上、右、下與左方的四鄰 {(DPH — DPH-I,DPL)、(DPH, DPL — DPL+1)、(DPH — DPH+1, DPL)與(DPH,DPL — DPL-1)} 處的四個數(shù)據,即按照跟蹤區(qū)域輪廓的規(guī)則獲取與行、列電極組導線被踩踏所致接觸的區(qū)域對應的輪廓,并用相應的數(shù)碼標志該輪廓所包圍的區(qū)域;然后,執(zhí)行本步驟四之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),繼續(xù)跟蹤被踩踏區(qū)域的輪廓,否,則結束跟蹤被踩踏區(qū)域輪廓的工作;步驟五、查看跟蹤區(qū)域輪廓工作結束的標志位Ftl 如果Ftl = 0,說明沒有被踩踏的區(qū)域,轉到步驟一,重新開始掃描檢查工作;如果Ftl = 1,清零該標志位=CLILFci,然后查看踩踏區(qū)域數(shù)目計數(shù)器R7 (a)如果R7 = 0,說明沒有形成被踩踏的區(qū)域,轉到步驟一,重新開始掃描檢查工作;(b)如果R7 ^ 1,說明發(fā)生了被踩踏的區(qū)域,其數(shù)目就是R7中的計數(shù)值,執(zhí)行下一步驟;步驟六、運用“數(shù)格子量面積的方法”,獲得與當前的踩踏區(qū)域數(shù)目計數(shù)器R7對應的被踩踏區(qū)域的面積=S(R7);然后,把踩踏區(qū)域數(shù)目計數(shù)器&減1 :DEC_R7 步驟七、如果R7 ^ 1,繼續(xù)執(zhí)行步驟六,以獲得下一塊被踩踏區(qū)域的面積=S(R7),如果R7 = 0,結束數(shù)格子量面積的工作;步驟八、如果上述R7塊被踩踏區(qū)域中有一塊的面積S (R7)彡Area, (Area為某個預定值),就判斷為受到人的腳的踩踏,并發(fā)出警報信號SETB_P3. 7,延時約十秒,再撤除該報警信號CLR_P3. 7 ;步驟九、跳轉到步驟一,開始新的一輪掃描檢測工作。上述步驟四中所述跟蹤區(qū)域輪廓的規(guī)則包括1)被跟蹤區(qū)域的特征是“被跟蹤區(qū)域內的每一個坐標點都對應著數(shù)據#01H,需要被跟蹤的區(qū)域之外或需要被跟蹤的區(qū)域之間的坐標點都對應著數(shù)據#00H” ;
2)啟動跟蹤輪廓定時器,如果該定時器的計時時間到了預定的數(shù)置,復位單片機;3)當前坐標位置對應的數(shù)據為#01H,查看當前坐標位置的上、右、下與左方四個鄰點對應的數(shù)據的關系,決定當前坐標位置的移動方向,該移動方向經過的路徑就形成該區(qū)域的輪廓,有關移動當前坐標位置的規(guī)則如下a)如果其右方鄰點對應的數(shù)據為#01H,其上、下、左方鄰點對應的數(shù)據都為#00H, 就把當前坐標位置移向其右方鄰點處;b)如果其下方鄰點對應的數(shù)據為#01H,其上、右、左方鄰點對應的數(shù)據都為#00H, 就把當前坐標位置移向其下方鄰點處;c)如果其左方鄰點對應的數(shù)據為#01H,其上、右、下方鄰點對應的數(shù)據都為#00H, 就把當前坐標位置移向其左方鄰點處;d)如果其上方鄰點對應的數(shù)據為#01H,其右、下、左方鄰點對應的數(shù)據都為#00H, 就把當前坐標位置移向其上方鄰點處;e)如果其右、下方鄰點對應的數(shù)據都為#01H,其左、上方鄰點對應的數(shù)據都為 #00H,就把當前坐標位置移向其右方鄰點處;f)如果其下、左方鄰點對應的數(shù)據都為#01H,其上、右方鄰點對應的數(shù)據都為 #00H,就把當前坐標位置移向其下方鄰點處;g)如果其左、上方鄰點對應的數(shù)據都為#01H,其右、下方鄰點對應的數(shù)據都為 #00H,就把當前坐標位置移向其左方鄰點處;h)如果其上、右方鄰點對應的數(shù)據都為#01H,其下、左方鄰點對應的數(shù)據都為 #00H,就把當前坐標位置移向其上方鄰點處;i)如果其上、下方鄰點對應的數(shù)據都為#01H,其右、左方鄰點對應的數(shù)據都為 #00H,且其由其左方鄰點移動而來,就把當前坐標位置移向其上方鄰點處;j)如果其上、下方鄰點對應的數(shù)據都為#01H,其右、左方鄰點對應的數(shù)據都為 #00H,且其由其右方鄰點移動而來,就把當前坐標位置移向其下方鄰點處;k)如果其右、左方鄰點對應的數(shù)據都為#01H,其上、下方鄰點對應的數(shù)據都為 #00H,且其由其上方鄰點移動而來,就把當前坐標位置移向其右方鄰點處;1)如果其右、左方鄰點對應的數(shù)據都為#01H,其上、下方鄰點對應的數(shù)據都為 #00H,且其由其下方鄰點移動而來,就把當前坐標位置移向其左方鄰點處;m)如果其上方鄰點對應的數(shù)據為#00H,其余三個鄰點對應的數(shù)據都為#01H,就把當前坐標位置移向其右方鄰點處;η)如果其右方鄰點對應的數(shù)據為#00Η,其余三個鄰點對應的數(shù)據都為#01Η,就把當前坐標位置移向其下方鄰點處;ο)如果其下方鄰點對應的數(shù)據為#00Η,其余三個鄰點對應的數(shù)據都為#01Η,就把當前坐標位置移向其左方鄰點處;ρ)如果其左方鄰點對應的數(shù)據為#00Η,其余三個鄰點對應的數(shù)據都為#01Η,就把當前坐標位置移向其上方鄰點處;q)如果當前坐標位置的上、右、下與左方四個鄰點對應的四個數(shù)據都是#00H,四個鄰點中也沒有出現(xiàn)本跟蹤區(qū)域輪廓過程所獲得的最前面的5個位置坐標之一,這時,嘗試退出該“奇異的隅角”把當前坐標位置對應的數(shù)據置為#00H,從RAM內的臨時存儲區(qū)取出最后存進去的坐標值,把該坐標值賦予當前坐標位置指針即(DPH,DPL),也就是退回到前一個位置的坐標處,然后,按照上述跟蹤區(qū)域輪廓的規(guī)則繼續(xù)跟蹤下一個曲線輪廓點,如果能夠找到下一個曲線輪廓點,就繼續(xù)跟蹤區(qū)域輪廓的工作,否則,所遇到的“奇異的隅角”表明不存在封閉、連續(xù)的輪廓曲線,即沒有形成被踩踏的區(qū)域,這時,清零RAM內的臨時存儲區(qū),初始化RAM中臨時存儲區(qū)地址指針寄存器1^ ,設置跟蹤區(qū)域輪廓工作結束的標志位 SETB-Ftl,結束本輪跟蹤區(qū)域輪廓的工作;r)如果當前坐標位置的上、右、下與左方四個鄰點對應的四個數(shù)據都是#00H,四個鄰點中出現(xiàn)了本跟蹤區(qū)域輪廓過程所獲得的最前面的5個位置坐標之一,這時,把踩踏區(qū)域數(shù)目計數(shù)器R7加1 :INC_R7,然后,清零RAM內的臨時存儲區(qū),初始化RAM中臨時存儲區(qū)地址指針寄存器R1, &,設置跟蹤區(qū)域輪廓工作結束的標志位=SETB-Ftl,結束本輪跟蹤區(qū)域輪廓的工作;4)每次移動當前坐標位置之前,根據RAM中臨時存儲區(qū)地址指針寄存器R1, R2把當前位置的坐標(DPH,DPL)依序存儲在RAM內的臨時存儲區(qū),然后使得RAM中臨時存儲區(qū)地址指針寄存器R1, R2指向下一處存儲單元;5)每次移動當前坐標位置之前,把當前坐標位置對應的數(shù)據改寫成R7+#01H,即 M0V_A, R7, INC_A,M0VX_iDPTR, A ;6)上述諸規(guī)則中,所述數(shù)據#00H與非#01H的其它數(shù)據等效。上述步驟四所述“用相應的數(shù)碼標志該輪廓所包圍的區(qū)域”的實施方法包括下述步驟步驟一、初始化X,y 坐標指針 DPTR :M0V_DPH, #01H, M0V_DPL, #01H ;步驟二、如果χ,y坐標指針DPTR已經指向最后一行即DPH = Number_R0W-l,則結束標志輪廓區(qū)域的工作;步驟三、從RAM取出并查看當前位置的數(shù)據M0V_A,iDPTR,1)如果該數(shù)據不等于#01H,χ, y坐標指針DPTR指向其下一個坐標點,然后,繼續(xù)執(zhí)行本實施方法之步驟二;2)如果該數(shù)據等于#01H,先暫存當前位置的x,y坐標指針DPTR,并稱之為目標位置,然后,查看該目標位置是否處于輪廓所包圍之中(a)把當前位置的X,y坐標指針DPTR指向目標位置的左方,逐個坐標點地取出它們對應的數(shù)據,即DEC_DPL,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器 R7,即 CLR_C,SUBB_A, R7 如果遇到等于R7的坐標點,跳到本實施方法步驟三之2) (b),繼續(xù)查看工作;如果進行到DPL = 0還沒有遇到等于R7的坐標點,就把x,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;(b)把當前位置的X,y坐標指針DPTR指向目標位置的右方,逐個坐標點地取出它們對應的數(shù)據,即INC_DPL,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7:如果遇到等于R7的坐標點,跳到本實施方法步驟三之2) (C),繼續(xù)查看工作;如果進行到DPL = Number_C0L-l還沒有遇到等于R7的坐標點,就把x,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;(c)把當前位置的x,y坐標指針DPTR指向目標位置的上方,逐個坐標點地取出它們對應的數(shù)據,即DEC_DPH,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7:如果遇到等于R7的坐標點,跳到本實施方法步驟三之2) (d),繼續(xù)查看工作;如果進行到DPH = 0還沒有遇到等于R7的坐標點,就把x,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;(d)把當前位置的x,y坐標指針DPTR指向目標位置的下方,逐個坐標點地取出它們對應的數(shù)據,即INC_DPH,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7:如果遇到等于R7的坐標點,說明該目標位置位于踩踏區(qū)域數(shù)目計數(shù)器R7對應的輪廓所包圍的區(qū)域內,把該目標位置作上數(shù)碼標記M0V_A,R7, M0VX_iDPTR, Α,然后,把x,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;如果進行到DPH = Number_R0ff-l還沒有遇到等于R7的坐標點,把x,y坐標指針 DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;3)本實施方法之步驟三所述“下一個坐標點”的含義是,如果當前坐標點已經處于本行最后的一列即DPL = Number_C0L-l時,下一個坐標點為(DPH — DPH+1, DPL 一 1),否則,下一個坐標點為(DPH,DPL 一 DPL+1)。上述步驟六所述數(shù)格子量面積的方法包括下述步驟步驟一、初始化X,y 坐標指針 DPTR :M0V_DPH, #00H, M0V_DPL, #00H ;步驟二、從RAM取出并查看當前位置的數(shù)據M0V_A,iDPTR,(a)如果該數(shù)據不等于踩踏區(qū)域數(shù)目計數(shù)器R7,跳到本方法之步驟三;(b)如果它等于踩踏區(qū)域數(shù)目計數(shù)器R7,查看當前坐標位置的正下方 (DPH — DPH+1, DPL)、左下角(DPH — DPH+1,DPL — DPL-1)兩處的數(shù)據是否同時等于踩踏區(qū)域數(shù)目計數(shù)器R7,是,則格子計數(shù)器^ft加1 ;還要查看當前坐標位置的右鄰(DPH,DPL —DPL+1)對應的數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7:是,跳轉本方法之步驟三,否,進一步查看當前坐標位置的正下方(DPH —DPH+1,DPL)、右下角(DPH —DPH+1, DPL — DPL+1)兩處的數(shù)據是否同時等于踩踏區(qū)域數(shù)目計數(shù)器R7,是,則格子計數(shù)器1 也加1 ;若當前坐標位置位于邊上的第一行、第一列、最后一行或最后一列,則當前坐標位置的正下方、左下角、右鄰與右下角在RAM中沒有相應的數(shù)據,此時其坐標的特點是DPH < 0、DPL < 0、DPH = Number_R0ff 或 DPL = Number_C0L,權當這些坐標點處的數(shù)據為 #00H ;步驟三、χ, y坐標指針DPTR指向當前坐標位置的下一個坐標點如果當前坐標點已經超出本行倒數(shù)第一列,即DPL = Number_C0L時,下一個坐標點為(DPH — DPH+1, DPL 一 0),否則,下一個坐標點為(DPH,DPL 一 DPL+1);步驟四、如果X,y坐標指針DPTR尚未超出倒數(shù)第一行,即DPH < Number_R0W,跳轉本方法之步驟二,繼續(xù)本次數(shù)格子量面積的工作;
否,則計算與踩踏區(qū)域數(shù)目計數(shù)器R7對應的區(qū)域的面積S(R7) = Ii6Ii5Xi^uare,其中,Sstium為一個格子的面積,由行、列電極組內導線的間距決定,清零格子計數(shù)器Ii6R5,結束本次數(shù)格子量面積的工作。本發(fā)明的優(yōu)點是,按照行、列兩電極組導線的排列建立二維坐標系,借助單片機就可以掃描檢測被踩踏的若干區(qū)域、跟蹤它們的輪廓、用序數(shù)標志各個輪廓內的區(qū)域、對各個區(qū)域分別數(shù)格子算面積、判斷腳型并決定是否發(fā)出報警聲;所述測量面積的方法完備,普遍適用。
下面對照附圖進一步具體說明本發(fā)明。圖1是本發(fā)明的結構示意圖。圖2是單片機系統(tǒng)的原理圖。圖3是串入并出電路的原理圖。圖4是用數(shù)碼表示被踩踏的區(qū)域以及數(shù)格子量面積的方法示意圖。圖5是并入串進電路的原理圖。圖6是跟蹤區(qū)域輪廓的規(guī)則的示意圖,包括情形(a)-(r);其中,每一種情形的中心為當前坐標位置,虛線箭頭表示當前位置的來源方向,實線箭頭表示當前位置的移動方向,數(shù)據0與其它非1的數(shù)據等效,情形(q)表示跟蹤輪廓過程中可能遇到的“奇異的隅角”,情形(r)表示跟蹤輪廓過程的結束條件,其中的Ii7表示本跟蹤區(qū)域輪廓過程所獲得的最前面的5個位置坐標之一。圖7是說明跟蹤被踩踏區(qū)域輪廓的前一部分過程的示意圖。圖中,1.長方形框架,11.長方形框架1的側面(寬),12.長方形框架1的側面 (長),13.長方形框架1底板上的(行)電極組,14.位于長方形框架的上部的(列)電極組,141.目標區(qū)域I,142.掃描檢測到的第一個目標區(qū)域的輪廓的跟蹤起始點,143.跟蹤目標區(qū)域輪廓的行掃描檢測方向,144.跟蹤目標區(qū)域I獲得的輪廓,145.目標區(qū)域Π, 21.-29. 74HC164,31. -39. 74HC165。
具體實施例方式本發(fā)明包括一個長方形框架(1)、電池組、單片機系統(tǒng)、串入并出電路、并入串進電路、音樂電路以及同時測量若干區(qū)域面積以區(qū)分腳型程序。長方形框架(1)如圖1所示,其上部和底部各有一組電極(14)和(13),分別稱之為列電極組和行電極組,每一組電極由72根裸露的金屬導線組成,這些導線彼此獨立,間距均勻,兩組電極(14)和(13)的導線排列的方向相互垂直(不作嚴格要求),由框架(1) 的兩側(11)或(1 絕緣隔離并支撐著,整個長方形框架的外部包裹著絕緣材料,外形似踏腳墊。單片機系統(tǒng)如圖2所示,圖中沒有畫出單片機的上電復位電路和時鐘電路。假設行、列電極組各有256根導線,會產生256X256 = 65536個交叉點,每個交叉點有兩種狀態(tài)分離或接觸,而64KB = 64X 1024 = 64X 210 = 65536,因此,需要擴展64KB片外RAM, 其中還要包括至少256BX2X4 = 2KB RAM內的臨時存儲區(qū),以存儲各輪廓點坐標的高、低字節(jié)。單片機需要選用8051系列中具有40個腳的,最好它自帶片內Flash程序存儲器,這時,其單片機的引腳/EA接到電源正極。所述串入并出電路如圖3所示,由九塊8位串入并出移位寄存器
74HC164(21)-(29)級聯(lián)組成,其72個輸出端QA, QB, QC, QD, QE,......分別依次連接到長
方形框架(1)的底部的行電極組(13)中的每根金屬導線。所述并入串進電路如圖5所示,由九塊8位并入串出移位寄存器
74HC165(31)-(39)級聯(lián)組成,其72個輸出端A,B,C,D,E,......分別依次連接到長方形框
架(1)的上部的列電極組(14)中的每根金屬導線。這72個輸出端A,B,C,D,E,......的
每一個還各自連接一個 30ΚΩ的下拉電阻到電源的負端,因為簡潔緣故,圖5中并沒有全部畫出這些下拉電阻。音樂電路采用音樂集成電路配合揚聲器,或者只使用一只蜂鳴器,用于發(fā)出報警聲。平時,行、列電極組中導線在空間上相互交叉但沒有接觸,列電極組中的導線的電勢被下拉到電源地,單片機通過串入并出電路逐根掃描式輸出高電平到行電極組的導線。 受到踩踏時,被踩踏的區(qū)域內行、列電極組中的導線發(fā)生接觸,依序使得位于這些接觸點的列電極組中的導線也處于高電平。可以選取位于左上角的第一個交叉點所在處作坐標系的原點,按照行、列電極組中導線的排列方向建立坐標系,單片機通過掃描檢測獲得空間上相互交叉的點的高、低電平,被存儲在64KB片外RAM中。這樣,用#00H,#01H兩個數(shù)碼就表示了整個防寵物踩踏式報警器所警戒的區(qū)域的狀況。為了對各個被踩踏區(qū)域分別“數(shù)格子量面積”,需要區(qū)分被踩踏的區(qū)域,其工作包括“跟蹤被踩踏區(qū)域的輪廓”和“用相應的數(shù)碼標志該輪廓所包圍的區(qū)域”,即以不同的數(shù)碼跟蹤并標志出不同的被踩踏的區(qū)域,參見圖4所示。同時測量若干區(qū)域面積以區(qū)分腳型程序之步驟四敘述了“跟蹤被踩踏區(qū)域的輪廓”的方法,它按照從左向右、從上向下的行、列檢測順序,尋找代表被踩踏的電極接觸點的數(shù)據#01H,直到最后一行的最后一個坐標點被搜索完畢為止。每一次找到數(shù)據#01H時, 先暫存當前X,y坐標指針DPTR,稱之為當前跟蹤坐標指針,然后,遵循“跟蹤區(qū)域輪廓的規(guī)則”(如圖6所描述),開始跟蹤從此坐標點起始的被踩踏區(qū)域(用數(shù)據#01H表示)的輪廓。跟蹤過程中,χ, y坐標位置指針逐個坐標點地移動,每一次移動前,當前坐標點的數(shù)據被改寫成踩踏區(qū)域數(shù)目計數(shù)器R7的計數(shù)值加上#01H,其坐標(DPH,DPL)被保存在RAM內的臨時存儲區(qū),它們構成了被跟蹤區(qū)域的輪廓。跟蹤完一塊獨立的區(qū)域以后,踩踏區(qū)域數(shù)目計數(shù)器R7加1,表示剛才被跟蹤的區(qū)域的順序計數(shù)。緊接著,開始同時測量若干區(qū)域面積以區(qū)分腳型程序之步驟四所述“用相應的數(shù)碼標志該輪廓所包圍的區(qū)域”的標志工作按照從左向右、從上向下的行、列檢測順序,逐個坐標點地在整個防寵物踩踏式報警器所警戒的區(qū)域內搜索數(shù)據#01H,如果找到了 #01H的坐標點,就分析它是否處于計數(shù)值R7所表示的輪廓之包圍中,如果它屬于該輪廓包圍圈內, 用數(shù)碼R7賦予該坐標點;所述標志工作一直進行到最后一行的最后一個坐標點才告結束。每跟蹤、標志完一塊被踩踏區(qū)域,恢復X,y坐標位置指針為“跟蹤被踩踏區(qū)域的輪廓”過程中的“當前跟蹤坐標指針”,指向其下一個位置,繼續(xù)跟蹤其它被踩踏區(qū)域的輪廓并加以標志,一直進行到最后一行的最后一個坐標點才告結束。圖7示意了跟蹤被踩踏區(qū)域輪廓的前一部分過程。逐塊跟蹤被踩踏區(qū)域的輪廓并用被踩踏區(qū)域計數(shù)值R7加以標志,這項工作結束以后,接著是一塊一塊地“數(shù)格子量面積”?!皵?shù)格子量面積的方法”如同時測量若干區(qū)域面積以區(qū)分腳型程序之步驟六所述。 參見圖4,數(shù)格子的規(guī)則之要點是1)從左向右、從上向下逐個坐標點地查看并統(tǒng)計格子, 2)遇到相應的標志數(shù)碼R7的時候,先按照a — b — c路線進行查看,如果該路線上相關的三個交叉點的數(shù)據都為標志數(shù)碼R7,則表示該踩踏區(qū)域內包圍了一個格子;然后,查看其右邊的點e的數(shù)據是否為標志數(shù)碼R7 是,則按下一個坐標點來統(tǒng)計格子,否,則按照a — b — d 路線查看,如果該路線上相關的三個交叉點的數(shù)據都為標志數(shù)碼R7,則表示該踩踏區(qū)域內還得計數(shù)一個格子;幻數(shù)到最后一行的最后一個坐標點結束本次數(shù)格子工作。這時,把踩踏區(qū)域數(shù)目計數(shù)器R7減去1,然后開始對下一塊被踩踏區(qū)域數(shù)格子,如此進行,直到踩踏區(qū)域數(shù)目計數(shù)器R7 = 0。踩踏區(qū)域的面積等于統(tǒng)計出的被踩踏區(qū)域內格子的數(shù)量乘上一個格子的面積。根據被踩踏區(qū)域面積的大小,可以分析受到的踩踏的性質,判斷是否屬于人的踩踏還是小動物的踩踏。這項分析判斷工作放在跟蹤并標志完全部被踩踏區(qū)域以后進行,也可以在每跟蹤并標志完一塊被踩踏區(qū)域以后就立即進行,這樣,裝置的反應速度要快一些。本發(fā)明所述單片機系統(tǒng)的輸出或輸入端口線可以根據實際情形加以變換,所述列或行電極組所包含的導線的數(shù)目及其間距、相應的串入并出、并入串出移位寄存器的數(shù)目以及隨機存儲器的容量可以根據本發(fā)明所述掃描檢測原理增加或減少。
權利要求
1.防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征是所述防寵物踩踏式報警器由一個長方形框架、電池組、單片機系統(tǒng)、串入并出電路、并入串進電路、音樂電路以及同時測量若干區(qū)域面積以區(qū)分腳型程序組成;其中,長方形框架的上部和底部各有一組電極,分別稱之為列電極組和行電極組,每一組電極包括72根彼此獨立、間距均勻、裸露的金屬導線,兩組電極的導線排列的方向相互垂直,列電極組的導線依序分別連接到并入串進電路的各個并行輸入端,行電極組的導線依序分別連接到串入并出電路的各個并行輸出端,單片機系統(tǒng)裝載有同時測量若干區(qū)域面積以區(qū)分腳型程序,其輸出口線P3. 7連接到音樂電路的輸入端,電池組作為本裝置的電源。
2.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征是所述長方形框架的上部和底部的兩組電極由該框架的兩側絕緣隔離并支撐著。
3.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征是所述單片機系統(tǒng)包括一塊單片機及其晶振電路和上電復位電路、隨機存儲器電路, 其中,隨機存儲器電路由一塊74HC373和64KB的RAM組成。
4.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征是所述串入并出電路由9塊74HC164級聯(lián)組成第一塊74HC164的信號串行輸入端A 連接到單片機系統(tǒng)的輸出口線Pl. 2,其最高位輸出端QH連接到第二塊的信號串行輸入端 A,第二塊的最高位輸出端QH連接到第三塊的信號串行輸入端A,依次類推,共產生8 (位/ 塊)X9塊=72位的信號并行輸出端;9塊74HC164的清零端與信號串行輸入端B都連接到電池組的正極,它們的時鐘信號輸入端都連接到單片機系統(tǒng)的輸出口線Pl. 3。
5.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征是所述并入串進電路由9塊74HC165級聯(lián)組成最后一塊74HC165的并入串出信號端QH連接到前一塊的信號串行輸入端DS,依次類推,共產生8 (位/塊)X 9塊=72位的信號并行輸入端,每一位信號并行輸入端還各自連接一個下拉電阻到電池組的負極,第一塊 74HC165的并入串出信號端QH連接到單片機系統(tǒng)的輸入口線Pl. 5,這9塊74HC165的并入數(shù)據裝載控制端/PL都連接到單片機系統(tǒng)的輸出口線Pl. 6,它們的時鐘信號輸入端都連接到單片機系統(tǒng)的輸出口線Pl. 7,它們的時鐘使能輸入端/CE都連接到電池組的負極。
6.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征在于,所述同時測量若干區(qū)域面積的方法包含在所述同時測量若干區(qū)域面積以區(qū)分腳型程序中,用于區(qū)分人與小動物的腳型,其步驟如下步驟一、初始化單片機’堆棧初值,’準備輸出信號, ’準備輸入信號,’初始化跟蹤區(qū)域輪廓工作結束的標志位,步驟二、初始化程序CLR_R5,CLR_R6,R5, R6分別為格子計數(shù)器的低字節(jié)和高字節(jié),M0V_R1 #AL, M0V_R2,#AH ,RAM中后部開辟有小塊臨時存儲區(qū),用于存儲被跟蹤區(qū)域的輪廓上坐標點的坐標,#AL, #AH分別為該區(qū)域的起始地址之低、高字節(jié),R1, R2分別為RAM 中臨時存儲區(qū)地址指針的低字節(jié)和高字節(jié)寄存器,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 中臨時存儲區(qū)的大小,LoopO :MOVX_iDPTR, A,清零RAM中臨時存儲區(qū)中的ー個單元,INC_DPTR,指向下ー單元,DJNZ_R0, LoopO,R0為循環(huán)計數(shù)器,CLR_R7,初始化踩踏區(qū)域數(shù)目計數(shù)器,Loopl :MOV_R0, #Number_COL ,Number_COL 為列電極組中導線的數(shù)目,Loop2 :M0V_R3, #Number_ROW ,Number_ROff 為行電極組中導線的數(shù)目,SETB_P1. 2,NOP, CLR_P1. 2 ,清零串入并出電路的9塊74HC164的輸出端,DJNZ_R3,Loop2,R3為循環(huán)計數(shù)器,DJNZ_R0, Loopl,R0為循環(huán)計數(shù)器,MOV_DPH, #00H, MOV_DPL, #00H'初始化數(shù)據指針 DPTR,,分開為兩個8位的x,y坐標指針, 步驟三、開始掃描檢測被踩踏的區(qū)域1)通過單片機對行電極組中的第一根導線輸出一個高電平,然后,逐根檢測列電極組 中導線的電平,其低、高電平分別以#00H,#01H表示且存儲之M0V_@DPTR,#00H或MOVJg DPTR, #01H,其中,每檢測完ー根列電極組導線,y坐標指針就指向下一根列電極組導線 INC_DPL,如果檢查完畢列電極組中的全部導線,即DPL = Number_C0L(列電極組中導線的數(shù) 目),把x,y坐標指針指向下一根行電極組導線INC_DPH,M0V_DPL, #00H ;2)通過單片機對行電極組中的下一根導線輸出一個高電平,然后,逐根檢測列電極組 中導線的電平,其低、高電平分別以#00H,#01H表示且存儲之,其中,每檢測完ー根列電極 組導線,y坐標指針就指向下一根列電極組導線,如果檢查完畢列電極組中的全部導線,即DPL = Number_COL,把x,y坐標指針指向下 一根行電極組導線;3)判斷行電極組中當前處于高電平的導線是否超出其最后ー根(a)DPH<Number_ROW(行電極組中導線的數(shù)目),不是最后一根,跳轉到本步驟之2) 繼續(xù)進行掃描檢測;(b)DPH= Number_ROff,已超出最后ー根,執(zhí)行下ー步驟; 步驟四、跟蹤被踩踏區(qū)域的輪廓1)初始化x,y 坐標指針 DPTR :M0V_DPH, #01H, M0V_DPL, #01H ;2)暫存當前x,y坐標指針DPTR,稱之為當前跟蹤坐標指針,從RAM取出并查看當前位 置的數(shù)據M0V_A,ODPTR (a)如果該數(shù)據為#00H,執(zhí)行本步驟四之3);(b)如果該數(shù)據為#01H,查看位于當前坐標位置的上、右、下與左方的四鄰 {(DPH 一 DPH-I,DPL)、(DPH, DPL 一 DPL+1)、(DPH 一 DPH+1, DPL)與(DPH,DPL 一 DPL-1)} 處的四個數(shù)據,即按照跟蹤區(qū)域輪廓的規(guī)則獲取與行、列電極組導線被踩踏所致接觸的區(qū) 域對應的輪廓,并用相應的數(shù)碼標志該輪廓所包圍的區(qū)域;然后,執(zhí)行本步驟四之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),繼續(xù)跟蹤被踩踏區(qū)域的輪廓,否,則結束跟蹤被踩踏區(qū)域輪廓的工作;步驟五、查看跟蹤區(qū)域輪廓工作結束的標志位Ftl 如果Ftl = 0,說明沒有被踩踏的區(qū)域,轉到步驟一,重新開始掃描檢查工作;如果Ftl = 1,清零該標志位=CLILFci,然后查看踩踏區(qū)域數(shù)目計數(shù)器R7 (a)如果R7= 0,說明沒有形成被踩踏的區(qū)域,轉到步驟一,重新開始掃描檢查工作;(b)如果R7^ 1,說明發(fā)生了被踩踏的區(qū)域,其數(shù)目就是R7中的計數(shù)值,執(zhí)行下一步驟;步驟六、運用“數(shù)格子量面積的方法”,獲得與當前的踩踏區(qū)域數(shù)目計數(shù)器R7對應的被踩踏區(qū)域的面積=S(R7);然后,把踩踏區(qū)域數(shù)目計數(shù)器&減1 :DEC_R7 步驟七、如果R7 ^ 1,繼續(xù)執(zhí)行步驟六,以獲得下一塊被踩踏區(qū)域的面積=S(R7),如果R7 =0,結束數(shù)格子量面積的工作;步驟八、如果上述R7塊被踩踏區(qū)域中有一塊的面積S(R7) ^ Area, (Area為某個預定值),就判斷為受到人的腳的踩踏,并發(fā)出警報信號SETB_P3. 7,延時約十秒,再撤除該報警信號CLR_P3. 7 ;步驟九、跳轉到步驟一,開始新的一輪掃描檢測工作。
7.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征在于,所述同時測量若干區(qū)域面積以區(qū)分腳型程序之步驟四中所述跟蹤區(qū)域輪廓的規(guī)則包括1)被跟蹤區(qū)域的特征是“被跟蹤區(qū)域內的每一個坐標點都對應著數(shù)據#01H,需要被跟蹤的區(qū)域之外或需要被跟蹤的區(qū)域之間的坐標點都對應著數(shù)據#00H” ;2)啟動跟蹤輪廓定時器,如果該定時器的計時時間到了預定的數(shù)置,復位單片機;3)當前坐標位置對應的數(shù)據為#01H,查看當前坐標位置的上、右、下與左方四個鄰點對應的數(shù)據的關系,決定當前坐標位置的移動方向,該移動方向經過的路徑就形成該區(qū)域的輪廓,有關移動當前坐標位置的規(guī)則如下a)如果其右方鄰點對應的數(shù)據為#01H,其上、下、左方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其右方鄰點處;b)如果其下方鄰點對應的數(shù)據為#01H,其上、右、左方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其下方鄰點處;c)如果其左方鄰點對應的數(shù)據為#01H,其上、右、下方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其左方鄰點處;d)如果其上方鄰點對應的數(shù)據為#01H,其右、下、左方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其上方鄰點處;e)如果其右、下方鄰點對應的數(shù)據都為#01H,其左、上方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其右方鄰點處;f)如果其下、左方鄰點對應的數(shù)據都為#01H,其上、右方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其下方鄰點處;g)如果其左、上方鄰點對應的數(shù)據都為#01H,其右、下方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其左方鄰點處;h)如果其上、右方鄰點對應的數(shù)據都為#01H,其下、左方鄰點對應的數(shù)據都為#00H,就把當前坐標位置移向其上方鄰點處;i)如果其上、下方鄰點對應的數(shù)據都為#01H,其右、左方鄰點對應的數(shù)據都為#00H,且其由其左方鄰點移動而來,就把當前坐標位置移向其上方鄰點處;j)如果其上、下方鄰點對應的數(shù)據都為#01H,其右、左方鄰點對應的數(shù)據都為#00H,且其由其右方鄰點移動而來,就把當前坐標位置移向其下方鄰點處;k)如果其右、左方鄰點對應的數(shù)據都為#01H,其上、下方鄰點對應的數(shù)據都為#00H,且其由其上方鄰點移動而來,就把當前坐標位置移向其右方鄰點處;1)如果其右、左方鄰點對應的數(shù)據都為#01H,其上、下方鄰點對應的數(shù)據都為#00H,且其由其下方鄰點移動而來,就把當前坐標位置移向其左方鄰點處;m)如果其上方鄰點對應的數(shù)據為#00H,其余三個鄰點對應的數(shù)據都為#01H,就把當前坐標位置移向其右方鄰點處;η)如果其右方鄰點對應的數(shù)據為#00Η,其余三個鄰點對應的數(shù)據都為#01Η,就把當前坐標位置移向其下方鄰點處;ο)如果其下方鄰點對應的數(shù)據為#00Η,其余三個鄰點對應的數(shù)據都為#01Η,就把當前坐標位置移向其左方鄰點處;P)如果其左方鄰點對應的數(shù)據為#00Η,其余三個鄰點對應的數(shù)據都為#01Η,就把當前坐標位置移向其上方鄰點處;q)如果當前坐標位置的上、右、下與左方四個鄰點對應的四個數(shù)據都是#00H,四個鄰點中也沒有出現(xiàn)本跟蹤區(qū)域輪廓過程所獲得的最前面的5個位置坐標之一,這時,嘗試退出該“奇異的隅角”把當前坐標位置對應的數(shù)據置為#00H,從RAM內的臨時存儲區(qū)取出最后存進去的坐標值,把該坐標值賦予當前坐標位置指針即(DPH,DPL),也就是退回到前一個位置的坐標處,然后,按照上述跟蹤區(qū)域輪廓的規(guī)則繼續(xù)跟蹤下一個曲線輪廓點,如果能夠找到下一個曲線輪廓點,就繼續(xù)跟蹤區(qū)域輪廓的工作,否則,所遇到的“奇異的隅角”表明不存在封閉、連續(xù)的輪廓曲線,即沒有形成被踩踏的區(qū)域,這時,清零RAM內的臨時存儲區(qū),初始化RAM中臨時存儲區(qū)地址指針寄存器R1, &,設置跟蹤區(qū)域輪廓工作結束的標志位SETB_ Ftl,結束本輪跟蹤區(qū)域輪廓的工作;r)如果當前坐標位置的上、右、下與左方四個鄰點對應的四個數(shù)據都是#00H,四個鄰點中出現(xiàn)了本跟蹤區(qū)域輪廓過程所獲得的最前面的5個位置坐標之一,這時,把踩踏區(qū)域數(shù)目計數(shù)器R7加1即INC_R7,然后,清零RAM內的臨時存儲區(qū),初始化RAM中臨時存儲區(qū)地址指針寄存器R1, &,設置跟蹤區(qū)域輪廓工作結束的標志位=SETB-Ftl,結束本輪跟蹤區(qū)域輪廓的工作;4)每次移動當前坐標位置之前,根據RAM中臨時存儲區(qū)地址指針寄存器R1,&把當前位置的坐標(DPH,DPL)依序存儲在RAM內的臨時存儲區(qū),然后使得RAM中臨時存儲區(qū)地址指針寄存器R1, R2指向下一處存儲單元;5)每次移動當前坐標位置之前,把當前坐標位置對應的數(shù)據改寫成&+#01!1,即M0V_ A, R7, INC_A,M0VX_iDPTR, A ;6)上述諸規(guī)則中,所述數(shù)據#00H與非#01H的其它數(shù)據等效。
8.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征在于,所述同時測量若干區(qū)域面積以區(qū)分腳型程序之步驟四所述“用相應的數(shù)碼標志該輪廓所包圍的區(qū)域”的實施方法包括下述步驟步驟一、初始化 χ, y 坐標指針 DPTR :M0V_DPH, #01H,M0V_DPL, #01H ; 步驟二、如果χ,y坐標指針DPTR已經指向最后一行即DPH = Number_R0W-l,則結束標志輪廓區(qū)域的工作;步驟三、從RAM取出并查看當前位置的數(shù)據M0V_A,iDPTR,1)如果該數(shù)據不等于#01Η,χ,y坐標指針DPTR指向其下一個坐標點,然后,繼續(xù)執(zhí)行本實施方法之步驟二;2)如果該數(shù)據等于#01H,先暫存當前位置的X,y坐標指針DPTR,并稱之為目標位置, 然后,查看該目標位置是否處于輪廓所包圍之中(a)把當前位置的x,y坐標指針DPTR指向目標位置的左方,逐個坐標點地取出它們對應的數(shù)據,即DEC_DPL,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器 R7,即 CLR_C, SUBB_A, R7 如果遇到等于R7的坐標點,跳到本實施方法步驟三之2) (b),繼續(xù)查看工作; 如果進行到DPL = 0還沒有遇到等于R7的坐標點,就把X,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;(b)把當前位置的x,y坐標指針DPTR指向目標位置的右方,逐個坐標點地取出它們對應的數(shù)據,即INC_DPL,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7 如果遇到等于R7的坐標點,跳到本實施方法步驟三之2) (c),繼續(xù)查看工作; 如果進行到DPL = Number_C0L-l還沒有遇到等于R7的坐標點,就把x,y坐標指針DPTR 指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;(c)把當前位置的x,y坐標指針DPTR指向目標位置的上方,逐個坐標點地取出它們對應的數(shù)據,即DEC_DPH,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7 如果遇到等于R7的坐標點,跳到本實施方法步驟三之2) (d),繼續(xù)查看工作; 如果進行到DPH = 0還沒有遇到等于R7的坐標點,就把X,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;(d)把當前位置的x,y坐標指針DPTR指向目標位置的下方,逐個坐標點地取出它們對應的數(shù)據,即INC_DPH,M0VX_A, iDPTR,并逐個坐標點地查看該數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7 如果遇到等于R7的坐標點,說明該目標位置位于踩踏區(qū)域數(shù)目計數(shù)器R7對應的輪廓所包圍的區(qū)域內,把該目標位置作上數(shù)碼標記M0V_A,R7, M0VX_iDPTR, Α,然后,把x,y坐標指針DPTR指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;如果進行到DPH = Number_R0ff-l還沒有遇到等于R7的坐標點,把x,y坐標指針DPTR 指向目標位置的下一個坐標點,繼續(xù)本實施方法之步驟二 ;3)本實施方法之步驟三所述“下一個坐標點”的含義是,如果當前坐標點已經處于本行最后的一列即DPL = Number_C0L-l時,下一個坐標點為(DPH — DPH+1,DPL — 1),否則,下一個坐標點為(DPH,DPL 一 DPL+1)。
9.根據權利要求1所述的防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法,其特征在于,所述同時測量若干區(qū)域面積以區(qū)分腳型程序之步驟六所述數(shù)格子量面積的方法包括下述步驟步驟一、初始化 χ, y 坐標指針 DPTR :M0V_DPH, #00H, M0V_DPL, #00H ; 步驟二、從RAM取出并查看當前位置的數(shù)據M0V_A,iDPTR,(a)如果該數(shù)據不等于踩踏區(qū)域數(shù)目計數(shù)器R7,跳轉本方法之步驟三;(b)如果它等于踩踏區(qū)域數(shù)目計數(shù)器R7,查看當前坐標位置的正下方(DPH—DPH+1, DPL)、左下角(DPH —DPH+1,DPL — DPL-I)兩處的數(shù)據是否同時等于踩踏區(qū)域數(shù)目計數(shù)器 R7,是,則格子計數(shù)器1 61 5加1 ;還要查看當前坐標位置的右鄰(DPH,DPL —DPL+1)對應的數(shù)據是否等于踩踏區(qū)域數(shù)目計數(shù)器R7 是,跳轉本方法之步驟三,否,進一步查看當前坐標位置的正下方(DPH —DPH+1,DPL)、右下角(DPH —DPH+1, DPL — DPL+1)兩處的數(shù)據是否同時等于踩踏區(qū)域數(shù)目計數(shù)器R7,是,則格子計數(shù)器1 也加1 ;若當前坐標位置位于邊上的第一行、第一列、最后一行或最后一列,則當前坐標位置的正下方、左下角、右鄰與右下角在RAM中沒有相應的數(shù)據,此時其坐標的特點是DPH < 0、DPL < 0、DPH = Number_R0ff或DPL = Number_C0L,權當這些坐標點處的數(shù)據為#00H ;步驟三、X,y坐標指針DPTR指向當前坐標位置的下一個坐標點如果當前坐標點已經超出本行倒數(shù)第一列,即DPL = Number_C0L時,下一個坐標點為(DPH — DPH+1,DPL — 0), 否則,下一個坐標點為(DPH, DPL — DPL+1);步驟四、如果X,y坐標指針DPTR尚未超出倒數(shù)第一行,即DPH < Number_R0W,跳轉本方法之步驟二,繼續(xù)本次數(shù)格子量面積的工作;否,則計算與踩踏區(qū)域數(shù)目計數(shù)器R7對應的區(qū)域的面積S(R7) = Ι^5Χ&_Μ,其中, 為一個格子的面積,由行、列電極組內導線的間距決定,清零格子計數(shù)器4 ,結束本次數(shù)格子量面積的工作。
全文摘要
防寵物踩踏式報警器及其同時測量若干區(qū)域面積的方法包括防寵物踩踏式報警器與同時測量若干區(qū)域面積的方法兩部分;后者體現(xiàn)于同時測量若干區(qū)域面積以區(qū)分腳型程序,前者由一個長方形框架、電池組、單片機系統(tǒng)、串入并出電路、并入串進電路與音樂電路組成,其中,長方形框架的上部和底部分別設置有列、行電極組,其導線依序分別連接到并入串進電路的各個并行輸入端與串入并出電路的各個并行輸出端。按照行、列兩電極組導線的排列建立二維坐標系,借助單片機掃描檢測被踩踏的區(qū)域、跟蹤它們的輪廓、用序數(shù)標志各個輪廓內的區(qū)域、對各個區(qū)域分別數(shù)格子算面積、判斷腳型并決定是否發(fā)出報警聲。所述測量面積的方法完備,適用各型單片機。
文檔編號G01B7/28GK102339516SQ201010228539
公開日2012年2月1日 申請日期2010年7月16日 優(yōu)先權日2010年7月16日
發(fā)明者張文娟, 張海明, 曾藝 申請人:重慶工商大學