第二章 工作原理 3ir.hust.edu.tw/bitstream/310993100/2887/1/全文+.pdf · 第二章...
Transcript of 第二章 工作原理 3ir.hust.edu.tw/bitstream/310993100/2887/1/全文+.pdf · 第二章...
-
I
目 錄
摘 要 ............................................. 1
第一章 序論 ........................................ 2
第二章 工作原理 .................................... 3
第三章 研究過程 ................................... 17
第四章 結果與討論 ................................. 22
第五章 參考文獻 ................................... 23
第六章 圖像 ....................................... 27
-
II
圖 目 錄
圖一、…………………………………………………………25
圖二、…………………………………………………………26
圖三、 ……………………………………………………… 27
圖四、…………………………………………………………28
圖五、…………………………………………………………29
-
III
表 目 錄
表一、…………………………………………………………24
表二、…………………………………………………………27
-
1
摘 要
本組的專題研究分析市面上機械式的計數器。其主要結構
為紅外線感應器、七段顯示器和 8592單晶片。其中較為重要
的為 8592單晶片的控制和感應器的接收。所以需要以可調式
電阻來配合其靈敏度以達到需求的效果。
紅外線感應技術器是可以用在自動計算有多少人進出,而
省下所不需要的人力資源,如可用在電影院、遊樂場裡的設
施,或是有在人數限制下得環境可以使用。在設計中所發生的
問題(如電路錫悍、電路設計、程式碼等等),並且研擬解決
方案。
-
2
第一章 序論
1-1前言
目前許多的商家以手動的方式在計數計算,造成顧客大排
長龍的情況下,為了解決時間與人力成本,本專題小組則以解
決此問題為方向研究。
1-2研究動機與目的
以節省人力及時間為方向去研究,故以紅外線計數這方向
深入探討。在日常生活中其實很運用到,例如:花博博覽會的
人數管控;避免場內太過壅塞或統計當天總人數、也運用在錢
幣數量計數。
本專題分為三大部分,第一部分為電路的部份,即 85C91
的部份,第二部分為紅外線感應部分,第三部分為計數部分。
-
3
第二章 工作原理
2-1基本原理
(A)8051介紹 MCS-51 介紹,MCS-51晶片是Intel公司,繼8048之後所開發出來功能完備的單晶片。按照其晶片記憶體的包裝不同,共分五種型態:
(1) 晶片內不含程式記憶體(ROM)的,如8031,8031AH,
80C31。 (2) 晶片內含程式記憶體(ROM)的,如8051,8051AH,80C51。 (3) 晶片內含程式記憶體,是EPROM,如8751,8751AH,
87C51H.。
(4) 晶片內含程式記憶體,是EEPROM,如89C51。 (5) 8032AH、8052AH、8752BH,除記憶容量和計時器有不同
外,其餘電路功能和8051系列相目。
主要功能:
1.專為控制應用所設計的8 位元CPU
2.含有一完整的布林代數之運算功能。
3.32 條雙向且可被讀立定址I/O 。
4.晶片內有128 位元組供儲存資料RAM 。
5.內部有兩個16 位元計時器/記數器。
6.具一通信用全雙工UART 。
7.5個中斷源,且具有兩層(高/低)優先順序。
8.晶片內有時脈振盪器,最高頻率可達12MHz 。
9.晶片內有4K位元組的程式記憶體。
10.可在外部擴充達64K 位元組程式記憶體(EPROM)。
11.資料記憶體可在外部擴充至64K 位元組資料記憶體。
-
4
(B)8051接腳功能說明
圖2-1 8051接腳圖
-
7
以下分別對8051的40支接腳做說明:
a.Vcc(40)MCS-51 +5V 電源接腳。
b. Vss(20)MCS-51 電源接地端。
c. P0.0 ~ P0.7 (39 ~32)
此8支腳為MCS-51第0個輸入/輸出埠,簡稱P0。除作為輸入/輸出
埠外,又可當作外接程式記憶體的較低8位元位址,及資料匯流
排,因此具有三重多工用途。
表2-1 8051特殊功能接腳
P3.0/RXD(10) 串列通訊的信號接收腳
P3.1/TXD(11) 串列通訊的信號傳送腳
P3.2/INTO(12) 第0個外部中斷信號輸入腳
P3.3/INT1(13) 第1個外部中斷信號輸入腳
P3.4/T0(14) 第0個計時/計數器,外部計數信號輸入腳
P3.5/T1(15) 第1個計時/計數器,外部計數信號輸入腳
P3.6/WR(16) 對外部資料記憶體的寫入控制信號
P3.7/RD(17) 對外部資料記憶體的讀取控制信號
-
8
2-2 8051 的記憶體結構
MCS-51的程式記憶體有內部及外部兩種。使用時,由EA接腳控
制。當EA接為高電位,則自內部0000H開始讀取程式碼;當超過
0FFFH(4K byte)時,就跳至外部程式記憶體,讀取程式碼。而當
EA為Low電位,就一定自外部記憶體0000H,開始讀取程式記憶體。
其程式記憶體的位址圖如圖所示
圖2-2 MCS-51記憶體結構
-
9
設計電路時,如程式容量不超過4K byte,當然可以選用含有內
部程式,記憶體的8051或使用8031直接採用外部記憶體;但如程
式大小超過4Kbyte,建議直接使用外 部記憶體選用8031晶片。對
MCS-51而言,其能容量程式的最大值為64K個位元組。
b.資料記憶體
MCS-51內部資料記憶體結構如圖所示
圖2-3 資料記體結構
-
10
自0000H ~ 007FH 共128位元組,此區域如當作一般資料記憶
體, 可以用直接定址或間接定址方式讀寫資料。但在此區域另
有一些用途 說明如下:
自0000H ~ 001FH 共32個位元組空間,每個位元組各分為一暫存
器 庫,當作一般暫存器使用,分別以R0 ~ R7稱呼,這四個暫存
器庫,可以用PSW暫存器中的RS0、RS1兩個位元選擇。
表2-2 RS0.RS1記憶體空間配置表
RS0 RS1 記 憶 空 間
0 0
00H~07H 暫存器庫0(R0,R1……R7)
0 1 08H~0FH 暫存器庫1(R0,R1……R7)
1 0 10H~17H 暫存器庫2(R0,R1………R7)
1 1 18H~1FH 暫存器庫3(R0,R1………R7)
20H稱為可為原定址區,此區結的128個位元可以單獨以位元
來使用,並且有位元位址來定址MSC-51有提供位元指令來處理各
位元。而內部資料記憶體自080H~0FFH,只8051/8052此區只能用
間接地址方式來做讀寫
-
11
2-3輸入/輸出埠
8051 的I/O 埠共有32 位元,分成P0 、P1 、P2 、P3 ㆕個8
位元的I/O 埠, 每一個I/O 不埠都含有栓鎖與輸出驅動器,
除了P1 純粹做為輸入與輸出的功能 外,P0還具有擴充外接記
憶體或其他週邊資料匯流排和低位元址的功能,P2 有擴 充外
接記憶體之高位元址的功能,P3 具有中斷要求輸入、計數輸
入、串列埠輸入/輸出,讀、寫控制訊號等功能。
-
12
2-4 中斷結構
8051 提供了5種中斷來源,計時器0(TF0)、計時器
1(TF1)、串列埠中斷(RI或TI)屬內部中斷,INT0 和INT1 屬
外部中斷,8051 的中斷可藉由特殊功能暫存器中的計時/
計數控制暫存器(TCON)、中斷致能暫存器(IE)、中斷優先次
年控制暫存器(IP)、等暫存器來規劃其動作模式。
表2-3中斷向量表
表2-4中斷優先結購表
-
13
2-5 8051 內部計時器
8051 內部有兩個16 位元計時器(Timer)稱為
Timer0 和Timer1 , Timer0 和Timer1 的使用方法幾
乎一樣,它們都有以下四種工作模式:
(1)Mode0 :13 位元計時器模式。
(2)Mode1 :16 位元計時器模式。
(3)Mode2 :附有自動重新載入功能的8 位元計時器。
(4)Mode3 :在Mode3時Timer0與Timer1不同。Timer0 被拆成兩
個獨立的8位元計時器TL0 和TH0 。Timer1 在Mode3
時就停止計時。
8052內部比8051多出計時器Timr2,Timer2能計時外還
有三種工作模式:
1.自動重載模式(Auto Reload Mode):附有自動重新載入功能的16
位元計時器。
2.抓取模式(Capture Mode):可由外部觸發鎖住計時值的16 位元
計時器。
3.鮑率產生器模式(Baud Rate Generator):當作UART的位元率(或
稱鮑率)產生器,以控制UART 的傳送速率。
-
14
2-6紅外線介紹
紅外線在光譜上通常已超過可見光區的最長波-紅光,波長
約 750nm 之後的不可見光稱為紅外線。一般在日常生活中看
到的通常是近紅外線,波長在 750nm 到 25000nm 之間。目前
無線電波和微波已被廣泛地應用在長距離的無線通訊之中,
但由於紅外線的波長較短,對障礙物的衍射能力差,所以更適
合應用在需要短距離無線通訊的場合,進行點對點直線數據傳
輸。因為它的成本低廉、連接方便、簡單易用,因此在小型的
移動設備中獲得了廣泛的應用。
實際上在我們生活上充滿了這種紅外光,而紅外線是不需要執
照就可以使用了。例如低速紅外線(SLOW IR)應用冷氣遙控器
上,或者市光碟機或者市 DVD燒路器就是利用紅外線發射訊號
再利用編碼器進行編碼,轉成所需的訊號。然而還有高速紅外
線(Fast IR),他是傳輸速率 4Mbit/秒,或是更高的速率。
-
15
視線紅外線(Line-of-Sight)以有如雷射線般的直線形態
傳輸資料,因為其運動是以直線前進,如果傳輸的路途中沒有
任何的障礙物,則資料的傳輸可以說相當快速且具有效率的,
因為紅外線也是光的一種,所以它前進的速度為光速。但是就
像太陽光一樣,紅外線不能穿透牆壁或是大型物體,所以,在
資料收發的兩端必須相互對準(即可以看得見對方)才能進行
通訊,這對行動通訊可能常常移動位置的情形而言,是非常不
利的,而且容易受到下雨、下雪或是霧氣的干擾。
相對於視線紅外線直線前進的運動形態,散射式紅外線
(Diffused)就是一種非直接傳輸的方式。散射式紅外線在一
定區域中藉著天花板、牆壁及其他物體之表面,以擴散反射的
方式達成傳送資料的目的,而接收端則對收集到的訊號進行解
譯。
以散射式紅外線進行傳輸的最大好處在於,收送的兩端不必如
視線紅外線要正確地對準,但是就因為紅外線是散射形式,所
以傳輸範圍及效能將受到更大的限制。
-
16
第三章 製作過程
1.寫流程圖並且了解 8051的基礎原理及使用方法。
2.熟悉 8051 的使用方法,燒錄方法。
3.寫程式
4.測試並調整結果
動作流程
-
17
程式碼
;--------------------------------------->
TMP EQU 20H ; 按鍵狀態暫存器
COUNT1 EQU 21H ; 計數器十位/個位暫存器
COUNT2 EQU 22H ; 計數器千位/百位暫存器
;--------------------------------------->
SW1 EQU P3.0 ; 歸零 SW
IR EQU P3.2 ; 紅外線感測信號
ORG 0000H
AJMP START
ORG 0003H ; >
CLR EA ; 禁止所有中斷
MOV A,COUNT1 ; 讀取計數器值(十位&個位數)
ADD A,#1 ; +1
DA A ; 十進制轉換
MOV COUNT1,A ; 寫回計數器值(十位&個位數)
CJNE A,#99H,IN1 ; 計數值= XX99 ?
MOV A,COUNT2 ;
CJNE A,#99H,IN1 ; 計數值= 9999 ?
DJNZ R1,$ ; DELAY
CLR EA ; 禁止所有中斷
RETI
IN1: MOV A,COUNT1 ; 讀取計數器值(十位&個位數)
CJNE A,#00H,IN2 ; A0 表示未進位
MOV A,COUNT2 ; 讀取計數器值(千位&百位數)
ADD A,#1 ; +1
DA A ; 十進制轉換
MOV COUNT2,A ; 寫回計數器值(千位&百位數)
;---------------------------------------
IN2: DJNZ R1,$ ;
DJNZ R1,$ ; DELAY
SETB EA ; 允許中斷
RETI
START: MOV P0,#00H ; \
MOV P1,#00H ; | P0~P3 初始值
MOV P2,#0FFH ; |
MOV P3,#0FFH ; /
-
18
MOV IE,#10000001B ; 致能 INT0 中斷
MOV TCON,#00000001B ; INT0 負緣觸發並清除
MOV TMP,#00H ; 按鍵狀態 BIT
MOV SP,#50H ; 堆疊位址
ZERO: SETB EA ; 允許中斷
MOV COUNT1,#00H ; \ 計數器歸零
MOV COUNT2,#00H ; /
MAIN: MOV R0,#1 ;
CALL MA1 ; 顯示數字
MOV A,COUNT1 ; 計數值= XX99?
CJNE A,#99H,MN1 ; 計數值= XX99 ?
MOV A,COUNT2 ;
CJNE A,#99H,MN1 ; 計數值= 9999 ?
CALL MAX ; \ 閃爍 9999
CALL OFF ; /
MN1: JNB SW1,ZERO ; SW1 ON 計數器歸零
AJMP MAIN
DELAY: MOV R6,#10 ; \
DL2: MOV R7,#0FFH ; | DELAY
DJNZ R7,$ ; |
DJNZ R6,DL2 ; /
MOV P2,#0FFH ; \
MOV P0,#00H ; |
MOV R5,#10 ; | 關閉顯示+遮沒
DL1: NOP ; |
DJNZ R5,DL1 ; /
RET
MAX: MOV R0,#30H ; 迴圈次數
MA1: MOV A,COUNT1 ; 計數器個位數
ANL A,#0FH ; 取個位數值
CALL GET_7 ; 取得七段顯示碼
MOV P2,A ; 七段輸出顯示
MOV P0,#01H ; 個位數日字生效
CALL DELAY ; 延遲 & 遮沒
MOV A,COUNT1 ; 計數器十位數
SWAP A ; 4BITS 內容對調
ANL A,#0FH ; 取十位數值
CALL GET_7 ; 取得七段顯示碼
-
19
MOV P2,A ; 七段輸出顯示
MOV P0,#02H ; 十位數日字生效
CALL DELAY ; 延遲 & 遮沒
MOV A,COUNT2 ; 計數器百位數
ANL A,#0FH ; 取百位數值
CALL GET_7 ; 取得七段顯示碼
MOV P2,A ; 七段輸出顯示
MOV P0,#04H ; 百位數日字生效
CALL DELAY ; 延遲 & 遮沒
MOV A,COUNT2 ; 計數器千位數
SWAP A ; 4BITS 內容對調
ANL A,#0FH ; 取千位數值
CALL GET_7 ; 取得七段顯示碼
MOV P2,A ; 七段輸出顯示
MOV P0,#08H ; 千位數日字生效
CALL DELAY ; 延遲 & 遮沒
DJNZ R0,MA1
RET
OFF: MOV P2,#0FFH ; \
MOV P0,#00H ; | 不顯示
MOV R6,#0FFH ; |
CALL DL2 ; /
RET
GET_7: MOV DPTR,#SEG7 ;>
MOVC A,@A+DPTR ;取出 0~9 顯示碼之一
RET
;------------------------------------------------------ 共陰極七段顯示碼 0~9
SEG7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
電路圖
-
20
-
21
第四章 結果與討論
1.製作的過程中遇到了許多的問題,例如:不知道如何焊接、程式碼
中也出現許多的問題,如數字亂跳、PIR 輸出燈號交叉跳,LM324 pin8
輸出異常 LED 燈會快速閃爍, 造成計數器一直+1 等結果。
2.焊接完成後計數器仍無法啟動;經過一連串檢測是否有無短路現
象,最後把 LM324 pin8 改為 LM324 pin14,但是依然無法啟動,後
來直接更換 LA324D 才把問題解決。
3.計數器累計因為無法轉換,最後才決定多加一個 VR 1M來調整靈度。
-
22
第五章 參考文獻
(1)鄧錦城 編著,8051 單晶片專題製作,宏友圖書開發股
份有限公司
(2)鄧錦城 編著,8051 單晶片實作寶典,益眾資訊有
限公司
(3)鍾富昭 編著,8051/8052 與週邊IC 元件控制原理
分析及產品實務 設計,富茂資訊研習中心 。
(4)徐照夫 編著感測器應用電路,文笙書局
-
23
附表
表一、材料表
8051 人體紅外線感測 四位數計數器零件清單
零件名稱 數量 備 註
AT89C52 (8K) 1 or AT89S52 (8K)
40PIN IC 座 1
14PIN IC 座 1
震盪晶體 12MHz 1
電容 22P 2
電容 10U/16V 4
電容 0.1u 104 2
電阻 2.2K 5
電阻 10K 5
電阻 1M 3
電阻 47K 1
電阻 100K 1
可變電阻 VR 1M 1
電阻 120 歐姆 7 控制日字顯示亮度
電阻 300 歐姆 2 or 470 歐姆
紅外線光源過濾器 1
紅外線感測器 RE200B 1
KA324D 四組放大器 IC 1 LM324
3mm LED 2 紅/綠*1
按鈕 1
共陰極 單八日字顯示器 4 or 雙八日字*2
洞洞板 1
NPN 電晶體 HA8050 5 接腳 E B C
PNP 電晶體 A950 7 接腳 E C B
1N4148 2
電源插 PIN 2PIN 1
電源 DC+5V 1 變壓器 or 電池盒 (自備)
-
24
表二、設備與工具表
名稱 用途
錫銲槍&銲條 焊接
三用電表 量測是否有無短路
平口鉗 剪除多餘的線材
-
25
六、圖像
圖一、
-
26
圖二
-
27
圖三
-
28
圖四
-
29
圖五