Перейти к содержанию

crazz

Рекомендуемые сообщения

Еще раз...

1. Сдвигаем

2. Если С=0, то пропускаем одну команду

3. Сдвигаем (этот сдвиг будет исполнен ТОЛЬКО если в предыдущей команде С=1)

Значит, если очередной сдвиг вызвал перенос, то он будет ПОВТОРЕН. Все!

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

По второму вопросу.

Организуйте флаг дребезга. Изначально он сброшен. Как только кнопка нажата, проверяем этот флаг. Если он сброшен, то взводим этот флаг и исполняем нажатие. Если после нажатия он оказался установлен, то пропускаем предыдущее предложение. Гасится флаг или таймером или программной задержкой на время дребезга.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Никаких флагов дребезга не нужно. достаточно считывать (защелкивать) состояние кнопок с частотой 10-100Гц

Проверено на практике, устройство работает уже 3 года круглосуточно и сбоев небыло.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

my504 - понял большое спасибо, по второму моему вопросу буду пока переваривать выши советы.

BY THE WAY!!!

rlf portb,f

Очень рискованная команда для начинающего...

В портах НЕТ НИКАКОЙ АРИФМЕТИКИ, поэтому ВСЕ математические унарные операции с портами, и те бинарные, в которых источником и приемником выступает порт, а так же операции над отдельными битами в портах, проходят с циклом RMW (чтение-модификация-запись). Все хорошо, только чтение происходит в этом случае с ПИНОВ ПОРТА, а не из выходной защелки, В НЕЗАВИСИМОСТИ ОТ НАПРАВЛЕНИЯ РАБОТЫ ПОРТА.

ПОЭТОМУ. Если на пинах при чтении окажется ДРУГОЙ потенциал, а не как в защелке (например при нагруженном светодиодом выходе), то данные на модификацию уйдут ДРУГИМИ!!!!!

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Всем доброе время суток!! Возможно повторюсь,но есть вопросы!!!!

1-С какой литературы нужно начинать изучать? Интернет хорошо много информации,но глаза тоже не железные,да и постоянно на одном месте сидеть :ph34r: ......

2-(Вопрос возможно глупый) Мне 22 года не поздно начинать изучать МК???

3-Слышал про AVR и PIC,что дело вкуса но возможно-ли такое ,что PIC например я буду изучать,а потом окажется,что для решения задач он не подходит,и нежун AVR

Заранее спасибо за ответы на мои вопросы. :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Я начал изучать контроллеры в 32 года и ничего страшного, успел... :rolleyes:

Изучать можно любые. Особенно если учесть, что их парк меняется радикально раз года в три... Да и нет особой разницы в изучении любой архитектуры МК, если представляешь общие принципы построения таких устройств...

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

А как насчёт литературы? С какой начать лутше?

Что хорошо для одного, для друго плохо.

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

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

Ссылка на комментарий
Поделиться на другие сайты

НА счет возраста скажу так: Учиться никогда не поздно. ;)

Я в 2 раза тебя старше, однако потихоньку осваиваю PIC, и не считаю, что опоздал.

В начале тоже стоял перед выбором PIC или AVR. :( Начал изучать PIC, потому-что нашел

много понятной литературы. :lol: Посмотри здесь http://ikarab.narod.ru/. Здесь ответы на

все твои вопросы, и будущие тоже.

Успехов в начинании. :)

Ссылка на комментарий
Поделиться на другие сайты

Я возможно малость промахнулся с темой, по этому заранее извеняюсь за баян, но:

Собираю частотомер и последним компонентом, требующем срочной инсталяции в плату остался ПИК, хотелось бы почитать рекомендации по его пайке, дабы не убить его случайным движением паяльника. Понятно, что лучшем решением будет панелька, но боюсь, что это может сказаться на характеристиках прибора в целом или нет?

Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Если в схеме предусмотрены выводы для подключения программатора то можно впаивать без проблем, соблюдая меры предосторожности как и с обычными микросхемами, а если нет спец.выводов, то уж только в панельку. А вдруг программатор не заработает по причине что биты конфигурации контроллера забыли правильно задать? Выпаивать-то микросхему гораздо труднее...

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Добрый день. Подскажите, кто сможет, написал часть проги для PIC16F628А в асме, отладил, хотел поммотреть как работает. Прошил (PiсKit2), при проверке ругнулся на конфигурацию, и больше не хотел распознавать контроллер, а тем более его читать/писать. Хотя знаю, что эта конфигурация работает в другой программе и таких проблем не было. Может связано с настройкой поров? Помогите, а то уже 4 контроллера так прошил, все не разобрался почему.

Ссылка на комментарий
Поделиться на другие сайты

Добрый день. Подскажите, кто сможет, написал часть проги для PIC16F628А в асме, отладил, хотел поммотреть как работает. Прошил (PiсKit2), при проверке ругнулся на конфигурацию, и больше не хотел распознавать контроллер, а тем более его читать/писать. Хотя знаю, что эта конфигурация работает в другой программе и таких проблем не было. Может связано с настройкой поров? Помогите, а то уже 4 контроллера так прошил, все не разобрался почему.

А показать конфиг, а лучше по ссылке исходник на АСМе. И чем работали: оболочкой пиккита или мплабом?

PS И почитайте здесь про сходную ситуацию, может поможет...

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Прошивал под оболочкой пиккита, отлаживал в MPLAB. Вот моя прога, хотел сделать часы, а точнее поиграться на часах

	list p=16f628A
INCLUDE <C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F628A.INC>

__CONFIG _INTRC_OSC_NOCLKOUT&_LVP_OFF& _MCLRE_OFF& _BODEN_OFF&_WDT_OFF

has	equ h'21'
minuta	equ h'22'
sekunda	equ h'23'
kolihestvo equ h'24'
kolihestvo1 equ h'25'
ed_sec	equ h'26'
dec_sec	equ h'27'
ed_min	equ h'28'
dec_min	equ h'29'
ed_has	equ h'2a'
dec_has	equ h'2b'
hislo	equ h'2c'
ed	equ h'2d'
des	equ h'2e'
prom	equ h'2f' 	
rozrad	equ h'30'



bank0	macro
bcf status,5
bcf status,6
endm
bank1	macro
bsf status,5
bcf status,6
endm
bank2	macro
bcf status,5
bsf status,6
endm
bank3	macro
bsf status,5
bsf status,6
endm



dehifratot macro cifra, adres; 
;local prom=0
clrf des
movf cifra,0
movwf prom
;nah

movf prom,0
movwf ed
movlw h'a'
subwf prom,1
btfss status,c
goto $+3
;goto prod
incf des
goto $-7
;goto nah



;prod

movf ed,0
addlw h'40' 
bank1
movwf fsr
movf indf,0
bank0
movwf adres

;exitm	

movf des,0
addlw h'40' 
bank1
movwf fsr
movf indf,0
bank0
movwf (adres+1)

endm


org 0


goto nahalo; перейти на начало программы

org 4	; вектор прерывания
movlw h'0f8'; Загрузка
movwf tmr1h; времени
movlw (30h+6); срабатывания
movwf tmr1l; таймера
clrf pir1	; обнулить бит прерывания таймера 1

movf hislo,0
addlw h'26'
movwf fsr
movf indf,0
movwf portb
bcf status,c
movf rozrad,0
movwf porta
rlf rozrad
incf hislo
movlw d'4'
subwf hislo,0
btfss status,z
goto prop
clrf hislo
clrf rozrad
bsf rozrad,0 



prop

decfsz kolihestvo; kolihestvo-1 и если 0 то пропустить
goto con	; переход на программу индикации
decfsz kolihestvo1; kolihestvo1-1 и если 0 то пропустить
goto con1


	;обработка
incf sekunda
movlw d'60'
subwf sekunda,0
btfss status,z
goto dalshe 

clrf sekunda
incf minuta
movlw d'60'
subwf minuta,0
btfss status,z
goto dalshe 

clrf minuta
incf has
movlw d'24'
subwf has,0
btfss status,z
goto dalshe 
clrf has



dalshe

nop
dehifratot sekunda, ed_sec
dehifratot minuta, ed_min
dehifratot has, ed_has


movlw 5
	movwf kolihestvo1


con1
movlw h'64'			
movwf 	kolihestvo	

con	
	retfie



org 200h
nahalo

	movlw b'01111011'	
movwf h'40'
	movlw b'01100000'	
	movwf h'41'
  movlw b'11011010'	
  movwf h'42'
  movlw b'11101010'	
  movwf h'43'
  movlw b'11100001'	
  movwf h'44'
  movlw b'10101011'	
  movwf h'45'
  movlw b'10111001'	
  movwf h'46'
  movlw b'01100010'	
  movwf h'47'
  movlw b'11111011'	
  movwf h'48'
  movlw b'11101011'	
  movwf h'49'



	clrf has
	clrf minuta
	clrf sekunda
	movlw 100d
	movwf kolihestvo
	movlw 5
	movwf kolihestvo1
	clrf hislo


	clrf portb		; очистить рорт В
bank1		;перейти в 1 банк
bcf option_reg,7	; настройка порта В без подтягивающих регистров
movlw b'00000000'	; настройка порта В на
movwf trisb	; выхода
bank0		;перейти в банк 0

clrf porta
movlw 0x07
movwf cmcon
bank1
movlw b'11110000'
movwf trisa
bank0
clrf porta



movlw b'11000000'	; Разрешение прерываний
movwf intcon
bank1
bsf pie1,0		; Разрешение прерываний
bank0
movlw 0f8h	;Загрузка 
movwf tmr1h	; времени
movlw (30h+6)	; срабатывания
movwf tmr1l	; таймера
movlw b'00001001'	; настройка таймера
movwf t1con	; для работы
l	goto l

end

Вам замечание за не использование тега “CODE”

мод. Lexi

Ссылка на комментарий
Поделиться на другие сайты

Вроде бы рекомендуют "В меню "Tools” можно включить опцию ”Use VPP First Program Entry", это может понадобиться для контроллеров, конфигурация которых и настройка портов не позволяет войти в режим программирования (например, для контроллеров PIC12F675 с включенным внутренним сбросом и портами, подключенными к PGD и PGC, настроенными на выход). Попробуйте включить эту опцию, если программатор выдает ошибку проверки конфигурации ('Verification of configuration failed.')." (http://www.microchip.com.ru/1010/Support/PICkit2_art.html). Но я не могу найти такую опцию.

Ссылка на комментарий
Поделиться на другие сайты

Собрал схему JDM программатора с переделкой (http://users.tpg.com.au/btkelly/jdm_b.htm) + IC-Prog - Проблему решил. Но как проблему решить с PicKit2 не разобрался. Кстати, убрал из программы таймер1 и глюк исчез.

Ссылка на комментарий
Поделиться на другие сайты

Какой лучше взять программатор для PIC16F876?

просто про контроллер и его программирование на пикбейсик-про все прочитал, а железок нету.

Где можно купить программатор?

з.ы. когда читал мануалы, автор использовал контроллер с встроеным кварцем и загрузчиком. Нужно ли такое и где это достать?

Изменено пользователем Rave4ko
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте! Такой вопрос: купил кварц, на нём написано 4.000 KDS - продавец сказал, что на 4 МГц, надеюсь он не ошибся? Кварц нужен для ПИК16Ф84А, подойдёт ли такой? Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Всем зарасти!

Подскажите для работы со светодиодами, какой микроконтроллер лучше?

Вот этот микроконтроллер подойдет PIC16F877-20I/PQ?

Могуля я перезаписовать программы на PIC16F877-20I/PQ?

Изменено пользователем Sounds
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Когда снова появился интерес к усилителям, тоже хотел всех обмануть, попробовал 7294 в разных схемах, 3886 тоже несколько способов приготовления, вроде и неплохо играет, если ничего другого не слушал, годится. Но червячок сподвиг сделать Натали Хоум, УХ! челюсть отвисла, наслушаться не мог, узнал, что такое сцена в звуке, динамика, детальность, да всё лучше. Вот я всегда и спрашиваю, по сравнению с какими другими УМ играет хорошо расхваливаемый усилитель.
    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
    • В былые годы запрещалось размещать на форуме бессмысленные темы. Видать, с тех пор правила существенно изменились.
    • скачай новый архив. там есть важные изменения в комповой программе, по сравнению с той, что я отправлял в личке. исправлены недоделки и добавлены проверки на некорректные действия.
  • Похожий контент

×
×
  • Создать...