Jump to content

    

AT89S8252 + Keil + PonyProg

Необходимо освоить сабж.

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. Может где-то какую-то галочку не поставил?

 

Спасибо.

Share this post


Link to post
Share on other sites

Не телепат, но предположу, что выбрана модель с внешней памятью, тогда на RD-WR могут быть импульсы.

Share this post


Link to post
Share on other sites

Внимание - наводящий вопрос:

 

А может на ЕА надо подать 1?

Share this post


Link to post
Share on other sites

Подвязка ЕА помогла. Все работает.

Но из Понипрог не работает стирание микросхем. Запись и чтение работают, а вот стирание нет. Что Вы думаете по этому поводу.

Share this post


Link to post
Share on other sites

Еще вопрос. нужно передать в функцию масив. В си я это делал передачей указателя на массив. Могу ди я это сделать в Keile, если нет то как лучше передать массив в функцию.

Share this post


Link to post
Share on other sites

Юзал понипрог, пока не перешел на s8253..

Она действительно ругается при "стирке".

На самом же деле она стирает, но пишет not responding..

не обращайте внимания, я впоследствии вообще перестал стирать, сразу пишу (даже перезаписываю) - вроде работало всегда)))

PS зашито "пони" немерянная куча девайсов.. негатива нет.

А вот то что не всегда шило - это да!

Совет - попробуйте понизить напругу, скажем, до 4.5 В (лпт-шник не всегда дотягивает лог. уровни и пониженное питание с большей гарантией позволит программе определять высокие уровни)

Share this post


Link to post
Share on other sites

Шил донглом STK-200 в среде ic-prog www.ic-prog.com. Там и стирается и пишется, только не лочится. Еще лучьше родной прогой. В функцию массив в кейле передается как обычно через указатель:

 

void unsigned char buf[10];

 

void f1 (unsigned char *buf)

{

}

 

f1((unsigned char*)&buf[0]);

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this