完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
要求控制8个电机可完成启动,停止,故障处理,启动为从前往后间隔5s依次启动,停止相反,故障处理为故障的那颗从最后一个依次停止 问过老师故障可以直接用按键代替 毕竟我选的小电机 没那么小的电流感应装置。
现在我选的芯片为at89c52,l9110s推挽桥式做驱动,其中我在p1.0-p1.1接了两个开关,接地,做启动,和停止,p0.0-p0.7接l9110s(网上买的接口全引出模块)其中ia口全部接入,ib口全部接入p3.0-p3.7,输出直接接直流电机。并且把控制直流电机的正极直接拉下来接一个常闭开关一端接地,一端接p2.0-p2.7.{{{这里我有疑问,电机正极电流进过放大,接入at89c51会有问题吗?如果有问题的话我就直接p2.0口假装电机坏了。}}}老师后面说要给电机状态加上led状态灯,我试过5v给电机串联led供电时电机不会转动,对了电机为3-6v一个直流小电机。请问这个led怎么加。 以下是程序 编译有一个错误 我找不到有点难过。能帮我看一下这个程序能不能实现我的功能。O(∩_∩)O谢谢,只可惜前三年没好好学。 #include ***it k1=p1^0; ***it k2=p1^1; unsigned char time,temp1,Sign1; void InitTimer1()//50ms定时器初始化 { TMOD = 0x10; TH1 = 0x3C; TL1 = 0x0B0; EA = 1; ET1 = 1; TR1 = 1; } void delay() { unsigned char i,j,k; for(i=25;i>0;i--) for(j=13;j>0;j--) for(k=147;k>0;k--) } main() { InitTimer1(); temp1=0xff; while(1) { if(k1==0)Sign1=1; //k1按下 if(Sign1)P0=temp1; if(k2==0) { Sign1=0; P0=temp1; } } } void Timer1Interrupt() interrupt 3 { TH1 = 0x3C; TL1 = 0x0B0; if(Time<250)Time++;//中断250次=5s else { Time=0; if(Sign1==1&&temp1>0)temp1=temp1>>1;//低电平右移 if(Sign1==0&&temp1!=0xff)P0=P0<<1; } } |
|
相关推荐
1个回答
|
|
没人搭理的我好难过,什么原因啊
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
3586 浏览 1 评论
1635 浏览 0 评论
3468 浏览 1 评论
【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+磁力输送机系统设计的创新与挑战
1746 浏览 0 评论
4396 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 06:41 , Processed in 0.877479 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号