我为PID控制器编写了一些汇编代码(现在只有PI),并且需要添加一些行以用于控制DC电动机。我在项目中使用的是Atmega8。
所以它应该在某个时刻起作用(我不知道确切的时刻),我应该用积分器做点什么,汇编语言中的数组有其他选择吗?
有一个有效的代码,但我需要将其应用于直流电动机。有什么想法我该如何实施?
.def error = R16
.def need = R17
.def real = R18
.def P = R19
.def delta = R20
.def time = R21
.def integral = R22
.def I = R23
.def Kp = R24
.def Ki = R25
.def controller = R26
.def prev_error = R27
ldi need, 10
ldi real, 8
ldi Kp, 10
ldi Ki, 30
ldi time, 1
ldi integral, 0
ldi prev_error, 0
start:
mov error, need
sub error, real
mov P, error
mul P, Kp
mov delta, error
mul delta, time
add integral, delta
mul integral, Ki
mov I, integral
mov controller, P
add controller, I
mov prev_error, error
rjmp start
ret