Yêu cầu của một bài toán : Có 3 led đơn , led 1 sáng tắt với chu kỳ 10ms , led 2 sáng tắt với chu kỳ 100ms, led 3 sáng tắt với chu kỳ 350ms . Hướng giải quyết : không thể dùng ngắt timer nếu bài toán với nhiều IO hơn, do đó thực hiện bằng một hàm con tạo delay nếu sau mỗi khoảng thời gian khớp với chu kỳ củ 1 tác vụ thì thực hiện tác vụ yêu cầu đó thông qua lệnh điều kiện if
#include "main.h"Đo dạng sóng của analog :
#define led1 PIN_D0
#define led2 PIN_D1
#define led3 PIN_D2
void main()
{
while(1)
{
int16 t1=0,t2=0,t3=0,z;
for(z=0;z<350 delay_ms="" if="" t1="" t2="" t3="" z="">10)
{
output_toggle(led1);
t1=0;
}
if(t2>100)
{
output_toggle(led2);
t2=0;
}
if(t3>=350)
{
output_toggle(led3);
t3=0;
}
}
}
}
350>
Màu xanh blue thể hiện chu kỳ 10ms Màu đỏ thể hiện chu kỳ 100ms Màu xanh Green thể hiện chu kỳ 350ms Chúc các bạn học tốt
0 nhận xét:
Đăng nhận xét