Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



BASCOM 8051

Сообщений 1 страница 30 из 47

1

Кто-нибудь пробовал писать? А то принесли партию AT89C51-20PI и возник вопрос какой дат файл подключать  (89c51cc.dat; 89C51RC.dat; 89C51RD.dat).

0

2

8052.dat пока не используешь уникальные регистры, большого значения это не имеет - все они совместимы.

0

3

подниму тему
есть страшный китайский зверь stc 11f16xe
шьётся через бутлоадер по uart
что-то совместимое с 8051

у кого есть bascom 8051 посвежее? а то на сайте демо от 2007 года

0

4

Возможно глупый вопрос, но...
Реально ли зашить нашу кр1816ВЕ51(31) кодом написанным на BASCOM-8051 и главное, будет ли работать?

0

5

думаю, будет. Если это 100% копия :)
https://ru.wikipedia.org/wiki/Intel_8051

0

6

BASCOM-8051 я думаю закинули.
dron711
Пробуй какой нибудь код мелкий написать.

0

7

Седалищный нерв тонко чувствовал приближающиеся изменения...
Решил я глянуть на рынок МК немного с иной стороны. Поискал, что еще есть работоспособного.
Ну, нашел клоны PIC
Нашел пару клонов AVR (уже упоминавшийся lgt8f)
Нашел вообще на своём ядре - PADAUK. Даже хотел было прикупить, но у ходовых там весьма скромно с памятью программ (обычно 1-1.5-3,4 кБ). И особый программатор надо, хотя народ слепил на STM32 какой-то usb программатор.

И решил я, что 8051 - самое оптимальное решение.
И снова полез искать. Всё тот же STC - фактически единственный, который выпускается и растёт как минимум с 2015 года.
На неделе запрошу у поставщика цены на 5-10 ходовых моделей и сообщу сюда.
Возможно, это - самое адекватное в плане замены AVR. Тем более, есть Bascom-51 - уже проще писать.

ps
а еще нашел Megawin - что-то даже на Алиэкспресс продаётся

pps
наткнулся на интересный обзор:
https://vc.ru/u/1769747-vladimir-dennic … lektroniki

Отредактировано Александр Д. (2023-11-25 22:44:40)

0

8

Я, так понимаю, вам для промышленных масштабов.
я так уже вспомнил старые добрые советские времена :mybb:  Полез на свалку истории радиодеталей :music:

0

9

семейство не умерло, практически все крупные игроки его проектируют и производят.

0

10

Александр Д. написал(а):

Возможно, это - самое адекватное в плане замены AVR.

Чем вызвана необходимость замены?

Нужен МК чем дешевле тем лучше?
Нужен МК с более функциональной встроенной периферией?
Просто захотелось поработать с другими МК?

0

11

Пётр написал(а):

Нужен МК чем дешевле тем лучше?

Желание наличия выбора. К PIC возвращаться не хочу. Если только pic24 - но цена не радует. Да и мы под санкциями, компания не жалует нас!

Пётр написал(а):

Нужен МК с более функциональной встроенной периферией?

Иногда - да. Хочется и uart-ов поболе, и таймеров бы еще пару, и , и, и ))))

Пётр написал(а):

Просто захотелось поработать с другими МК?

Да, но не stm32 и иже с ними - ни Си не терплю, ни потребностей в "мощности" нет))

0

12

Вы что, у на свои процессоры есть. Вот например:
1887ВЕ7Т Купить: 11880.00 руб с НДС.  :crazyfun:

0

13

sva-don написал(а):

1887ВЕ7Т

Там до сих пор есть ряд аппаратных ошибок (уже не помню каких), править видимо не собираются (уже много лет). В своё время косился на них (в силу определённых обстоятельств), но желание бороться с ветряными мельницами за такие бабки - не появилось (спонсоров естественно нет :D ).

+1

14

RDW написал(а):

бороться с ветряными мельницами за такие бабки

Я когда цену увидел то немного приху, извините удивился. Импортозамещение в деле не иначе. :crazyfun:

0

15

МК от Мегавин
Цена в Китае:

Unit price/¥:
                                           10pcs   100pcs     1000pcs
MG82F6D17 AS8                    5          4.5           3.5
MG82F6D17 AL20                 3.5        3              1.5
MG82F6D17 AZ20                 3.8        3              2.5

последние цифры в маркировки - количество выводов, буквы - тип корпуса

http://www.megawin.com.tw/en-global/pro … /MG82F6D17

документация: wwwmegawin.com.tw/zh-tw/support/downloadDocument/136/698

0

16

новости: Написал в megawin
Пришел ответ: У нас есть представитель в РФ, он всё имеет на складе.
Позвонил. Да, есть.
Я: дайте каталог чего есть, на вашем сайте новости столетней давности!
Он: Ага
Прошло 3 месяца... Я уже раскуриваю STC, а от Megawin ни новостей, ни вопросов...

0

17

очень хорошо помогают:
1.  Книга "Микроконтроллеры серии 8051. Практический подход" Магда Ю.С.
В сети есть PDF идеального качества (издание)

2.  D52 8052 Disassembler
у меня версия 3.3.6
К нему в папку кинуть файл с новыми регистрами, которые он не понимает:
Скачать  и сохранить как generic.ctl
Конечно, не всё толково переводит в новые регистры, но уже легче!

Код:
f AF IE2
f 9a S2CON
f 9B S2BUF
f AC S3CON
f AD S3BUF
f 84 S4CON
f 85 S4BUF
f 8e Auxr
f d6 T2H 
f d7 T2L
f 93 P0M1
f 94 P0M0
f 91 P1M1
f 92 P1M0
f 95 P2M1
f 96 P2M0
f b1 P3M1
f b2 P3M0
f b3 P4M1
f b4 P4M0
f c9 P5MO
f ca P5M1
f cb P6M1
f cc P6M0
f e1 P7M1
f e2 P7M0
f a2 P_SW1
f ba P_SW2
L FE28 P0DR 
L FE29 P1DR 
L FE2a P2DR
L FE2b P3DR
L FE2c P4DR
L FE2d P5DR
L FE2e P6DR
L FE2f P7DR
L FE10 P0PU
L FE11 P1PU 
L FE12 P2PU
L FE13 P3PU 
L FE14 P4PU 
L FE15 P5PU
L FE16 P6PU 
L FE17 P7PU 
L FE18 P0NCS 
L FE19 P1NCS 
L FE1a P2NCS 
L FE1b P3NCS 
L FE1c P4NCS 
L FE1d P5NCS 
L FE1e P6NCS 
L FE1f P7NCS 
L FE20 P0SR 
L FE21 P1SR 
L FE22 P2SR 
L FE23 P3SR 
L FE24 P4SR 
L FE25 P5SR 
L FE26 P6SR 
L FE27 P7SR 
L FE30 P0IE 
L FE31 P1IE 
L FE32 P2IE 
L FE33 P3IE 
L FE34 P4IE 
L FE35 P5IE 
L FE36 P6IE 
L FE37 P7IE 

Отредактировано Александр Д. (2025-01-11 20:13:53)

0

18

Покупка 51 теперь под вопросом? У меня только AVR... :confused:

0

19

учитывая количество донатов Марку, я с чистой совестью скачал Bascom-51 с торрента.

0

20

Версия лицензии такая же как у демо? Демо с сайта кажет 2.0.14.0

Отредактировано Кот Обормот (2024-11-24 14:49:39)

0

21

чего не знаю - того не знаю. У меня 2.0.16.0

0

22

Закупился легальной 2.0.18.0.
Кому нужно откомпилировать свои портянки - присылайте.

0

23

в 2.0.16.0 нашел несколько ошибок при трансляции в Ассм
например, команда Load неверно грузит в регистры данные. Но можно напрямую загружать значения в регистры и я не парился по этому поводу... ))

Отредактировано Александр Д. (2024-12-15 16:22:15)

0

24

давайте проверим :)

файл 8H1K08.DAT взять тут
Файлы (обновляется!)
и поместить в папку Bascom-8051

Ссылка для скачивания: https://transfiles.ru/pxotd
Ссылка для удаления загрузки: https://transfiles.ru/remove/pxotd/675edeb485

два исходника:

1

$regfile = "8H1K08.DAT"              ' STC registers list
$crystal = 11059200                  ' CPU clock frequence
$large

' конфигурируем таймер
On Timer1 Int_tmr1                   ' назначаем подпрограмму на переполнение таймера

Const Vkl = 1 : Const Otkl = 0
Const Gorit = 0 : Const Gasim = 1

Dim Temp As Byte
Dim Rx_radio As Byte , Tiki As Byte , F_rx As Byte , Komanda As Byte
Dim Data_1 As Byte , Data_2 As Byte , Data_3 As Byte , Data_4 As Byte , Data_5 As Byte

Dim Uspeshno_pninyato As Byte , Tajmer_oprosa As Byte
Dim Adres_rcu_1 As Byte , Adres_rcu_2 As Byte , Adres_rcu_3 As Byte
Dim Proshl_adr_kom_1 As Byte , Proshl_adr_kom_2 As Byte

Dim Addr_iap As Word , Data_iap As Byte
Declare Sub Eeprom_write(addr_iap As Word , Data_iap As Byte)
Declare Sub Eeprom_read(addr_iap As Word)

Dim My_delay As Word
Declare Sub Delay_us(my_delay As Word)       ' таймер0
Const Usec_15 = 65405
Const Usec_20 = 65351

'-----------------------------------------------------------------------------------------------
In_radio Alias P3.3                  ' Вход от радиоприёмника
P3ie.3 = 1                           ' 1: Enable digital pins
P3pu.3 = 1                           ' 1: pull-up resistor
P3m0.3 = 0 : P3m1.3 = 1              ' pins mode "Input only"

Rele Alias P3.2                      ' Выход Реле
P3ie.2 = 1                           ' 1: Enable digital pins
P3pu.2 = 0                           ' 0= Disable pull-up resistor
P3m0.2 = 1 : P3m1.2 = 0              ' pins mode "Push-Pull"
Rele = 0

Led_n Alias P3.1                     ' Выход Светодиод.  Управление нулём!
P3ie.1 = 1                           ' 1: Enable digital pins
P3pu.1 = 0                           ' 0= Disable pull-up resistor
P3m0.1 = 1 : P3m1.1 = 0              ' pins mode "Push-Pull"
'-----------------------------------------------------------------------------------
nop
Led_n = Gorit : Waitms 255 : Led_n = Gasim

'====================================================================================
nop
' 71ms@11.0592MHz

Auxr = Auxr And &HBF                'Timer clock is 12T mode
Tmod = Tmod And &H0F                'Set timer work mode

Tl1 = 0 : Th1 = 0                   'Initial timer value

Start Timer1                        ' Tr1 = 1
Enable Timer1                       ' Et1 = 1
Enable Interrupts                   ' IE.7=1, EA=1, разрешаем прерывания
nop

Do
Loop

' ===================  Прерывание по таймеру =================
Int_tmr1:                            ' примерно раз в 8 секунд
  Led_n = Not Led_n
Return

2

$regfile = "8H1K08.DAT"              ' STC registers list
$crystal = 11059200                  ' CPU clock frequence
$large

' конфигурируем таймер
On Timer1 Int_tmr1                   ' назначаем подпрограмму на переполнение таймера

Const Vkl = 1 : Const Otkl = 0
Const Gorit = 0 : Const Gasim = 1

Dim Temp As Byte
Dim Rx_radio As Byte , Tiki As Byte , F_rx As Byte , Komanda As Byte
Dim Data_1 As Byte , Data_2 As Byte , Data_3 As Byte , Data_4 As Byte , Data_5 As Byte

Dim Uspeshno_pninyato As Byte , Tajmer_oprosa As Byte
Dim Adres_rcu_1 As Byte , Adres_rcu_2 As Byte , Adres_rcu_3 As Byte
Dim Proshl_adr_kom_1 As Byte , Proshl_adr_kom_2 As Byte

Dim Addr_iap As Word , Data_iap As Byte
Declare Sub Eeprom_write(addr_iap As Word , Data_iap As Byte)
Declare Sub Eeprom_read(addr_iap As Word)

Dim My_delay As Word
Declare Sub Delay_us(my_delay As Word)       ' таймер0
Const Usec_15 = 65405
Const Usec_20 = 65351

'-----------------------------------------------------------------------------------------------
In_radio Alias P3.3                  ' Вход от радиоприёмника
P3ie.3 = 1                           ' 1: Enable digital pins
P3pu.3 = 1                           ' 1: pull-up resistor
P3m0.3 = 0 : P3m1.3 = 1              ' pins mode "Input only"

Rele Alias P3.2                      ' Выход Реле
P3ie.2 = 1                           ' 1: Enable digital pins
P3pu.2 = 0                           ' 0= Disable pull-up resistor
P3m0.2 = 1 : P3m1.2 = 0              ' pins mode "Push-Pull"
Rele = 0

Led_n Alias P3.1                     ' Выход Светодиод.  Управление нулём!
P3ie.1 = 1                           ' 1: Enable digital pins
P3pu.1 = 0                           ' 0= Disable pull-up resistor
P3m0.1 = 1 : P3m1.1 = 0              ' pins mode "Push-Pull"
'-----------------------------------------------------------------------------------
nop
Led_n = Gorit : Waitms 255 : Led_n = Gasim

'====================================================================================
nop
' 71ms@11.0592MHz

Auxr = Auxr And &HBF                'Timer clock is 12T mode
Tmod = Tmod And &H0F                'Set timer work mode

Load Timer1, 32768                'Initial timer value

Start Timer1                        ' Tr1 = 1
Enable Timer1                       ' Et1 = 1
Enable Interrupts                   ' IE.7=1, EA=1, разрешаем прерывания
nop

Do
Loop

' ===================  Прерывание по таймеру =================
Int_tmr1:                            ' примерно раз в 8 секунд
  Led_n = Not Led_n
Return

Отредактировано Александр Д. (2024-12-15 16:51:01)

0

25

в программе заработала установка меток в коде с возможностью быстрого перехода? (ctrl_#, где # - 1...8)

https://forumupload.ru/uploads/0000/25/b8/439/t401256.jpg

Я Марку подарил много разных STC, про них ни слова на форуме?

Появилась команда Waitus? В этой версии нет.
А в WaitMs можно сделать больше 255? Сейчас только 0...255
Кстати, а WaitMs верно считает задержку при всех диапазонах тактовой? Сейчас нет.

Если есть history.txt с указанием изменений версий - выложите!
у меня последняя запись там:
2.0.16.0
                    - dat files added for 8051F410.dat and 8051F911.DAT   
                    - cpeek() did not accept a constant word address. also,
                      when using an xram variable as parameter, the wrong value was returned.   
                    - flash read/write demo added for 8051F911
                    - win7/win8 supported

отписался в личку

Отредактировано Александр Д. (2024-12-15 16:27:15)

0

26

Файл ERR:
Error   124 : Illegal asm-command : Mov [SP] In File трам-пам-пам...

Окно сообщений:
Неверная переменная или переменная не предопределена
P3ie.3 = 1                                                    ' 1: Enable digital pins

Закладки на метки устанавливаются, по горячим клавишам переход есть. Не понял только как их переименовать.

По STC последнее сообщение в теме от: Thu Jan 11, 2024

Отредактировано Кот Обормот (2024-12-15 16:39:48)

0

27

Положил. Но копировал через буфер обмена текст в созданный файл вручную. При копировании из линукса в шинду проблемы с переносом строки. Кидайте готовый DAT (не текстом).
Отремонтировал DAT.
https://disk.yandex.ru/d/zXZXvOLK8DxObw

Отредактировано Кот Обормот (2024-12-15 16:52:11)

0

28

Выложил весь результат в архивах.
Waitms 2024  проглотило.

Отредактировано Кот Обормот (2024-12-15 16:58:43)

0

29

компилятор сгенерировал только инициализацию стека
И ни строчки моего кода ((
мусор какой то.

Вы в линуксе сидите??

задайте параметры памяти:

https://forumupload.ru/uploads/0000/25/b8/439/t10322.jpg
https://forumupload.ru/uploads/0000/25/b8/439/t999878.jpg

Отредактировано Александр Д. (2024-12-15 17:00:39)

0

30

В виртуалке на XP.

0