完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基本描述:PA0接按键1,按一下按键1,执行一次“下一步”;
PA1接按键2,按一下按键2,执行一次“上一步”; PA2、PA3、PA4分别接个LED灯 问题描述:我无论怎么按PA0,就只有PA2的灯灭,PA3、4没反应。“上一步”程序也无法执行。我感觉程序卡在了i==1处,不知怎么回事 程序如下: #include #include #define uchar unsigned char #define uint unsigned int uchar i=0; // 设置个全局变量i void xiayibu() //子程序:下一步。 { i++; if(i==1){PORTA|=BIT(PA2);} //让PA2的灯灭 if(i==2){PORTA|=BIT(PA3); PORTA|=BIT(PA4);} //让PA3、4的灯灭 if(i==3){PORTA&=~BIT(PA3);} //让PA3的灯亮 if(i==4){PORTA&=~BIT(PA4);} //让PA4的灯亮 if(i==5){PORTA&=~BIT(PA2);i=0;}//让PA2的灯亮 } void shangyibu() //子程序:上一步。这个子程序的作用是让程序向上回一步 { i--; if(i==0){PORTA&=~BIT(PA2);} if(i==1){PORTA&=~BIT(PA3); PORTA&=~BIT(PA4);} if(i==2){PORTA|=BIT(PA3);} if(i==3){PORTA|=BIT(PA4);} if(i==4){PORTA|=BIT(PA2);} } main() {uchar j; DDRA=0X1C;//0001 1100 PORTA=0X03;//0000 0011 while(1) { if((PINA&BIT(PA0))==0) { for(j=0;j<11400;j++) if((PINA&BIT(PA0))==0) //延时消抖,延时10MS xiayibu(); //子程序:下一步 } if((PINA&BIT(PA1))==0) { for(j=0;j<11400;j++) if((PINA&BIT(PA1))==0) shangyibu(); //子程序:上一步 } } } |
|
相关推荐
12个回答
|
|
新手提问,有奖励呀!!
|
|
|
|
不知是不是全局变量传递时出现的问题
|
|
|
|
等待高手ing
|
|
|
|
回帖奖励 +1 分积分
你这程序本身就不严谨,当i=0,又执行i--,i就等于ff了
|
|
|
|
全局变量i的问题么,放到子函数里,新手我也是,明天试试
|
|
|
|
本帖最后由 dongyumin 于 2013-3-24 01:29 编辑
初学AVR,,,目测状况出现在这里。。。。 |
|
|
|
我的想法是先按“下一步”,才能执行“上一步”。我可以加个判断在“上一步”之前。但我现在的问题是它“下一步”都执行不了 |
|
|
|
大哥,能说详细点吗?我还不是很理解。 |
|
|
|
397691163 发表于 2013-3-24 10:31 当你PA0按下,条件成立,进入FOR(j=0;j<1140;j++)if(PINA&BIT(PA0)==0)xiayibu()在你按下的过程,是不停在改变状态的。。。一直在执行的。10ms要执行1140次 |
|
|
|
问题解决,我用proteus仿真,发现问题确定为硬件:把连LED灯的叫上拉还是叫下拉的哪个电阻由1k改为100就行了。
话说回来,我没有一点高兴,这一周挣扎的时间让我的血都冷了 不过还是感谢各位的帮助。 |
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
54 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
395 浏览 0 评论
439 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1265 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
529 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11749 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 04:27 , Processed in 0.860122 second(s), Total 94, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号