我现在想做这样一个单片机控制步进电机的程序,下面只是个程序的一部分 有思路但是具体语句实现上还有问题,具体如下:
我想让单片机的P0^0口(外部装置有个对准位置的红外接收管,每到一个特定的位置接收管电压变小,给P00口一个负跳变)做一个下跳沿触发,然后单片机开始发送脉冲控制步进电机转动,并且通过计数累计脉冲个数(比如说i个,顺便问一下如果i很大的话,单片机能存储下来吗?),等到转一周后又接收到负跳变,此时返回i的值(就是让我知道i是多少就行了,单片机上无显示器,可以寄存器放置吗,这里我也不太懂……),大概就是这样,我自己也在网上找这样类似的程序,但是太模糊了,找出来的都不太相关
如果哪位大神能发个链接地址啥的,我也很感谢啊,谢谢各位能看完这么多字!!
此帖出自
小平头技术问答
存储的部分你就不用再关心了,ijishu这个变量就是存储计数的。这个变量由编译器自动分配的地址,你知道这回事就行了,如果想自己分配地址也可以,等你熟练了再玩吧。现在知道已经分配内存了就行
您好,谢谢你那么认真的答复我
其实我就是不明白的就是这个下降沿的判断到底该怎么写
我觉得这么写肯定是错的:
if(P00=1){……} //这不就成了高电平触发了吗?
还有我不明白的是INT0和我的P00口是否有关系(因为我在书上看的是INT0是P3.2口),如果有,应该怎么联系啊?
外部中断我就只能写到这一步了:
void INT0() interrupt 0
{IE0=1;
IT0=1;
……
}
最后我想问的是我那个ijishu,我并关心它存在哪里了..我只想知道的是用什么方法能查看这个数?
恩。非常感谢
你查ijishu这个干吗啊?又无法显示。可以把这个数用串口发出来。
一周热门 更多>