完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include #include #define uchar unsigned char #define uint unsigned int ***it RX=P1^1; ***it TX=P1^2; ***it D5=P1^4; unsigned char flag_uart,flag_on,flag_s=0; uchar a; void Star_srch04(); //SR_HC04启动函数 void Count(); //计算函数 void init() //初始化 { TMOD=0X21; SCON=0X50; TH0=0; TL0=0; TH1=0XFD; TL1=0XFD; TR1=1; ET0=1; SM0=0; SM1=1; REN=1; EA=1; ES=1; } void main() { init(); while(1) { if(flag_uart==1) { flag_uart=0; ES=0; ti=1; switch(flag_on) { case 0:puts("turn on hcsr04!n"); Star_hcsro4(); Count(); break; case 1:puts("turn off hcsr04!n"); TX=0; break; case 2:puts("Error!n"); break; } while(!TI); TI=0; ES=1; } } } void Star_hcsr04() { TX=0; TX=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; while(!RX); TR0=1; D5=0; while(RX); TR0=0; D5=1; } void Count() { float s; unsigned char time; time=TH0*256+TL0; TH0=0; TL0=0; s=(time*1.845)/10; if(flag_s==1) { flag_s=0; ES=0; TI=1; puts("----n"); while(!TI); TI=0; ES=1; } ES=0; TI=1; printf("the distance is %fmmn,s"); while(!TI); TI=0; ES=1; } void T0_time() interrupt 1 { flag_s=1; TH0=0; TL0=0; } void ser() interrupt 4 { RI=0; a=SBUF; flag_uart=1; if(a==1) flag_on=0; else if(a==2) flag_on=1; else flag_on=2; } |
|
相关推荐
4个回答
|
|
求各位帮忙 谢谢了
|
|
|
|
|
|
|
|
|
|
|
|
为什么没人帮我呢。。。。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
609 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
633 浏览 0 评论
768 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
952 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
768 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10499 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-4 19:17 , Processed in 0.591217 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号