Поиск сообщества
Показаны результаты для тегов 'pic16f628A'.
Найдено: 9 результатов
-
Встретилась мне схема этого LC-метр,прочитал хорошие отзывы про него.Спаял,запустился с первого раза,удивило точное измерение.Кому нужен такой прибор то соберайте,особенно он нужен для настройки IB металлоискателей.В архиве,схема,печатная плата + описание.В приборе можно применить ЖК диспеи 8х2 , 16х1 , 16х2 .К каждому дисплею своя прошивка.Микроконтроллер применяется PIC16F628A. LC-метр.rar
- 1 029 ответов
-
1
-
- LC-метр
- Измеритель LC
- (и ещё 8 )
-
Добрый день. Пишу прошивку для PIC16F628A + 1602A, тестирую на бредборде. На данный момент завяз в подсчёте количества разрядов в 2-байтном числе, разбитом на два регистра. Порядок работы такой: 1. Берётся 2-байтная константа varH:varL 2. Последовательно подсчитываются дес. тыс. / тыс. / сотен / дес. / ед. Для этого из varH:varL с помощью подпрограммы subtraction вычитываются tmpH:tmpL = 10^4 / 10^3 / 10^2 / 10^1 / 10^0, цифра разряда после каждого вызова возвращается в виде переменной dignum (к которой затем добавляется b'00110000' и выводится на ЖКИ). Проблема в том, что вывод цифр останавливается после точки. Т.е. должно было быть 65.535_, а получается 65._ Прошу помочь. Подозреваю, что проблема заключается в подпрограмме вычитания или подсчёта разрядов. call init_lcd ;инициализация ЖКИ movlw b'11111111' ;переменная, в которой надо посчитать разряды movwf varH movlw b'11111111' movwf varL movlw b'10000000' ;нач. вывода символов - строка 1, яч. 1 (при иниц. был настр. авт. переход на след. яч.) movwf M_byte call addr_out ;counting 10^4 movlw b'00100111' movwf tmpH movlw b'00010000' movwf tmpL call dig_count movf dignum,0 movwf M_byte call symb_out ;counting 10^3 movlw b'00000011' movwf tmpH movlw b'11101000' movwf tmpL call dig_count movf dignum,0 movwf M_byte call symb_out ;dot movlw b'00101110' movwf M_byte call symb_out ;counting 10^2 movlw b'00000000' movwf tmpH movlw b'01100100' movwf tmpL call dig_count movf dignum,0 movwf M_byte call symb_out ;counting 10^1 movlw b'00000000' movwf tmpH movlw b'00001010' movwf tmpL call dig_count movf dignum,0 movwf M_byte call symb_out ;counting 10^0 movlw b'00000000' movwf tmpH movlw b'00000001' movwf tmpL call dig_count movf dignum,0 movwf M_byte call symb_out stop: nop goto stop ; подпрограммы dig_count: ;dignum counting subrogram clrf dignum dig_count_start: movf varH,W movwf backupH movf varL,W movwf backupL call subtraction btfss STATUS,C ;проверка на факт заема goto dig_count_1 ;возник факт заема goto dig_count_2 ;нет заема dig_count_1: movf backupH,W movwf varH movf backupL,W movwf varL goto dig_count_end dig_count_2: incf dignum,1 goto dig_count_start dig_count_end: movlw b'00110000' addwf dignum,1 return subtraction: ;subtraction subprogram movf tmpL,W ;вычитаем число лежащее в регистре tmpLL из числа subwf varL,F ;в регистре varLL btfss STATUS,C ;проверка на факт заема decf varH,F ;возник факт заема: декремент регистра varLH movf tmpH,W ;нет заема: вычитаем число лежащее в регистре tmpLH из subwf varH,F ;числа в регистре varLH return ;выход из подпрограммы
-
Можно пожалуйста, комментарий к каждой строчке кода #include <P16F628A.INC> LIST p=16F628A ; директива для указания типа МК __CONFIG 03F10H ; директива установки битов конфигурации Sec0 equ 20h Sec1 equ 21h shet1 equ 22h smehen equ 23h shet equ 24h kar equ 25h var equ 26h shet2 equ 27h #define rb7 PORTB,7 org 0 ; Начать выполнение программы с адреса 0 PC. goto Start Start movlw .255 ;копирования 255 в указанный регистр w movwf PORTB movlw .0 movwf PORTA movlw .7 ;копирования 7 в указанный регистр w movwf CMCON bsf STATUS,5 ;переход в Банк 1 movlw .0 ; movwf TRISB movlw .0 ; movwf TRISA bsf PCON,3 bcf STATUS,5 ;переход назад в Банк 0 clrf shet nac movlw .10 ;вращ. стрелки movwf shet2 gif1 movlw .0 movwf smehen call pod movlw .7 movwf smehen call pod movlw .14 movwf smehen call pod movlw .21 movwf smehen call pod decfsz shet2,F goto gif1 movlw .10 ; бьющ. сердце movwf shet2 gif2 movlw .28 movwf smehen call pod movlw .35 movwf smehen call pod movlw .28 movwf smehen call pod movlw .28 movwf smehen call pod decfsz shet2,F goto gif2 movlw .6 ; пульсир. звезда movwf shet2 movlw .42 movwf smehen call pod1 movlw .42 movwf smehen call pod1 movlw .49 movwf smehen call pod1 movlw .56 movwf smehen call pod1 movlw .63 movwf smehen call pod1
-
Добрый день. Собрал преобразователь по схеме Дмитрия Карелова. На холостом ходу все 3 фазы присутствуют. При подключении моторчика 36 вольт 200 герц 90 ватт, напряжение трех фаз просаживается до 2.5 вольт, транзисторы верхнего плеча трех фаз начинают нагреваться и соответственно моторчик не вращается. Кто что может сказать по этому поводу?
- 132 ответа
-
- 200 герц 36 вольт
- PIC16F628A
-
(и ещё 1 )
C тегом:
-
Решил собрать источник питания с управлением через PIC16F628A (парой кнопок переключать нужные напряжения). Взял обычный импульсник на 15 В, из обратной связи выдрал TL431, оставил оптрон, его повесил на выход МК. Написал тестовую прошивку: задаётся Vref через VRCON, компаратор сравнивает и выдаёт на оптрон 1 или 0. Сделал два варианта прошивки: в одном проверка на срабатывание выполняется циклически, в другом - вызов прерывания при реакции компаратора. Оба варианта тестировал в Протеусе (потенциометр и светодиод), работают. На бредборде завёлся только первый (с нагрузкой и без). А с прерыванием не работает: при отсутствии нагрузки выдаёт нужное напряжение, но стоит только подключить нагрузку и даже если рукой коснуться - напряжение падает. С нагрузкой вообще не заводится. МК питаю отдельно (тлф. зарядка с домотанной вторичкой + 7805). Несколько раз прошёлся по прошивке, не нашёл за что зацепиться. Прошу совета. Схема В коде присутствуют рудименты для кнопок (пока не вводил). comp5nop.rar
- 40 ответов
-
- pic16f628a
- стабилизатор
-
(и ещё 2 )
C тегом:
-
Здравствуйте, товарищи! Я только начал изучать программирование МК с ассемблера для пиков. Прошёл светодиодную мигалку и взялся за вывод текста с PIC16F628A на ЖКИ 1602А. Но не заладилось. Взял готовую прошивку (сама она успешно запустилась), слегка подредактировал: задал соответствие DB0...DB7=RB0...RB7, вывел отдельные переменные address и symbol для адреса и символа ячейки на экране. Это выглядит следующим образом: MOVLW 0x00 ;вывод единицы в первую ячейку MOVWF address MOVLW 0b00110001 MOVWF symbol CALL znak при этом используются подпрограммы znak: MOVF address,0 ;вывод адреса MOVWF PORTB BCF RS CALL strob CALL delay_39us MOVF symbol,0 ;вывод символа MOVWF PORTB BSF RS CALL strob CALL delay_39us RETURN strob: BSF E NOP ;задержка 2 мкс NOP BCF E RETURN Второй день до поздней ночи перепроверяю прошивку, надёжность и правильность на бредборде, RC-цепочку на MCLR. Скачанный проект работает, а моя программа - нет. Прошу помочь в поиске ошибки в коде. lcd-test.asm
- 7 ответов
-
- PIC16F628A
- 1602A
-
(и ещё 4 )
C тегом:
-
Переделка программы трехфазного генератора pic16f628A на pic16f84A
Гость опубликовал тема в Песочница (Q&A)
Помогите переделать программу трехфазного генератора pic16f628A на pic16f84A . есть hex и есть asm pic16енкнек200гц.HEX pic16f628 200гц.asm- 13 ответов
-
- генератор
- трехфазного
-
(и ещё 1 )
C тегом:
-
Здравствуйте. Написал простенькую программу для pic16f628a на компиляторе microC. Подключаю две кнопки и по их нажатию через UARTотправляется сообщение. Предварительно прогнал в протеосе, там все работает как надо, но на железе не работает. МК не воспринимает кнопки, попробовал прогнать еще три программки чисто на кнопку, все тоже самое, выходы работают, но кнопка игнорируется. Мультиметром все прозвонил и проверил напряжения, все в норме, при нажатии кнопки на ножку подается "0". Пробовал запускать и от внешнего кварца, и от внутреннего генератора, MCLR висит на питании, все как на схеме. Помогите пожалуйста разобраться в чем проблема. Все варианты работают в протеосе. Но на железе не хотят. Возможно надо прописать что-то дополнительное чтобы МК воспринимал входящие данные?
-
Хочу реализовать передачу данных по блютуху. Возник такой вопрос: Как правильно подключать модуль блютух (HC-05) к МК (PIC16F628A)? У мк есть аппаратный UART. Данные от модуля, как я понял, тоже передаются по UART. Подключать надо так: RX(МК (7 нога)) - RX (Модуль (2 нога)) TX(МК (8 нога)) - TX (Модуль (1 нога)) или как на этой схеме: только вместо DB9 FEMALE подвести к RX и TX соответственно модуль. И если есть у кого-нибудь пример, поделитесь пожалуйста ) Сильно не пинайте я только начинаю.
- 4 ответа
-
- PIC16F628A
- HC-05
-
(и ещё 2 )
C тегом: