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