单片机红外的时序 MCS-51单片机的时钟周期与振荡周期之间有什么关系 一个机...

\u5355\u7247\u673a\u6d4b\u65f6\u5e8f\u7684\u7a0b\u5e8f

\u6700\u597d\u7528\u4e0b\u964d\u6cbf\u4e2d\u65ad\uff0c\u8fdb\u53bb\u540e\u8bfb\u53d6SDA\u6570\u636e\uff0c\u51fa\u6765\u4e4b\u540e\u518d\u505a\u5904\u7406\uff0c\u4ee5\u514d\u9519\u8fc7\u4e0b\u6b21\u6570\u636e\u4e2d\u65ad\uff0c\u6ce8\u610f\u4e3b\u9891\uff0c\u4e00\u5b9a\u8981\u4fdd\u8bc1\u4e0b\u4e2a\u4e0b\u964d\u6cbf\u5230\u6765\u524d\u80fd\u51fa\u4e2d\u65ad\u3002

\u65f6\u949f\u5468\u671f\u4e00\u4e2a\u65f6\u949f\u8109\u51b2\u6240\u9700\u8981\u7684\u65f6\u95f4\u3002\u5728\u8ba1\u7b97\u673a\u7ec4\u6210\u539f\u7406\u4e2d\u53c8\u53ebT\u5468\u671f\u6216\u8282\u62cd\u8109\u51b2\u3002\u662fCPU\u548c\u5176\u4ed6\u5355\u7247\u673a\u7684\u57fa\u672c\u65f6\u95f4\u5355\u4f4d\u3002\u5b83\u53ef\u4ee5\u8868\u793a\u4e3a\u65f6\u949f\u6676\u632f\u9891\u7387\uff081\u79d2\u949f\u7684\u65f6\u949f\u8109\u51b2\u6570\uff09\u7684\u5012\u6570\u3002
\u7528\u632f\u8361\u5468\u671f\u6765\u8bb0\u5f55\u65f6\u949f\u5468\u671f\uff0c\u632f\u8361\u4e00\u6b21\u8bb0\u5f55\u4e00\u6b21\u65f6\u949f\u5468\u671f\uff0c\u65f6\u949f\u5468\u671f\u8868\u793a\u4e86SDRAM\u6240\u80fd\u8fd0\u884c\u7684\u6700\u9ad8\u9891\u7387\u3002
\u673a\u5668\u5468\u671f\u65f6\u5e8f\u7531\u632f\u8361\u5468\u671f\u6765\u5212\u5206\uff0c\u5185\u5b58\u4e2d\u8bfb\u53d6\u4e00\u4e2a\u6307\u4ee4\u5b57\u7684\u6700\u77ed\u65f6\u95f4\u6765\u89c4\u5b9a\u673a\u5668\u5468\u671f\u3002
\u8ba1\u7b97\u673a\u901a\u8fc7\u5185\u90e8\u6216\u5916\u90e8\u603b\u7ebf\u8fdb\u884c\u4e00\u6b21\u4fe1\u606f\u4f20\u8f93\u4ece\u800c\u5b8c\u6210\u4e00\u4e2a\u6216\u51e0\u4e2a\u5fae\u64cd\u4f5c\u6240\u9700\u8981\u7684\u65f6\u95f4\uff0c\u753112\u4e2a\u65f6\u949f\u5468\u671f\uff08\u632f\u8361\u5468\u671f\uff09\u7ec4\u6210\uff0c\u4e5f\u662f\u75316\u4e2a\u72b6\u6001\u5468\u671f\u7ec4\u6210\u3002\u800c\u632f\u8361\u5468\u671f=1\u79d2/\u6676\u632f\u9891\u7387\uff0c\u56e0\u6b64\u5355\u7247\u673a\u7684\u673a\u5668\u5468\u671f=12\u79d2/\u6676\u632f\u9891\u7387 \u3002


\u6269\u5c55\u8d44\u6599
\u4ece\u5185\u5b58\u4e2d\u8bfb\u53d6\u4e00\u4e2a\u6307\u4ee4\u5b57\u7684\u6700\u77ed\u65f6\u95f4\u6765\u89c4\u5b9aCPU\u5468\u671f\uff08\u673a\u5668\u5468\u671f\uff09\uff0c\u4e5f\u5373CPU\u5b8c\u6210\u4e00\u4e2a\u57fa\u672c\u64cd\u4f5c\u6240\u9700\u7684\u65f6\u95f4\u3002\u901a\u5e38\u4e00\u4e2a\u673a\u5668\u5468\u671f\u5305\u542b12\u4e2a\u65f6\u949f\u5468\u671f\uff0c\u57288051\u7cfb\u5217\u5355\u7247\u673a\u7684\u4e00\u4e2a\u673a\u5668\u5468\u671f\u75316\u4e2aS\u5468\u671f\uff08\u72b6\u6001\u5468\u671f\uff09\u7ec4\u6210\u3002
\u5468\u671f\u65f6\u95f4\u53c8\u5305\u542b\u82e5\u5e72\u4e2a\u65f6\u949f\u5468\u671f\u3002\u65f6\u949f\u5468\u671f\u5b9a\u4e49\u4e3a\u65f6\u949f\u8109\u51b2\u7684\u5012\u6570\uff0c\u662f\u8ba1\u7b97\u673a\u4e2d\u6700\u57fa\u672c\u7684\u3001\u6700\u5c0f\u7684\u65f6\u95f4\u5355\u4f4d\u3002
\u65f6\u949f\u8109\u51b2\u662f\u8ba1\u7b97\u673a\u7684\u57fa\u672c\u5de5\u4f5c\u8109\u51b2\uff0c\u63a7\u5236\u7740\u8ba1\u7b97\u673a\u7684\u5de5\u4f5c\u8282\u594f\u3002\u5bf9\u540c\u4e00\u79cd\u673a\u578b\u7684\u8ba1\u7b97\u673a\uff0c\u65f6\u949f\u9891\u7387\u8d8a\u9ad8\uff0c\u8ba1\u7b97\u673a\u7684\u5de5\u4f5c\u901f\u5ea6\u5c31\u8d8a\u5feb\u3002\u4f46\u662f\uff0c\u7531\u4e8e\u4e0d\u540c\u7684\u8ba1\u7b97\u673a\u786c\u4ef6\u7535\u8def\u548c\u5668\u4ef6\u7684\u4e0d\u5b8c\u5168\u76f8\u540c\uff0c\u6240\u4ee5\u5176\u6240\u9700\u8981\u7684\u65f6\u949f\u5468\u9891\u7387\u8303\u56f4\u4e5f\u4e0d\u4e00\u5b9a\u76f8\u540c\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u65f6\u949f\u5468\u671f
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u632f\u8361\u5468\u671f

  红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、8位用户码、8位用户码的反码、8位操作码以及8位操作码的反码组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的低电平(起始码)和一个4. 5ms的高电平(结果码)组成,作为接受数据的准备脉冲。以脉宽为0. 56ms、周期为1. 12ms的组合表示二进制的“0”;以脉宽为1. 68ms、周期为2. 24ms的组合表示二进制的“1”。如果按键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2. 5ms)组成。

  单片机采用外部中断INTI管脚和红外接收头的信号线相连,中断方式为边沿触发方式。并用定时器0计算中断的间隔时间,来区分前导码、二进制的“1”、“0”码。并将8位操作码提取出来在数码管上显示。

  // 解码值在Im[2]中,当IrOK=1时解码有效。
  /* 51单片机红外遥控解码程序 */
  //用遥控器对准红外接收头,按下遥控器按键,在数码管前两位上就会显示对应按键的编码

  #include <reg52.h>
  #define uchar unsigned char
  sbit dula=P2^6;
  sbit wela=P2^7;
  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  uchar f;

  #define Imax 14000 //此处为晶振为11.0592时的取值,
  #define Imin 8000 //如用其它频率的晶振时,
  #define Inum1 1450 //要改变相应的取值。
  #define Inum2 700
  #define Inum3 3000

  unsigned char Im[4]={0x00,0x00,0x00,0x00};
  uchar show[2]={0,0};
  unsigned long m,Tc;
  unsigned char IrOK;

  void delay(uchar i)
  {
  uchar j,k;
  for(j=i;j>0;j--)
  for(k=125;k>0;k--);
  }

  void display()
  {
  dula=0;
  P0=table[show[0]];
  dula=1;
  dula=0;

  wela=0;
  P0=0xfe;
  wela=1;
  wela=0;
  delay(5);

  P0=table[show[1]];
  dula=1;
  dula=0;

  P0=0xfd;
  wela=1;
  wela=0;
  delay(5);
  }

  //外部中断解码程序
  void intersvr1(void) interrupt 2 using 1
  {
  Tc=TH0*256+TL0; //提取中断时间间隔时长
  TH0=0;
  TL0=0; //定时中断重新置零
  if((Tc>Imin)&&(Tc<Imax))
  {
  m=0;
  f=1;
  return;
  } //找到启始码
  if(f==1)
  {
  if(Tc>Inum1&&Tc<Inum3)
  {
  Im[m/8]=Im[m/8]>>1|0x80; m++;
  }
  if(Tc>Inum2&&Tc<Inum1)
  {
  Im[m/8]=Im[m/8]>>1; m++; //取码
  }
  if(m==32)
  {
  m=0;
  f=0;
  if(Im[2]==~Im[3])
  {
  IrOK=1;
  }
  else IrOK=0; //取码完成后判断读码是否正确
  }
  //准备读下一码
  }

  }

  /*演示主程序*/
  void main(void)
  {
  unsigned int a;

  m=0;
  f=0;
  EA=1;

  IT1=1;EX1=1;

  TMOD=0x11;
  TH0=0;TL0=0;
  TR0=1;//ET0=1;

  while(1)
  {

  if(IrOK==1)
  {
  show[1]=Im[2] & 0x0F; //取键码的低四位
  show[0]=Im[2] >> 4;
  IrOK=0;

  }
  for(a=100;a>0;a--)
  {
  display();
  }

  }
  }

  • 鍗曠墖鏈虹殑鏃跺簭鍥炬庝箞鐪?
    绛旓細杩欎釜鏃跺簭鍥 鏄 鎸 cs=0;sck=0;si=鏁版嵁鐨勪竴浣;sck=1; //sck鏄笅闄嶆部鏈夋晥銆傝繖鏍峰啓鏄畬鍏ㄦ纭殑銆傛暟鎹緭鍑猴細sck鏄笅闄嶆部鏈夋晥銆俢s=0;sck=1;so=鎸囦护鐨勪竴浣;sck=0;
  • 璇烽棶杩欎釜鍗曠墖鏈虹殑鏃跺簭鍥惧簲璇ユ庝箞鐪?
    绛旓細宸ヤ綔杩囩▼锛鍗曠墖鏈閫氳繃鍦板潃閫変腑澶栬锛屽璁惧彂鍑烘暟鎹苟淇濇寔瓒冲鐨勬椂闂达紝CPU 璇诲叆鏁版嵁銆傚悓鐞嗭紝CPU 鍚戝璁惧彂鍑烘暟鎹紝涔熸槸鍦板潃銆佹暟鎹佸啓淇″彿锛圵R锛夌浉浜掑祵濂楃潃銆俁AM 鐨勮銆佸啓涔熸槸涓鏍鐨勬椂搴锛屽彧鏄欢鏃舵椂闂翠笉鍚屻傝嚜宸卞姩鎵嬬粍瑁呭吋瀹规満锛屼笉鍚岄熷害鐨 CPU锛岃閰嶄笉鍚岄熷害鐨勪富鏉裤佸唴瀛樻潯锛岄亾鐞嗘槸涓鏍风殑銆
  • 鍗曠墖鏈娓╁害鎺у埗鍣―S18B20鐨勬椂搴闂
    绛旓細DQ==1鏃讹紝鍗砳f(DQ)鎵ц锛屾槑鏄捐鍑虹殑鏄1鍢涖傛棦鐒舵槸1锛岄偅涔堝湪dat鐨勮bit涓婂氨鏄1鍟婏紝鍗虫槸锛歞at |= 0x80(dat = dat | 0x80),鍗冲湪dat鐨勬渶楂樹綅缃1锛屽鏋滀负0锛屽垯涓嶆墽琛岋紝鍦╠at >>= 1鍚庤ˉ0锛岀浉褰撳湪璇it涓婂啓0銆備竴鍏8涓猙it,浠庝綆浣嶅埌楂樹綅锛孌Q涓0锛屽垯璇ヤ綅涓0锛孌Q涓1锛屽垯璇ヤ綅涓1銆
  • 鍗曠墖鏈娓╁害鎺у埗鍣―S18B20鐨勬椂搴闂
    绛旓細DQ=1鏄富鏈鸿緭鍑洪珮鐢靛钩锛屼絾鏄紝瀹為檯寮曡剼鐢靛钩涓嶄竴瀹氭槸楂樼數骞筹紝鍏剁數骞冲彇鍐充簬浠庢満缁欏嚭鐨勭數骞筹細浠庢満涓洪珮鐢靛钩鏃讹紝寮曡剼涓洪珮鐢靛钩锛屼粠鏈轰负浣庣數骞虫椂锛屽紩鑴氫负浣庣數骞筹紝杩欑鎯呭喌涔熺О绾夸笌銆1銆乮f锛圖Q锛変箣鍚庣殑璇彞灏辨槸锛屼富鏈鸿鍒伴珮鐢靛钩鏃惰鎵ц鐨勶紙濡傛灉璇诲埌DQ=0锛岀洿鎺ヨ烦鍒颁笅涓浣嶆搷浣滐級銆2銆佽鍑篋Q=1锛屾墽琛宒at|...
  • 鍦鍗曠墖鏈涓浣曠湅鏃跺簭鍥?
    绛旓細杩欐槸瀹為檯涓殑鐢佃矾鏃跺簭鍥撅紝鍥犱负鐜板疄涓數骞虫槸涓嶄細绐佸彉鐨勩備篃灏辨槸鏈変釜涓婂崌娌挎垨鑰呬笅闄嶆部 杩欐槸涓鍐鐨勬椂搴鍥俱傝鍐欑敤涓涓鑴氾紝浣庣數骞充负鍐欐椂搴忥紝楂樼數骞充负璇绘椂搴忋
  • 51鍗曠墖鏈鎬庝箞鐢绾㈠绾?
    绛旓細--浣犳槸鎸绾㈠閬ユ帶瑙g爜鍚э紝缁欎綘涓鐐规彁绀猴紝鍦鍗曠墖鏈瀹氫箟涓涓狪/O鍙d负绾㈠閬ユ帶鐨勮緭鍏ョ鍙o紝锛堢孩澶栭仴鎺цВ鐮佷笉涓瀹氳鐢ㄥ埌瀹氭椂鍣ㄥ拰涓柇鏂瑰紡.鍏蜂綋鏂规硶鏈夊緢澶氱殑锛岀湅鍦哄悎閫夊彇锛夊綋鐒惰緭鍏ヨ繖涓鍙g殑淇″彿鏄粡杩囬仴鎺ф帴鏀剁數璺鐞嗚繃鐨勪竴涓叉暟鎹紝濡俆TL鎴栬匔MOS鐢靛钩銆傚啀鐒跺悗灏辨槸瀵硅繖涓緭鍏ヤ俊鍙疯繘琛屽鐞嗭紝涔熷氨鏄В璋冨嚭閬ユ帶鐮...
  • 鍗曠墖鏈虹殑鏃跺簭鍥鹃棶棰
    绛旓細PCH鏄▼搴忚鏁板櫒鐨勯珮鍏綅锛屽瓨鏀惧綋鍓嶄唬鐮佹墍鍦ㄧ▼搴忓瓨鍌ㄥ櫒鐨勯珮鍏綅鍦板潃銆備綘鐭ラ亾锛孭C閲屾斁鐨勬槸绋嬪簭瀛樺偍鍣ㄧ殑鍦板潃銆侱PTR鏃㈠彲浠ユ寚鍚戠▼搴忓瓨鍌ㄥ櫒锛屼篃鍙互鎸囧悜鏁版嵁瀛樺偍鍣ㄣ傚锛歁OVC A,A+@DPRT 锛涙寚鍚戠▼搴忓瓨鍌ㄥ櫒,姝ゆ椂DPH閲屽瓨鏀剧▼搴忓瓨鍌ㄥ櫒楂樺叓浣嶏紝浣嗕笉涓瀹氭槸褰撳墠璇彞鐨勭▼搴忓湴鍧锛屼綘鍙互浜嬪厛缁橠PTR璧嬪硷紝浣垮畠鎸囧悜浣...
  • 璇烽棶鍗曠墖鏈涓鐨勬椂搴鏈変粈涔堢敤?
    绛旓細鎬庝箞鐪鏃跺簭鍥惧湪杩欓噷娌″姙娉曡娓呮锛岃繕鏄缓璁綘閫氳繃鏇村鐨勫涔犳潵鎺屾彙鍚с傝嚦浜庢椂搴忕殑浣滅敤锛岀畝鍗曞湴璇达紝鏁板瓧鐢佃矾锛屾槸宸ヤ綔鍦ㄤ竴涓粺涓鐨勬椂閽熶笅鐨勶紝浠庢椂搴忓浘涓婂彲浠ユ竻妤氬湴寰楀嚭鍚勯儴鍒嗙數璺殑宸ヤ綔杩囩▼銆傚浜鍗曠墖鏈鐢佃矾鏉ヨ锛屾椂搴忓浘鏄渶甯哥敤鐨勪竴绉嶅櫒浠惰祫鏂欍傛瘮濡備綘瑕佺紪鍐欎竴娈佃鍐欏瓨璐櫒鐨勭▼搴忥紝閭d箞棣栧厛灏辨槸鐪嬪瓨璐櫒鐨...
  • 鍗曠墖鏈 STM 32 鎬庝箞鐪嬫噦涓涓姱鐗鐨勬椂搴鍥
    绛旓細涓嬮潰鏄疭TM32浣跨敤鎵嬪唽涓婄殑涓插彛鍙戦鏃跺簭鍥撅細1銆 浣胯兘涓插彛鍙戦乀E锛屾鏃禪SART_DR涓虹┖锛屾鏃跺簲鏌ヨTXE鏄惁缃1锛孴XE缃1锛孴X鑴氬厛鍙戦佷竴涓┖闂插抚锛屾妸F1甯у啓鍏SART_DR锛孴XE琚竻闆躲傚洜涓鸿繖鏃舵鍦ㄥ彂閫佺┖闂插抚锛屾墍浠ュ啓鍏SART_DR鐨勬暟鎹鏀惧叆TDR瀵勫瓨鍣紝杩樻病鏈夋嫹璐濆埌绉讳綅瀵勫瓨鍣ㄣ2銆 鍦ㄧ┖闂插抚鍙戦佸畬鍚庯紝TDR瀵勫瓨鍣ㄤ腑...
  • 鍗曠墖鏈 鏃跺簭OSC鏄粈涔堟剰鎬
    绛旓細鍗曠墖鏈虹殑OSC鎺ュ彛鍔熻兘鏄鎺ョ煶鑻辨櫠浣撶粍鎴愭尟鑽″櫒锛屼緵缁欏崟鐗囨満鏃堕挓淇″彿銆俹sc涓簅scillator鐨勭缉鍐欙紝鎰忎负鎸崱鍣紝鏅舵尟銆傛槸涓绉嶈兘閲忚浆鎹㈣缃斺斿皢鐩存祦鐢佃兘杞崲涓哄叿鏈変竴瀹氶鐜囩殑浜ゆ祦鐢佃兘銆傚叾鏋勬垚鐨勭數璺彨鎸崱鐢佃矾.
  • 扩展阅读:红外遥控下载安装 ... 51单片机红外报警器 ... 电源时序器十大品牌 ... 电源时序器设备插顺序 ... 红外线探测器app ... 红外遥控原理单片机 ... 电源时序器顺序怎么排 ... 电源定时器怎么调 ... 红外对射模块接线图解 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网