paslenok » 23 май 2013, 18:38
Здравствуйте. Пишу программу "вольтметр" на микропаскаль для микроконтроллера Атмега16. в процессе реализации получаю число z, которое необходимо вывести на ЖКИ. это число для вывода на ЖКИ делю на 3 части (целую(txt1), саму запятую(txt2) и дробную(txt3)), а затем пытаюсь вывести txt1,txt2,txt3 одновременно. для склеивания трех строк использую concat, но программа в этом месте выдает синтаксическую ошибку. Подскажите, есть ли еще какие-нибудь функции для одновременного вывода трех строк? Вот сам код для наглядности
program qwerty;
const num:array[0..9] of byte=(%11111100,%01100000,%11011010,%11110010,%01100110,%10110110,%10111110,%11100000,%11111110,%11110110);
var a,z,k,m:integer;
txt1: string [1];
txt2: string [11];
txt3: string [1];
txt4: string[14];
begin
DDRD:=0xFF;
DDRB:=0xFF;
DDRC:=0xFF;
Lcd4_Custom_Init(PORTB,7,6,5,4,PORTB,0,1,2);
ADMUX:=0x03; //podkl 3 vxod
ADCSRA.ADEN:=1;// razreshit' rabotu adc na bite aden
ADCSRA.ADSC:=1; //zapusk preobraz.
ADCSRA.ADATE:=1;// zapusk nepreryvnogo preobrazovaniya
While true do begin
a:=(ADCH*4+ADCL)*100;
z:=5*(a)/1024;
k:=z div 100;
m:=z mod 100;
IntToStr(k, txt1);
IntToStr(m, txt2);
txt3:=(',');
txt4:=concat(txt1,txt3,txt2);
Lcd4_Custom_Out(1,1,txt4);
delay_ms(300);
end;
end.