Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Микроконтроллеры других производителей (http://www.microchip.su/forumdisplay.php?f=11)
-   -   Вопрос по микроконтроллеру 8051 (http://www.microchip.su/showthread.php?t=18114)

Pridnya 17.07.2017 23:42

Вопрос по микроконтроллеру 8051
 
Здравствуйте, товарищи!:)
Простой вопрос по давно известному семейству, вроде как все должны знать. IDE Reads51 v4.52, микроконтроллер STC15F2K60S2 (возможно, что это не существенно, просто хороший микроконтроллер и шьется без программатора по UART-у), хочется понять как работает x51 вообще (я с ними никогда не работал):
если просто переключать вывод порта P0_0, то один этот вывод и переключается, а если добавить небольшую задержку (вроде бы обычный синтаксис), то вижу пачки импульсов с некой периодичностью на всех линиях порта P0 (P0_0...P0_7) и примерно аналогичная картина на P1, пачки импульсов на P1_0...P1_5 и P1_7. Странно как-то.
Код:

#include <sfr51.h>

main(){
int n;

 while(1)
  {
  for(n=0; n<5; n++) {;} // waste some cycles
  P0_0^=1;
  for(n=0; n<5; n++) {;} // waste some cycles
  P0_0^=1; 
  }
}

PS: Ежели кому не понятно, почему такой микроконтроллер, то представьте, что нуно импортозамещение и перспектива покупки за юани (без доллара), причем ведрами. Ну, как бы. Это, если кому поругать захочется, вместо ответа на вопрос. :o

bzx 18.07.2017 00:44

Re: Вопрос по микроконтроллеру 8051
 
1. Настройку портов проверьте, регистры PxMDIN, PxMDOUT, P0SKIP, XBR0 и XBR1.
2. WDT отключите, по умолчанию может быть включен.

Pridnya 18.07.2017 09:06

Re: Вопрос по микроконтроллеру 8051
 
Вложений: 4
Цитата:

Сообщение от bzx (Сообщение 233206)
1. Настройку портов проверьте, регистры PxMDIN, PxMDOUT, P0SKIP, XBR0 и XBR1.
2. WDT отключите, по умолчанию может быть включен.

Регистры в нем по-другому называются. По умолчанию пины настроены как квазидвунаправленный, т.е. позволяет писать в порт и читать порт без перенастройки.
Цитата:

Quasi bidirectional (traditional 8051 I/O port output)
Sink Current up to 20mA, pull-up Current is 270 uA.

A quasi-bidirectional port can be used as an input and output without the need

to reconfigure the port.
Я хотел включить в этом микроконтроллере UART, чтобы с его помощью выводить значения регистров, т.е. использовать отладку через UART, но так и не смог его включить.

На Си для x51 cмог только клокать выводами.

Никак не пойму откуда пачки импульсов, это точно не WDT, импульсы похожи на пакеты UART-а, причем на P0_6 и P0_7 импульсы одинаковые. Похоже, что какой-то кусок кода (не мой) что-то выдает.:confused:

Вот пример blink из каталога установки Reads51, лишнее я закомментировал. Размер HEX-а 2 килобайта, что-то многовато для простого клокания, ну да ладно. Если скомпилировать и прошить МК, то на P1_0 сигнал частотой около 1 МГц, вроде все нормально, четвертый скриншот. Может, дело в этой IDE Reads x51 v4.52? Хрень генерит?

Цитата:

#define TRUE 1
#define FALSE 0

#include <sfr51.h> // P1_0 is defined here
// prototypes
//#include <Sio51.h>

main(){
int n;

// --- initialize serial port (9600 Baud) ---
//InitSerialPort0(DEF_SIO_MODE); //DEF_SIO_MODE is defined in <Sio51.h>
//putc('\n');

// endless loop
while(TRUE)
{
P1_0=0; // LED on
//putc('+');
//for(n=0; n<10000; n++); // waste some cycles
P1_0=1; // LED off
//putc('0');
//for(n=0; n<10000; n++); // waste some cycles
}
}
PS: Если код исправить, то частота в два раза уменьшается, т.е. код мой.
Код:

while(TRUE)
  {
  P1_0=0;                // LED on
  P1_0=0;                // LED on

  P1_0=1;                // LED off
  P1_0=1;                // LED off
  }
}


Zhuk72 18.07.2017 10:20

Re: Вопрос по микроконтроллеру 8051
 
Вложений: 1
Попробуйте родной хедер.

Для STC хорошо подходит Keil, они сами его советуют.
Можете выложить целиком исходник, откомпилирую и выложу хекс.

Pridnya 18.07.2017 10:42

Re: Вопрос по микроконтроллеру 8051
 
Вложений: 1
Цитата:

Сообщение от Zhuk72 (Сообщение 233212)
Попробуйте родной хедер.

Для STC хорошо подходит Keil, они сами его советуют.
Можете выложить целиком исходник, откомпилирую и выложу хекс.

Спасибо за STC15F2K60S2.H! Вопрос решен. По умолчанию IDE Reads51 v4.52 генерит код для внешней памяти, а нужно переключить на внутреннюю. У меня же на макетке только STC15F2K60S2 (и CH340 USB-UART). Я про это не знал.:) Теперь строки с задержкой не вносят ничего странного, работает правильно.

PS: Вот UART бы еще включить.

Zhuk72 18.07.2017 10:56

Re: Вопрос по микроконтроллеру 8051
 
Все эти хедеры генерятся из прошивальщика. Выбирается из списка слева чип, в правом окне на вкладке Keil ICE жмется кнопка.

Pridnya 18.07.2017 11:03

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от Zhuk72 (Сообщение 233214)
Все эти хедеры генерятся из прошивальщика. Выбирается из списка слева чип, в правом окне на вкладке Keil ICE жмется кнопка.

Спасибо! Я про это не знал. Буду пользоваться.

Zhuk72 18.07.2017 11:10

Re: Вопрос по микроконтроллеру 8051
 
В ДШ есть тестовая процедура для UART. Там надо переключения делать, какой-то switch register. Делали?

Хотя это, кажется, к переносу между портами имеет отношение.

Pridnya 18.07.2017 11:36

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от Zhuk72 (Сообщение 233217)
В ДШ есть тестовая процедура для UART. Там надо переключения делать, какой-то switch register. Делали?

Хотя это, кажется, к переносу между портами имеет отношение.

Нет, пока не делал, я только знакомлюсь с этим микроконтроллером. У меня даже кейла нет для него (примеры для кейла) и заголовочник для кейла, Reads51 ругается.:)

Pridnya 18.07.2017 23:26

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от Zhuk72 (Сообщение 233217)
В ДШ есть тестовая процедура для UART. Там надо переключения делать, какой-то switch register. Делали?

Хотя это, кажется, к переносу между портами имеет отношение.

Пример из DataSheet заработал, со страницы 574.

Странный DataSheet, текст выделяется, поиск работает, а копировать текст невозможно - приходится код руками печатать. Китайцы намудрили.

ampersant 19.07.2017 06:43

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от Pridnya (Сообщение 233243)
Пример из DataSheet заработал, со страницы 574.

Странный DataSheet, текст выделяется, поиск работает, а копировать текст невозможно - приходится код руками печатать. Китайцы намудрили.

в свойствах документа могут быть залочены: выделение, поиск, копирование, печать, редактирование - по раздельности.

Pridnya 19.07.2017 08:54

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от ampersant (Сообщение 233244)
в свойствах документа могут быть залочены: выделение, поиск, копирование, печать, редактирование - по раздельности.

Так китайцы при создании PDF-ки и установили свойства так, чтобы текст не копировался, а поиск работал (защита от копирования что ли?). Пробовал открывать этот PDF в программах Adobe Reader XI и Sumatra PDF 2.4.

Ну микроконтроллер хороший, однотактовый 8051 (35MHz, 2k RAM, 60k FLASH, 2 UART, ADC 10 bit, PWM...ISP) с такой периферией, и за 4,6 юаня за штуку (4,6*9=41,4рубля=0,7 $). И самое главное, что работает. И почему нет таких российских? :)

DimaS 19.07.2017 10:34

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от Pridnya (Сообщение 233243)
Странный DataSheet, текст выделяется, поиск работает, а копировать текст невозможно - приходится код руками печатать. Китайцы намудрили.

Защита стоит :)

А печать не запрещена? Если нет - попробуй распечатать его в PDF, в максимальной резолюции. Есть шанс что из новой пдфке все будет копироваться.

besogon 19.07.2017 11:14

Re: Вопрос по микроконтроллеру 8051
 
Pridnya
однотактовый 8051 - 5.2 Instruction Set Summary

Instruction execution clock count (for new STC15 series)
1 clock instruction 22
2 clock instruction 37
3 clock instruction 31
4 clock instruction 12
5 clock instruction 8
6 clock instruction 1

Pridnya 19.07.2017 11:38

Re: Вопрос по микроконтроллеру 8051
 
Вложений: 1
Цитата:

Сообщение от DimaS (Сообщение 233249)
Защита стоит :)

А печать не запрещена? Если нет - попробуй распечатать его в PDF, в максимальной резолюции. Есть шанс что из новой пдфке все будет копироваться.

Печать не запрещена, но тот виртуальный принтер, который у меня есть (бесплатный PDF Architect 4) печатает в новый PDF любые страницы, в любом порядке, но после этого вообще даже поиск не работает, а текст тем более не копируется. Даже при печати тех документов, где текст копировался. Этот принтер тоже не дураки писали, потому он постоянно просит его обновить, купить...а другого нет. И не факт, что после покупки этот принтер сможет снимать защиту.
Цитата:

Сообщение от besogon (Сообщение 233250)
Pridnya
однотактовый 8051 - 5.2 Instruction Set Summary

Instruction execution clock count (for new STC15 series)
1 clock instruction 22
2 clock instruction 37
...

Возможно, я ошибся в терминологии, я имел ввиду преимущество в производительности по сравнению с классическим 8051, так вот оно равно 6-12 раз (вместо 12 чего-то там 1 или 6 чего-то там...машинных циклов?), см.скриншот. И вот еще (из PDF-ки вместо текста копируется изображение, руками цитату набрал)
Цитата:

Operating frequency range: 0-28MHz, is equivalent to traditional 8051: 0-336MHz.http://www.microchip.su/data:image/p...AASUVORK5CYII=
PS: Нужно на хорошее внимание обращать, а не на писюн (с детства нужно знать).:o

besogon 19.07.2017 11:53

Re: Вопрос по микроконтроллеру 8051
 
Pridnya
Возможно, я ошибся в терминологии - да. просто 8051 совместимое решение с сокращенным машинным циклом. много где так.
преимущество в производительности - на 8051 редко строят числодробилки. какая-то производительность у этого контроллера есть.
к нему есть компиляторы и в целом 8051 архитектура в целом не вызывает вопросов(пусть старая и неудобная, как по мне).
Нужно на хорошее внимание обращать, а не на писюн - к чему это вообще?

помню сколько-то лет назад работал с rf чипом от silabs. у него было ядро c8051, совместимое с набором команд 8051. оно также было быстрее оригинального.

yeskela 19.07.2017 12:07

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от Pridnya (Сообщение 233251)
Этот принтер тоже не дураки писали, потому он постоянно просит его обновить, купить...а другого нет.

Другие есть

https://en.wikipedia.org/wiki/List_o...inter_software

Пользуюсь https://en.wikipedia.org/wiki/CC_PDF_Converter

Pridnya 19.07.2017 12:14

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от besogon (Сообщение 233252)
Pridnya
Возможно, я ошибся в терминологии - да. просто 8051 совместимое решение с сокращенным машинным циклом. много где так.
преимущество в производительности - на 8051 редко строят числодробилки. какая-то производительность у этого контроллера есть.
к нему есть компиляторы и в целом 8051 архитектура в целом не вызывает вопросов(пусть старая и неудобная, как по мне).
Нужно на хорошее внимание обращать, а не на писюн - к чему это вообще?

помню сколько-то лет назад работал с rf чипом от silabs. у него было ядро c8051, совместимое с набором команд 8051. оно также было быстрее оригинального.

К тому, что в технических решениях нужно стараться находить что-то хорошее, а не как дети малые (2-3 года) мыслить "у мамы нет писюна...", ну или открыл DataSheet и ищешь только кал.

Только вот у примерно аналогичного SiLabs 8051 цена в несколько раз выше, чем STC15F2K60S2.
Цитата:

Сообщение от yeskela (Сообщение 233253)

Под Linux-ом? Смотрю, исходники есть, а сборки под Windows не видно. Снимет он защиту после печати DataSheet на STC15.pdf?

HHIMERA 19.07.2017 12:24

Re: Вопрос по микроконтроллеру 8051
 
А что в этом МК вообще хорошего??? 0,7$??? Ну так есть и подешевле... Сейчас это как бы и не проблема...

besogon 19.07.2017 12:27

Re: Вопрос по микроконтроллеру 8051
 
Pridnya
Вы сказали про однотактовый. Я решил проверить, правда ли это, так как не поверил, что это реализовали. Нет, оказалось, что это не так и я решил Вам об этом написать.

я скачал из интернета datasheet stc15-english. открыл qpfview. копируется без проблем. поищите просто нормальный datasheet.

аналогичного SiLabs 8051 - наверное. я перестал интересоваться silabs довольно давно, тк. были решения лучше.

besogon 19.07.2017 12:36

Re: Вопрос по микроконтроллеру 8051
 
HHIMERA
если о деньгах, то на али cortex m0+ есть по 35р/шт.
по мне cortex m0+ куда как лучше, чем возиться с 8051.
если вилами в угол загнали, то конечно можно и 8051.

Pridnya 19.07.2017 12:52

Re: Вопрос по микроконтроллеру 8051
 
Цитата:

Сообщение от besogon (Сообщение 233256)
Pridnya
Вы сказали про однотактовый. Я решил проверить, правда ли это, так как не поверил, что это реализовали. Нет, оказалось, что это не так и я решил Вам об этом написать.

я скачал из интернета datasheet stc15-english. открыл qpfview. копируется без проблем. поищите просто нормальный datasheet.

аналогичного SiLabs 8051 - наверное. я перестал интересоваться silabs довольно давно, тк. были решения лучше.

Значит я ошибся в терминологии (однотактовый), где-то прочитал "1T 8051". И понятно, что есть решения лучше, просто интересно и приятно за соседей (китайцев), смогли же в отличии от наших создать конкурентоспособный МК, даже 8051.

А ссылочку можно, откуда вы скачали этот datasheet stc15-english, из которого копируется текст. :) И этой qpfview для Windows нет.

besogon 19.07.2017 13:01

Re: Вопрос по микроконтроллеру 8051
 
Pridnya
В РФ производятся какие-то cortex m3 по 450 рублей +-.
Вполне вероятно на базе них можно что-нибудь сделать.
Просто дорого будет.

вроде отсюда. попытался вложить - не дает вложить.
http://www.stcmcu.com/datasheet/stc/...15-English.pdf

Zhuk72 19.07.2017 13:37

Re: Вопрос по микроконтроллеру 8051
 
Его ДШ http://www.stcmicro.com/datasheet/STC15F2K60S2-en.pdf и со страницы 574 все копируется, причем даже при открытии в браузере.

Pridnya 19.07.2017 13:55

Re: Вопрос по микроконтроллеру 8051
 
Вложений: 2
Цитата:

Сообщение от besogon (Сообщение 233259)
вроде отсюда. попытался вложить - не дает вложить.
http://www.stcmcu.com/datasheet/stc/...15-English.pdf

Так и у меня этот DataSheet с официального сайта. Текст можно выделить (1), по клику правой кнопкой появляется меню "копировать" (2), нажимаем на кнопку и видим сообщение "скопировать текст невозможно, копируется изображение"(3). У вас скопированный текст есть в буфере обмена? Можно ли из буфера обмена вставить в текстовый файл?

Цитата:

Сообщение от Zhuk72 (Сообщение 233260)
Его ДШ http://www.stcmicro.com/datasheet/STC15F2K60S2-en.pdf и со страницы 574 все копируется, причем даже при открытии в браузере.

А вот эта PDF-ка меньше по объему и из неё текст копируется и в браузере, и из просмотрщика - Sumatra PDF v2.4 копирует, Adobe Reader XI тоже копирует. Вот спасибо!:) Вот как выглядит меню при копировании для этих двух PDF, второй скриншот (у первого так и написано ЗАЩИТА).


Часовой пояс GMT +3, время: 04:10.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot