光線強弱檢測
一、實驗?zāi)康?br>A/D 轉(zhuǎn)換器是單片機控制系統(tǒng)常用的數(shù)據(jù)采集器件,利用A/D 轉(zhuǎn)換器件可以使單片機
處理模擬信號。本實驗中,單片機使用串行A/D 轉(zhuǎn)換芯片ADC0832 和光電池實現(xiàn)對光線
強弱的檢測和判斷,并把檢測結(jié)果用數(shù)碼管顯示。通過實驗需掌握以下知識要點:
1.掌握串行A/D 轉(zhuǎn)換器的使用方法。
2.掌握單片機系統(tǒng)中A/D 轉(zhuǎn)換器的作用
3.掌握光電池模塊的使用方法
二、預(yù)備知識
1.光電池模塊
光電池模塊由光電池和放大電路組成。光電池的輸出電壓與光線強度成正比,但其輸
出電壓較小,且輸出電壓范圍與A/D 轉(zhuǎn)換器的參考電壓范圍不匹配。放大電路對光電池的
輸出電壓進行放大,使其輸出電壓的變化范圍為0~5V。光電池模塊的電路如下圖所示:
圖3-16 光電池模塊電路圖
圖中BT1 是光電池,運放U1A 是電壓跟隨器,用于阻抗匹配。U1B 實現(xiàn)電壓放大,調(diào)
整Rx,能調(diào)整電路放大倍數(shù),可以在規(guī)定光線強度內(nèi),使輸出電壓的范圍為0-5V。C1、C2
用于旁路高頻干擾信號,抑制干擾。
2.串行A/D 轉(zhuǎn)換芯片ADC0832
A/D 轉(zhuǎn)換芯片是單片機系統(tǒng)中常用的數(shù)模接口芯片,用于將單片機不能直接處理的模
擬量轉(zhuǎn)換為數(shù)字量。A/D 轉(zhuǎn)換芯片按輸出方式分,有串行輸出和并行輸出兩種類型。并行
A/D 與單片機連接時需要占用較多的I/O 口,但編程較簡單;串行A/D 與單片機連接只需
占用2-3 個普通I/O 口。
ADC0832 是美國模擬器件公司生產(chǎn)的8 位串行模數(shù)轉(zhuǎn)換芯片,它有兩個輸入通道,可
以輸入兩路模擬電壓。其數(shù)據(jù)輸出采用SPI 串行輸出,與單片機連接時只需要占用三個普
通I/O 口。ADC0832 的引腳定義和在“旋風”小車中的連接如下圖所示:
圖3-17 ADC0832 的引腳定義和連接
ADC0832 的引腳功能如下表:
表3-5 ADC0832 的引腳及連接
引腳序號 標號 功能 在“旋風”小車上的連接
1 CS 片選,低電平有效 接P2.0
2 CH0 模擬量輸入端0 通過跳線接J3
3 CH1 模擬量輸入端1 通過跳線接J4
4 GND 電源負極 接電源負極
5 DI 串行數(shù)據(jù)輸入端 與DO 端共接P3.6
6 DO 串行數(shù)據(jù)輸出端 與DI 端共接P3.6
7 CLK 時鐘脈沖輸入端 接P3.7
8 VCC 電源正極(5V) 接+ 5V
ADC0832 的實例程序如下:
1、TLC0832 的軟件接口程序
ORG 0000H
ADCDIO BIT P3.6 ;ADC0832 的DI 和DO 端接P3.6
ADCLK BIT P3.7 ;ADC0832 的CLK 端接P3.7
CS0832 BIT P2.0 ;ADC0832 的片選端接P2.0
AD: MOV R7 , #08
CLR ADCLK
CLR CS0832 ;ADC0832 有
SETB ADCDIO ;第一個脈沖下降沿前,DI 端必須為“1”
SETB ADCLK
NOP
CLR ADCLK ;脈沖下降沿
SETB ADCDIO ;輸出“1”選擇單極性輸出
SETB ADCLK
NOP
CLR ADCLK ;脈沖下降沿,數(shù)據(jù)輸出
CLR ADCDIO ;輸出“0”選擇CH0 通道
SETB ADCLK
NOP
CLR ADCLK ;脈沖下降沿,數(shù)據(jù)輸出
NOP
SETB ADCLK
NOP
SETB ADCDIO
AD0: CLR ADCLK ;逐位讀入A/D 轉(zhuǎn)換結(jié)果
NOP
SETB ADCLK
MOV C,ADCDIO ;把ADC0832 的數(shù)據(jù)讀入標志位C
RLC A ;用移位指令,把數(shù)據(jù)移入累加器ACC 中
DJNZ R7,AD0 ;讀取8 次
SETB CS0832
MOV 30H,A ;轉(zhuǎn)換結(jié)果存在30H 中
……
以上程序段對ADC0832 的CH0 端輸入的模擬電壓進行轉(zhuǎn)換,并將結(jié)果存放在30H 單元。
三、硬件連接
1.連接按鍵顯示模塊。
2.把光電池模塊插在J3 插座上,并將JP6 的右端短接。
四、實驗內(nèi)容
1.根據(jù)硬件連接要求連接硬件線路
2.編程實現(xiàn)以下功能:
用A/D 轉(zhuǎn)換器把光電池模塊輸出的模擬電壓轉(zhuǎn)換為一個字節(jié)的數(shù)據(jù),并將該數(shù)據(jù)直接
顯示數(shù)碼管上。程序流程圖如下:
圖3-18 A/D 轉(zhuǎn)換及顯示程序流程圖
3.分別把光電池置于暗處和光線較強處,觀察記錄顯示的數(shù)據(jù)。
五、擴展內(nèi)容
1.控制小車原地轉(zhuǎn)動一圈,然后再轉(zhuǎn)動到光線最強的方向停止。
注:① 為了使光電池檢測光的方向性更強,可以在光電池上套一個黑色的塑料筒。
② 編程思路:
先讓小車慢速旋轉(zhuǎn)一圈以上,在旋轉(zhuǎn)過程中連續(xù)用A/D 轉(zhuǎn)換器采集光電池模塊輸出電
壓,并只保留其最大值。這樣就確定了光線最強處的數(shù)值,然后讓小車繼續(xù)旋轉(zhuǎn),直到采
集的數(shù)據(jù)大于等于最大值是小車停止。整個過程小車旋轉(zhuǎn)的圈數(shù)不應(yīng)超過兩圈。
六思考題
1.小車上采用串行A/D 轉(zhuǎn)換器有何優(yōu)點?
2.查閱資料,列出ADC0832 芯片的 技術(shù)參數(shù)。
3.在本實驗的基礎(chǔ)上,把顯示的結(jié)果修改為照度單位,應(yīng)如何修改?
評論