電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>單片機>基于單片機的紅外門進(jìn)控制系統(tǒng)設(shè)計與制作(含源程序和原理圖)

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

2009-04-27 | rar | 444 | 次下載 | 10積分

資料介紹

基于單片機紅外門進(jìn)控制系統(tǒng)設(shè)計與制作:我們所做的創(chuàng)新實驗項目“基于單片機的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡要說明。
該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機計數(shù)顯示控制部分?;倦娐穲D如下:
其中紅外傳感器部分我們采用紅外對管實現(xiàn),紅外對管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過時,紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過時便會產(chǎn)生一個電平的跳變。單片機控制部分主要是通過外部兩個中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷0作為入口,實現(xiàn)加1操作,中斷1作為出口,實現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計數(shù)值為0時,熄燈,不為0時,燈亮。顯示部分,采用兩位數(shù)碼管動態(tài)顯示,如有必要,可以很方便的擴展為四位計數(shù)。
精益求精!在實驗過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個門的進(jìn)出計數(shù),原理已清楚,即在門的兩邊放置兩對紅外對管,進(jìn)出時,擋住兩對對管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實現(xiàn)加減計數(shù),編程時,可分別在兩個中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實際過程中,還是發(fā)現(xiàn)實現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對單片機了解的深入,應(yīng)該會做出更好的 (因為我們是臨時學(xué)的單片機),程序的具體內(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)于將這個數(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?????????? ;延時子程序
???????? 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)實際應(yīng)用廣泛??捎迷谏a(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計、公交車智能計數(shù)問候(需添加語音芯片)、超市內(nèi)人數(shù)統(tǒng)計等公共場合。另外,添加串口通信部分便可實現(xiàn)與PC數(shù)據(jù)交換的功能。
?? 由于,實驗簡化了,剩下不少零件和資金,所以我們又做了兩項其他的實驗。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 651單片機窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費
  13. 751單片機大棚環(huán)境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費