Like anything else in programming, there are a few ways to do it. A search in the forums for
"Time based movement"
Will give you a short list of threads on the topic, and a forum search for
"Timer based movement"
will give you a somewhat longer list.
I will however recommend using DLL #2 from the Matrix1Utils for it's HITIMER() function. This gives simple access to the hi resolution timer for greater accuracy, which should help keep movements and animations smooth.
If you find some code in one of those threads that you like, and you have trouble or some questions about it, post it in this thread and I/we will try to help.