Скачиваний:
2
Добавлен:
27.01.2022
Размер:
1.09 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ

КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. И. РАЗЗАКОВА

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

КАФЕДРА «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»

Отчет

Лабораторная работа 4

Бишкек 2020

Собрать схему из светодиода и матричной клавиатуры. Запрограммировать

микроконтроллер так, чтобы при нажатии на цифры клавиатуры светодиод менял

яркость в соответствии с диапазоном.

Код программы:

#define F_CPU 1000000UL

#include <avr/io.h>

#include <util/delay.h>

#include <avr/interrupt.h>

#include <avr/eeprom.h>

unsigned char key_tab[4] = {0b11111110,

0b11111101,

0b11111011,

0b11110111};

unsigned char key_value = 0;

void led(int a){

for (int i=0;i<a;i++)

{

PORTA = 0xFF;

_delay_ms(50);

PORTA = 0x00;

_delay_ms(50);

}

key_value = 0;

}

ISR (TIMER1_COMPA_vect)

{

unsigned char i;

for(i = 0;i < 4;i++)

{

PORTC = key_tab[i];

switch (PINC & 0b11110000)

{

case 0b11100000:

key_value = 1 + i * 3;

break;

case 0b11010000:

key_value = 2 + i * 3;

break;

case 0b10110000:

key_value = 3 + i * 3;

break;

default:

break;

}

}

}

int main(void)

{

PORTD = 0x00;

DDRD = 0xFF;

DDRC = 0b00001111;

PORTC = 0xF0;

DDRB=0xFF;

TCCR1B |= (1<<WGM12); // устанавливаем режим СТС (сброс по совпадению)

TIMSK |= (1<<OCIE1A); //устанавливаем бит разрешения прерывания 1ого счетчика по совпадению с OCR1A(H и L)

OCR1AH = 0b00000011; //записываем в регистр число для сравнения

OCR1AL = 0b01000010;

TCCR1B |= (1<<CS11);//установим делитель.

DDRB |=(1<<3);

OCR0=100;

TCCR0=0B01111011;

TIMSK|=(1<<1);

asm("sei");

while (1)

{

PORTD = key_value;

asm("nop");

if(key_value==1){

OCR0=0;

}

if(key_value==2){

OCR0=50;

}

if(key_value==3){

OCR0=80;

}

if(key_value==4){

OCR0=150;

}

if(key_value==5){

OCR0=200;

}

if(key_value==6){

OCR0=0;

}

if(key_value==7){

OCR0=2;

}

if(key_value==8){

OCR0=250;

}

if(key_value==9){

OCR0=140;

}

}

}

обычный режим

кнопка один

кнопка два

кнопка три

кнопка 4

кнопка 5

кнопка 6

и тд

Соседние файлы в папке Микропроцессорные средства и системы