Поиск сообщества
Показаны результаты для тегов 'PIC'.
Найдено: 45 результатов
-
Разбираюсь с микросхемой UC3825. Есть работающая схема контроля скважности выходного сигнала переменным резистором, подключенным к ноге 8. Приложена к посту Задался целью управлять этой микросхемой не переменным резистором, а с помощью ШИМ от 5в микроконтроллера. Насколько я понял по даташиту UC3825 может работать по току и по напряжению и теоретически это возможно. Есть ли кто ни будь, кто хорошо разбирается в функционале это микрухи? Как можно подключить к ней МК и будет ли она работать от входного ШИМ сигнала, частотой скажем 1кГц?
- 8 ответов
-
- микроконтроллеры
- шим
-
(и ещё 3 )
C тегом:
-
Я новичок в программировании PIC. Я создал тестовую программу, чтобы проверить, все ли работает нормально, но светодиод не мигает. Программатор: Pickit3. Микроконтроллер: PIC16F628A Возможно, я что-то неправильно делаю в разделе кода: #include <stdio.h> #include <stdlib.h> #include <pic16f628a.h> void delay_ms(int); int main() { TRISA2 = 0; //RB0 as Output PIN while(1) { RA2 = 0xFF; delay_ms(1000); RA2 = 0x00; delay_ms(1000); } return 0; } //General short delay void delay_ms(int x) { int y, z; for ( ; x > 0 ; x--) for ( y = 0 ; y < 4 ; y++) for ( z = 0 ; z < 176 ; z++); }
-
Мужики, доброго всем! Помогите разгадать загадку.. Собрал программатор по схеме: http://pic.[пытался спамить но не получилось]/programmirovanie/com-programmatory/38-ntv-programmator-pic-mikrokontrollerov-jdm-sovmestimyy.html . Им уже прошивал камни. Вроде все нормально было. Заказал на али PIC12F629 - 2шт. Первая в проге PoniProg прочлась как бы правильно, чистая (3FFF) но константы не было. Прошил. Читаю – во всех ячейках 0000. После «стереть» – те же 0000. Этим же программатором в проге WinPic800 – определяется как PIC12F683. При чем шьется, стирается, читается как 683 - прошивкой написанной под 629.. Стираю. Нажимаю «читать» - 3FFF (как и должно быть). Снова открываю с помощью PoniProg, читаю - 3FFF. Тут же прошиваю. «Читать» – опять 0000. Ставлю в спаянную схему (схема с кварцевым резонатором) – РАБОТАЕТ! Ну думаю, в PoniProg что то не так сделал с первым контроллером. Второй МК, сразу заряжаю в WinPic800. И что вы думаете, и этот определяется как 683. В чем сидит «заноза», в дешевых МК из алиекспресс, (потому то и без константы, что дешевые), в программаторе или в WinPic800?? А почему после прошивки в PoniProg читаются 0000, и после стирания МК в PoniProg все равно 0000 ? Мот кто сталкивался с такими загадками? Только прошу не пинать типа: купи нормальный прогер, если не поможет то МК по дороже…, этот способ я и сам понимаю. Купил бы.. но, я не занимаюсь этим регулярно и тем более не зарабатываю на этом деньги. Понравилась очередная схемка, она мне была нужна и я ее сваял, и она нормально работает. Но.., если вдруг попадется схема с внутренним генератором то хотелось бы хоть понять где и как найти эту гребаную константу? Заранее благодарен откликнувшимся.
- 24 ответа
-
- pic
- программатор
-
(и ещё 1 )
C тегом:
-
Собственно сабж. Цены умеренные.
-
Требуется электронщик, Москва, желательно в штат. Первая задача: есть блок управления двигателями китайского производства. Плата разведена под 3 двигателя, но смонтированны компоненты только на две линии упраления. Требуется составить комплектацию, что нужно докупить для монтажа третьей линии, смонтировать и запустить. Управление - PIC. Также потребуется разрабатыать жгуты под имеющиеся и разрабатываемые платы. Интересующимся скину фото платы и наш сайт
-
Дали задание на курсовой-у меня был готовый,сделанный с помощью PIC12F675,мне нужно кое-что добавить в схеме и мне сказали сменить микроконтроллер на pic16f676,там больше портов(ножек).И на этапе переделывания самой программы возникла проблема,программа компилируется,но в протеусе появляется куча ошибок.Кто может помочь?В чем дело??))Заранее спасибо kur.mcp kur.mcs STRN-V09rdaria.DSN TRN_ADC.asm TRN_ADC.HEX kur.mcp kur.mcs STRN-V09r.DSN TRN_ADC.asm TRN_ADC.HEX
-
Здравствуйте, весь день голову ломаю...Нужно подружить PIC16F72 с Flash-памятью AT45DB161D. В порядке эксперимента для начала хочу прочитать регистр статуса и идентификатор памяти, но она ничего совсем не отвечает . вот код: ;========== Настройка МК ============================================== SetMCU CALL Pause1s CLRF STATUS CLRF PORTA CLRF PORTB CLRF PORTC BSF STATUS, RP0 ;Банк 1 MOVLW b'00000000' ;Значение для направления PORTA MOVWF TRISA ;Настройка PORTA MOVLW b'00000000' ;Значение для направления PORTB MOVWF TRISB ;Настройка PORTB MOVLW b'00010000' ;Значение для направления PORTC MOVWF TRISC ;Настройка PORTC ;========== Инициализация SPI =========================================== BCF STATUS, RP0 ;Банк 0 CLRF SSPSTAT MOVLW b'00100000' ;Значение для настройки SPI MOVWF SSPCON ;Настройка SPI BSF PORTC, 6 ;Установка CS0 ;========== Чтение идентификатора AT45DB161D BCF PORTC, 6 ;Опускаем CS MOVLW 0x9F ;Опкод для чтения идентификатора CALL SPI_Trans ;Обмен SPI MOVLW 0x00 ;Ждем ответ CALL SPI_Trans MOVF SPI_RX,0 ;Принятый байт в аккумулятор MOVWF PORTB ;Вывод значения BSF PORTC, 6 ;Завершение передачи stop GOTO stop ;Бесконечный цикл ;========== Передача по SPI ====================================================================================================== SPI_Trans MOVWF SSPBUF ;Передача байта CALL Pause1ms ;Ожидание завершения передачи MOVF SSPBUF, 0 ;Копирование принятого байта MOVWF SPI_RX RETURN В протеусе с SPI_Debugger-ом все работает, если подставить на место ответа какое-нибудь значение, оно выводится в портБ. Но в железе с подключенной памятью ничего не происходит. Выводы памяти RESET, WP соединены с питанием. Питание 3,3В. Помогите, пожалуйста)
-
Пытаюсь реализовать SPI, вот только никак не могу скомпилить. ошибка странная.... Строчка кода. Синтаксис на неё не ругается... Что не так????
-
Компилятор HI-Tech. МК: PIC16F628A. Нужно сделать прошивку, которая будет на ногах RB4 и RB5 получать скан коды от клавиатуры, делая из него нормальный символ в виде буквы или цифры. Это всё, что мне нужно. Не нужно делать полную версию с выводом куда-нибудь этих символов, мне нужно чтобы он хранился, например в переменной. Позже я сделаю чтобы он выводился на экран. Спасибо заранее. Из этого можно что-то сделать.
- 4 ответа
-
- ps2
- клавиатура
- (и ещё 5 )
-
Есть задача: 1. входов на замыкание/размыкание - 5шт 2. входы серии импульсов 0-5в для постоянного их подсчета за ед. времени - 3 шт. 3. Аналоговые входы измерения напряжения 0-5в от датчиков - 3 шт. 4. Выходы на исп. устройства - 4 шт. 5. Выходы индикации 5 шт. 5. Управление дисплее 16х4 - 4шт? Прошу подсказать оптимальный по стоимости/производительности/удобству чип для таких целей
-
Добрый день. Имеется устройство на pic контроллере 16f876 у которого один из входов работает на достаточно весьма удаленный концевой выключатель. Не подскажет ли кто реально эффективную и простую схему защиты входа от наводок? Скорость изменения полезного сигнала (срабатывания) очень низкая, допустимо до 1-2 секунд, но из-за протяженности линии наводки могут иметь достаточно большой ток и полагаю, напряжение, в том числе конечно и отрицательной полярности, поэтому навесить электролит в уме имею, но может есть и реально ограничивающие напряжение решения. Сейчас защита решена так, см рисунок, но это не работает. Полагаю из-за того что отрицательные выбросы напряжения где-то до - 6 вольт могут попадать на вход процессора. Беднягу плющит. Помогите советом. (К развязке оптроном, реле, прокладывать тросик и ставить конечник рядом, итд морально не готовы... ) Спасибо.
-
День добрый. Поставил для себя задачу создать для своего мотоцикла небольшой компьютер на базе микроконтроллера с выводом информации на дисплей. Кое-какие наработки у меня уже осуществлены и сейчас я стаю перед выбор усовершенствовать свое устройство(получилось очень громоздкая конструкция которая занимает много места и к тому же 2/3 памяти ардуины я задействовал при этом далеко не все еще впихнул) или начинать с нуля. Для начало опишу то что у меня уже есть (осуществлено на базе Ардуино уно, пока что без вывода на экран, но скетч под это у меня уже написан) и что я хочу. Функционал такой: -вольтметр (есть); -термометр (есть); -несколько режимов полуавтоматической смазки цепи (есть как автоматически включающиеся/выключающиеся режимы (считываю сигналы с датчика скорости=>пересчитываю в скорость в зависимости от скорости переключаются режимы, т.е. насос работает либо чаще либо выключается на время либо работает реже), также некоторые режимы включаются вручную с кнопки) - есть, все режимы включаются последовательно; - расчет средней скорости в пути (частично есть); - расчет среднего времени поездки (нет); -расчет расстояния (нет); - считывание данных с нескольких датчиков разного рода(цифровые и аналоговые) и вывод на дисплей(нет, параллельная задача); - вывод на дисплей, еще точно не определился с моделью, пока на примере 5110, но не уверен, нужно что-то по размеру как 5110 но хотелось побольше чем 84х84 для вставления качественных картинок). Собственно вопрос в том по какому пути идти? Оптимизировать задачу на более маленьком ардуино, типа адруино нано (а возможно и на двух) или же начинать с нуля, но тогда встает вопрос о выборе МК (тут я потратив несколько дней пока окончательно запутался) AVR, STM или PIC? Задача планируется как единичная, но хочется получить относительно компактное устройство. П.С. честно читал и искал, но т.к. я "не в теме электроники", мне нужен толчок в нужную сторону Заранее спасибо.
-
В интернете море програм для программирования микросхем PIC , но все они не работают на Win 10 , может есть у кого рабочая?
-
Здравствуйте! За основу проекта взял этот материал, добавил лишь переключатель baud rate. Собрал, установил нужную частоту дискретизации, но прочитать сообщение не удалось, много ошибок. Извиняюсь за качество фото. Что стоит попробовать для устранения ошибок? Код прилагаю. sbit LCD_RS at RB0_bit; sbit LCD_EN at RB3_bit; sbit LCD_D4 at RB4_bit; sbit LCD_D5 at RB5_bit; sbit LCD_D6 at RB6_bit; sbit LCD_D7 at RB7_bit; sbit LCD_RS_Direction at TRISB0_bit; sbit LCD_EN_Direction at TRISB3_bit; sbit LCD_D4_Direction at TRISB4_bit; sbit LCD_D5_Direction at TRISB5_bit; sbit LCD_D6_Direction at TRISB6_bit; sbit LCD_D7_Direction at TRISB7_bit; sbit Btn1 at RA3_bit; char i; unsigned short row=1,col=1; unsigned short rate_idx=0; void main(){ TRISA = 0b00001000; PORTA = 0; CMCON |= 7; // Disable Comparators Lcd_Init(); Delay_ms(100); UART1_Init(2400); // set baud rate Delay_ms(200); Lcd_Cmd(_LCD_CLEAR); Lcd_Cmd(_LCD_UNDERLINE_ON); Lcd_Out(1,1,"UART Reader"); Delay_ms(2000); Lcd_Cmd(_LCD_CLEAR); while(1){ if(!Btn1){ Delay_ms(500); Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,1,"Baud rate: "); rate_idx++; if(rate_idx > 3) rate_idx=0; if(0 == rate_idx){ UART1_Init(1200); Lcd_Out(1,12,"12"); } else if (1 == rate_idx){ UART1_Init(2400); Lcd_Out(1,12,"24"); } else if (2 == rate_idx){ UART1_Init(4800); Lcd_Out(1,12,"48"); } else if (3 == rate_idx){ UART1_Init(9600); Lcd_Out(1,12,"96"); } Lcd_Out(1,14,"00"); Delay_ms(2000); Lcd_Cmd(_LCD_CLEAR); } if(1 == UART1_Data_Ready()){ i=UART1_Read(); if(27 == i){ Lcd_Cmd(_LCD_CLEAR); col=1,row=1; } else if(i > 31 && i < 127) { Lcd_Chr(row,col,i); col++; } } if(17==col && 1==row){ row=2; col=1; } if(2==row && 17==col){ Lcd_Cmd(_LCD_CLEAR); col=1; row=1; } } }
-
Доброго времини суток. Вобщем сломалась сенсорная панель вытяжки. Вся логика сенсора вынесена на отдельную плату (схема прилагается) Вобщих чертах раскажу принцип работы На плате есть 4 сенсора Свет (должен работать по алгоритну кнопка с фиксацией - типа нажал светит - нажал - погас) 1-я скорость вентилятора 2-я скорость вентилятора 3-я скорость вентилятора (1-2-3 - ето переключение скоростей вентилятора) Тактовая частота с ноги CLKOUT через резистор R1, R3, R5, R7 дует в конденсаторы C1, C3, C5, C7. На второй ноге конденсаторов образуется переменное напряжение. Позитивная фаза напряжения бежит через D1, D3, D5, D7 на дополнительную емкость (соотвецтвенно C2,C4,C6,C8), Негативная фаза шунтируется диодами D2, D4, D6, D8 Таким образом на практике на входах BTN_LIGHT, BTN_1, BTN_2, BTN_3 имеем 2,2В в состоянии покоя (когда сенсор не нажат). Когда к сенсору поднести палец - то организм человека будет создавать дополнительную емкость. Ето приведет к падению напряжения до 0,8В на соотвецтвующих ножках (BTN_LIGHT, BTN_1, BTN_2 или BTN_3) Все вроди норма - вот только производитель затер маркировку контроллера. Корпус SOIC20 Я (в силу малого опыта по работе с PIC) визулально по расположению ног взял за основу PIC16F628. (тот что в SOIC18...) на печатной плате 10, 11 нога SOIC20-го корпуса не задействована... Но чувствую что контроллер не угадал. Теперь собственно вопрос: Какой контроллер посоветуете. От него необходимо: 1 совпадение ног питания 2 Совпадение ног кристала 3 Возможность на входах BTN_LIGHT, BTN_1, BTN_2 или BTN_3 различить 0,8В и 2,2В
-
К1116КП3 - 50 шт.(750р400р) либо (10р/шт) UDN2595A - 4+20 шт. (200р100р/шт) OP184FS SO8 - 1 шт. (ваше предложение?) 5П20,10ПА1-2,5-4 - 2 шт. (350р250р/шт) DS1267-100 - 5 шт. (200100р/шт) RCV420KP - 8 шт. (800р400р/шт) PIC18F6620-I/PT - 2шт (700р400р/шт) dsPIC30F4013 30I/P - 1 шт. (800р500р.) AD T912_OP176GP_F17211A - 3 шт. (ваше предложение?) CSA-1V - 15 шт. (500р300р/шт) MCP602 ~ 92 шт. (30р20р/шт.) PIC18F4520-I/PT - 25 шт. (400р160р/шт.) Продается разом, по простой причине того, что хранится в антистатической коробке. Местонахождение - Оренбургская область. Отправлю наложенным платежом по любому адресу. (Рассмотрю иные предложенные варианты доставки) Вместе с заказом(по желанию) ПОДАРЮ транзисторы серий МП(20А,16А,16БОС), П(605,605А) до 90 шт.(зависит от заказа), и керамические конденсаторы, + кому интересно трансы марки ТАН. (Могу фото скинуть, обращайтесь в лс) ЛИБО продам все разом, по очень выгодной цене.
-
Продам микроконтроллеры: PIC12F683 - 1шт - 50р PIC16F628A - 1шт - 80р Они новые, не паяные, не прошивались. Доставка заказным письмом Почтой России Писать в ЛС
- 3 ответа
-
- PIC
- микроконтроллер
-
(и ещё 2 )
C тегом:
-
Добрый день. Работаю над проектом где есть два микроконтроллера PIC, EEPROM и дисплей с клавиатурой. На одном контроллере реализовано меню настроек где есть параметр с десятичной точкой(переменная double). Этот параметр сохраняется в EEPROM а потом читается другим контроллером для использования в алгоритме управления. Соответственно, нужно как то получать доступ отдельно к целой и дробной частям числа и изменять их как будто это два разных числа. Пробовал использовать modf() для получения целой и дробной части, менять их, а потом через sprintf() обьединять их в строку и далее через atof() получать обратно double, но такой способ использует непозволительно много памяти. Еще более оптимальный способ это хранить и изменять целую и дробную части как два однобайтовых числа, а второй контроллер уже будет сам "сшивать их" в переменную double как написано выше. Но это тоже как то не красиво. Подскажите какие еще есть способы "экономно" сделать это на МК про которые я еще не знаю? Может как то оптимизировать? Пишу на Си (компилятор XC8).
-
Помогите написать программу на МК PIC16F1824. Схема передающего контура для беспроводой зарядки. МК должен подовать на 6 и 5 выходы сигналы поочереди.Он будет задавать частоту колебания тока в цепи. Так же имеются две кнопки подключённые к входам 13 и 12, они будут менять частоту.
- 21 ответ
-
- программирование
- c++
- (и ещё 7 )