可以控制。
用S52定时计数器2,设置为可编程时钟输出,特方便
12M的晶振
振荡频率/(4*(65536-初装值))
汇编代码:
MOV C9H,#00000010B ;定时器2设为时钟输出
MOV CAH,#F9H ;T2寄存器低8位装入初值
MOV CBH,#FFH ;T2寄存器高8位装入初值
MOV C8H,#00000100B ;开定时计数器T2
运行此代码P1.0口输出500k方波
改变初装值改变速度
关闭脉冲输出命令,电机停止转动
MOV C8H,#00000000B ;关定时计数器T2
加入停止开关和运转指示灯
MOV C9H,#00000010B ;定时器2设为时钟输出
MOV CAH,#F9H ;T2寄存器低8位装入初值
MOV CBH,#FFH ;T2寄存器高8位装入初值
MOV C8H,#00000100B ;开定时计数器T2
CLR P1.3 ;开指示灯
1: JB P1.5,1;检测停止按键
MOV C8H,#00H ;关定时计数器T2
SETB P1.3 ;关指示灯
加入启动、停止、方向转化开关和运转指示灯
;P1.0运行脉冲信号输出
;P1.1方向信号
;P1.2(脱机使能信号)不明白你要干什么用
;P1.3运转指示灯
;P1.4启动按键开关
;P1.5停止按键开关
;P1.6方向按键开关
变初装值 0000H—FFFFH输出频率50HZ—3MHZ之间自由设定
MOV C9H,#00000010B ;定时器2设为时钟输出
MOV CAH,#F9H ;T2寄存器低8位装入初值
MOV CBH,#FFH ;T2寄存器高8位装入初值
KGJC:
JNB P1.4,KS;检测启动按键
JNB P1.5,TZ;检测停止按键
JNB P1.6,HX;检测方向按键
AJMP KGJC
TZ:MOV C8H,#00H ;关定时计数器T2
SETB P1.3 ;关指示灯
AJMP KGJC
KS:MOV C8H,#03H ;开定时计数器T2
CLR P1.3 ;开指示灯
AJMP KGJC
HX:CPL P1.1;方向信号
温馨提示:答案为网友推荐,仅供参考