Главная › Форумы › Программирование микроконтроллеров › Программирование МК PIC
Помечено: Простой калькулятор MK PIC
- В этой теме 13 ответов, 13 участников, последнее обновление 11 месяцев, 3 недели назад сделано appli_comp_student.
-
АвторСообщения
-
Март 26, 2018 в 5:09 дп #14854Narod StreamХранитель
Здесь можно обсудить проблемы, связанные с программированием микроконтроллеров STM32.
Июнь 11, 2018 в 5:34 дп #15531metallhummerУчастникДоброго времени суток.
Очень интересно было смотреть Ваши уроки на ютюбе.
Я давно хотел сделать приставку к своему аппарату точечной сварки для точного регулирования времени процесса.
Есть задумка:
контроллер pic16f630 (так как такой есть у меня), кнопки -3 штуки (больше, меньше, пуск), пара семисегментников для отображения секунд и десятых долей секунд (максимально до 3.0 секунд например), сила, подключенная к ноге ПИКа.Собственно вопрос:
будет ли правильным использовать динамическую индикацию постоянно как «основную программу»,
ждать прерывания по изменению уровня на кнопках, и иметь 3 обработчика прерываний (для больше, меньше и пуска),
если пуск, то в обработчике прерывания выставлять на ногу 1, формировать задержку при помощи Delay и сбрасывать ногу в 0?Заранее благодарен
Июнь 14, 2018 в 8:06 пп #15575Narod StreamХранительmetallhummer
В обработчиках прерываний применять задержки нежелательно, это подвесит контроллер. Обработчик прерываний должен среагировать на команду и установить какие-то флаги, на которые будет уже реагировать основная программа.
Обработчик прерываний — это такая часть программы, которая должна выполняться максимально быстро, иначе мы не дадим работать во время долгой обработки основному коду, а ещё того хуже, не дадим обработаться остальным прерываниям.Август 27, 2018 в 8:40 пп #16250Sergey 702УчастникПодскажите новичку, есть PIC16F73, нужно подать ШИМ на порт RC5, пишу код в MPLAB X IDE, не даёт задействовать этот порт, ошибка, разрешает только порты RB.
https://studbooks.net/imag_/15/219692/image018.jpg
https://www.alldatasheet.com/datasheet-pdf/pdf/74970/MICROCHIP/PIC16F73.html
Август 28, 2018 в 5:45 дп #16251ritmliveУчастникSergey 702
Дело в том, что аппаратный шим нельзя подать на вывод RC5, т.к. модуль ШИМ CCP подключен 1 каналом к RC2 а вторым каналом к RC1 — это хорошо видно в дотащите. Если очень необходимо на RC5 ШИМ можно получить программно, но в фоне он работать не будет.Сентябрь 10, 2018 в 8:02 пп #16384P32LУчастниквыходит такая ошибка при компиляции.Не могу понять,что не так.
Сентябрь 12, 2018 в 3:57 дп #16415Joker62УчастникЗдравствуйте!
Скажите пожалуйста, каким версией используетесь Proteus, где описывается на видеоуроках?
Какой лучше выбрать версию Porteus для создания симуляции работы контроллера?В инете есть доступные версии 8.6 и 8.7.
Декабрь 5, 2018 в 10:30 пп #17275andreydvУчастникЗдравствуйте!
Хочу поинтересоваться, есть ли какая-либо информация, связанная (напрямую или косвенно) с автоматизацией процесса для БПА (билетопечатающий автомат). Заранее, спасибоИюль 25, 2019 в 4:36 пп #19236NoRtiK3544УчастникЗдравствуйте, подскажите новичку.
Есть пик 628а. Помогите написать кусок программы для компаратора, чтобы он сравнивал два напряжения. И как только оно стало равно или больше 11.5 В то мк подал сигнал
Заранее спасибоИюль 30, 2020 в 1:40 пп #22046EgorUУчастникЗджравствуйте, имеется контроллер pic18f25k22
На нём запущенО 2а Uart-а
RX1 RC7 TX1 RC6
RX2 RB7 TX2 RB6Выставленны следующие натройки
OSCCON=0b00110000; //System clock
OSCCON2=0b00000000; //System clock
INTSRC=1; //Internal Oscillator Low-Frequency Source Select bit1 = 31.25 kHz//UART1
ANSC7=0;
ANSC6=0;
TRISC6=1;
TRISC7=1;
PORTCbits.RC6=1;
SPEN1=0;
CREN1=0;
TXSTA1bits.SYNC=0;
TXSTA1bits.BRGH=0;
RCSTA1bits.SPEN=1;
BAUDCON1bits.BRG16=1;
BAUDCON1bits.CKTXP=0;
BAUDCON1bits.DTRXP=0;
SPBRGH1=0x00;
SPBRG1=0x3F;
SPEN1=1;
TXEN1=1;
CREN1=1;//UART2
ANSC7=0;
ANSC6=0;
TRISB6 = 0;
TRISB7 = 0;
SPBRGH=0;
SPBRG=0x3F;
PORTBbits.RB6 = 1;
CREN2=0;
TXSTA2bits.SYNC=0;
TXSTA2bits.BRGH=0;
RCSTA2bits.SPEN=1;
BAUDCON2bits.BRG16=1;
BAUDCON2bits.CKTXP=0;
BAUDCON2bits.DTRXP=0;
TXSTA2bits.TX9 = 0;
TXSTA2bits.TXEN = 1;
TXSTA2bits.TX9D = 0;
CREN2=1;Всё вроде как одинаково, но в реальности скорости передачи разные… смотрю осцилографом
Необходимо настроить на скорость 9600Подскажите пожалуйста
Сентябрь 14, 2020 в 3:59 дп #22129ВикторУчастникЗдравствуйте.
Хотелось бы увидеть урок о цифровых линейках.
Точнее о внешнем табло на 7-ми сегментных индикаторах к цифровым линейкам.
Желательно на PIC попроще.
Может быть PIC16F84.
Спасибо.
Огромное спасибо за ваши уроки.Октябрь 3, 2020 в 7:26 дп #22176Tomas_13УчастникДоброго времени суток. мучаюсь с таймером никак не могу сделать таймер при подаче на ногу импульсов таймер должен прибавлять +20 на дисплей при нажатии кнопки старт должен идти отсчет времени в минус пли когда кнопка старт нажата и время уходит должен включатся фонарь как таймер доходит до нуля фонарь выключается дисплей используется семи сегментный 4 разряда. при нажатие кнопки старт время пошло повторное нажатие время остановилось. очень нужна помощь профессионалов 100 едениц на таймере равно 5 минут. можно просто саму программу в фловкоде я только начинаю осваивать программирование во фловкоде и протеус.
Октябрь 2, 2021 в 3:28 пп #22563ksv_2006УчастникD:\ESP_01\1>esptool.py image_info flash_esp01_full
esptool.py v3.1
Traceback (most recent call last):
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\Scripts\esptool.py-script.py», line 33, in <module>
sys.exit(load_entry_point(‘esptool==3.1’, ‘console_scripts’, ‘esptool.py’)())
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 4575, in _main
main()
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 4151, in main
operation_func(args)
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 3500, in image_info
image = LoadFirmwareImage(args.chip, args.filename)
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 2227, in LoadFirmwareImage
with open(filename, ‘rb’) as f:
FileNotFoundError: [Errno 2] No such file or directory: ‘flash_esp01_full’подскажите, как решить проблему.
Ноябрь 23, 2023 в 1:56 пп #26209appli_comp_studentУчастникЗдравствуйте.
Ни у кого в закромах нет программы простого калькулятора на MK PIC?
Вот конкретнее: При включении питания на индикаторе ноль. Калькулятор должен выполнять операции над целыми числами до 8 десятичных разрядов длиной. Операции: сложения, вычитания, умножения, деления, сброс, результат. При делении на 0 на индикаторе «ERROR».
Но для начала можно любой калькулятор, постараюсь сделать под задание. -
АвторСообщения
-
АвторСообщения
-
Здесь можно обсудить проблемы, связанные с программированием микроконтроллеров STM32.
Доброго времени суток.
Очень интересно было смотреть Ваши уроки на ютюбе.
Я давно хотел сделать приставку к своему аппарату точечной сварки для точного регулирования времени процесса.
Есть задумка:
контроллер pic16f630 (так как такой есть у меня), кнопки -3 штуки (больше, меньше, пуск), пара семисегментников для отображения секунд и десятых долей секунд (максимально до 3.0 секунд например), сила, подключенная к ноге ПИКа.Собственно вопрос:
будет ли правильным использовать динамическую индикацию постоянно как «основную программу»,
ждать прерывания по изменению уровня на кнопках, и иметь 3 обработчика прерываний (для больше, меньше и пуска),
если пуск, то в обработчике прерывания выставлять на ногу 1, формировать задержку при помощи Delay и сбрасывать ногу в 0?Заранее благодарен
metallhummer
В обработчиках прерываний применять задержки нежелательно, это подвесит контроллер. Обработчик прерываний должен среагировать на команду и установить какие-то флаги, на которые будет уже реагировать основная программа.
Обработчик прерываний — это такая часть программы, которая должна выполняться максимально быстро, иначе мы не дадим работать во время долгой обработки основному коду, а ещё того хуже, не дадим обработаться остальным прерываниям.Подскажите новичку, есть PIC16F73, нужно подать ШИМ на порт RC5, пишу код в MPLAB X IDE, не даёт задействовать этот порт, ошибка, разрешает только порты RB.
https://studbooks.net/imag_/15/219692/image018.jpg
https://www.alldatasheet.com/datasheet-pdf/pdf/74970/MICROCHIP/PIC16F73.html
Sergey 702
Дело в том, что аппаратный шим нельзя подать на вывод RC5, т.к. модуль ШИМ CCP подключен 1 каналом к RC2 а вторым каналом к RC1 — это хорошо видно в дотащите. Если очень необходимо на RC5 ШИМ можно получить программно, но в фоне он работать не будет.выходит такая ошибка при компиляции.Не могу понять,что не так.
Здравствуйте!
Скажите пожалуйста, каким версией используетесь Proteus, где описывается на видеоуроках?
Какой лучше выбрать версию Porteus для создания симуляции работы контроллера?В инете есть доступные версии 8.6 и 8.7.
Здравствуйте!
Хочу поинтересоваться, есть ли какая-либо информация, связанная (напрямую или косвенно) с автоматизацией процесса для БПА (билетопечатающий автомат). Заранее, спасибоЗдравствуйте, подскажите новичку.
Есть пик 628а. Помогите написать кусок программы для компаратора, чтобы он сравнивал два напряжения. И как только оно стало равно или больше 11.5 В то мк подал сигнал
Заранее спасибоЗджравствуйте, имеется контроллер pic18f25k22
На нём запущенО 2а Uart-а
RX1 RC7 TX1 RC6
RX2 RB7 TX2 RB6Выставленны следующие натройки
OSCCON=0b00110000; //System clock
OSCCON2=0b00000000; //System clock
INTSRC=1; //Internal Oscillator Low-Frequency Source Select bit1 = 31.25 kHz//UART1
ANSC7=0;
ANSC6=0;
TRISC6=1;
TRISC7=1;
PORTCbits.RC6=1;
SPEN1=0;
CREN1=0;
TXSTA1bits.SYNC=0;
TXSTA1bits.BRGH=0;
RCSTA1bits.SPEN=1;
BAUDCON1bits.BRG16=1;
BAUDCON1bits.CKTXP=0;
BAUDCON1bits.DTRXP=0;
SPBRGH1=0x00;
SPBRG1=0x3F;
SPEN1=1;
TXEN1=1;
CREN1=1;//UART2
ANSC7=0;
ANSC6=0;
TRISB6 = 0;
TRISB7 = 0;
SPBRGH=0;
SPBRG=0x3F;
PORTBbits.RB6 = 1;
CREN2=0;
TXSTA2bits.SYNC=0;
TXSTA2bits.BRGH=0;
RCSTA2bits.SPEN=1;
BAUDCON2bits.BRG16=1;
BAUDCON2bits.CKTXP=0;
BAUDCON2bits.DTRXP=0;
TXSTA2bits.TX9 = 0;
TXSTA2bits.TXEN = 1;
TXSTA2bits.TX9D = 0;
CREN2=1;Всё вроде как одинаково, но в реальности скорости передачи разные… смотрю осцилографом
Необходимо настроить на скорость 9600Подскажите пожалуйста
Здравствуйте.
Хотелось бы увидеть урок о цифровых линейках.
Точнее о внешнем табло на 7-ми сегментных индикаторах к цифровым линейкам.
Желательно на PIC попроще.
Может быть PIC16F84.
Спасибо.
Огромное спасибо за ваши уроки.Доброго времени суток. мучаюсь с таймером никак не могу сделать таймер при подаче на ногу импульсов таймер должен прибавлять +20 на дисплей при нажатии кнопки старт должен идти отсчет времени в минус пли когда кнопка старт нажата и время уходит должен включатся фонарь как таймер доходит до нуля фонарь выключается дисплей используется семи сегментный 4 разряда. при нажатие кнопки старт время пошло повторное нажатие время остановилось. очень нужна помощь профессионалов 100 едениц на таймере равно 5 минут. можно просто саму программу в фловкоде я только начинаю осваивать программирование во фловкоде и протеус.
D:\ESP_01\1>esptool.py image_info flash_esp01_full
esptool.py v3.1
Traceback (most recent call last):
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\Scripts\esptool.py-script.py», line 33, in <module>
sys.exit(load_entry_point(‘esptool==3.1’, ‘console_scripts’, ‘esptool.py’)())
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 4575, in _main
main()
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 4151, in main
operation_func(args)
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 3500, in image_info
image = LoadFirmwareImage(args.chip, args.filename)
File «C:\Users\kolom\AppData\Local\Programs\Python\Python39\lib\site-packages\esptool.py», line 2227, in LoadFirmwareImage
with open(filename, ‘rb’) as f:
FileNotFoundError: [Errno 2] No such file or directory: ‘flash_esp01_full’подскажите, как решить проблему.
Здравствуйте.
Ни у кого в закромах нет программы простого калькулятора на MK PIC?
Вот конкретнее: При включении питания на индикаторе ноль. Калькулятор должен выполнять операции над целыми числами до 8 десятичных разрядов длиной. Операции: сложения, вычитания, умножения, деления, сброс, результат. При делении на 0 на индикаторе «ERROR».
Но для начала можно любой калькулятор, постараюсь сделать под задание. -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.