Досталась мне плата от весов на AT89S8253, рабочая. Разводка выполнена качественно. Очень хочется ее применить.
Контроллер связывается с компом через MAX232. Сначала обрадовался, надеялся, что после МАХ232 разводка будет идти на ножки MOSI MISО SCK RESET. Но разводка уходит на TXD RXD. Одним словом, программировать только через загрузчик. Коверкать плату не хочется. Прошивать буду через понипрог, но как работать с загрузчиком не знаю. Никогда не приходилось. Если можете, подскажите.
Загрузчик для AT89S8253
Сообщений 1 страница 30 из 31
Поделиться12016-09-16 15:01:55
Поделиться22016-09-16 16:06:53
и что это даст, Александр?
всё равно писать под ядро 51, а точнее, 53. Вполне вкусное. Но по сравнению с АВР, уже проигрывает.
Поделиться32016-09-16 16:34:20
и что это даст, Александр?
всё равно писать под ядро 51, а точнее, 53. Вполне вкусное. Но по сравнению с АВР, уже проигрывает.
Плата шаровая.
Готов писать под Baccom 8051.
На днях подкатят мне еще одну такую-же плату.
Так-что интерес не праздный.
Поделиться42016-09-16 23:27:42
из-за двух плат?...
если только для саморазвития, на ассме, под новое для себя ядро...
Поделиться52016-10-07 11:54:52
Нарыл в интернете программу для работы с загрузчиком "Tiny Multi Bootloader+ (v0.11.0)" ссылка - https://sourceforge.net/projects/tinypicbootload/
Кто-то пользовался? Можно ли с ее помощью шить AT89S8253?
Поделиться62016-10-07 21:34:41
AT89S8252, AT89S8253
Тоже ищу чем прошивать этих динозавров без LPT.
Поделиться72016-10-07 22:16:46
Тоже ищу чем прошивать
Поделиться82016-10-07 23:37:59
Пробовал шить через контроллер все норм, осталось прикрутить usb или флешку
можно допилить...
$regfile = "m32def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 32 '***************************** Kонфигурируем LCD ******************************* Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.7 , Db5 = Portd.4 , Db6 = Portd.6 , Db7 = Portd.5 , E = Portd.3 , Rs = Portd.2 'иниализация lcd для макетки Cursor Off '***************************** Kонфигурируем ADC ******************************* Config Adc = Single , Prescaler = Auto , Reference = Avcc 'конфигурация АЦП '***************************** Kонфигурируем порты ***************************** Config Porta = Input : Config Portb = Input : Config Portc = Input '************************** Переменные прошивальщика *************************** Const Chip_erase = &B_10101100_10000000_00000000_00000000 'Очистка MK, Flash и EEPROM (все ячейки будут FF) Const Prog_enable = &B_10101100_01010011_00000000_00000000 'Перевод МК в режим программирования, 4 байт ответ команды 0110 1001 Const Read_id_mk = &B_00101000_00000000_00000000_00000000 'Проверка идентификатора МК 89s51,89s52 ' &B_00110000 000xxxBB xxxxxxxx dddddddd 'Вместо BB(второй байт команды)адрес, 4 байт ответ команды ' | ' |------------ 00 для 1 байта идентификатора, ' |------------ 01 для 2 байта идентификатора, ' |------------ 10 для 3 байта идентификатора, ' Байт идентификатора будет передан МК ' при отправке 4-го байта команды. ' Const Write_program_memory_byte = &B_01000000_00000000_00000000_00000000 'Запись страницы в память МК (Byte Mode) ' &B_01000000 000aaaaa bbbbbbbb dddddddd Младший бит 2-го байта и старшие 4 бита 3-го байта ' | | ' |-------|------------ a:bbbb — пятибитный номер страницы для записи. ' Const Read_program_memory_byte = &B_00100000_00000000_00000000_00000000 'Чтение flash МК (Byte Mode) ' &B_00101000 aaaaaaaa bbbbbbbb xxxxxxxx — для чтения старшего байта слова. ' | | ' |-------|-------------- a:bbbbbbbb — адрес слова в памяти. ' Прочитанный байт возвращается во время передачи 4-го байта команды. 'Dim Count_memory_list As Byte ' счетчик адреса слов Dim Count_memory_byte As Word ' через N слов запись буфера а адреса страницы Dim Low_byte_count_memory As Byte At Count_memory_byte Overlay Dim High_byte_count_memory As Byte At Count_memory_byte + 1 Overlay Dim End_byte_hex As Word Dim Byte_data As Byte Dim Spi_in_data As Dword Dim Spi_in_byte_4 As Byte At Spi_in_data Overlay Dim Spi_in_byte_3 As Byte At Spi_in_data + 1 Overlay Dim Spi_in_byte_2 As Byte At Spi_in_data + 2 Overlay Dim Spi_in_byte_1 As Byte At Spi_in_data + 3 Overlay Dim Spi_out_data As Dword Dim Spi_out_byte_4 As Byte At Spi_out_data Overlay Dim Spi_out_byte_3 As Byte At Spi_out_data + 1 Overlay Dim Spi_out_byte_2 As Byte At Spi_out_data + 2 Overlay Dim Spi_out_byte_1 As Byte At Spi_out_data + 3 Overlay '***************************** Переменные ************************************** Dim Knopka As Byte Dim Count As Byte Dim Temp As Byte Dim Tempw As Word Dim Tempb As Byte Dim Tempb1 As Byte Dim Time_up As Byte Dim Var_time_up As Byte : Var_time_up = 20 '******************************************************************************* Config Portb.1 = Input 'pin Приходящий_данные Config Portb.0 = Output 'pin отправленные_данные Config Portb.2 = Output 'clok Config Portb.3 = Output : Res Alias Portb.3 : Res = 0 'reset mk Config Spi = Soft , Din = Pinb.1 , Dout = Portb.0 , Ss = None , Clock = Portb.2 , Mode = 0 Spiinit 'инициализируем SPI Wait 1 Init_: Cls Locate 1 , 3 Lcd " Init MK " Res = 1 Waitms 100 Res = 0 Waitms 100 Res = 1 Gosub Init_mk_ Locate 2 , 1 Lcd "->" ; Hex(spi_out_data) Locate 3 , 1 Lcd "->" ; Hex(spi_in_data) Locate 4 , 1 If Spi_in_data = 105 Then Lcd "MK Enable= Ok " Else Lcd "MK Enable= Err " Wait 2 Cls Locate 1 , 3 Lcd "Read id MK" Gosub Read_id_mk_ Locate 2 , 1 Lcd "->" ; Hex(spi_in_data) Locate 3 , 1 If Spi_in_data = &H_1E5106 Then 'сигнатура AT89s51 Lcd "MK id= AT89s51 " Elseif Spi_in_data = &H_1E5206 Then 'сигнатура AT89s52 Lcd "MK id= AT89s52 " Else Lcd "MK id = Err " End If Wait 2 Cls Do Gosub Knopki Locate 1 , 3 Lcd " ^-init " Locate 2 , 1 Lcd "<-write read->" If Knopka = 5 Then Gosub Write_ If Knopka = 4 Then Gosub Read_ If Knopka = 1 Then Gosub Init_ Loop Write_: Cls Locate 1 , 2 Lcd "Chip_erase" Gosub Chip_erase_ Wait 1 Count_memory_byte = 0 Cls Locate 1 , 2 Lcd "Write flash MK" Wait 1 Restore Dta1 For Count_memory_byte = 0 To 67 'байты Read Byte_data Locate 2 , 1 Lcd "write=" ; Hex(byte_data) ; " " Locate 3 , 1 Lcd "count=" ; Hex(count_memory_byte) ; " " Gosub Write_program_memory_ Waitms 500 Next Do Gosub Knopki Loop Until Knopka = 3 Cls Return Read_: Cls Locate 1 , 2 Lcd "Read flash End " Wait 2 For Count_memory_byte = 0 To 67 'байты Gosub Read_program_memory_ Locate 2 , 1 Lcd "count=" ; Hex(count_memory_byte) ; " " Locate 3 , 1 Lcd "read=" ; Hex(spi_in_data) ; " " Waitms 500 Next Do Gosub Knopki Loop Until Knopka = 3 Cls Return Init_mk_: Spi_in_data = 0 Spi_out_data = Prog_enable For Temp = 1 To 4 Tempb1 = Spimove(spi_out_byte_1) Shift Spi_out_data , Left , 8 Next Spi_in_data = Tempb1 Spi_out_data = &H_AC530000 Return Read_id_mk_: Spi_in_data = 0 For Count = 0 To 2 Spi_out_data = Read_id_mk Spi_out_byte_2 = Count 'AT89 For Temp = 1 To 4 Spi_in_byte_4 = Spimove(spi_out_byte_1) Shift Spi_out_data , Left , 8 Next If Count < 2 Then Shift Spi_in_data , Left , 8 ' <4 Next Return Read_program_memory_: Spi_in_data = 0 Spi_out_data = Read_program_memory_byte Spi_out_byte_2 = High_byte_count_memory Spi_out_byte_3 = Low_byte_count_memory For Temp = 1 To 4 Spi_in_byte_4 = Spimove(spi_out_byte_1) Shift Spi_out_data , Left , 8 Next Return Write_program_memory_: Spi_in_data = 0 Spi_out_data = Write_program_memory_byte Spi_out_byte_2 = High_byte_count_memory Spi_out_byte_3 = Low_byte_count_memory Spi_out_byte_4 = Byte_data For Temp = 1 To 4 Spi_in_byte_4 = Spimove(spi_out_byte_1) Shift Spi_out_data , Left , 8 Next Return Chip_erase_: Spi_out_data = Chip_erase For Temp = 1 To 4 Tempb1 = Spimove(spi_out_byte_1) Shift Spi_out_data , Left , 8 Next Return Knopki: Tempw = Getadc(3) If Tempw < 300 Then Waitms 50 Tempw = Getadc(3) Select Case Tempw Case Is < 20: 'Кнопка "Вниз" If Time_up = 0 Then Knopka = 2 End If Incr Time_up If Time_up > Var_time_up Then Time_up = Var_time_up Knopka = 20 End If Case 70 To 90 : 'кнопка "Вверх" If Time_up = 0 Then Knopka = 1 End If Incr Time_up If Time_up > Var_time_up Then Time_up = Var_time_up Knopka = 10 End If Case 140 To 160 : 'кнопка "Влево" If Time_up = 0 Then Knopka = 5 End If Incr Time_up If Time_up > Var_time_up Then Time_up = Var_time_up Knopka = 50 End If Case 210 To 240 : 'кнопка "Вправо" If Time_up = 0 Then Knopka = 4 End If Incr Time_up If Time_up > Var_time_up Then Time_up = Var_time_up Knopka = 40 End If Case 270 To 300 : 'кнопка "OK" If Time_up = 0 Then Knopka = 3 End If Incr Time_up If Time_up > Var_time_up Then Time_up = Var_time_up Knopka = 30 End If End Select Else Knopka = 0 Time_up = 0 End If Return Dta1: Data &H09 , &HC0 , &H18 , &H95 , &H18 , &H95 , &H18 , &H95 , &H18 , &H95 , &H18 , &H95 , &H18 , &H95 , &H18 , &H95 Data &H18 , &H95 , &H18 , &H95 , &H8F , &HE9 , &H8D , &HBF , &HC6 , &HE9 , &HEA , &HE9 , &H4E , &H2E , &HDD , &H27 Data &H5D , &H2E , &HA8 , &H95 , &H84 , &HB7 , &H08 , &H2E , &H87 , &H7F , &H84 , &HBF , &H88 , &HE1 , &H99 , &H27 Data &H81 , &HBD , &H91 , &HBD , &HEE , &HE3 , &HF0 , &HE0 , &HA0 , &HE6 , &HB0 , &HE0 , &H88 , &H27 , &H8D , &H93 Data &H31 , &H97 , &HE9 , &HF7 , &H66 , &H24 , &HBC , &H9A , &H88 , &HB3 , &H90 , &HE1 , &H89 , &H27 , &H88 , &HBB Data &H8C , &HE2 , &H91 , &HE0 , &H0A , &HD0 , &HF8 , &HCF , &H31 , &H97 , &HF1 , &HF7 , &H08 , &H95 , &H68 , &H94 Data &H62 , &HF8 , &H08 , &H95 , &HE8 , &H94 , &H62 , &HF8 , &H08 , &H95 , &HEF , &H93 , &HFF , &H93 , &HEE , &H27 Data &HE8 , &H2B , &HE9 , &H2B , &H31 , &HF0 , &HE8 , &HEE , &HF3 , &HE0 , &H31 , &H97 , &HF1 , &HF7 , &H01 , &H97 Data &HD1 , &HF7 , &HFF , &H91 , &HEF , &H91 , &H08 , &H95
Поделиться92016-10-08 04:19:34
http://www.triton-prog.ru/index.php?productID=118
Цена вопроса, мягко говоря, не совсем.
Поделиться102016-10-08 21:42:31
мягко говоря,
Я уже лет пять как купил, пока не жалею.
Поделиться112016-11-01 10:37:07
Нашел на Алиэкспрессе программатор 51AVR CKM https://ru.aliexpress.com/store/product … 58010.html
Подскажите пожалуйста можно ли им программировать AT89S8253? И какой прогой? Поднакопилось у меня уже плат заводских с 51 серией. Хочется их применять.
Поделиться122016-11-02 06:46:44
Нашел на Алиэкспрессе программатор 51AVR CKM https://ru.aliexpress.com/store/product … 58010.html
Подскажите пожалуйста можно ли им программировать AT89S8253? И какой прогой? Поднакопилось у меня уже плат заводских с 51 серией. Хочется их применять.
Супер, осталось найти программу, китаец молчит.
Поделиться132016-11-02 09:14:39
Программу нашел. Progisp 1.68.exe ----- http://bayanbox.ir/info/733650212279351 … ogisp-1.68
Осталось найти драйвер под гаджет.
Поделиться142016-11-02 09:20:52
Программу нашел. Progisp 1.68.exe ----- http://bayanbox.ir/info/733650212279351 … ogisp-1.68
Огромнейшее СПАСИБО !!!
Пробовали шиться ? Если не сложно, по подробнее ?
Осталось найти драйвер под гаджет.
Поясните ?
Поделиться152016-11-02 09:24:50
Шить не пробивал. Сегодня буду оформлять покупку. USB программатор надо вписать в систему компа. Я правильно понимаю? (Значит нужен драйвер).
Поделиться162016-11-02 09:27:31
В архиве есть дрова под Windows.
Всунули программатор, подкинули дрова и по идее усё.
Поделиться172016-11-02 09:33:37
У меня архива нет, скачался только экзешник. Дров нема.
Поделиться182016-11-02 09:49:58
У меня архива нет, скачался только экзешник. Дров нема.
Запускаете EXE, это самораспаковывающийся архив, внутри программа и дрова.
Поделиться192016-11-02 10:54:04
"Чем больше узнаешь, тем больше понимаешь, как мало знаешь!" - Я
Тему начал я, буду ее продолжать. По факту получения прогера и результатов манипуляций с ним, отпишусь.
Всем мира и удачи.
Поделиться202016-11-05 03:13:09
Супер, осталось найти программу, китаец молчит.
Побуду в роли китайца))
Сваял прогер, можно шить прям с терминала, для удобства прога в комплекте. MK m32 можно перекомпилить под другой, у кого че есть. Пробовал шить 89s51, 89s52 все норм.
Ссылка
Поделиться212016-11-05 03:36:22
Побуду в роли китайца))
Сваял прогер, можно шить прям с терминала, для удобства прога в комплекте. MK m32 можно перекомпилить под другой, у кого че есть. Пробовал шить 89s51, 89s52 все норм.
Нема слов, одни выражения, и все нецензурные (в лучшем смысле).
Поделиться222016-12-05 16:30:41
Здравствуйте друзья. Итак по программатору (чуток выше по теме). По доставке - оплатил 5.11.2016, забрал на почте 25.11.2016.
Только сегодня закончил с ним экспериментировать. Подключил к 8252 - ноль эмоции. Ладно, думаю закрыли конструкторы камень для чтения, но и стирать, соответственно и записывать наотрез отказывается. Смотрю по осцилографу ногу reset, все вроде бы правильно, подымает из ноля в 5 вольт.
НЕПОНЯТНО. Дай думаю подключю к тиньке 2313. Ставлю в прошивальщике соответствующий камешек. RESET наблюдаю правильный из 5 вольт в 0. Но ни черта не идет. Мой то каень открытый. Ни прочитать, ни записать, ни стереть. Сегодня подключил к кончикам программатора логический анализатор. Сриншот прилагаю. Есть все. кроме MISO. Непонятно почему, вроде это должен быть ответ от проца. А может быть проблема в скоростях запись - чтение? В общем пока в поиске. Результаты своих иследований буду в теме выкладывать.
Отредактировано AleksanderG (2016-12-05 16:35:22)
Поделиться232016-12-05 21:06:58
может быть проблема в скоростях запись - чтение?
скорее нет, тактируется отпрограмматора, помоему не меньше 3мгц кварц
Поделиться252016-12-06 12:10:17
на непропай проверяли? обрывы всякие...
прошивки в сети есть под программатор? обновите...
Поделиться262016-12-06 12:36:36
Логическим анализатором сижу прямо на ножках проца. Судя по изменению состояния на его ножках reset mosi sck, можно сказать, что обрывов или непропаев не должно быть. А вот с перепрошивкой возможно. Попробую найти родную прошивку.
Далее следует.
Поделиться272016-12-06 18:47:04
Видно, что в случае S8252 и ATtyni2313 во время обмена reset в обоих случаях падает на ноль
В этом и вся поблема что не в ноль надо, это проблема и в AVRdude файл конфигурации сделал, а он не работает, инвертировал ресет, принял сигнатуру, но читать отказывается.
Мы с sasha_1973 занялись прогером, пока прикрутили 52, 53, 8253
Поделиться282016-12-08 11:03:14
Работа программатора и проги в режиме чтения флеш. ATtyni2313А. Все прекрасно. Все пакеты на месте. А вот с AT89S5282 никак. Не могу даже стереть.
Вообще ничего не могу. Попробую еще с AT89S5283. Этот скрин для тиньки. Добавлю, что с тинькой получилось все хорошо с программой версии 1.72. до этого пробивал версию 1.68. PROGISP 1.72 Пробивал на всех скоростях. Все ОК.
Отредактировано AleksanderG (2016-12-08 11:04:38)
Поделиться292016-12-18 18:45:09
AleksanderG если не тяжело, можете снять скрин опроса 89s8252? интересует запрос сигнатуры чипа
Поделиться302016-12-19 10:04:48
Платы заводского исполнения. Процы так закрыли, что даже опрос сигнатюры не происходит. От MISO вообще ничего нет и прога выпадает в ошибку.
Все глухо как танке. Под рукой незашитого или по крайней мере, открытого 51 ядра у меня нет. Если попадется, обязательно выполню лабораторку и выложу результаты.
Как вариант, прогер не работает с 51 ядром вообще
Отредактировано AleksanderG (2016-12-19 11:00:56)