国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

51單片機(jī)綜合學(xué)習(xí)系統(tǒng)演示程序 - 紅外遙控器鍵值顯示(轉(zhuǎn)載)

發(fā)布時間:2011-12-29 14:54    發(fā)布者:niyujun
關(guān)鍵詞: 51單片機(jī) , 遙控器
/*************************************************************************
*                                                                        *
* 51單片機(jī)綜合學(xué)習(xí)系統(tǒng)演示程序 - 紅外遙控器鍵值顯示                      *
*                                                                        *
* 功能:紅外編碼值通過2位數(shù)碼管顯示                                      *
* 版本: V1.0 (2009/05/25)                                               *
* 網(wǎng)站: www.hificat.com      www.kincony.com                            *                                               *
* 來源: 杭州晶控電子有限公司  HANGZHOU KinCony ELECTRONICS CO.,LTD      *
*【版權(quán)】Copyright(C) 杭州晶控電子 www.hificat.com  All Rights Reserved  *
*【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!              *
*                                                                        *
*************************************************************************/

#include
#include

sbit IRIN = P3 ^ 2; //紅外接收器數(shù)據(jù)線
sbit BEEP = P3 ^ 7; //蜂鳴器驅(qū)動線
sbit RELAY = P1 ^ 3; //繼電器驅(qū)動線

unsigned char IRCOM[] =
{
  0x00, 0x00, 0x00, 0x00, 0x10, 0x10
};

unsigned char code table[] =
{
  0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,  //0,1,2,3,4,5,6,7
  0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, 0xbf //8,9,A,B,C,D,E,F,-
};

char code reserve[3]_at_ 0x3b; //保留0x3b開始的3個字節(jié)

/**********************************************************

ms延時子函數(shù)

**********************************************************/
void delayms(unsigned int ms)
{
  unsigned char k;
  while (ms--)
  {
    for (k = 0; k < 114; k++)
      ;
  }
}

/**********************************************************

us延時子函數(shù)

**********************************************************/
void delay(unsigned char x) //x*0.14MS
{
  unsigned char i;
  while (x--)
  {
    for (i = 0; i < 14; i++)
      ;
  }
}

/**********************************************************

蜂鳴器驅(qū)動子函數(shù)

**********************************************************/
void beep()
{
  unsigned char i;
  for (i = 0; i < 100; i++)
  {
    BEEP = !BEEP; //BEEP取反
    delay(6);
  }
  BEEP = 1; //關(guān)閉蜂鳴器
}

/**********************************************************

顯示函數(shù)

**********************************************************/
void play()
{
  P0 = (table[IRCOM[4]]); //個位
  P2 = 0xfe;
  delayms(1);
  P0 = (table[IRCOM[5]]); //十位
  P2 = 0xfd;
  delayms(1);
  P2 = 0xff; //關(guān)閉顯示
  delayms(1);
}

/**********************************************************

主函數(shù)

**********************************************************/
void main(void)
{
  P0 = 0xff; //I/O口初始化
  P2 = 0xff;
  IRIN = 1;
  BEEP = 1;
  RELAY = 1;

  IE = 0x81; //允許總中斷中斷,使能 INT0 外部中斷
  TCON = 0x01; //觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)

  play();

  while (1)
  {
    if (IRCOM[2] == 0x1d)
    //UP鍵
      RELAY = 0;
    //繼電器吸合
    if (IRCOM[2] == 0x12)
    //DOWN鍵
      RELAY = 1;
    //繼電器關(guān)閉

    play(); //顯示
  }
}

/**********************************************************

INT0 中斷服務(wù)子函數(shù)

**********************************************************/
void IR_IN()interrupt 0
{
  unsigned char j, k, Num = 0;

  EX0 = 0; //關(guān)閉INT0中斷
  delay(15); //延時
  if (IRIN == 1)
  //再確認(rèn)IR信號是否出現(xiàn)
  {
    EX0 = 1; //開INT0中斷
    return ; //退出
  }

  while (!IRIN)
  //等IR變?yōu)楦唠娖剑^9ms的前導(dǎo)低電平信號。
  {
    delay(1);
  }

  while (IRIN)
  //等IR變?yōu)榈碗娖剑^4.5ms的前導(dǎo)高電平信號。
  {
    delay(1);
  }

  for (j = 0; j < 4; j++)
  //收集四組數(shù)據(jù)
  {
    for (k = 0; k < 8; k++)
    //每組數(shù)據(jù)有8位
    {
      while (IRIN)
      //等 IR 變?yōu)榈碗娖?br />       {
        delay(1);
      }
      while (!IRIN)
      //等 IR 變?yōu)楦唠娖?br />       {
        delay(1);
      }
      while (IRIN)
      //計(jì)算IR高電平時長
      {
        delay(1);
        Num++;
        if (Num >= 15)
        {
          EX0 = 1; //0.14ms計(jì)數(shù)過長自動離開。
          return ;
        }
      } //高電平計(jì)數(shù)完畢
      IRCOM[j] = IRCOM[j] >> 1; //數(shù)據(jù)最高位補(bǔ)“0”
      if (Num >= 8)
        IRCOM[j] = IRCOM[j] | 0x80;
      //數(shù)據(jù)最高位補(bǔ)“1”
      Num = 0;
    } //end for k
  } //end for j

  if (IRCOM[0] != 0x00)
  //比較用戶碼
  {
    EX0 = 1; //開INT0中斷
    return ; //退出
  }
  if (IRCOM[2] != ~IRCOM[3])
  //接收數(shù)據(jù)是否正確
  {
    EX0 = 1; //開INT0中斷
    return ; //退出
  }

  IRCOM[4] = IRCOM[2] &0x0F; //取鍵碼的低四位
  IRCOM[5] = IRCOM[2] >> 4; //右移4次,高四位變?yōu)榈退奈?br />
  play(); //顯示鍵碼
  beep(); //蜂鳴器響一聲
  EX0 = 1; //重新開INT0中斷
}

/**********************************************************
;================================

;6121碼 遙控器(晶控電子)

;******  紅外遙控器鍵值表  ******

00        01        02        03
04        05        06        07
08        09        0A        0B
0C        0D        0E        0F
10        11        12        13
14        15        16        17
18        19        1A        1B

;================================

IRCOM[0] --- 存放用戶碼    00H
IRCOM[1] --- 存放用戶反碼  ffH
IRCOM[2] --- 存放數(shù)據(jù)碼
IRCOM[3] --- 存放數(shù)據(jù)反碼

*********************************************************/
本文地址:http://m.qingdxww.cn/thread-84683-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
niyujun 發(fā)表于 2011-12-29 14:54:53
這個程序我是調(diào)試通過的
rinllow6 發(fā)表于 2013-7-24 13:54:36
謝謝!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲二区在线播放 | 亚洲欧美韩日 | 三面娜迦免费观看 | 美国免费视频 | 欧美人与动人物xxxx9296 | 看特级毛片 | 四虎精品影院在线观看视频 | 黄色欧美网站 | 很黄很色很刺激视频播放 | 久热精品香蕉在线视频 | 九九九热精品 | 男女污污无遮挡免费观看 | 亚洲黄色免费在线观看 | 国产视频手机在线 | 色在线导航| 国产剧情麻豆mv在线观看 | 韩国一级大片 | 久久国产三级 | 亚洲第一区精品观看 | 深爱激情五月婷婷 | 国产成人aa在线观看视频 | 国产又色又爽又黄的网站在线一级 | 国产精品久久自在自2021 | 欧美精品一二区 | 亚洲一级片免费 | 成都4片p高清完整版在线观看 | 国产欧美日韩免费一区二区 | 久久大香伊蕉在人线观看热2 | 国产高清在线精品一区a | 久久99热精品免费观看无卡顿 | 国产一级做a爰片... | 国产成人亚洲综合欧美一部 | www.操操操| 日韩一本在线 | 99免费观看视频 | 2021天天躁夜夜躁狠狠躁 | 四虎精品 | 香港黄页亚洲一级 | 日韩视频高清免费看 | 欧美草逼视频 | 清纯唯美综合网 |