實驗2 紅外對射傳感器實驗-V20160908
1.實驗目的
學習紅外對射傳感器工作原理;
2.實驗設備
硬件:紅外對射傳感器節(jié)點,串口線;
軟件:Keil u Vision4編譯軟件,STC下載軟件STC_ISP;
芯片手冊:配套光盤附件芯片手冊紅外對射傳感器;
電路原理圖路徑:配套光盤附件電路原理圖;
源碼路徑:配套光盤源代碼傳感器原理與應用實驗2 紅外對射傳感器實驗-V20161122;
hex文件路徑:配套光盤源代碼傳感器原理與應用實驗2 紅外對射傳感器實驗-V20161122out;
3.實驗原理
3.1 紅外對射傳感器介紹
紅外對射傳感器使用的是槽型紅外光電開關。紅外光電傳感器是捕捉紅外線這種不可見光,采用專用的紅外發(fā)射管和接收管,轉換為可以觀測的電信號。紅外光電傳感器有效地防止周圍可見光的干擾,進行無接觸探測,不損傷被測物體。紅外光電傳感器在一般情況下,有三部分構成,它們分為:發(fā)送器、接收器和檢測電路。
紅外對射傳感器的外型如圖3.1所示。槽型紅外光電開關把一個紅外光發(fā)射器和一個紅外光接收器面對面地裝在一個槽的兩側。發(fā)光器能發(fā)出紅外光,在無阻情況下光接收器能收到光。但當被檢測物體從槽中通過時,光被遮擋,光電開關便動作,輸出一個開關控制信號,切斷或接通負載電流,從而完成一次控制動作。槽形開關的檢測距離因為受整體結構的限制一般只有幾厘米。
圖3.1 紅外對射傳感器
3.2 光敏傳感器的電路圖
紅外對射傳感器電路如圖3.2,U1的1,2腳為紅外發(fā)射端,3,4腳為接收端,當凹槽中有物體擋住紅外線時,3,4腳之間截止,1IN+為高電平,D4輸出高電平;當凹槽中沒有物體擋住紅外線時,3,4腳之間導通,1IN+為低電平,D4輸出低電平。
圖3.2 紅外對射傳感器電路
4.實驗步驟
4.1 編寫實驗源代碼文件
4.1.1 取紅外對射傳感器節(jié)點,打開Keil集成開發(fā)環(huán)境,打開配套光盤源代碼傳感器原理與應用實驗2 紅外對射傳感器實驗-V20161122的工程文件。
4.1.2點擊左上角的Rebuild按鍵,編譯整個工程,將生成hongwaiduishe.hex可執(zhí)行文件,該可執(zhí)行文件自動保存在配套光盤源代碼傳感器原理與應用實驗2 紅外對射傳感器實驗-V20161122out目錄下。(注意:請根據該目錄下 hongwaiduishe.hex 文件的生成時間,判斷該文件是否是自己剛剛編譯完成的。)
4.1.3 使用串口線將電腦與紅外對射傳感器節(jié)點的串口相連,將紅外對射傳感器節(jié)點上的S1開關撥打到左邊,讓STC單片機和DB9相連。
4.1.4 根據 配套光盤第三方應用軟件STC_ISP的STC-ISP軟件使用說明書-甄鵬-V20160423,使用STC-ISP軟件將4.1.2步中生成的可執(zhí)行hongwaiduishe.hex文件通過STC_ISP串口下載軟件下載進STC單片機中。
4.2 實驗源代碼解析
#include #define BUF_LENTH 128 //定義串口接收緩沖長度 #define uint unsigned int #define uchar unsigned char unsigned char uart1_wr; //寫指針 unsigned char uart1_rd; //讀指針 unsigned char xdata RX0_Buffer[BUF_LENTH]; //接收緩沖 unsigned char flag; unsigned char i; unsigned char xdata mbus_buffer[255]; unsigned char xdata mbus_Sendbuf[255]; unsigned char xdata Crc_buf[2]; //聲明存儲CRC校驗值的高8位及低8位的緩存 unsigned int Crc_return_data; //聲明CRC校驗值 bit B_TI; //發(fā)送完成標志 sbit P1_0 = P1^0;//定義P1.0端口 // 7 6 5 4 3 2 1 0 Reset Value //sfr ADC_CONTR = 0xBC; ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 0000,0000 //AD 轉換控制寄存器 #define ADC_OFF() ADC_CONTR = 0 #define ADC_ON (1 << 7) #define ADC_90T (3 << 5) #define ADC_180T (2 << 5) #define ADC_360T (1 << 5) #define ADC_540T 0 #define ADC_FLAG (1 << 4) //軟件清0 #define ADC_START (1 << 3) //自動清0 #define ADC_CH0 0 #define ADC_CH1 1 #define ADC_CH2 2 #define ADC_CH3 3 #define ADC_CH4 4 #define ADC_CH5 5 #define ADC_CH6 6 #define ADC_CH7 7 uint adc10_start(uchar channel); void uart1_init(void); void Uart1_TxByte(unsigned char dat); void Uart1_String(unsigned char code *puts); void delay_ms(unsigned char ms); unsigned int cal_crc(unsigned char *snd, unsigned char num); /*************** 用戶定義參數 *****************************/ #define MAIN_Fosc 11059200UL #define Baudrate0 9600UL /**********************************************************/ /************** 編譯器自動生成,用戶請勿修改 *****************************/ #define BRT_Reload (256 - MAIN_Fosc / 16 / Baudrate0) //Calculate the timer1 reload value ar 1T mode /**********************************************************/ //********************************************************************** //函數名:main(void) //輸入 :無 //輸出 :無 //功能描述:檢測紅外對射傳感器中間有無物體,用AD量表示,當返回值大于 //500判定有物體 //********************************************************************** void main(void) { uint j; uart1_init();//初始化串口 P1ASF = (1 << ADC_CH0); //STC12C5A16S2系列模擬輸入(AD)選擇ADC1(P1.0) ADC_CONTR = ADC_360T | ADC_ON; while(1) { j = adc10_start(0); //(P1.0)ADC1轉換 delay_ms(5); if(flag==1) { delay_ms(5); if(RX0_Buffer[0x03] == 0x2C) {
上一篇:單片機單總線掛2片ds18b20傳感器,8位數碼同時管顯示
下一篇:51單片機OLED+dht11顯示溫度的源程序
推薦閱讀
史海拾趣
在國內市場取得一定成績后,Blaze公司開始積極拓展國際市場。通過與全球知名企業(yè)的合作,公司成功將產品打入國際市場,并贏得了良好的口碑。此外,公司還積極參加國際電子展會和交流活動,與全球同行建立了廣泛的合作關系,為公司的進一步發(fā)展奠定了堅實的基礎。
為了提高生產效率和產品質量,北京人民電器投入大量資金建設了自動化裝配檢測流水線。這一舉措使得公司的生產能力得到了大幅提升,同時也確保了產品的一致性和可靠性。自動化流水線的建設,是北京人民電器在現(xiàn)代化生產道路上邁出的重要一步。
品質管理是CAT發(fā)展的重要保障。公司建立了嚴格的質量管理體系,從原材料采購到產品制造、檢驗、包裝等各個環(huán)節(jié)都進行嚴格的品質控制。CAT還注重與客戶的溝通與協(xié)作,及時了解客戶需求,為客戶提供個性化的解決方案和優(yōu)質的售后服務。這些舉措使得CAT贏得了客戶的廣泛信賴和長期合作。
奇美公司的創(chuàng)業(yè)歷程始于XXXX年,當時電子產業(yè)正處于蓬勃發(fā)展的初期。公司創(chuàng)始人憑借對電子行業(yè)的敏銳洞察力和堅定的創(chuàng)業(yè)決心,帶領一支充滿激情和創(chuàng)造力的團隊,開始了奇美的創(chuàng)業(yè)之路。在創(chuàng)業(yè)初期,奇美專注于電子產品的研發(fā)和生產,通過不斷的技術創(chuàng)新和市場拓展,逐漸在行業(yè)內嶄露頭角。
在電子行業(yè)的初期,Chyao Shiunn Electronic Industrial Ltd還是一家名不見經傳的小公司。然而,憑借著對技術創(chuàng)新的執(zhí)著追求,公司成功研發(fā)出一款高效能的芯片,這款芯片不僅性能卓越,而且成本相對較低。這一技術突破迅速吸引了市場的關注,公司借此機會積極拓展市場,逐漸在電子行業(yè)中嶄露頭角。
要求讀取這盞紅色LED燈閃爍多少次(0-99內)我認為最好用光控。或我的qq598438956 [ 本帖最后由 lilijack2010 于 2010-3-21 17:34 編輯 ]… 查看全部問答∨ |
|
我在SPI(C語言)上有計算出一個字節(jié),DSP(匯編)上計算出4個字節(jié),然后DSP上的4個字節(jié)要一個一個的發(fā)送到SPI上進行比較.如果發(fā)送的第一個字節(jié)就與SPI上的字節(jié)相同,就OK.不同的話就繼續(xù)發(fā)下一個字節(jié). 現(xiàn)在我在SPI上有一個接收的函數A()返回一個值, 現(xiàn)在 ...… 查看全部問答∨ |
|
學習Windows內核驅動,須要硬件嗎?(窮學生該如何解決呢?) 自己正在上學,自認為編程基礎還不錯,想學習Windows內核驅動開發(fā)。 但是,現(xiàn)在只跟著書學了一點。由于沒有具體硬件,就沒法執(zhí)行書中的例子。 是不是,該買硬件了,買什么硬件呢(必須要便宜的)? 還是,不用硬件就可以學內核驅動開發(fā)呢? 現(xiàn) ...… 查看全部問答∨ |
|
STM32F103RC WWDG不復位 : 用的IAR的例程, /* WWDG clock counter = (PCLK1/4096)/8 = 244 Hz (~4 ms) */ WWDG_SetPrescaler(WWDG_Prescaler_8); /* Set W ...… 查看全部問答∨ |
|
從D觸發(fā)器的角度說明建立和保持時間. 上圖是用與非門實現(xiàn)的D觸發(fā)器的邏輯結構圖,CP是時鐘信號輸入端,S和R分別是置位和清零信號,低有效; D是信號輸入端,Q信號輸出端; 這里先說一下D觸發(fā)器實現(xiàn)的原理:(假設S和R信號均為高,不進行置位 ...… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 博世新獲國內頭部車企座艙域控項目定點
- 首款測量電動汽車電機溫度的傳感器問世,提升對磁鐵的保護以減少稀土的使用
- Arm開發(fā)出計算子系統(tǒng) 以加速汽車設計的下一代AI芯片的開發(fā)
- 福特汽車申請新專利 或實現(xiàn)車庫定向音樂播放
- 泊車場景一定需要超聲波嗎?
- 同星新一代TC1055 Pro開啟車載網絡測試新時代
- 福特汽車申請新專利 或將配備安全卡追蹤系統(tǒng)
- 蘇黎世聯(lián)邦理工學院開發(fā)四足機器人 可與人類對打羽毛球
- 益萊儲參加 Keysight World 2025,助力科技加速創(chuàng)新
- 中國工業(yè)機器人龍頭沖擊港股IPO,覆蓋鋰電池全產業(yè)鏈