Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » Форум разработчиков РЭА »
помогите с AT89C51ED2

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   помогите с AT89C51ED2
mailevdo
Junior Member

Сообщений: 3
Откуда: Пенза
Регистрация: Март 2007

написано 02 Апреля 2007 16:03ИнфоПравкаОтветитьIP

Друзья!
Помогите разобраться с этой микросхемой...
Не могу запустить ее =(

Кварц работает нормально (20МГц)
Питание нормальное

Пишу простейшую программу на Keli 8.0
Контакт микросхемы P2.0 висит на кнопке (кнопка замыкает землю на контакт)
По состоянию входа P2.0 выставляю либо 0, либо 1 на выход P0.0 (там резистор 1кОм, светодиод, питание +5В)

В симуляторе работает нормально, прошиваю HEX файл через Phyton - не работает =(


На вход EA подал +5В, ALE и PSEN висят в воздухе, RESET кнопка (в работе идет +5В через 1 кОм, при нажатии подается земля)

КОД ПРОГРАММЫ:
#include "REG51xD2.h"

void main(void)
{
P0 = 0x00;
P1 = 0x00;
P2 = 0x00;
P3 = 0x00;

while(1){
if(P2_0){
P0 = 0xFF;
P1 = 0xFF;
P3 = 0xFF;
}
else{
P0 = 0x00;
P1 = 0x00;
P3 = 0x00;
}
}
}


ПОЧЕМУ НЕ ЗАПУСКАЕТСЯ МИКРОСХЕМА?

Может при приограммировании в Phyton там что то надо выставить?
К меня:
Memory: No lock bit
X2 bit: Standart mode
BLJB: Start the boot loader
XRAM config: Valid XRAM

Boot vecter: 252
Boot status byte: 255
SSB: 255

misyachniy
Member

Сообщений: 141
Откуда: Kyiv
Регистрация: Февраль 2002

написано 02 Апреля 2007 16:12ИнфоПравкаОтветитьIP

if(P2_0) всегда будет "ложь"

Поменяйте P2 = 0x00; на P2 = 0x01;

Ножки в AT89C51ED2 псевдодвунаправленные.
Для того чтобы настроить ножку на ввод, нужно вывести туда 1.

mailevdo
Junior Member

Сообщений: 4
Откуда: Пенза
Регистрация: Март 2007

написано 02 Апреля 2007 17:15ИнфоПравкаОтветитьIP

Расскажите пожалуйста мне еще про вот это:
Memory: No lock bit
X2 bit: Standart mode
BLJB: Start the boot loader
XRAM config: Valid XRAM

Boot vecter: 252
Boot status byte: 255
SSB: 255


как оно работает и на что влияет?

Про микросхему написано что она может прогрмаировать через UART прямо на плате.
Что для этого нужно сделать?

misyachniy
Member

Сообщений: 143
Откуда: Kyiv
Регистрация: Февраль 2002

написано 05 Апреля 2007 10:55ИнфоПравкаОтветитьIP

PSEN притянуть к нулю и подать питание(нажать сброс).
При этом BootLoader перейдет в режим обновления программы через UART.

Обратите внимание AT89C51ED2 имеет двунаправленный сброс.
Посмотрите рекомендуемую схему сброса.

>>Memory: No lock bit
Память программ не защищена, можно читать и писать

>>X2 bit: Standart mode
Режим работы стандартный 12 тактов на инструкцию, не стандартный это в два раза быстрее

>>BLJB: Start the boot loader
Bootloader разрешен

>>XRAM config: Valid XRAM
Внутренняя память выше 0xFF разрешена

>>Boot vector: 252
>>Boot status byte: 255
>>SSB: 255
Бут на своем месте и готов к употреблению :-)


mailevdo
Junior Member

Сообщений: 5
Откуда: Пенза
Регистрация: Март 2007

написано 12 Апреля 2007 16:18ИнфоПравкаОтветитьIP

2misyachniy:

огромное спасибо!!!
все так как ты и сказал =)

подскажи пожалуйста, вот у меня AT89C51ED2 я подключился к ней FLIP 3.1 на скорости 9600.

1. На других скоростях не подключается... так и должно быть или я что то не так делаю?
(пробую в flip ставить скорость подключения 19200, ... не подключается на них)
2. После подключения позволяет считывать программу и флеш, выполняет операция ERASE, но вот когда нажимаю PROGRAM вылетает окошко Flip-Exeptions в котором написано куча строчек:

ava.lang.NullPointerException
at com.atmel.flip.Programmer.<init>(Programmer.java:78)
at com.atmel.flipGui.DeviceMenuHandler.actionPerformed(DeviceMenuHandler.java:96)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at com.atmel.flipGui.Gui.actionPerformed(Gui.java:432)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.NullPointerException
at com.atmel.flipGui.ProgressDlg$ProgBarTimer$ProgBarTask.run(ProgressDlg.java:177)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
java.lang.NullPointerException
at com.atmel.flip.Programmer.<init>(Programmer.java:78)
at com.atmel.flipGui.DeviceMenuHandler.actionPerformed(DeviceMenuHandler.java:96)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.NullPointerException
at com.atmel.flipGui.ProgressDlg$ProgBarTimer$ProgBarTask.run(ProgressDlg.java:177)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
java.lang.NullPointerException
at com.atmel.flip.Programmer.<init>(Programmer.java:78)
at com.atmel.flipGui.RunFlowAction$RunFlowThread.run(RunFlowAction.java:120)
java.lang.NullPointerException
at com.atmel.flipGui.ProgressDlg$ProgBarTimer$ProgBarTask.run(ProgressDlg.java:177)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
java.lang.NullPointerException
at com.atmel.flip.Programmer.<init>(Programmer.java:78)
at com.atmel.flipGui.DeviceMenuHandler.actionPerformed(DeviceMenuHandler.java:96)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Что это такое и что делать?


misyachniy
Member

Сообщений: 144
Откуда: Kyiv
Регистрация: Февраль 2002

написано 13 Апреля 2007 11:05ИнфоПравкаОтветитьIP

У меня обычно на 115200 шились все.
Некоторые на 57600.
Если не хотели шиться Flip то я использовал консольную программу.
Вторая ссылка прямо на программму.
ссылка
ссылка

mailevdo
Junior Member

Сообщений: 6
Откуда: Пенза
Регистрация: Март 2007

написано 13 Апреля 2007 14:58ИнфоПравкаОтветитьIP

да, спомощью дос загрузить смог...

непонятно почему FLIP не работает... ну да ладно,

СПАСИБО БОЛЬШОЕ!

sergey_asv
Junior Member

Сообщений: 7
Регистрация: Июнь 2007

написано 08 Ноября 2007 21:03ИнфоПравкаОтветитьIP

тоже похожая проблема , написал простенькую программу в port0 = 255 а в место едениц на выходе висят какието уровни +0,9 в 3в если задаю port0 = 0 все ок, пины подтягиваются к земле.может гдето нужно установить какой бит?

misyachniy
Member

Сообщений: 154
Откуда: Kyiv
Регистрация: Февраль 2002

написано 09 Ноября 2007 15:02ИнфоПравкаОтветитьIP

PORT 0 реально двунаправленый. То есть выход - открытый сток.
В некоторых не классических есть возможность включить внутренние подтяжки, или сделать выход PUSH/PULL

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика