⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1

📁 RM51单片机实验板配套实验例程库
💻
字号:
/*--------------------------------------
超声测距器单片机程序
MCU AT89C51  XAL 12MHz
 2004.2.25
--------------------------------------*/
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

extern void cs_t(void);
extern void delay(uint);
extern void display(uchar*);
data uchar testok;
/*主程序*/
void main(void)
{
data uchar dispram[5];
data uint i;
data ulong time;
P0 = 0xff;
P2 = 0xff;
TMOD = 0x11;
IE = 0x80;
while (1)
  {
  cs_t();
  delay(1);
  testok = 0;
  EX0 = 1;
  ET0 = 1;
  while (!testok) display(dispram);
  if (1 == testok)
    {
    time = TH0;
    time = (time<<8) | TL0;
    time *=172;
    time /= 10000;
    dispram[0] = (uchar) (time % 10);
    time /= 10;
    dispram[1] = (uchar) (time % 10);
    time /= 10;
    dispram[2] = (uchar) (time % 10);
    dispram[3] = (uchar) (time / 10);
    if (0 == dispram[3]) dispram[3] = 17;
    } else
    {
    dispram[0] = 16;
    dispram[1] = 16;
    dispram[2] = 16;
    dispram[3] = 16;
    }
  for (i=0; i<300; i++) display(dispram);
  }
}
//
/*超声接收程序(外中断0)*/
void cs_r(void) interrupt 0
{
 TR0 = 0;
 ET0 = 0;
 EX0 = 0;
 testok = 1;
}

/*超时清除程序(内中断T0)*/
void overtime(void) interrupt 1
{
 EX0 = 0;
 TR0 = 0;
 ET0 = 0;
 testok = 2;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -