|
بالله عليكم هل يوجد برمجة micro c لهذه الدائرة.
|
تحصلت على البرمجة ولكنها بلغة pascal هل من مترجم إلى لغة .
micro c
; Dimmer
; Copyright Elektuur 2000
; Paul Goossens
#compiler clock=4000;
#ASM list p=16F84
#FUSE CP_OFF + PWRTE_ON + WDT_OFF + XT_OSC
var x : byte; x geeft aan hoelang de puls vertraagd wordt na de zerodetectie
var y : word; y is een kopie van x, gebruikt in de lus van de vertraging
var on : byte;
var reso : word; geeft de resolutie van de vertraging aan
var resk : word; kopie van res.
procedure(main)
alias(RA0,keyup);
alias(RA1,keydown);
alias(RA2,onoff);
alias(RA3,zerodetect);
alias(RA4,feedback);
alias(RB7,outon);
alias(RB6,outup);
alias(RB5,outdown);
alias(RB1,outpuls);
output(outon);
output(outpuls);
output(outup);
output(outdown);
clr(outon);
clr(outpuls);
clr(on); standaard uit;
clr(x); dimmer vol open;
reso := 20;
while true
if (keyup = 1)
begin
outup=1;
outdown=0;
if x>=1 then
begin
x:=x-1;
end
end
if (keydown = 1)
begin
outdown=1;
outup=0;
if x<=140 then
begin
x:=x+1;
end
end
if (onoff = 1) then
begin
on:= 1 - on; Toggle bits.
outon:=on;
while (onoff =1)
y=100
while (y>0)
y:=y-1;
loop
loop
end
while (zerodetect = 0)
loop
;
; TEST TEST TESTING......
;
y :=(x*2);
while (y>0)
y:=y-1;
loop
outpuls=1 ;
y:=30;
while (y>0)
y:=y-1;
loop
outpuls :=0;
loop