久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 單片機(jī)紅外收發(fā)實(shí)驗(yàn) [打印本頁(yè)]

作者: 不小心    時(shí)間: 2018-5-21 08:09
標(biāo)題: 單片機(jī)紅外收發(fā)實(shí)驗(yàn)
紅外收發(fā)實(shí)驗(yàn)
  實(shí)驗(yàn)?zāi)康?/font>
了解紅外通信知識(shí),能夠應(yīng)用紅外線模塊進(jìn)行無(wú)線控制設(shè)計(jì)。
  實(shí)驗(yàn)設(shè)備及器材
PC                                   1臺(tái)
DP-51PROC單片機(jī)綜合仿真實(shí)驗(yàn)儀       1臺(tái)
  實(shí)驗(yàn)內(nèi)容
使用單片機(jī)的串口發(fā)送并接收數(shù)據(jù),TXD接到紅外發(fā)射管,RXD接到紅外接收頭,實(shí)現(xiàn)無(wú)線通訊。
  紅外收發(fā)原理
紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體。發(fā)送端將二進(jìn)制信號(hào)調(diào)制為一系列的脈沖串信號(hào),通過(guò)紅外發(fā)射管發(fā)射紅外信號(hào)。接收端將接收到的光脈沖轉(zhuǎn)換成電信號(hào),再經(jīng)過(guò)放大,濾波等處理后送到解調(diào)電路進(jìn)行解調(diào),還原為二進(jìn)制數(shù)字信號(hào)后輸出。簡(jiǎn)而言之,紅外通信的實(shí)質(zhì)就是對(duì)二進(jìn)制數(shù)字信號(hào)進(jìn)行調(diào)制與解調(diào),以便利用紅外信道進(jìn)行傳輸。
本實(shí)驗(yàn)的紅外收發(fā)示意圖如圖4-30所示,通過(guò)硬件電路完成了對(duì)輸入數(shù)據(jù)的調(diào)制,將調(diào)制的信號(hào)轉(zhuǎn)換為光信號(hào)通過(guò)紅外發(fā)射管發(fā)送數(shù)據(jù),由紅外接收頭接收數(shù)據(jù)并完成對(duì)數(shù)據(jù)的調(diào)解。解調(diào)后的數(shù)據(jù)由單片機(jī)進(jìn)行處理。實(shí)驗(yàn)儀B2區(qū)的1/512頻率輸出端輸出用于信號(hào)調(diào)制的約為38kHz的時(shí)鐘信號(hào)。
一般紅外接收模塊的解調(diào)頻率為38kHz。當(dāng)它接收到38kHz左右的紅外信號(hào)時(shí),將輸出低電平,但連續(xù)輸出低電平的時(shí)間是有限制的,也就是說(shuō),發(fā)送數(shù)據(jù)低電平寬度是有限制的。注意發(fā)射管應(yīng)與接收頭平齊,否則接收頭可能接收不到來(lái)自發(fā)射管的反射光。


  實(shí)驗(yàn)原理圖
  由于Proteus元件庫(kù)中無(wú)紅外發(fā)射和接收的仿真元件,所以該實(shí)驗(yàn)無(wú)法在Proteus軟件中仿真調(diào)試,可搭試電路直接在實(shí)物板調(diào)試。紅外收發(fā)的電路設(shè)計(jì)原理圖4-31所示。

     

4-31  紅外收發(fā)電路設(shè)計(jì)原理圖

          紅外接收頭模塊
  實(shí)驗(yàn)步驟
  實(shí)驗(yàn)儀D3區(qū)紅外收發(fā)電路原理圖如圖4-32所示。實(shí)驗(yàn)步驟如下:
  1B2區(qū)X2插入20MHz的晶振,接上B2區(qū)的JP20號(hào)跳線。
  2)將B2區(qū)的1/512頻率輸出端接到D3區(qū)的DCLK(約為38kHz,用于信號(hào)調(diào)制)。
  3)將A2區(qū)的RXD,TXD分別連接到D3區(qū)的DREC,DSEND
  4)用短路線將D3區(qū)JP9短接(D3區(qū)電路供電電源)。
  5)將A2區(qū)的P10連接到D1區(qū)的LED1。
  6)斷開(kāi)A1區(qū)JP15的跳線232RXD232TXD
  7)下載程序并運(yùn)行,使用較厚的白紙擋住紅外發(fā)射管發(fā)射信號(hào),使其反射到接收頭,觀察LED1是否點(diǎn)亮。




  實(shí)驗(yàn)參考程序
1.匯編語(yǔ)言參考程序清單
   LED_CON   BIT      P1.0
    COUTE     DATA    40H
    ORG       0000H
    LJMP      MAIN
    ORG       0100H
MAIN:
    MOV      SP,#60H
    MOV      SCON,0X50
    MOV      TMOD,#0x20
    MOV      TH1,0xFA
    SETB      TR1
MAINLOOP:
    MOV      COUTE,#0
    MOV      R7,#50
LOOP1:
MOV     SUBF,#0x5A
JNB       TI,$
CLR       TI
NOP
NOP
JB        R2,LOOP2
SJMP      LOOP3
LOOP2:
    CLR       RI
    MOV      A,SUBF
    CJNE      A,#05AH,LOOP3
    INC       COUTE
LOOP3:
    DJNZ      R7,LOOP1
    MOV      A,COUTE
    SETB      C
    SUBB      A,#30
    JC        CLR_LED
    CLR       LED_CON
    SJMP      DELAY
CLR_LED:
    SETB      LED_CON
DELAY:
    MOV      R6,#200
DELAY1:
    MOV      R5,#200
    DJNZ      R5,$
    DJNZ      R6,DELAY1
    SJMP      MAINLOOP
END     
2.C語(yǔ)言參考程序清單
#include<reg51.h>
#define uint8 unsigned char
#define uint16 unsigned int
sbit LED_CON P1^0;                //定義LED控制口
//************向串口發(fā)送一字節(jié)數(shù)據(jù)*************//
// 人口參數(shù):dat要發(fā)送的數(shù)據(jù)
//********************************************//
void UART_SendByte(uint8 dat)
{  SBUF=dat;                          //發(fā)送數(shù)據(jù)
   while(0==TI);                   //等待發(fā)送完畢
      TI=0;                        //清零TI標(biāo)志
}
//************接收一字節(jié)串口數(shù)據(jù)************//
//入口參數(shù):dat接受變量的地址指針
//出口參數(shù):返回0表示沒(méi)有數(shù)據(jù),返回1表示接收到數(shù)據(jù)
//*****************************************//
uint8 UART_RcvByte(uint8 *dat)
{
   if(0==RI) return(0);       //若沒(méi)有接收到數(shù)據(jù)則返回0
      *dat=SUBF;                   //取得接受的數(shù)據(jù)
   RI=0;                              //清除RI標(biāo)志
   return(1);
}
//************串口初始化***********************//
//模式為1位起始位,8位數(shù)據(jù)位,1位停止位,波特率為9600
//晶振為11.0592MHz,使用T1作為波特率發(fā)生器
//********************************************//
void UART_Tnit(void)
{
   SCON=0x50;
   TMOD=0x20;
   TH1=0xFA;
   TR1=1;
}
//**************主函數(shù)************************//
//初始化串口后不斷地發(fā)送及接收數(shù)據(jù),若接收到所發(fā)送的數(shù)據(jù)則點(diǎn)亮LED
//*******************************************//
int main(void)
{
   uint8 i;
   uint16 j;
   uint8 rcv_dat;
   uint8 count;
UART_Tnit();
   while(1)
   { count=0;                    // 計(jì)數(shù)變量清零
      for(i=0;i<50;i++)       //發(fā)送及接收50個(gè)數(shù)據(jù)
      { UART_SendByte(0x5A);
if(UART_RcvBYTE(&rcv_dat)!=0)
{
if(0x5A==rcv_dat) count++;   //若接收的數(shù)據(jù)為0x5A





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品福利视频 | 久久精品亚洲欧美日韩久久 | 久热精品在线播放 | 色中文在线 | 成人久久网 | 亚洲欧美精品 | 精品美女 | 99热播放| 欧美精品一区在线发布 | m豆传媒在线链接观看 | 超碰人人91 | 精品久久久久久久久久 | 成人福利网 | 亚洲欧美日韩在线不卡 | 久久久精 | 亚洲免费视频在线观看 | 亚洲欧美视频一区二区 | 亚洲精品久久久久国产 | 亚洲网站在线播放 | 亚洲一区二区av | 最新中文字幕在线 | 午夜免费福利电影 | 国产精品高潮呻吟久久av黑人 | 999久久久 | www.99热这里只有精品 | 精品成人69xx.xyz| 91精品国产乱码久久久久久 | 中日韩欧美一级片 | 日韩三级精品 | 久久久久久中文字幕 | 午夜精品久久久久久久星辰影院 | 韩日精品视频 | 国产蜜臀97一区二区三区 | 在线成人| 国产h在线| 欧美激情视频一区二区三区免费 | 欧美三级三级三级爽爽爽 | 欧美专区在线观看 | 亚洲成人网在线 | 免费成人在线网 | 视频一区二区三区中文字幕 |