Чем прошить AT89C2051

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Neolane
Родился
Сообщения: 10
Зарегистрирован: Пт апр 20, 2012 13:26:03

Чем прошить AT89C2051

Сообщение Neolane »

День добрый
Решил собрать Термометр на AT89C2051 и DS18B20, возник вопрос чем прошить микроконтроллер.
В общем посоветуйте какой программатор приобрести (в ПК нет ни COM, ни LPT).
Погуглив нашёл это но там в списке поддерживаемых микроконтроллеров нету AT89C2051.
Заранее спасибо
Реклама
Аватара пользователя
Alter Ego
Сверлит текстолит когтями
Сообщения: 1119
Зарегистрирован: Ср май 01, 2013 22:37:08
Откуда: Украина

Re: Чем прошить AT89C2051

Сообщение Alter Ego »

Вместо AT89C2051 удобнее использовать AT89S2051, с нею могут справиться многие программаторы.
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Чем прошить AT89C2051

Сообщение Engineer_Keen »

Neolane писал(а):Погуглив нашёл это но там в списке поддерживаемых микроконтроллеров нету AT89C2051.
Потому что AT80C2051 это не авр, а MCS-51, и внутрисхемно они не прошиваются. Для них нужен параллельный программатор (wizardprog, chipprog и подобные). Или ищите, как уже сказали AT89S2051.
Neolane
Родился
Сообщения: 10
Зарегистрирован: Пт апр 20, 2012 13:26:03

Re: Чем прошить AT89C2051

Сообщение Neolane »

Alter Ego писал(а): удобнее использовать AT89S2051, с нею могут справиться многие программаторы.
Можно пример программатора?
Последний раз редактировалось Neolane Пн окт 21, 2013 15:29:58, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20175
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Чем прошить AT89C2051

Сообщение Martin76 »

Neolane писал(а):Решил собрать Термометр на AT89C2051 и DS18B20,
Если просто нужен термометр с мк и таким датчиком, то сделайте лучше термометр на ATTiny2313 и DS18B20, хоть вот LED с ОК,с ОА, ее прошить легче, чем эту древность и кварц не нужен. Ну а если хочется помучаться с 89С2051 - то делайте программатор к нему :dont_know:
Реклама
Neolane
Родился
Сообщения: 10
Зарегистрирован: Пт апр 20, 2012 13:26:03

Re: Чем прошить AT89C2051

Сообщение Neolane »

Martin76 писал(а):
Neolane писал(а):Решил собрать Термометр на AT89C2051 и DS18B20,
Если просто нужен термометр с мк и таким датчиком, то сделайте лучше термометр на ATTiny2313 и DS18B20, хоть вот LED с ОК,с ОА, ее прошить легче, чем эту древность и кварц не нужен. Ну а если хочется помучаться с 89С2051 - то делайте программатор к нему :dont_know:
Спасибо, да нет, термометр не принципиально, просто хотелось что нибудь своими кривыми ручонками сделать)
Так что лучше на ATTiny2313 и подобных буду оттачивать скил)


Вам нужно прочитать Правила форума.
http://radiokot.ru/forum/viewtopic.php?f=19&t=6538
Нарушение Правил форума п. 2.7

aen
Реклама
Аватара пользователя
Ariadna-on-Line
Это не хвост, это антенна
Сообщения: 1482
Зарегистрирован: Вс май 13, 2012 00:01:54

Re: Чем прошить AT89C2051

Сообщение Ariadna-on-Line »

Собирал программатор. TAFE или TEFI - уже не помню. Работал в ICProg вроде. Давно было. Сам строил плату. Щас поищу.
Вложения
TEFIboard.GIF
(25.58 КБ) 1589 скачиваний
TEFIprog.GIF
(23.87 КБ) 1519 скачиваний
Аватара пользователя
Ariadna-on-Line
Это не хвост, это антенна
Сообщения: 1482
Зарегистрирован: Вс май 13, 2012 00:01:54

Re: Чем прошить AT89C2051

Сообщение Ariadna-on-Line »

Вот на моём любимом ОрКаде
Вложения
OrCad TEFI.MAX.gif
(239.8 КБ) 869 скачиваний
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Чем прошить AT89C2051

Сообщение Panda_Y2K »

Вот программатор
Изображение
продаю
http://radiokot.ru/forum/viewtopic.php? ... 5&start=20
и тут же контроллеры
а вот термометр (программа для него)
Спойлер

Код: Выделить всё

/*******************************************************************
                         Termometr project 
    				 by Panda
	                    Mart 2010 year

Project information:
Microprocessor type AT89C2051
Flash size 2Kbyte
Cristal 11.0592 Mhz
Led indicator Kingbright BC56-12EWR Red
*******************************************************************/
#include <reg2051.h>
 
#define A P1_6 //Segment A - P1.6
#define B P1_7 //Segmebt B - P1.7
#define C P1_1 //Segment C - P1.1
#define D P1_3 //Segment D - P1.3
#define E P1_4 //Segment E - P1.4
#define F P1_5 //Segment F - P1.5
#define G P1_0 //Segment G - P1.0
#define H P1_2 //Segment H - P1.2
#define com1 P3_3 //Common1 - P3.3
#define com2 P3_5 //Common2 - P3.5
#define com3 P3_4 //Common3 - P3.4

#define XTAL 11059200

//ABCDEF  1111 1010 {0} 
//BC      1000 0010 {1}
//ABDEG   1101 1001 {2}
//ABCDG   1100 1011 {3}
//BCFG    1010 0011 {4}
//ACDFG   0110 1011 {5}
//ACDEFG  0111 1011 {6}
//ABC     1100 0010 {7}
//ABCDEFG 1111 1011 {8}
//ABCDFG  1110 1011 {9}
//ABCEFG  1111 0011 {A}
//CDEFG   0011 1011 {B}
//ADEF    0111 1000 {C}
//BCDEG   1001 1011 {D}
//ADEFG   0111 1001 {E}
//AEFG    0111 0001 {F}
//ACDEF   0111 1010 {G}
//BCEFG   1011 0011 {H}
//BCD     1000 1010 {J}
//DEFG    0011 1001 {T}
//DEF     0011 1000 {L}
//G       0000 0001 {-}
const digit[22] ={0xFA, 0x82, 0xD9, 0xCB, 0xA3, 0x6B, 0x7B, 0xC2, 0xFB, 0xEB, 0xF3, 0x3B, 0x78, 0x9B, 0x79, 0x71, 0x7A, 0xB3, 0x8A, 0x39, 0x38, 0x01};
unsigned int TEMP;

//#define DEBUG
//#define TIME_MEASURE

sbit IO = 0xB0; //Set Port 3.0 for 1wire interface

/* ROM COMANDS */
#define READ_ROM             0x33
#define MATCH_ROM            0x55
#define SKIP_ROM             0xCC
#define SEARCH_ROM           0xF0
#define ALARM_SEARCH         0xEC
  
/* MEMORY FUNCTIONS */
#define WRITE     0x4E
#define READ      0xBE
#define COPY      0x48
#define CONV      0x44

//function prototipes
void _1w_write(char out);
char _1w_read(void);
char _1w_reset();
void delay(unsigned int us);

void delay(unsigned int us)
{
 while(us--);
  }

//function definetion
void _1w_write(char out){
     char i,j;

     for (j=0; j<=7;j++){

          IO = 0;             //set low
          if(out &  0x01){      /* write '1' */
			   i=4;	
			   while(i) i--;   //~14 mks

      		   IO = 1;        //set high
			   i=25;
			   while(i) i--;    //~55mks
          }
          else {
               i=35;
			   while(i) i--;    //~80mks

               IO = 1;        //set high
          }
          out = out >> 1;
     }
}

char _1w_read(void){
     char i,j;
     char t = 0;

     //out 0 or input without pullup
     for(i=0; i<=7; i++){

          IO = 0;         // set output 0;
		  j=0;
          IO = 1;          //set out through 1 mks
          j=3;
          while(j) j--;     /* 10us delay */
          t>>=1;          /*next bit */

          if(IO == 1)
               t |= 0x80;
          else
               t &= 0x7f;
          j=30;
          while(j) j--;     /* 66us delay */
     }
     return t;
}

char _1w_reset(){
     unsigned char i;
     unsigned char status;
     
     IO = 0;                //reset send
	 i=250;
	 while(i) i--;    //~544mks
     IO = 1;               
 
     i=35;
     while(i) i--;    //~77mks
                     /* wait for presence pulse */
      /* read presence pulse */
     if (IO)
        status = 0;
     else
        status = 1;

     i=100;                /*wait for idle */
     while(i--);
      
     return status;
}


void demo(void)
{ 
 //switch off all segment on led
 P1=0;
 delay(2000);
 A=1;
 delay(2000);
 A=0;
 B=1;
 delay(2000);
 B=0;
 C=1;
 delay(20000);
 C=0;
 D=1;
 delay(2000);
 D=0;
 E=1;
 delay(2000);
 E=0;
 F=1;
 delay(2000);
 F=0;
}

void main(void)
{unsigned char i,DEC;
 int temperature, tmp;
 unsigned char T[3];
 //demonstration
 com1=0;
 com2=1;
 com3=1;
 demo();
 delay(200);
 com1=1;
 com2=0;
 demo();
 delay(200);
 com2=1;
 com3=0;
 demo();
 delay(200);
 com3=1;
 //end of demonstration
while(1)
{
//measurement
#ifdef DEBUG
tmp=_1w_reset();
for(i=0; i<255; i++)
 { P1=digit[(tmp>>4)&0x000F];
   com2=0;
   delay(1000);
   com2=1;
   P1=digit[tmp&0x000F];
   com3=0;
   delay(1000);
   com3=1;
   };
_1w_write(SKIP_ROM);
_1w_write(CONV);
delay(200);
_1w_reset();
_1w_write(SKIP_ROM);
tmp=_1w_read();
for(i=0; i<255; i++)
 { P1=digit[(tmp>>4)&0x000F];
   com2=0;
   delay(1000);
   com2=1;
   P1=digit[tmp&0x000F];
   com3=0;
   delay(1000);
   com3=1;
   };

#endif


#ifndef DEBUG
_1w_reset();
_1w_write(SKIP_ROM);
_1w_write(CONV);
while(!IO);
_1w_reset();
_1w_write(SKIP_ROM);
_1w_write(READ);
tmp=_1w_read();
temperature=_1w_read();
temperature<<=8;
tmp&=0x00FF;
temperature|=tmp;
for(i=0;i<3;i++) T[i]=0; //Clear T
if (temperature&0x8000) //less zero
  {T[0]=21;
   temperature=~temperature+1; //addition code
   };
if(T[0]==0)
{// T>0
 DEC=0;
 for(i=0; i<4; i++)
  {DEC|=(temperature>>i)&0x01;
   DEC<<=1;
   };
 DEC&=0x0F;
 if (DEC > 0) DEC=10/DEC;
 temperature>>=4;
 temperature=temperature & 0x007F;
 T[0]=temperature/10;
 T[1]=temperature-T[0]*10;
 T[2]=DEC;
 }
else{
 temperature>>=4;
 temperature=temperature & 0x007F;
 T[0]=21;
 T[1]=temperature/10;
 T[2]=temperature-T[1]*10;
};

for(i=0;i<255;i++);
{com1=1;
 com2=1;
 com3=1;
 P1=digit[T[0]];
 com1=0;
 delay(800);
 com1=1;
 P1=digit[T[1]];
 if(T[0]!=21) P1|=0x04;
 com2=0;
 delay(800);
 com2=1;
 P1=digit[T[2]];
 com3=0;
 delay(800);
 com3=1;};//end of for
#endif
};//end of while
}
СпойлерИзображение
СпойлерИзображение
схема
Изображение
работает уже сто лет. :)

P.S. забыл - вот программа для программатора (Blowit) исправленная, рабочая.
Вложения
_Blowit.zip
(509.38 КБ) 645 скачиваний
схема.JPG
(57.36 КБ) 9105 скачиваний
25102013367.jpg
(123.57 КБ) 3315 скачиваний
25102013366.jpg
(134.27 КБ) 3585 скачиваний
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: Чем прошить AT89C2051

Сообщение Smen »

Panda_Y2K писал(а):Вот программатор
продаю
А ничего, что:
Neolane писал(а):в ПК нет ни COM, ни LPT
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Чем прошить AT89C2051

Сообщение Panda_Y2K »

Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: Чем прошить AT89C2051

Сообщение Smen »

Panda_Y2K писал(а):В яндексе же пока не банят
А старые компы, с КОМами и ЛПТ, отдают задаром.
И что?
Аватара пользователя
Ariadna-on-Line
Это не хвост, это антенна
Сообщения: 1482
Зарегистрирован: Вс май 13, 2012 00:01:54

Re: Чем прошить AT89C2051

Сообщение Ariadna-on-Line »

Компьютер без портов LPT и COM - из ИНСТРУМЕНТА превращается в пишущую машинку + калькулятор. И не более. USB и LAN выходы -это не Выход (о тавтология!), с ними напрямую не поработаешь. Покупай FT232, как минимум. А на неё цены всё время только растут и будут расти, пока плебс на планшеты переходить будет. А потом она и из продажи вообще пропадёт, я уверен. Про LAN и упоминать не надо. Ему уже запрограммированный проц нужен. Помните про курицу и яйцо? Где взять одно без другого. Порочный круг. Ну это уже флуд...
Вот нашёл картинки.
Вложения
Image2.jpg
(27.33 КБ) 942 скачивания
Image1.jpg
(38.67 КБ) 1122 скачивания
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Чем прошить AT89C2051

Сообщение Panda_Y2K »

А старые компы, с КОМами и ЛПТ, отдают задаром.
И что?
и собственно не ясен вопрос. ну так возьмите его задаром и программируйте себе на здоровье.
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Чем прошить AT89C2051

Сообщение balmer »

Ariadna-on-Line писал(а):Компьютер без портов LPT и COM - из ИНСТРУМЕНТА превращается в пишущую машинку
Переходи на STM32, их через USB можно прошивать при желании...
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Чем прошить AT89C2051

Сообщение Panda_Y2K »

для avr также полно программаторов под USB, вот например http://www.getchip.net/posts/056-usb-pr ... o-usbtiny/
на меге 8й был аналогичный, на ft232, да их куча...
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: Чем прошить AT89C2051

Сообщение Smen »

Panda_Y2K писал(а):и собственно не ясен вопрос
Мне вот тоже не ясно, если ТС нужен программатор для 51-го, под ЮСБ, зачем советовать под ЛПТ?
Panda_Y2K писал(а):так возьмите его задаром
Да уже давно взял (и не один).
И программаторов тоже всяких есть.
Вопрос-то не я задаю.
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20175
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Чем прошить AT89C2051

Сообщение Martin76 »

ТС, если бы все внимательно читали, просто нужен термометр с ЛЕД и ДС18Б20. А этот антиквариат ему видимо первым на глаза попался, вот и все.
А дальше ТС пошел изучать подобные схемы на АВР.
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: Чем прошить AT89C2051

Сообщение Smen »

Martin76 писал(а):ТС пошел изучать подобные схемы на АВР.
Это уже для другого топика.
А данная тема называется: "Чем прошить AT89C2051" :wink:
Аватара пользователя
Panda_Y2K
Грызет канифоль
Сообщения: 258
Зарегистрирован: Пт сен 23, 2011 06:44:41
Откуда: ЮФО
Контактная информация:

Re: Чем прошить AT89C2051

Сообщение Panda_Y2K »

К стати в схеме, что я привел вполне можно использовать ATTINY2313 по ногам соответствует 1:1
необходимо поменять местами конденсатор С3 и резистор Р1
Программа тоже вполне подходит, необходимо только подправить задержки (аврки поыстрее бегают :) )
да, и инклюду заменить на тиньковскую
Купи два беляша и собери из них кошку
Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)
Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).
Ответить

Вернуться в «Разные вопросы по МК»