亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

您現(xiàn)在的位置是:蟲(chóng)蟲(chóng)下載站 > 資源下載 > 單片機(jī)編程 > 基于單片機(jī)的紅外門(mén)進(jìn)控制系統(tǒng)設(shè)計(jì)與制作(含源程序和原理圖)

基于單片機(jī)的紅外門(mén)進(jìn)控制系統(tǒng)設(shè)計(jì)與制作(含源程序和原理圖)

資 源 簡(jiǎn) 介

基于單片機(jī)的紅外門(mén)進(jìn)控制系統(tǒng)設(shè)計(jì)與制作:我們所做的創(chuàng)新實(shí)驗(yàn)項(xiàng)目“基于單片機(jī)的紅外門(mén)控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡(jiǎn)要說(shuō)明。
該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機(jī)計(jì)數(shù)顯示控制部分。基本電路圖如下:
其中紅外傳感器部分我們采用紅外對(duì)管實(shí)現(xiàn),紅外對(duì)管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過(guò)時(shí),紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過(guò)時(shí)便會(huì)產(chǎn)生一個(gè)電平的跳變。單片機(jī)控制部分主要是通過(guò)外部?jī)蓚€(gè)中斷判斷是否有人經(jīng)過(guò),如果有人經(jīng)過(guò),由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對(duì)紅外傳感器接到兩個(gè)外部中斷口,中斷0作為入口,實(shí)現(xiàn)加1操作,中斷1作為出口,實(shí)現(xiàn)減1操作。另外,我們通過(guò)P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計(jì)數(shù)值為0時(shí),熄燈,不為0時(shí),燈亮。顯示部分,采用兩位數(shù)碼管動(dòng)態(tài)顯示,如有必要,可以很方便的擴(kuò)展為四位計(jì)數(shù)。
精益求精!在實(shí)驗(yàn)過(guò)程中,我們走了非常多的彎路,做出來(lái)的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個(gè)門(mén)的進(jìn)出計(jì)數(shù),原理已清楚,即在門(mén)的兩邊放置兩對(duì)紅外對(duì)管,進(jìn)出時(shí),擋住兩對(duì)對(duì)管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實(shí)現(xiàn)加減計(jì)數(shù),編程時(shí),可分別在兩個(gè)中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實(shí)際過(guò)程中,還是發(fā)現(xiàn)實(shí)現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對(duì)單片機(jī)了解的深入,應(yīng)該會(huì)做出更好的 (因?yàn)槲覀兪桥R時(shí)學(xué)的單片機(jī)),程序的具體內(nèi)容如下:

$MOD52 
  ORG   0000H
         LJMP  MAIN
         ORG   0003H
         LJMP  0100H
         ORG   0013H
         LJMP  0150H
         ORG   0050H
MAIN:    CLR   A
         MOV   30H , A           ;初始化緩存區(qū)
         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        ;調(diào)用數(shù)制轉(zhuǎn)換子程序
         ACALL DISPLAY          ;調(diào)用顯示子程序
         LJMP  NEXT1

         ORG   0100H  ;中斷0服務(wù)程序
 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服務(wù)程序
 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               ;由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制
         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              ;將十六進(jìn)制中最高位移入進(jìn)位位中
         RLC   A
  MOV   R7 , A
  MOV   A  , R6
  RLC   A
  MOV   R6 , A
  MOV   A  , R5              ;每位數(shù)加上本身相當(dāng)于將這個(gè)數(shù)乘以2
  ADDC  A  , R5
  DA    A
  MOV   R5 , A
  MOV   A  , R4
  ADDC  A  , R4
  DA    A                   ;十進(jìn)制調(diào)整
  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           ;延時(shí)子程序
         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      
該系統(tǒng)實(shí)際應(yīng)用廣泛??捎迷谏a(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計(jì)、公交車智能計(jì)數(shù)問(wèn)候(需添加語(yǔ)音芯片)、超市內(nèi)人數(shù)統(tǒng)計(jì)等公共場(chǎng)合。另外,添加串口通信部分便可實(shí)現(xiàn)與PC數(shù)據(jù)交換的功能。
   由于,實(shí)驗(yàn)簡(jiǎn)化了,剩下不少零件和資金,所以我們又做了兩項(xiàng)其他的實(shí)驗(yàn)。

相 關(guān) 資 源

主站蜘蛛池模板: 天长市| 洪洞县| 微山县| 湖北省| 郁南县| 永平县| 金阳县| 巩义市| 栾城县| 确山县| 广平县| 滨海县| 鹤山市| 和田市| 富川| 扎鲁特旗| 张家界市| 淮阳县| 建宁县| 房山区| 手机| 大名县| 黑水县| 利津县| 滨州市| 虎林市| 贞丰县| 拜泉县| 安达市| 东乡族自治县| 嘉鱼县| 安龙县| 尚志市| 博乐市| 全州县| 洪江市| 天峨县| 太原市| 寿光市| 松江区| 辉南县|