РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

Форум на ЭЛВО


РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ



  • Страница 1 из 1
  • 1
Архив - только для чтения
Программирование PIC на языке JAL
Сообщение # 1        
eas
аватар
  Постов: 1   ОК 
Понравился этот язык программирования, очень похож на Visual Basic, на котором я раньше учился. Но не могу к нему найти нужной мне информации. А именно прямого вывода на LED дисплей, чтоб прочитать десятки, сотни и единицы. Написал программу, но, она работает не точно, наверно из-за округления чисел, которые я не знаю как округлять, вот пример:
Код
enable_digital_io()
var word led
alias ledA is pin_A2
pin_A2_direction = output
alias ledB is pin_C0
pin_C0_direction = output
alias ledC is pin_C1
pin_C1_direction = output
alias ledD is pin_C2
pin_C2_direction = output
alias ledE is pin_C3
pin_C3_direction = output
alias ledF is pin_C4
pin_C4_direction = output
alias ledG is pin_C5
pin_C5_direction = output
alias d3 is pin_A0
pin_A0_direction = output
alias d2 is pin_A5
pin_A5_direction = output
alias d1 is pin_A4
pin_A4_direction = output
const byte led_input[70] =
{--a,b,c,d,e,f,g,
1,1,1,1,1,1,0, --0 0-6
0,1,1,0,0,0,0, --1 7-13
1,1,0,1,1,0,1, --2 14-20
1,1,1,1,0,0,1, --3 21-27
0,1,1,0,0,1,1, --4 28-34
1,0,1,1,0,1,1, --5 35-41
1,0,1,1,1,1,1, --6 42-48
1,1,1,0,0,0,0, --7 49-55
1,1,1,1,1,1,1, --8 56-62
1,1,1,1,0,1,1 --9 63-69
}
procedure led_display() is --LED-----------------------
var byte a,b,c,n
n = byte (led/10)
if n<10 then
a = n b = byte (led-n*10)
ledA = led_input [a*7]
ledB = led_input [a*7+1]
ledC = led_input [a*7+2]
ledD = led_input [a*7+3]
ledE = led_input [a*7+4]
ledF = led_input [a*7+5]
ledG = led_input [a*7+6]
d1 = low d2=high d3=high
ledA = led_input [b*7]
ledB = led_input [b*7+1]
ledC = led_input [b*7+2]
ledD = led_input [b*7+3]
ledE = led_input [b*7+4]
ledF = led_input [b*7+5]
ledG = led_input [b*7+6]
d2 = low d1=high d3=high
end if
if n>10 then
a=n-(n-(n/10))
b=n-(n/10)*10
c=byte (led-n*10)
ledA = led_input [a*7]
ledB = led_input [a*7+1]
ledC = led_input [a*7+2]
ledD = led_input [a*7+3]
ledE = led_input [a*7+4]
ledF = led_input [a*7+5]
ledG = led_input [a*7+6]
d1 = low d2=high d3=high
ledA = led_input [b*7]
ledB = led_input [b*7+1]
ledC = led_input [b*7+2]
ledD = led_input [b*7+3]
ledE = led_input [b*7+4]
ledF = led_input [b*7+5]
ledG = led_input [b*7+6]
d2 = low d1=high d3=high
ledA = led_input [c*7]
ledB = led_input [c*7+1]
ledC = led_input [c*7+2]
ledD = led_input [c*7+3]
ledE = led_input [c*7+4]
ledF = led_input [c*7+5]
ledG = led_input [c*7+6]
d3 = low d1=high d2=high
end if
end procedure------------------------------------------

forever loop
led_display
led=led+1
end loop
Сообщение # 2        
Витинари
аватар
  Постов: 1503   Друзья 
eas, если быть точнее, он похож на всеми давно уже подзабытый Паскаль, что как бы намекает на "востребованность" JAL. Мой вам совет: учите Си (для которого и компиляторов, и документации, и примеров, и готовых библиотек валом). Тогда не придется искать решения по языку, на котором пишут полтора человека, один из которых - вы сами.
Сообщение # 3        
Egour
аватар
  Постов: 916   Друзья 
Вздрагиваю вспоминая свои попытки освоить Паскаль... Си не в пример удобнее и человечнее.
  • Страница 1 из 1
  • 1
Поиск:

Внимание! Форум переехал на Tehnodium.ru



© 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA