Jump to content
YaNet

Помогите с PS/2 интерфейсом

Recommended Posts

Компилятор HI-Tech. МК: PIC16F628A.
Нужно сделать прошивку, которая будет на ногах RB4 и RB5 получать скан коды от клавиатуры, делая из него нормальный символ в виде буквы или цифры. Это всё, что мне нужно. Не нужно делать полную версию с выводом куда-нибудь этих символов, мне нужно чтобы он хранился, например в переменной. Позже я сделаю чтобы он выводился на экран. Спасибо заранее.

Из этого можно что-то сделать.

Share this post


Link to post
Share on other sites

В предопределениях заменить RC0, RC1 на RB4 и RB5. Не забыть про инициализацию. И пробовать.

В конце концов прочесть протокол и лапками напечатать программу.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

Импульсный источник питания - расчет за 10 минут в eDesignSuite

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

Подробнее

В 06.10.2016 в 12:43, солар сказал:

В предопределениях заменить RC0, RC1 на RB4 и RB5. Не забыть про инициализацию. И пробовать.

В конце концов прочесть протокол и лапками напечатать программу.

Спасибо, так и поступил. Забыл написать о результате - всё отлично работает. 

Share this post


Link to post
Share on other sites
                     

Как упростить выбор ИП для промышленного применения?

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

Подробнее

                     

Преимущества новых высоковольтных SOI-драйверов Infineon

При производстве драйверов силовых транзисторов компания Infineon использует различные технологии: JI, SOI, CT. Драйверы, выполненные с применением технологии SOI, имеют целый ряд преимуществ по сравнению с классическими JI-драйверами. В статье рассматриваются эти преимущества на примере новых семейств драйверов 650 В 2ED210x и 2ED218x.

Подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Ты в адекватно состоянии? Как зовут тебя помнишь? Причём здесь фоткать? 
    • sanya110 я понимаю. Но я сегодня мерил и всё было так как я описал. Я Встаю на 203 провод вторым на 230 на мост. И при включении к7 вижу 16 вольт. НА тестере постоянное выбрано напряжение. Тестер FLUKE дорогой. А если я встаю на 212  и 230 то там 42 волта. Ну как такое может быть. А То что 16 вольт показывает это как можно объяснить?
    • Либо тестер неисправен. И ещё непонятно, зачем вы полезли в станок.
    • Как это нереально и бессмысленно!? У меня на насосной станции именно так и сделано с завода. И самое характерное, когда она у меня перегрелась месяц назад, именно эта деталь и спасла мотор от сгорания. А для защиты обмоток даже китайцы ставят термопредохранитель на 120-140 градусов. И этого достаточно что бы ничего не сгорело. Что за чушь? Всё это надумано... Я такой использовал на 3 кВт просто как термостат, не то что для защиты. Да и в термопотах такие часто работают имеено как термостат годами. А тут чисто защитная функция.  Симистор так же может "пробить", тем паче на индуктивную нагрузку. Не думаю что о снабберной цепочке Вы позаботились. Не говоря о том, что электроника может зависнуть/заглючить/слетят настройки/сгореть. В промышленных системах контроля, ВСЕГДА применяются дублируещие системы защиты. В тех же лифтах с частотниками всё так же используются электромагнитные контакторы совместно с электроникой. Как думаете, почему? Ну ну... Тем не менее электромеханическая защита у Вас бы работала исправно десятилетиями, а с Вашим W1209 уже какие-то проблемы. Не стОит ли задуматься!? Резюме: всё это надуманная псевдопроблема, решаемая гораздо более простыми путями.
    • Степень просадки напряжения характеризует свойства (в данном случае - отрицательные) питающего выпрямителя, но никак не муфты. Поэтому определение "падение на муфте" в данном контексте принципиально некорректно. При использовании идеального выпрямителя напряжение под нагрузкой (т.е. на муфте) должно быть в точности таким же, как и при ее отсутствии, в реальном мире все несколько менее радужно, поэтому просадка неизбежна. При входном напряжении 25 В получить на выходе выпрямителя заветные 42 В невозможно даже при наличии конденсатора, способного зарядиться до амплитудного значения. Либо Вы оперируете заведомо ложной информацией, либо ошибочно ее трактуете.
    • Да не охото что-то было настраивать...крутить. Собрал как есть. Ну всё равно если на саб ставить. То в фильтре можно накрутить выходной сигнал. А так получился не плохо. Размером с пачку сигарет, в ширину и две в длину. И моща не плохая. Не капризная в сборке.  На небольшой сабик пойдёт. Подправил ещё кое что в ней. Потом нарисую и выложу. Уже полностью рабочий вариант. Да и где-то печатка к нему была. Но только с тремя питаниями. +-12вольт на компаратор.+12вольт на драйвер и силовое питание.
  • Similar Content

    • By Ilya Gray
      Доброго времени суток!
      В целом, имеется опыт разработки малых устройств, что-то понимаю, в общем, старательно читаю даташиты, даже понимаю их, но на звание серьёзного инженера (пока что) не претендую.
      Я пытаюсь использовать I2C на 8-битном PIC16F18326. Сижу в даташитах. Всё понимаю, всё делаю, на мой неопытный взгляд, правильно. Даже копирую полностью рабочие примеры (я даже купил такой же микроконтроллер, как в примере, скопировал код, контролируя, что он делает. Но всё равно не работает - SCL/SDA на 5в и всё тут).
      Так вот: PIC16F18326 on breadboard (прошу прощения, я хз как это по-русски) на внутреннем 32мгц кристалле. Чип пашет, без проблем моргаю LEDкой. Ну, думаю, щас быстренько подниму I2C. В итоге SCL SDA сидят на 5в без движения. Я использую LED для отладки. Судя по LED, код заloopливается в месте, где проверяется while PIR1bits.SSP1IF==0. Я уже везде был, кучу форумов перерыл. Уже попробовал всё, что мог представить. Я довольно новый в мире PIC, хотел попробовать их, а они ужасно сопротивляются. Уже 2 недели долблюсь безуспешно.
      Подтяжки 10к, проблем с ними никогда не было.
      Собственно, вот код (я уже там попробовал повыключать ADC, вычитал про баг, что сначала I2C пины надо делать OUTPUT LOW, а потом уже INPUT из-за бага MSSP, но ничего не помогло).
      // PIC16F18326 Configuration Bit Settings // 'C' source line config statements // CONFIG1 #pragma config FEXTOSC = OFF // FEXTOSC External Oscillator mode Selection bits (Oscillator not enabled) #pragma config RSTOSC = HFINT32 // Power-up default value for COSC bits (HFINTOSC with 2x PLL (32MHz)) #pragma config CLKOUTEN = OFF // Clock Out Enable bit (CLKOUT function is disabled; I/O or oscillator function on OSC2) #pragma config CSWEN = ON // Clock Switch Enable bit (Writing to NOSC and NDIV is allowed) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled) // CONFIG2 #pragma config MCLRE = ON // Master Clear Enable bit (MCLR/VPP pin function is MCLR; Weak pull-up enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config WDTE = OFF // Watchdog Timer Enable bits (WDT disabled; SWDTEN is ignored) #pragma config LPBOREN = OFF // Low-power BOR enable bit (ULPBOR disabled) #pragma config BOREN = ON // Brown-out Reset Enable bits (Brown-out Reset enabled, SBOREN bit ignored) #pragma config BORV = LOW // Brown-out Reset Voltage selection bit (Brown-out voltage (Vbor) set to 2.45V) #pragma config PPS1WAY = ON // PPSLOCK bit One-Way Set Enable bit (The PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle) #pragma config STVREN = ON // Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a Reset) #pragma config DEBUG = OFF // Debugger enable bit (Background debugger disabled) // CONFIG3 #pragma config WRT = OFF // User NVM self-write protection bits (Write protection off) #pragma config LVP = ON // Low Voltage Programming Enable bit (Low Voltage programming enabled. MCLR/VPP pin function is MCLR. MCLRE configuration bit is ignored.) // CONFIG4 #pragma config CP = OFF // User NVM Program Memory Code Protection bit (User NVM code protection disabled) #pragma config CPD = OFF // Data NVM Memory Code Protection bit (Data NVM code protection disabled) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #include <htc.h> #include <stdio.h> #include <stdint.h> #define _XTAL_FREQ 32000000 void i2c_is_idle(void){ //while(!PIR1bits.SSP1IF); //while(SSPCON2bits.SEN==1 || SSPCON2bits.RSEN==1 || SSPCON2bits.PEN==1 || SSPCON2bits.RCEN==1 || SSPCON2bits.ACKEN==1 || SSPSTATbits.R_nW==1){}; while(PIR1bits.SSP1IF == 0){ PORTCbits.RC2=1; }; // SSP1IF is set when operation complete PORTCbits.RC2=0; PIR1bits.SSP1IF = 0; // clear interrupt flag } void i2c_start(void){ i2c_is_idle(); SSPCON2bits.SEN = 1; } void i2c_rep_start(void){ i2c_is_idle(); SSPCON2bits.RSEN = 1; } void i2c_stop(void){ i2c_is_idle(); SSPCON2bits.PEN = 1; } void i2c_write(uint8_t i2c_data){ i2c_is_idle(); SSPBUF = i2c_data; while(SSPSTATbits.BF != 0); while(SSPCON2bits.ACKSTAT != 0); } uint8_t i2c_read(uint8_t ack){ uint8_t recieve =0; i2c_is_idle(); SSPCON2bits.RCEN = 1; while(SSPSTATbits.BF != 1); recieve = SSPBUF; SSPCON2bits.ACKEN = ack; return recieve; } void i2c_init(void){ TRISCbits.TRISC0 = 1; TRISCbits.TRISC1 = 1; SSPSTATbits.SMP = 1; SSPSTATbits.CKE = 0; SSPCONbits.SSPM = 0x08; SSPADD = 79; SSPCONbits.SSPEN = 1; } void main(void) { ANSELCbits.ANSC0 = 0; //ADC RC0 OFF ANSELCbits.ANSC1 = 0; //ADC RC1 OFF TRISCbits.TRISC2=0; //LED PIN TRISCbits.TRISC0=0; //MSSP bug counter TRISCbits.TRISC1=0; //MSSP bug counter //__delay_ms(5); LATCbits.LATC1=0; //MSSP bug counter LATCbits.LATC0=0; //MSSP bug counter //__delay_ms(5); INTCONbits.GIE=1; //global interrupt en INTCONbits.PEIE=1; //peripheral interrupt en ADCON0bits.ADON=0; //unpower adc just in case i2c_init(); //THIS SETS TRISC BITS FOR SCL SDA while(1){ i2c_start(); i2c_write(0x3C); i2c_stop(); } return; } Задача: просто увидеть коммуникацию на SCL SDA, я уже потом по даташитам таргет девайсов без проблем напишу дрова. Не получается именно осуществлять коммуникацию.
      Подскажите, пожалуйста, я не понимаю, где я дурак, а между тем волос на голове становится всё меньше, а те, что остались, стремительно приобретают серый окрас, ибо 2 недели я долбаюсь с одной проблемой. Благодарю за ваши советы. Спасибо.
       
    • By Николай кол
      Привет, у меня есть вопрос, как передать данных с микроконтроллера pic через блютуз модуль HC-05 на телефон в виде графика.Не могли бы вы показать скрипт или статю.Про Arduino много а про pic не (нужно передать данные с микроконтроллера на телефон а не на оборот).У же есть приложение на app inventor 2.Нужно примерно как тут https://www.youtube.com/watch?v=WzoCQ2fRsRQ
    • By duty
      Привет, участникам форума! Подскажите, пожалуйста, как можно реализовать связь микроконтроллера pic с адресным ключом (ds2405 или ds2408) по 1-wire (на шине будут висеть несколько ключей)  для считывания pio ключа, во входном режиме, т.е на pio поступает сигнал  с магнитоконтактного датчика о срабатывание его или нет.    Datasheet читал, но мало чего понял.  Тестирование произвожу в proteus 8.6
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By 42mg mdma
      Взялся за ремонт механической клавиатуры Corsair K63. После замены пары переключателей сделал пробное включение. Работает подсветка, но на нажатия не реагирует, так-же заметил что нагревается регулятор ax1117 a-33 17471. Пришёл сюда за советом и помощью!
×
×
  • Create New...