用的芯片是AT89S52,
目前初步设想
1:通过其中的一个输出端口P1.1输出1-2MHz方波信号.
2:定时器1做计时器,设定方波信号的半个周期产生中断,每次中断P1.1取反。
3:方波信号每个1S,2S反向一次。正向时电机正转,反向时电机反转。
现在的问题是如何通过编写C语言程序。
请高手指点一下,如果有类似的程序推荐一下。
先说说你提的问题:
1 通过其中的一个输出端口P1.1输出1-2MHz方波信号。
——要1~2MHz方波吗,那么其周期只有0.5~1us哦!
2 定时器1做计时器,设定方波信号的半个周期产生中断,每次中断P1.1取反。
——定时器1产生中断,要0.25~0.5us产生中断吗?你觉得定时器1最小定时可以为多少呢?
3 方波信号每过1S,2S反向一次。正向时电机正转,反向时电机反转。
——电机每过1S、2S反向,一会1~2S正转,一会1~2S反转,电机能转动反应过来吗?
希望再详细提供你的合理要求,也许大家才能帮到你……
方波倒是可以使用低频率的晶振在ale管脚直接输出。
后面的问题没搞明白。
引用: 引用 2 楼 zhkflying 的回复:
先说说你提的问题:
1 通过其中的一个输出端口P1.1输出1-2MHz方波信号。
——要1~2MHz方波吗,那么其周期只有0.5~1us哦!
2 定时器1做计时器,设定方波信号的半个周期产生中断,每次中断P1.1取反。
——定时器1产生中断,要0.25~0.5us产生中断吗?你觉得定时器1最小定时可以为多少呢?
3 方波信号每过1S,2S反向一次。正向时电机正转,反向时电机反转。
——电机每过1S、2S反向,一会1~2S正转,一会1~2S反转,电…
输出端口的波形不变的,
定时器1产生中断貌似有点困难,还没验证过。
方波信号在0---100S之内方向不变,若需要改变电机方向即可变换方波方向,也就是说电机反转。所以前面说的时间1s\2s是太少了。
介个可以用H桥
再用逻辑电路分出个控制H桥的接口即可
定时中断:
TH0=XX
TL0=XX
E=1;
TR0=1;
TCON=0X01;
P1^1 !=1;