Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.05.2007, 15:14  
Lex_DJ
Частый гость
 
Регистрация: 06.04.2007
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lex_DJ на пути к лучшему
По умолчанию программирование PIC

кто нибудь откликнитесь. Может моя тема кому нибудь интересна, может кто сможет помочь.....
Реклама:
Lex_DJ вне форума  
Непрочитано 28.05.2007, 16:09  
bopohok
Прописка
 
Регистрация: 19.10.2006
Сообщений: 112
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
bopohok на пути к лучшему
По умолчанию Re: программирование PIC

Сообщение от Lex_DJ
кто нибудь откликнитесь. Может моя тема кому нибудь интересна, может кто сможет помочь.....
Чем помочь? Спеть или станцевать ? Можете более подробно сказать в чём именно заключается ваша проблема?
bopohok вне форума  
Непрочитано 28.05.2007, 16:48  
Lex_DJ
Частый гость
 
Регистрация: 06.04.2007
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lex_DJ на пути к лучшему
По умолчанию

проблемма такая: https://kazus.ru/forum/topics/7355.html. Тема по поводу программы для программатора. Обсуждать начали, но до конца не дошли. Я переписал все что было, но так ни чего не получается.
Код:
procedure tform1.LPTClk(Cl:integer);
  begin
    if cl=1 then
      begin
      if pin3=false then
      buttonpin3;
      end
    else
      begin
      if pin3=true then
      buttonpin3
      end;
  end;

procedure tform1.LPTMklr;
  begin
  if not pin12=false then
  begin
    if (pin5=true) and (pin6=false) then
        begin
        buttonpin5;
        buttonpin6;
        end
    else
    if (pin5=false) and (pin6=false) then
        buttonpin6
    else
    if (pin5=true) and (pin6=true) then
    buttonpin5;
  end
  else
  begin
  LPTReset;
  MessageDlg('Регистр MKLR не готов, попробуйте ещё раз', mtError, [mbOK], 0);
  end;
  if pin2=false then
  buttonpin2;
  end;

procedure tform1.LPTPwd;
  begin
  if pin2=true then
  buttonpin2;
  if pin6=false then
  buttonpin6;
  end;

procedure tform1.sendcmd_to_chip(cmd:integer);
var
  i:integer;
  g:integer;
  begin
  LPTMklr;
  lpt.Delay(5);
  LPTPwd;
    if pin4=true then
       buttonpin4;
    for i:=0 to 5 do
    begin
      LPTClk(1);
      g:= (cmd shr i) and 1;
      lpt.WritePort(GetCurrentPort, LPT_DATA_REG, g);
      lpt.Delay(10);
      LPTClk(0);
    end;
  end;

function tform1.readdata_from_chip: integer;
var
  i:integer;
  bit:integer;
  dt:integer;
  begin
      if pin4=false then
      buttonpin4;
      dt:=0;
      for i:=0 to 15 do
        begin
        LPTClk(1);
        lpt.Delay(5);
        bit:=lpt.ReadPort(GetCurrentPort, ack);
        dt:=dt + (bit shl i);
        LPTClk(0);
        end;
  readdata_from_chip:=(dt shr 1);
  end;
procedure TForm1.ReadBtnClick(Sender: TObject);
var
  firstadr, lastadr:word;
  k:Cardinal;
  l:Longint;
  data:dword;
begin
    LPTReset;
    firstadr:=0;
    lastadr:=$3FF;
    k:=(lastadr-firstadr+1);
    for l:=1 to k do
    begin
    sendcmd_to_chip(4);
    data:=readdata_from_chip;
    HexGrid1.AData[l-1]:=data and $FF;
    sendcmd_to_chip(6);
    end;
    HexGrid1.Repaint;
end;
После нажатия на кнопку небольшая пауза, после чего HexGrid заполняется числами 11111101. И всё. Не могу понять, почему. Если сможете, помогите. Заранее спасибо.
Lex_DJ вне форума  
Непрочитано 28.05.2007, 17:50  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Это какой язык?
CERGEI1982 вне форума  
Непрочитано 28.05.2007, 18:01  
vdlab
Гражданин KAZUS.RU
 
Аватар для vdlab
 
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
vdlab на пути к лучшему
По умолчанию

Сообщение от CERGEI1982
Это какой язык?
Это Delphi.

Кстати, какой компонент используется для работы с LPT?
И не ленитесь писать коментарии.
__________________
Если ты читаешь это - значит тебе нечем заняться...
vdlab вне форума  
Непрочитано 28.05.2007, 18:33  
Lex_DJ
Частый гость
 
Регистрация: 06.04.2007
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lex_DJ на пути к лучшему
По умолчанию

Использую драйвер LPTIO.
Отправляю команду МК.
procedure tform1.sendcmd_to_chip(cmd:integer);
var
i:integer;
g:integer;
begin
LPTMklr;
lpt.Delay(5);
LPTPwd;
if pin4=true then (направление ШД, 0-передача)
buttonpin4;
Цикл 6-ти битного слова
for i:=0 to 5 do
begin
LPTClk(1);
Загружаю побитно на pin2(data0) управляющее слово.
g:= (cmd shr i) and 1;
lpt.WritePort(GetCurrentPort, LPT_DATA_REG, g);
lpt.Delay(10); (задержка)
LPTClk(0);
end;
end;

function tform1.readdata_from_chip: integer;
var
i:integer;
bit:integer;
dt:integer;
begin
if pin4=false then (направление ШД, 1-прием)
buttonpin4;
dt:=0;
for i:=0 to 15 do
begin
LPTClk(1);
lpt.Delay(5);
Присваиваю bit-у прочитанное из ACK
bit:=lpt.ReadPort(GetCurrentPort, ack);
dt:=dt + (bit shl i);
LPTClk(0);
end;
Читаю все слова
readdata_from_chip:=(dt shr 1);
end;
procedure TForm1.ReadBtnClick(Sender: TObject);
var
firstadr, lastadr:word;
k:Cardinal;
l:Longint;
data:dword;
begin
LPTReset;
firstadr:=0;
lastadr:=$3FF;
k:=(lastadr-firstadr+1);
for l:=1 to k do
begin
sendcmd_to_chip(4);(отправляю команду на чтение- 101000)
data:=readdata_from_chip;
HexGrid1.AData[l-1]:=data and $FF;(вставл.в Grid)
sendcmd_to_chip(6);(отправляю инкремент-011000)
end;
HexGrid1.Repaint;
end;
Прикладываю файлы, которые мне дали, может помогут как нибудь.
Спасибо.

Прикрепленный файл: 5436919.rar
Lex_DJ вне форума  
Непрочитано 31.05.2007, 03:52  
dini
Прохожий
 
Регистрация: 30.03.2007
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
dini на пути к лучшему
По умолчанию

может кто подскажет, как программируется pic16f819 через понипрог
dini вне форума  
Непрочитано 02.06.2007, 04:41  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию

Регистр FSR является указателем на регистры общего назначения.
Если я в него запишу 0х20 то при команде CLRF INDF обнулится регистр расположенный по этому адресу.
А мне нужна команда, которая делает так:
GOTO ‹переменная-указатель на ячейку памяти›
Эта переменная в программе будет много раз меняться.
Нужно чтобы и прыжок выполнялся на разные места.
Научите, кто знает.
yellow87 вне форума  
Непрочитано 02.06.2007, 05:18  
yellow87
Вид на жительство
 
Аватар для yellow87
 
Регистрация: 29.04.2007
Адрес: Иркутск
Сообщений: 311
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
yellow87 на пути к лучшему
По умолчанию

Вот всегда так: только задашь вопрос, а ответ тутже в голову придёт!
Команда GOTO ‹адрес› только один раз записывается в память программ и менять её в памяти не получиться.
Нужно в PCL записывать значение той переменной, которая в программе меняется!
yellow87 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование PIC-ов или как победить MCLR MSMC Микроконтроллеры, АЦП, память и т.д 18 12.03.2009 11:38
последовательное программирование pic ctefan Микроконтроллеры, АЦП, память и т.д 9 17.08.2008 10:38
!!!объектное программирование для PIC`ов!!! hubble Микроконтроллеры, АЦП, память и т.д 7 14.02.2008 16:18
Внутрисхемное программирование PIC lisergin Микроконтроллеры, АЦП, память и т.д 4 05.10.2005 00:02
Вопрос - программирование PIC-ов на языке высокого уровня GRIM Микроконтроллеры, АЦП, память и т.д 2 29.02.2004 09:03


Часовой пояс GMT +4, время: 18:57.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot