Игральная кость на микроконтроллере PIC16F88 » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Прочее » Игральная кость на микроконтроллере PIC16F88
    Игральная кость на микроконтроллере PIC16F88
    Автор публикации: alex Просмотров: 2838 Добавлен: 1-04-2013, 04:37 Комментарии: 0

         "Игральная кость" – это простой пример применения PIC микроконтроллера. Схема генерирует случайное число и отображает его на светодиодах, сгруппированных в соответствии с расположением точек на игральной кости. При сборке устройства можно установить режим медленного или быстрого вращения кости.

    Перечень компонентов схемы

    Компонент

    Номинал

    Количество

    Резистор

    220 Ом

    7

    Резистор

    10 кОм

    1

    Резистор

    4.7 кОм

    1

    Движковый переключатель

     

    1

    Кнопка

     

    1

    Держатель 4-х батарей AA

     

    1

    Батарея AA

     

    4

    Светодиод

    Красный

    7

    Панелька для микросхемы

    18 выводов

    1

    Микроконтроллер

    PIC16F88

    1


    Принципиальная схема
    Размещение компонентов
    Надписи на схеме
    Micro-Dice Schematic Схема электронной игральной кости
    To +6V for slow roll
    to +0V for fast roll
    Подключить к +6 В для медленного вращения кости
    подключить к 0 В для быстрого вращения кости
    Slide Switch Движковый переключатель
    Placement Diagram Схема размещения компонентов

    Описание
         Это чисто цифровая схема, и описание ее работы мы будем вести в терминах «высокий уровень» и «низкий уровень». При питании схемы от 6 В, «высокий уровень» означает диапазон напряжений от 5 до 6 В, а «низкий уровень» – напряжение меньше 1 В.
         В микроконтроллере есть два регистра ввода/вывода (PORTA, PORTB). Путем соответствующего конфигурирования регистров, чтения из них, или записи, можно получать сложные результаты, не создавая сложной схемы. В нашей схеме используются все 8 выводов порта PORTB (выводы микроконтроллера 6, 7, 8, 9, 10, 11, 12, 13), которым присваиваются обозначения от PORTB.0 до PORTB.7. PORTB.0 сконфигурирован входом для проверки факта отпускания кнопки. Выводы от PORTB.1 до PORTB.7 – это выходы, к которым, через резисторы 220 Ом, подключены светодиоды. Светодиоды подключены к + 6 В, и загораются при появлении низкого уровня на соответствующем выводе микроконтроллера. Расположение зажигаемых светодиодов соответствует расположению точек на игральной кости. Это обеспечивается соответствующим кодированием.
         Исходное состояние вывода PORTB.0 поддерживается в низком уровне с помощью резистора 10 кОм, подключенного между этим выводом и 0 В. При нажатии кнопки, на выводе PORTB.0 устанавливается высокий уровень, т.к. кнопка подключена к +6 В.
         В схеме используется и один вывод PORTA: PORTA.6. Он используется для того, чтобы задавать быстрый или медленный режим вращения кости. Для этого резистор 10 кОм надо припаять к 0 В, или к +6 В.
         Для упрощения схемы используется внутренний тактовый генератор PIC16F88. Вход «Сброс» микроконтроллера (вывод 4) подключен к +6 В через резистор 4.7 кОм, чтобы наводки по этому входу не приводили к перезапуску микросхемы.

    Программа
    program LED_Dice_decay
    dim portb_bit as byte
    dim porta_bit as byte 'Объявление переменных dim counter as integer
    main:
    TRISB = %00000001 ' Конфигурирование всех выводов PORTA, кроме вывода 0, как выходов
    TRISA = %11111111
    PORTB = %11111110 'Выключение светодиодов
    ' PORTA = %00000000
    counter = 1
    eloop: 'Начало цикла
    portb_bit = PORTB.0 'Проверка статуса кнопки
    if portb_bit = 1 then 'Кнопка нажата
    counter = counter + 1
    end if
    porta_bit = PORTA.6 'Проверка установленной скорости вращения кости (медленная/быстрая)
    if porta_bit = 1 then 'Режим медленного вращения
    delay_ms(300)
    end if
    if counter = 7 then 'Обработка ошибки
    counter = 1
    end if
    select case counter 'Включение соответствующих светодиодов
    case 1
    PORTB = %11101110
    case 2
    PORTB = %11010110 ' 0 = ВКЛЮЧЕНО
    case 3
    PORTB = %11000110
    case 4
    PORTB = %01010100 ' 1 = ВЫКЛЮЧЕНО
    case 5
    PORTB = %01000100
    case 6
    PORTB = %00010000

    end select
    goto eloop ' Оставаться в цикле
    end

    Источник: cdselectronics.com

    Категория: Прочее, PIC16
    « Назад
    Комментарии
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.