Полная версия этой страницы:
AT89S8252 + Keil + PonyProg
maximka
Nov 20 2006, 19:35
Необходимо освоить сабж.
1. Взял программатор STk200, которым программировал ATmega.
2. Спаял схему. Подключил питание + , -, частоту 8 Мгц. Подключил serial download.
3. В ponyprog, проинвертировал Reset.
4. С какого-то раза все начало программироваться.
Пример программы:
#include <REG8252.H>
unsigned char x;
void main(void)
{
while(1)
{
P1=0;
for(x=1;x<99;x++);
P1=0xff;
for(x=1;x<99;x++);
}
}
В результате появились импульсы на P3, с частотой 1 МГц примерно. В общем какая-то фигня - ничего не работает.
Внимание вопрос:
1. Может я чего-то не подвязал? Такое ощущение что процессор занимается там чем-то своим.
2. Правильная ли программа?
3. Надо ли подключать файл Startup.a51, как я понял там просто все обнуляется и настраивается.
4. Может не работает программатор, хотя все вроде записывает, верифицирует и читает. Но erase, почему-то не работает.
5. Может где-то какую-то галочку не поставил?
Спасибо.
Andy Great
Nov 20 2006, 21:45
Не телепат, но предположу, что выбрана модель с внешней памятью, тогда на RD-WR могут быть импульсы.
maximka
Nov 21 2006, 07:19
Внимание - наводящий вопрос:
А может на ЕА надо подать 1?
maximka
Nov 23 2006, 22:21
Подвязка ЕА помогла. Все работает.
Но из Понипрог не работает стирание микросхем. Запись и чтение работают, а вот стирание нет. Что Вы думаете по этому поводу.
maximka
Nov 25 2006, 13:24
Еще вопрос. нужно передать в функцию масив. В си я это делал передачей указателя на массив. Могу ди я это сделать в Keile, если нет то как лучше передать массив в функцию.
kolyan_olvs
Dec 20 2006, 15:55
Юзал понипрог, пока не перешел на s8253..
Она действительно ругается при "стирке".
На самом же деле она стирает, но пишет not responding..
не обращайте внимания, я впоследствии вообще перестал стирать, сразу пишу (даже перезаписываю) - вроде работало всегда)))
PS зашито "пони" немерянная куча девайсов.. негатива нет.
А вот то что не всегда шило - это да!
Совет - попробуйте понизить напругу, скажем, до 4.5 В (лпт-шник не всегда дотягивает лог. уровни и пониженное питание с большей гарантией позволит программе определять высокие уровни)
vesago
Dec 20 2006, 16:27
Шил донглом STK-200 в среде ic-prog www.ic-prog.com. Там и стирается и пишется, только не лочится. Еще лучьше родной прогой. В функцию массив в кейле передается как обычно через указатель:
void unsigned char buf[10];
void f1 (unsigned char *buf)
{
}
f1((unsigned char*)&buf[0]);
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.