простые и интересные  РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!



» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Страница 1 из 11
Модератор форума: Электродыч, Витинари, Sam 
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Программирование PIC на языке JAL (Есть ли у JAL функции чтения, единиц, десятков, сотен)
Программирование PIC на языке JAL
Сб, 17.09.2016, 20:02 | Сообщение # 1        
eas
аватар
  Постов: 1  Offline
Понравился этот язык программирования, очень похож на 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
Сб, 17.09.2016, 23:26 | Сообщение # 2        
Витинари
аватар
  Постов: 2471  Offline Модератор 
eas, если быть точнее, он похож на всеми давно уже подзабытый Паскаль, что как бы намекает на "востребованность" JAL. Мой вам совет: учите Си (для которого и компиляторов, и документации, и примеров, и готовых библиотек валом). Тогда не придется искать решения по языку, на котором пишут полтора человека, один из которых - вы сами.
Вт, 27.09.2016, 11:28 | Сообщение # 3        
Egour
аватар
  Постов: 643  Offline Друзья 
Вздрагиваю вспоминая свои попытки освоить Паскаль... Си не в пример удобнее и человечнее.
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Программирование PIC на языке JAL (Есть ли у JAL функции чтения, единиц, десятков, сотен)
Страница 1 из 11
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2016, "Радиосхемы". Все права защищены. Почта