Примеры с сайта AVR+ Electronics - Цифровая кость или генератор случайных чисел.

Автор: Internet. Опубліковано в Початківцям з CV AVR

Зміст статті

 Цифровая кость или генератор случайных чисел.

В этой статье я покажу, как создать генератор случайных чисел вывод их на 7-ми сегментный LED дисплей. И так устройство собрано на МК ATmega8. При нажатии кнопки МК считает дребезг контактов кнопки и выводит это число на LED. При последующем нажатии цикл повторяется с нова. Вот схема:


Мк тактируется от внутреннего RC-генератора на 1мгц.

Подключаем питание к МК +5V к 7-й ножке, а -5V к 8-й ножке.

Вот исходник для Code Vision AVR:

Code
/*****************************************************
Project: Chifrovay kost.
*****************************************************/
#include<mega8.h>
unsigned char clik;
void main(void)
{
//Port B initialization
PORTB=0×00;
DDRB=0×00;
//Port C initialization
PORTC=0xFF;
DDRC=0×00;
//Port D initialization
PORTD=0xFF;
DDRD=0xFF;
while(1){
switch(clik){                     //выводим то число которое в переменной clik
case 0:{PORTD=0b11000000; break;} //0
case 1:{PORTD=0b11111001; break;}  //1
case 2:{PORTD=0b10100100; break;} //2
case 3:{PORTD=0b10110000; break;}  //3
case 4:{PORTD=0b10011001; break;}  //4
case 5:{PORTD=0b10010010; break;}  //5
case 6:{PORTD=0b10000010; break;}  //6
case 7:{PORTD=0b11111000; break;}  //7
case 8:{PORTD=0b10000000; break;}  //8
case 9:{PORTD=0b10010000; break;}  //9
}
if(!PINC.0){                                               //если нажата кнопка
clik++;                                                   //прибавляем 1 к переменной
if(clik>9)clik=0;                                   //не даём переменной быть больше 9
}
};
}