Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Своими руками

Своими руками Завершенные и текущие проекты, хард & софт

Ответ
 
Опции темы Опции просмотра
Старый 14.06.2013, 20:54   #1
Yamko
Junior Member
 
Регистрация: 14.06.2013
Возраст: 25
Сообщений: 3
Вес репутации: 100/0
Yamko will become famous soon enoughYamko will become famous soon enough
По умолчанию PIC12F683. Подключить буззер

Доброго времени суток. Сей девайс делаю для получения зачета, и нужна помощь. Хочу подключить к этой схеме буззер на пин GP2 и на землю. Помогите дописать прошивку.
Код на С:
Код:
* PIC PIN Assignemnt :
 *
 * GP0 : detect LED indicator
 * GP1 : calibrate LED indicator
 * GP2 : NC
 * GP3 : NC
 * GP4, GP5 : inductor
 *
 *******************************************************************************
 */
 
#define MAXTRY 15       // number of watchdog restart to calibrate loop counter
 
unsigned char   ctr ;           // number of loops between two watchdog resets
unsigned char   previous ;      // previous value of ctr
unsigned char   calibr ;        // calibration value when oscillator runs free
unsigned char   restarts ;      // number of watchdog restarts
unsigned char   en ;            // enable flag, allows detection
 
/*
 * main loop
 */
void    main()
        {
        unsigned char   i ;
        
 
        /*
         * configure GPIO as digital port
         */
        CMCON0 = 7 ;
        ANSEL = 0 ;
        TRISIO = 0 ;
        GPIO = 0 ;
 
        /*
         * power up ?
         */
        if(STATUS.NOT_TO)
                {
                /*
                 * yes, init variables
                 */
                restarts = 0 ;
                calibr = 1 ;
                }
 
        /*
         * watchdog reset counter
         */
        if(restarts < 255) restarts++ ;
 
        /*
         * if counter differs too much from calibration value
         */
        if((previous ^ ctr) > calibr)
                {
                /*
                 * turn detect LED on
                 */
                GPIO.F0 = en ;
                
                /*
                 * if not on power up
                 */
                if(STATUS.NOT_TO == 0)
                        {
                        /*
                         * while in calibration mode
                         */
                        if(restarts < MAXTRY)
                                {
                                /*
                                 * shift calibration value
                                 * and wait a little bit
                                 */
                                calibr <<= 1 ;
                                Delay_ms(5) ;
                                }
                        }
                else
                        {
                        /*
                         * turn detect LED off
                         */
                        GPIO.F0 = 0 ;
                        }
                }
 
        /*
         * save last counter
         */
        previous = ctr ;
 
        /*
         * is calibration over ?
         */
        if(restarts > MAXTRY)
                {
                /*
                 * yes, turn calibrate LED off
                 * and set enable flag
                 */
                GPIO.F1 = 0 ;
                en = 1 ;
                }
        else
                {
                /*
                 * no, turn calibrate LED on
                 * and clear enable flag
                 */
                GPIO.F1 = 1 ;
                en = 0 ;
                }
 
        /*
         * set watchdog prescaler
         */
        OPTION_REG = 0b11111001 ;
        
        /*
         * start counter, to be interrupted by watchdog
         */
        ctr = 0 ;
        for(;;)
               {
               ctr++ ;
               }
        }
Миниатюры
PicDetector-metal-detector-circuit-schematic.png  
Yamko вне форума   Ответить с цитированием
Старый 14.06.2013, 21:56   #2
Marat
Senior Member
 
Аватар для Marat
 
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 835
Вес репутации: 805/63
Marat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to behold
По умолчанию Re: PIC12F683. Подключить буззер

Когда он должен "бузерить"? Когда на GP0 единица ?
__________________
RTFM.....и будет вам счастье
Marat на форуме   Ответить с цитированием
Старый 14.06.2013, 22:05   #3
Yamko
Junior Member
 
Регистрация: 14.06.2013
Возраст: 25
Сообщений: 3
Вес репутации: 100/0
Yamko will become famous soon enoughYamko will become famous soon enough
По умолчанию Re: PIC12F683. Подключить буззер

Цитата:
Сообщение от Marat Посмотреть сообщение
Когда он должен "бузерить"? Когда на GP0 единица ?
Ага
Yamko вне форума   Ответить с цитированием
Старый 14.06.2013, 22:20   #4
Marat
Senior Member
 
Аватар для Marat
 
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 835
Вес репутации: 805/63
Marat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to beholdMarat is a splendid one to behold
По умолчанию Re: PIC12F683. Подключить буззер

Ну, попробуй в тех местах, где встречается GPIO.F0=блаблабла этажом ниже добавить строку GPIO.F2=блаблабла.

Чё будет?
__________________
RTFM.....и будет вам счастье
Marat на форуме   Ответить с цитированием
Старый 14.06.2013, 22:49   #5
Yamko
Junior Member
 
Регистрация: 14.06.2013
Возраст: 25
Сообщений: 3
Вес репутации: 100/0
Yamko will become famous soon enoughYamko will become famous soon enough
По умолчанию Re: PIC12F683. Подключить буззер

Цитата:
Сообщение от Marat Посмотреть сообщение
Ну, попробуй в тех местах, где встречается GPIO.F0=блаблабла этажом ниже добавить строку GPIO.F2=блаблабла.

Чё будет?
Схему надо переделать под программное включение сигнала. Поэтому и узнаю как это сделать программно или же делать аппаратно (на первой плате плохо получилось)
Yamko вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывание (PIC12F683) angelcorpc Продукция MICROCHIP 11 21.11.2010 20:42
Матричная клавиатура. Как подключить? Dark_alex Продукция MICROCHIP 10 05.10.2010 23:41
Подключить 7-сегментный индикатор к PIC Vovka Общетехнические вопросы 51 31.08.2010 17:03
Подключить лампу к ножке МК Dmitry_177 Общетехнические вопросы 29 29.10.2009 22:24
Помогите подключить МК и две лампочки Dmitry_177 Общетехнические вопросы 21 08.10.2009 12:50


Часовой пояс GMT +3, время: 22:56.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot