Перейти к содержанию

Среда Разработки At89C2051


apolon1919

Рекомендуемые сообщения

  • Ответов 146
  • Создана
  • Последний ответ

Топ авторов темы

Ну как на картинки я показал, говорит We are finished!

В книге сказано это прошился, стоит вытащить его из LPT То просто не будет ничего написанно, и будет вечный цикл, стоит все подключить но без контроллера, говорит девайс не подключен.

То есть реакция адекватная.

Вот судя по моей программе везде на контактах должны быть нули??? Или 2 вольта? Например установил я все в нули, и там как бы земля должна быть?

Установил в единицы и там по 5 вольт должно быть?

Может я просто спалил микросхему?

И кстати, когда она в схеме то греется, не сильно, но греется

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

CSEG
ORG 00H
jmp init
ORG 30H
init:
mov p1, #0
mov p3, #0
main:
   sjmp main
END

Да, на всех пинах должны быть нули.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

там где 2,3В где 1В, где 0,30В

Как то не так измеряешь! Измеряй логический уровень банальным светодиодом с резистором, просто горит- не горит и всё.

Попробуй тестовую программу с тремя СИДами на 0,1,2 пинах Р1.


; мигаем светодиодами 
LED1 EQU P1.0 ; определяем символьные имена
LED2 EQU P1.1 ; теперь компилятор "знает" что имени LED1, например, соответствует линия 0 порта Р1
LED3 EQU P1.2
JMP START ; прыгаем через вектора прерываний на старт.
ORG 0030h ; явно указываем компилеру с какого адреса разместить программу в памяти программ
; делается, чтобы программа не попала в поле векторов прерывания, об этом позже...
; ну собственно, основной цикл программы, отсюда будем осуществлять вызовы подпрограмм, уход в прерывания и тд. ( в Си соответствует функции Main(void){})
START: ; начинаем главный цикл
CALL BLINK ; вызываем подпрограмму мигания
JMP START ; бесконечно зацикливаем главный цикл
; Создаем подпрограммы
DELAY: ; задержка , содержимое регистров определяет время счета
MOV R3, #5
MOV R2, #0
MOV R1, #0
LOOP: DJNZ R1, LOOP ; "крутим" каскадный счетчик циклов
DJNZ R2, LOOP
DJNZ R3, LOOP
RET ; выход, возврат по месту вызова
BLINK: ;мигаем, используем подпрограмму DELAY
call DELAY ; пауза
CPL LED1 ;инвертируем Р1,0, зажигаем СИД1
call DELAY ; пауза
CPL LED2 ;инвертируем Р1,1, зажигаем СИД2
call DELAY ; пауза
CPL LED3 ;инвертируем Р1,2, зажигаем СИД3
call DELAY ; пауза
MOV P1, #255 ; записываем в порт все единицы, гасим все
RET ; выход, возврат по месту вызова

END ; конец программы

Изменено пользователем o_l_e_g

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Вот, смотрите, LPT порт работает на 100% проверил с помощью мультиметра и вот этой программы

LPTprog.rar

Далее, схема собрана прям в точности с описанием! Я сейчас еще раз все проверил, более того процессор был виден.

Теперь программка не видит процессор....

Значит он сгорел?

Подскажите мне последовательность действий что бы мне просто убедится что все прошивается и правильно.

Я сейчас сделаю схемку

6-3-1_clip_image033.jpg

Только пожалуйста поясните почему их тут 2? И какой напряжения подавать? и как замерять?

И как мне сделать последовательность действий что бы добиться результата?

Я наверное куплю этих контроллеров штук 5.

Куплю логический пробник

Что еще мне нужно будет?

Ссылка на комментарий
Поделиться на другие сайты

Лучшая проверка-это проверка функционирования.

Эти схемы амплитудных детекторов, собрать можно любую, на выходе будет удвоенная амплитуда переменной составляющей входного напряжения, при работающем генераторе, и ноль при неработающем.

Конденсаторы в примерно 10-20 пФ, диоды любые ВЧ, или импульсные, резистор не ставить, его заменит внутреннее сопротивление прибора.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Так детектор и измерит только переменный, а он будет только при работающем генераторе.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

ааааааааааа, ясно! А напряжения на вход переменного тока какое подавать?

Вобщем так.... я сейчас детально разобрал схему программатора и понял на сколько она простая, + в книге описан ход записи и чтения байтов.

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

Ссылка на комментарий
Поделиться на другие сайты

А напряжения на вход переменного тока какое подавать?

Так напряжение само с ножки кварца подается.

Вобщем так.... я сейчас детально разобрал схему программатора и понял на сколько она простая, + в книге описан ход записи и чтения байтов.

В даташите, описано преподробнейше. Ход действий правильный.

Errare humanum est. Коли людЯм позволено, что же о нас то говорить!
 

Ссылка на комментарий
Поделиться на другие сайты

Написал вот такую программу я

Out32(0x378,0x0); // Устанавливаем D0-D7 В ноль

Out32(0x37A,0x0); //сигнал на стирания

Out32(0x37A,0x2); // сигнал стирания + 12В

Out32(0x37A,0x6); // сигнал стирания + 12В + init (PROC p3.2)

Sleep(10); // Ждем 10 мс

Out32(0x37A,0x2); // возвращаем сигнал стирания + 12В

// Ждем готовности Ready

short ready = Inp32(0x379);

while (ready != 56)

{

ready = Inp32(0x379);

cout << ready << endl;

}

Out32(0x37A,0xA); // Отключаем 12в

cout << "OK";

getchar();

И в итоге сигнал Ready микруха не возвращает

А если вручную замыкаю то все ок

ну тоесть проволочкой

Куплю 5 таких микрух и буду тренироваться

Ссылка на комментарий
Поделиться на другие сайты

Как мне сделать что бы в следующий раз все было нормально?

Я просто займусь этим через 2 недели, потому что в командировку еду.... а там LPT порта к сожалению нет.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

ало люди ответте, я че единственный на белом свете ето программирует с этим контроллером?

у меня данные не заливаются

Из за чего?

Кто работал рассказывайте

Ссылка на комментарий
Поделиться на другие сайты

че реально никто уже 2 недели подсказать ничего не может?

Кто делал отпишитесь как

Или объясните какой контроллер нормально работает

что бы я с него начал

Ссылка на комментарий
Поделиться на другие сайты

Я написал свою программу, данные стираются и записываются но контроллер не работает

// ProgAT89C2051.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#pragma comment(lib,"inpout32.lib")

using namespace std;

#define XTAL1 0x01

#define ERASE 0x00

#define WRITE 0x08

#define VOLT_12 0x02

#define PROC 0x04

// Ждем готовности Ready

bool Reade()

{

short ready = Inp32(0x379);

int timeout = 0;

while (1)

{

ready = Inp32(0x379);

if ( ((ready >> 6) & 1) ) {

// timeout++;

// if (timeout >= 100000) return false;

}

else return true;

//

}

}

int _tmain(int argc, _TCHAR* argv[])

{

// Данные программы которая в порты посылает 0

unsigned char data[] ={0x02,0x00,0x30,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x75,0x90,0x00,0x75,0xB0,0x00,0x80,0xF8};

cout<<"Load LPT driver GiveIO.sys"<<endl;

HANDLE h=CreateFile(L"\\\\.\\giveio", GENERIC_READ, 0, NULL,

OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if (h==INVALID_HANDLE_VALUE)

{

cout<<"Error! Can't open driver! Press any key to exit... "<<endl;

getchar();

return(0);

}

Out32(0x378,0x0); // Устанавливаем D0-D7 В ноль

Out32(0x37A,VOLT_12 | ERASE | PROC); // сигнал стирания + 12В + PROC <------------------ 1-2 пункт

Sleep(10); // Ждем 10 мс

Out32(0x37A,VOLT_12 | ERASE); // возвращаем сигнал стирания + 12В <------------------ 2 пункт

if(!Reade()) // ------------ 3 пункт

{

cout << "erase error" << endl;

getchar();

return 1;

}

Out32(0x37A,ERASE); // Отключаем 12в // ------------ 4 пункт

cout << "erase OK" << endl;

Sleep(3000);

Out32(0x37A,WRITE | VOLT_12);

for (int i = 0; i < 56; i++)

{

Out32(0x378,data); // Устанавливаем следующий байт данных

Out32(0x37A,VOLT_12 | WRITE | PROC); // сигнал запись + 12В + PROC

// Ждем готовности Ready

if(!Reade())

{

// Готовности нет

cout << "write error " << endl;

getchar();

return 1;

}

Sleep(2);

cout << "write ok " << i << endl;

if( i != 56)

Out32(0x37A, XTAL1 | VOLT_12 | WRITE ); // Увеличиваем счетчик данных на 1

}

cout << "FINISH" << endl;

Out32(0x37A,WRITE); // Отключаем 12В

getchar();

return 0;

}

ProgAT89C2051_Release.rar

ProgAT89C2051_VS2010_SOURCES.rar

post-171692-0-95381400-1374995686_thumb.png

post-171692-0-71333900-1374995724_thumb.png

Изменено пользователем apolon1919
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Попробуйте перейти на at89S2051. У них другой режим программирования, и программатор должен быть попроще. Более конкретно подсказать не смогу. Последний раз прошивал at89c2051 лет 13 назад, на самопальном/самописном программаторе.

Или переходите на AVR-ки, например tiny2313, по ножкам совпадает с at89c2051.

Я написал свою программу, данные стираются и записываются но контроллер не работает

Код не смотрел.

В вашем программаторе есть режим проверки(верификации) записанного?

Если нет, то говорить, что данные записываются, преждевременно.

Изменено пользователем AlVaKo
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • 350 стоит по умолчанию, вшито . Я так понял. Я включил . У меня сразу лым пошёл и само жало чуть по чернело но ещё рабочее ... Я научился пользоваться термопарой , измеряю, смотрю по таблице - разница очень большая . Кручу ратио - показания меняются, это гуд. Я думал что 100% - это предел. Но они пошли и дальше ..... Отсюда вопрос может кто знает как меняется температура в какую сторону при прокрутке туда или обратно? Хотя бы примерно?
    • Была у меня книжка (что-то типа помощь сельскому радиолюбителю) и в разделе самодельные источники питания был "рецепт" батарейки: две пластины меди и цинк(алюминий, не могу точно утверждать) между ними помещалась промокашка, предварительно замоченная в солевом растворе и присыпанная с одной стороны толченым углем. Элемент позиционировался как походный и потому промокашку сушили и вкладывали между пластин, а при необходимости ее мочили и элемент начинал работать. Точно не помню технологию и могу где-то ошибаться. Так вот вопрос к сторожилам, может кто  помнит данный "рецепт" или книгу в которой он был описан?
    • Попробуйте магнитолу отремонтировать. Говорят помогает. Иногда спасает поиск профильных специалистов по месту.
    • Офигенный заход... Отлично, не смеем отговаривать, хоть это будет дорого или очень дорого и больно. ШТА? При чем тут 220В? что в вашем понимании "нормальная"? Ну так а в чем проблема? Удивительно, учитывая что это основная задача частотного преобразователя. Куда подходит? Зачем он вообще идет? Параметры это агрегата за вас искать надо? Или удосужитесь дать побольше информации? З.Ы. А нафига реактивному дигателю вообще частотник? https://ru.wikipedia.org/wiki/РД-9
    • А что там анализировать? 1) Монтируется успешно. 2) Запрашивается в функции чтения данные с сектором 0, и перед каждым не успешно найденным файлом. 3) если выкинуть отладку, то один файл находит, но чтение буфера 0 и сам буфер пустой. Где-то косяк с конфигами... Кто работал пожалуйста подскажите, чтобы меньше потратить времени... Можно конечно. Какая разница как название указывать? Через массив символов либо явно указав массив символов в виде строки.
    • Ясно. Каких-то конкретных расчетов-рекомендаций нет. Ну, попробую тогда сваять матрицу. Отпишусь тут, если хватит 4х ватов на такое дело. 
    • Вот и я про лень. Самому не хочется собирать такие схемы, проще купить.   Только я другие покупал , но еще на длительное время не включал. А так , работают нормально.
×
×
  • Создать...