作者MasterChang (我爱ASM)
看板ASM
标题Re: 正在思考如何用8051来控制机械臂
时间Thu Feb 8 18:00:18 2007
※ 引述《sintsu (sin)》之铭言:
: 推 loveflames:脉波?这看起来很像是透过txd来传输 02/08 12:20
: → sintsu:高低电位转换就会产生脉波(数位方波?) 02/08 12:34
: 推 loveflames:可是只有txd可送出特定的波形(依sbuf收到的值决定波形) 02/08 12:50
: 推 loveflames:串列传输的发送端一定是txd 02/08 12:59
: 一般8051的IO PORT开关搭配回圈delay不就可以产生方波?
: 例如在P1.0预设是低电位0
: 接着送出高电位1,中间delay 100uS再还原成低电位
: P1.0
: 100uS
: ├───┤
: 1 ┌───┐
: 0 ───┘ └───
: 不过我没有示波器所以也没办法告诉你要延迟多少回圈才会是100uS
: 我这本书上是跑一个0-30的for回圈当作100uS的延迟副程式,组语我就不知道了
用软体delay的确可以产生方波,那51在跑回圈时,其他的工作怎麽办?
市售遥控机用的RC伺服马达是用不同的duty的PWM信号来控制转动角度,
跟txd没有关系。
另I/O的扇出力不足,要想清楚I/O是要干嘛用的。
延迟回圈的的执行时间可以用手算,Keil C 可以产生组语档检查,要精
确的时间应该要内嵌组语方式用手工调整,而不是try error。跟PIC 或
R16C系列的组语比起来,51算是简单的。
尤其是RC马达的控制,时序控制不良就会让duty不稳定,RC 马达就会震
动的很厉害。尤其控制duty时,若UART有资料进来就知道糟糕了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.132.23.74