在高级语言里,“Hello world"是经典的第一个程序;在与硬件密切相关的嵌入式编程里,点亮LED灯则更具有代表性。
下面的代码实现一个LED灯的明、暗循环:
Program led_test;
const
flash_time_limit_1=$A0;
flash_time_limit_2=$FF;
var
count : byte;
LED_bit : Boolean absolute P1.1; // 设置LED接到P1.1脚上
flash_status : byte;
flash_delay_1,flash_delay_2,flash_delay_3 : byte;
begin
flash_status := 0;
repeat
case flash_status of
0:
begin
LED_bit := not LED_bit; // 明、暗的转换
flash_delay_1 := flash_time_limit_1;
Inc(flash_status);
end;
1:
begin
if (flash_delay_1 > 0) then
begin
Dec(flash_delay_1);
end
else begin
flash_delay_2 := flash_time_limit_2;
Inc(flash_status);
end;
end;
2:
begin
if (flash_delay_2 > 0) then
begin
Dec(flash_delay_2);
end
else begin
flash_status := 0; // 重新开始
end;
end;
end;
until False;
end.
编译成功: