Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
tayber
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 8
1

Описать подробно действия программы для AVR Studio 4

05.06.2016, 14:14. Просмотров 362. Ответов 0

На лабораторных дали стенд - калькулятор и показали пример программы если не сложно объясните поэтапно как она работает. Задание
Отобразить на ЖКИ индикаторе надпись «Калькулятор».
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <avr/interrupt.h>
#include <avr/delay.h>
uint8_t mas[i];
void setPortB(unsigned char a){
    _delay_loop_2(1000);
    PORTB = a;
    PORTD = _BV(7);
    PORTD = 0;
    };
void print(unsigned char a){
    _delay_loop_2(1000);
    PORTD=_BV(5);
 
    PORTB = (a>>4)&(0xF);
 
    PORTD|=_BV(7);
    PORTD &=(~_BV(7));
 
    _delay_loop_2(1000);
 
    PORTB = a&(0xF);
 
    PORTD|=_BV(7);
    PORTD &=(~_BV(7));
};
 
void print2(unsigned char a){
    _delay_loop_2(1000);
    PORTD&=~_BV(5);
 
    PORTB = (a>>4)&(0xF);
 
    PORTD|=_BV(7);
    PORTD &=(~_BV(7));
 
    _delay_loop_2(1000);
 
    PORTB = a&(0xF);
 
    PORTD|=_BV(7);
    PORTD &=(~_BV(7));
};
 
int main(){
    DDRD = 0xFF;
    DDRB = 0xFF;
    DDRC = 0xFF;
    
    PORTB = 0;
    PORTC = 0;
    PORTD = 0;
    
    _delay_loop_2(50000);
    _delay_loop_2(50000);
    _delay_loop_2(50000);
    _delay_loop_2(50000);
    
    //Function set
    setPortB(_BV(1));
    setPortB(_BV(1));
    setPortB(_BV(2)|_BV(3));
    
    //Display on/off control
    setPortB(0);
    setPortB(_BV(1)|_BV(2)|_BV(3));
 
    //Display clear      
    setPortB(0);
    setPortB(_BV(0));
 
    //Entry mode set
    setPortB(0);
    setPortB(_BV(0)|_BV(1));
 
    //Function set
    setPortB(_BV(1));
    setPortB(_BV(2)|_BV(3));
 
    print(0x4B); //к
    print(0x61); //а
    print(0xBB); //л
    print(0xC4); //ь
    print(0xBA); //к
    print(0x79); //у
    print(0xBB); //л
    print(0xC7); //я
    print2(0b10000000+0x40);
    print(0xBF); //т
    print(0x6F); //о
    print(0x70); //р
};
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2016, 14:14
Ответы с готовыми решениями:

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все работает, если этот...

Компиляция программы AVR Studio 4.18
При попытке собрать программу компилятор(AVR Studio 4.18) выдает такое сообщение: AVR Memory...

Ошибки при написании программы Avr Studio
Здравствуйте коллеги, написал программу, которая реализует огонь на ассемблере. В программировании...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...

Программа для движения робота в AVR Studio язык Assembler
Как написать макросы движения в AVR Studio язык Assembler Есть наземный робот и для его движения в...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2016, 14:14

GCC и AVR Studio 5 и AVR Studio 4.18
Доброго дня Всем! Кто может подсказать следующее - у меня установлена AVR Studio 5 со встроеным...

Подробно описать работу и схему программы (за оплату)
Программа

(Avr Studio + WinAvr) vs (mikroC PRO for AVR)
Сам пользуюсь (Avr Studyo + WinAvr). Ктонибудь использует mykroC PRO for AVR ? Слышал там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.