超声波测距程序
4页1、/晶振=8M /MCU=STC10F04XE /P0.0-P0.6 共阴数码管引脚 /Trig = P10 /Echo = P32 #include /包括一个 52 标准内核的头文件 #define uchar unsigned char /定义一下方便使用 #define uint unsigned int #define ulong unsigned long sbit Trig = P10; /产生脉冲引脚 sbit Echo = P32; /回波引脚 sbit test = P11; /测试用引脚 sbit wei =P26; sbit duan=P27;uchar code SEG710=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f; /,0x77,0x7c, /0x39,0x5e,0x79,0x71;/数码管 0-9 uint distance4; /测距接收缓冲区 uchar ge,shi,bai,qian,temp,flag,outcomeH,outcomeL,i; /自定义寄存器 bit succeed_fla
2、g; /测量成功标志 /*函数声明 void conversion(uint temp_data); void delay_20us(); void delay(uint m); void main(void) / 主程序 uint distance_data,a,b;uchar CONT_1; i=0;flag=0; test =0; Trig=0; /首先拉低脉冲输入引脚 TMOD=0x11; /定时器 0,定时器 1,16 位工作方式 TR0=1; /启动定时器 0IT0=0; /由高电平变低电平,触发外部中断 ET0=1; /打开定时器 0 中断 EX0=0; /关闭外部中断 EA=1; /打开总中断 0while(1) /程序循环 EA=0;Trig=1;delay_20us();Trig=0; /产生一个 20us 的脉冲,在 Trig 引脚 while(Echo=0); /等待 Echo 回波引脚变高电平succeed_flag=0; /清测量成功标志EX0=1; /打开外部中断TH1=0; /定时器 1 清零TL1=0; /定时器 1 清零TF1=0; /TR1=1;
《超声波测距程序》由会员第***分享,可在线阅读,更多相关《超声波测距程序》请在金锄头文库上搜索。
2024-04-26 22页
2024-04-26 18页
2024-04-26 9页
2024-04-26 15页
2024-04-26 18页
2024-04-26 4页
2024-04-26 8页
2024-04-26 2页
2024-04-26 15页
2024-04-26 24页