Электроприводы, КИПиА, станции водоподготовки бассейнов, электроника

PNP-LinE

Объявление

Добрый день, Уважаемые поситители форума компании Пи Эн Пи - Лайн!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PNP-LinE » Контроллеры и Компьютеры. » Языки программирования


Языки программирования

Сообщений 1 страница 20 из 63

1

Хотелось бы разобрать, какие бывают, где используются....  и с каких лучше начинать учиться... С целью в дальнейшем программировать PIC ATMEL...

Язык программирования Паскаль - процедурно-ориентированный язык программирования высокого уровня, предназначенный для широкого класса задач. Язык Паскаль считается языком структурного программирования.

Java - разработанная компанией Sun Microsystems система программирования, содержащая:
- универсальный язык программирования Java;
- компилятор; и
- виртуальную машину Java's Virtual Machine (JVM).

2

Alexder1 написал(а):

Хотелось бы разобрать, какие бывают, где используются....  и с каких лучше начинать учиться... С целью в дальнейшем программировать PIC ATMEL...

А почему именно их? Чем он лучше других?

Alexder1 написал(а):

Язык программирования Паскаль - процедурно-ориентированный язык программирования высокого уровня, предназначенный для широкого класса задач. Язык Паскаль считается языком структурного программирования.

Для пиков лучше ассемблера еще никто ничего не придумал - компактней не напишешь, а у пиков памяти мало..

Alexder1 написал(а):

Java - разработанная компанией Sun Microsystems система программирования, содержащая:
- универсальный язык программирования Java;
- компилятор; и
- виртуальную машину Java's Virtual Machine (JVM).

Помоему это лишнее...

3

Ассемблер форева!

Есть еще Code vision AVR - C для AVR. Работать удобно, код компактный, но я С не люблы и коментариев не будет.

4

Насчет JAVA - согласен, лишнее однозначно! С чего начинать изучать ассемблер. Дело в том что я как то пытался уже не раз подойти, но как начну - сразу пугаюсь! Никак не могу осознать, как это "текст" управляет микросхемой?

5

Alexder1 написал(а):

Насчет JAVA - согласен, лишнее однозначно! С чего начинать изучать ассемблер. Дело в том что я как то пытался уже не раз подойти, но как начну - сразу пугаюсь! Никак не могу осознать, как это "текст" управляет микросхемой?

Это специально придумали "текст" чтобы потом припомощи вспомогательных программ (к примеру, компоновщик, линковщик..) переводить в машинные коды, т.е. например текст NOP (нет операции) соответствует коду 0, а остальные соотношения микропроцессорно-зависимые. Полазь в инете - инфы полно

6

Т.е. как я понимаю - беру например Z80, у него есть некоторый список команд (помоему мнемоника, могу дико ошибаться). Каждой этой текстовой команде соответствует свой определенный шеснадцатеричный код (или двоичный?). Грубо так: беру софт пишу программу в виде текста... (из команд которые поддерживает этот проц), компелирую и прошиваю... Так? Ну я очень грубо нарисовал картинку..

7

Пока не совсем соображу с какой стороны к ним подойти! Лежат дома 16F84  16C54, программатор... Схему я соберу, печатку "разведу", протравлю... опыт есть.. но вот с прошивкой гемор вечный... Шью через ICprog или PonyProg, шью самодельным JDM, но шью пока только память 24cXX больше ничего не получается. А вот PIC читает, а запись не делает! Говорили мне что там биты защиты отключить надо... так и не разобрался!  :(

8

Alexder1 написал(а):

Т.е. как я понимаю - беру например Z80, у него есть некоторый список команд (помоему мнемоника, могу дико ошибаться). Каждой этой текстовой команде соответствует свой определенный шеснадцатеричный код (или двоичный?). Грубо так: беру софт пишу программу в виде текста... (из команд которые поддерживает этот проц), компелирую и прошиваю... Так? Ну я очень грубо нарисовал картинку..

Где-то так. Зайди сюда: http://www.microchip.ru/
Там и дока есть и примеры...

9

Спасибо, там периодически бываю. Очень и очень много полезной информации, но очень тяжело работать в стиле "конференция"...  Буду разбираться, тем более что сейчас открылось "второе дыхание"... :)

10

Что значит 4-х битный? 8-битный? и.т.п. Это способ передачи данных. Пакеты? Циклы? Как их связать с 10-ти разрядными 14-ти разрядными? Как то в голове не укладывается, и начинается путанница... :(
1-бит это минимальная единица памяти?
Файлы HEX - это шеснадцатеричные? А BIN - это двоичные - ПРАВИЛЬНО? :(
Да, и что такое CMOS, сразу возникает ассоциация с компьютером - часы которые никогда не сбрасываются!

11

CMOS RAM - память с невысоким быстродействием и минимальным энергопотреблением от батарейки. CMOS RAM используется для хранения информации о конфигурации и составе оборудования компьютера, а также о режимах его работы. Содержимое CMOS RAM изменяется специальной программой Setup, находящейся в BIOS.

Это вот так да? Т.е. в контроллере тоже самое... но зачем оно там?

12

CMOS - complementary metal-oxide-semiconductor (комплементарная МОП-структура)
МОП-металл окисел полупроводник. Относиться к технологии производства микросхем.

Часы сбрасываются если батарейка сядет.

Надеюсь 16С54 еще шить не пробовали, а то он нестирается в принципе(одноразовый)?

В контроллере набор периферии изменить нельзя никаким setup. Просто не все модули задействуются при работе в конечном устройстве.

Отредактировано Deimos (2006-05-20 21:22:41)

13

Спасибо за раскрытый ответ! Все понятно! :)

14

А все же как битность связать с разрядностью? Что есть что? :(

15

С какой разрядностью, PIC16F84 имеет 14 - разрядную систему команд, и работает с 8 разрядными(битными) данными.

Каждая команда представляет собой 14-разрядное слово, содержащее поле кода операции OPCODE и поле операндов.
Грубо говоря:
6 старших бит говорят  что делать с 8 младшими битами.

16

Понял! Ты хорошо объясняешь - доступно! Спасибо!

17

Ассемблер я так понимаю наглядно видно в HEX файле. На ассемблере очень сложно писать... ведь это машинный код...
А на Си, писать нужно командами с которыми работает контроллер?

18

Alexder1 написал(а):

Ассемблер я так понимаю наглядно видно в HEX файле. На ассемблере очень сложно писать... ведь это машинный код...
А на Си, писать нужно командами с которыми работает контроллер?

Несовсем правильно. Ассемблер это язык общения между машиной и человеком, ты же не пишешь программу состоящую из 0 и 1, а набираешь набор команд в привычном текстовом виде. Затем копилятор переводит эти команды в двоичный код понятный машине.

Си - язык более высокого уровня. Когда ты пишешь на языке Си тебе не нужно переключать банки и выбирать регистры для хранения переменных. Компилятор сам выделит под них память и разложит все по полочкам. Да и блок схемы под Си хорошо рисуются.

Отредактировано Deimos (2006-05-21 17:04:30)

19

А программа такого вида, это и есть ассемблер?

:020000001028с6
:02000800a2292b и.т.д.

А то что мы видем в IC-prog например   

00FF  00FF  00FF  00FF 
00FF  00FF  00FF  00FF

Это тоже ассемблер?

Простите опять сам себя запутал... :(

20

А вот это? Исходный текст программы, а то что выше (первое) я понимаю, что это после компеляции, а IC-Prog что показывает?

movlw   b'00001111'     ; port A: высокий уровень
movwf   porta
movlw   b'11111111'     ; Порт B: высокий уровень (светодиоды погашены)
movwf   portb
bsf     status,rp0      ; Доступ к старшему банку регистров
movlw   b'11100001'     ; Конфигурация порта A (кнопка - вход)
movwf   trisa
movlw   b'00000000'     ; Конфигурация порта B (выходы на светодиоды)
movwf   trisb
bcf     status,rp0      ; Снова доступ к младшему банку

movlw   0x20            ; Задержка около 100 мс до фиксации нажатия
movwf   st_tip          ; кнопки

movlw   0x02            ; Пауза 2 с
btfss   porta,tipka     ; Если кнопка нажата, то
movlw   0x01            ; пауза только 1 с.
movwf   pav_kmb         ;
movlw   0xAA       
movwf   portb           ; Зажигаем некоторые светодиоды

movlw   0xFF
movwf   komb_1          ; Верхняя часть регистра сдвига
clrf    komb_0          ; Нижняя часть регистра сдвига


Вы здесь » PNP-LinE » Контроллеры и Компьютеры. » Языки программирования