Досталась мне плата от весов на 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)
