|
发表于 2011-9-17 21:55:43
|
显示全部楼层
来自: 中国广东广州
我说一下我以前用AT89C51做的一个步进电机控制电路吧。; O+ S+ x. w8 V" z+ I* x
/ P# F; [, x& c, u3 ?! K2 R
单片机同时控制两个步进电机运动,步进电机使用半步工作方式,各用一个光电开关做超程检测。
2 v; r& \, ]' G$ }步骤如下:
7 T" C/ T9 N8 ]5 V0 T# W1、单片机给出脉冲使左步进电机行进半步;/ I5 v, v- W6 r
2、单片机检测左光电开关是否被遮挡(若遮挡,则表明超程),若没遮挡,则下一个循环时左步进电机可行进;
, p" A4 E/ {. E Q3 A3、单片机给出脉冲使右步进电机行进半步;
G2 i* |+ G3 G0 Q, O4、单片机检测右光电开关是否被遮挡(若遮挡,则表明超程),若没遮挡,则下一个循环时右步进电机可行进;
3 i4 Y0 Y: [' c" E B我的电路还有一个128X64的液晶模块和5个按键,都是采用主程序大循环的方式来实现。特别是要实现液晶的菜单耗费了很多代码空间。
4 v3 g0 |6 q! H1 I t( d' C1 p: E) v G$ `9 D& Z
这时完全没用到单片机宝贵的中断资源。% _: q/ S- k8 |5 `( t1 }4 T2 X; [* \
AT89C51不做扩展的话可以实现4个外部中断(两个外中断和两个定时器工作方式为计数时实现的外中断),. V! W M j+ M& `- T* q
楼主看够不够用吧。 |
评分
-
查看全部评分
|