完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们做的科技创新,通过红外开关检测障碍物:有障碍物:0;无障碍物:1;若有障碍物,给单片机应引脚PB1输入信号,然后使PB2输出信号0蜂鸣器响,通过PA输出与另外一外一片芯片L293D相连输出信号,执行后退,右转,以及前进,然后再检测障碍物,在输出信号,执行后退,右转,以及前进(输出60H执行前进,90H是后退,50H是右转);
以下是我写的程序,但是下载到单片机里有错: #include #include void Detect(void); void Bing(void); void Stop(void); void Back(void); void Right(void); void Advance(void); void main(void) { DDRB.0=0; DDRB.1=0; DDRB.2=1; PORTB.2=0; DDRA=0XFF; PORTA=0X00; while(PINB.0) ; /*按键是否按下*/ while(!PINB.0) ;/*按键是否松开*/ Bing() ; /*按键一次动作完成后,蜂鸣器响*/ detect();/* 检查是否有障碍物*/ } void Bing(void) /*蜂鸣器单元*/ { PORTB.2=1; delay_ms(500); PORTB.2=1; } void Stop(void) /*停止*/ { PORTA=0X00; Bing(); } void Back(void) /*后退*/ { PORTA=0X90; delay_ms(2000); } void Right(void) /*向右转*/ { PORTA=0X50; delay_ms(2000); Detect(); } void Advance(void) /*前进*/ { PORTA=0X60; delay_ms(1000); Detect(); } Detect(); /*检查*/ } void Detect(void) { if(!PINB.1) { Stop(); Back(); Right(); } else { Advance(); } } |
|
相关推荐
4 个讨论
|
|
希望各位高手多多帮忙
|
|
|
|
|
|
help me ,大家帮帮忙
|
|
|
|
|
|
{:12:}
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5130 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7772 浏览 0 评论
3033 浏览 2 评论
3107 浏览 1 评论
10061 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 23:40 , Processed in 0.477137 second(s), Total 52, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号