Onixx

Помогите Студенту-Чайнику По Мк

698 сообщений в этой теме

Alex    548
чтобы бесконечно все это скакало.
Да оно, как бы, и так не останавливается.

Поделиться сообщением


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Igor-13    1

Как это, не останавливается. Одна частота постоянно стоит, а хочется чтобы туда-сюда гуляла с определенной скоростью, типа сканера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Viktor26    302

в цикле for меяйте калибр. число с определенным промежутком по времени и будет на выходе менятся частота

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igor-13    1

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548

А что для Вас "задуманное" ?

Вы хотели получить частоту на выходе - получили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igor-13    1

Не получается. некуда всунуть этот цикл. Я думаю надо перед nop вставить счетчик от 1 до 1 миллиона после чего менять калибр. число, тогда каждую секунду будет меняться частота. А как счетчик сделать не знаю.

"задуманное"
сканер для ачх

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Viktor26    302

Этот код нужно всунуть в бесконечный цикл, в "меин ". И перед ним задержку на сколько вам нужно. А после проверяете, если калибр. число равно своему максимуму, то присвоить ему его минимум. И получится бесконечно по кругу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igor-13    1

Да, легко сказать, да трудно сделать когда я в этом слабак. Могу только копировать куски из других исходников и вставлять в свой проект. Буду пробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igor-13    1

Тупо вставляю цикл

L__main

L = 1

addlw 1

movwf OSCCAL

start

nop

L = L + 1

if L = 1000000 then goto L__main else goto start

END

Выдает BUILD FAILED

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548

if-else в АСМе ?

Шутники, млин... :)

Вот это :

start
addlw 1
movwf OSCCAL
goto start
END

уже цикл. С каждой интерацией OSCCAL увеличивается на единицу.

Зачем ещё что-то придумывать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 172

Алекс, так делать низя :)

start
addlw 2 ; надо так!
movwf OSCCAL
nop
nop
goto start
END

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Viktor26    302

все равно задержка еще нужна. и дойти до этого куска программы тоже нужно, вот человек и спрашивает куда его впихнуть.

ему про векторы никто не рассказывал, про вызовы тоже, а читать лень

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548
Алекс, так делать низя :)
Ну может быть :)
все равно задержка еще нужна
https://yandex.ru/se...=PIC Delay&lr=5
и дойти до этого куска программы тоже нужно
:

Хочется вытащить 4 МГц из PIC10F200, а как не знаю.

и не узнаешь... и не вытащишь , на выходе можно получить максимум 1Мгц

скармливаешь МПЛАБу код:

;**********************************************************************
list	 p=10F200		 ; list directive to define processor
#include <p10F200.inc>	 ; processor specific variable definitions

__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF

;**********************************************************************
ORG	 0xFF			 ; processor reset vector

; Internal RC calibration value is placed at location 0xFF by Microchip
; as a movlw k, where the k is a literal value.

ORG	 0x000			 ; coding begins here
iorlw 1
movwf OSCCAL		 ; update register with factory cal value

start
nop					
goto start

END					

получаешь хекс, заливаешь в МК и получаешь на 4выводе 1МГц

Человеку всё уже приподнесли.

А векторы тут совсем не при чём. Там используется только единственный - вектор сброса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Viktor26    302

Я понимаю, с этого вектора программа уходит на метку старт. И потом там в коде есть гото старт. А ещё же нужно инициализировать периферию и настроить чтоб на том выводе мегагерцы были. Или в пиках координально все не так как в авр?

А про задержку это я писал для вопрошаемого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Igor-13    1

думал быстро получится. пришлось книжку читать. пока не понял как сделать цикл.

Заменил nop на goto $+1 частота увеличилась на 3кгц.

start

goto $+1

goto start

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
zhur.tgn    1

народ помогите сделать 4 програмных шим канала управляюшиеся внешними кнопками

ATMEGA16a в Atmel Studio

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    548

С такой ленью писать - завязывайте с микроконтроллерами, ничего у вас не выйдет...
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    257

С PIC'ами дела не имел, но посмотрите где объявлен PC1. Скорее всего это константа, равная 1. А выражение 1=0 и должно выдавать ошибку.

Поделиться сообщением


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

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

  Разрешено не более 75 смайлов.

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

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

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

Загрузка...

  • Похожие публикации

    • Автор: admin
      Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.
      В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.
      Ведет видеокурс наш форумчанин kobzar.
      Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса
      Подписка на YouTube канал
      Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php
      Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:
      Статьи по МК для начинающих
      Книга по программированию микроконтроллеров AVR
      Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются
      Кракозябры вместо русских букв
      Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251
      Фикс:
      1.Открываем проект
      2. File - Advanced Save Options
      3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251
      Сохраняем, сохраняем проект - компилируем!
      Добавлено 12.01.16 :
      Изменённые версии библиотеки lcd_5110 :
      От COKPOWEHEU - Ссылка на пост , Ссылка на github
       
    • Автор: Dmitry Suhoruk
      Доброй ночи, мне бы не помешала помощь опытных людей. Дело в том что на днях у меня на сабе Genius GHT-s200 пошло замыкание по плате. выключил снял крышку сделал пару фото погуглил, оказалось сгорели ножки на tda7265. но дело в том что на задней стороне платы по ходу перегорела еще и дорожка.. есть опытные люди в этой сфере которые подскажут что куда пхать или на какую плату лучше заменить. ? 



    • Автор: paulb
      Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.