Xin chào cả nhà!
Em đang có một chút rắc rối với Timer của 89C51 nhờ các bác giúp đỡ.
Ý tưởng của em như sau.
#define P1.0 input
#define P1.1 LED1
#define P1.2 LED2
void main()
{
//nhiệm vụ chính
if(input=0)
{
trễ 5s // vi du tre 5s
LED1 =1;
trễ 5s // vi du tre 5s
LED2=1;
}
if(input=1)
{
trễ 5s // vi du tre 5s
LED1 =0;
trễ 5s // vi du tre 5s
LED2=0;
}
// Các chương trình khác
}// end Main
vấn đề của em như sau:
ở đây ta có thể dễ dàng sử dụng hàm delay,nếu dùng hàm delay(5s); nó sẽ làm trẽ toàn bộ các chương trình khác. Em muốn chương trình của em đang thực hiện được nhiệm vụ chính mà các chương trình khác vẫn hoạt động bình thường, không bị ảnh hưởng bởi các hàm delay. Em đã thử sử dụng timer trong 89c51. nhưng em chưa biết điều khiển timer theo đúng yêu cầu.
Bác nào có kinh nghiệm về timer chỉ giáo cho em xin giải pháp hợp lý. Em xin chân thành cảm ơn!
Em đang có một chút rắc rối với Timer của 89C51 nhờ các bác giúp đỡ.
Ý tưởng của em như sau.
#define P1.0 input
#define P1.1 LED1
#define P1.2 LED2
void main()
{
//nhiệm vụ chính
if(input=0)
{
trễ 5s // vi du tre 5s
LED1 =1;
trễ 5s // vi du tre 5s
LED2=1;
}
if(input=1)
{
trễ 5s // vi du tre 5s
LED1 =0;
trễ 5s // vi du tre 5s
LED2=0;
}
// Các chương trình khác
}// end Main
vấn đề của em như sau:
ở đây ta có thể dễ dàng sử dụng hàm delay,nếu dùng hàm delay(5s); nó sẽ làm trẽ toàn bộ các chương trình khác. Em muốn chương trình của em đang thực hiện được nhiệm vụ chính mà các chương trình khác vẫn hoạt động bình thường, không bị ảnh hưởng bởi các hàm delay. Em đã thử sử dụng timer trong 89c51. nhưng em chưa biết điều khiển timer theo đúng yêu cầu.
Bác nào có kinh nghiệm về timer chỉ giáo cho em xin giải pháp hợp lý. Em xin chân thành cảm ơn!
Comment