Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
mishan4uk
5 / 5 / 3
Регистрация: 13.03.2010
Сообщений: 254
1

Работа с индикатором (Code Vision AVR)

20.05.2011, 22:19. Просмотров 1619. Ответов 1
Метки нет (Все метки)

Помогите разобраться с програмой.
Она должна выводит на индикатор 4 цифры но никак не могу её правильно написать
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.4a Advanced
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
[url]http://www.hpinfotech.com[/url]
 
Project : 
Version : 
Date    : 20.05.2011
Author  : NeVaDa
Company : Microsoft
Comments: 
 
 
Chip type               : AT90S4433
AVR Core Clock frequency: 4 MHz
Memory model            : Tiny
External RAM size       : 0
Data Stack size         : 32
*****************************************************/
 
#include <90s4433.h>
#include <delay.h>
char decode[10]={0x3F,0x06,0x7F,0x7F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
char cdig;
char dig[4]={0,1,2,3};
interrupt [TIM0_OVF] void timer0_ovf_isr(void) {
 
if (cdig++==4) cdig=0;
PORTD=~decode[dig[cdig]];
delay_ms(50);
PORTB=PINB&0xF0 | (1<<cdig);
 
}
 
// Declare your global variables here
 
void main(void)
{
// Declare your local variables here
 
// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out 
// State5=T State4=T State3=0 State2=0 State1=0 State0=0 
PORTB=0x00;
DDRB=0x0F;
 
// Port C initialization
// Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;
DDRC=0x00;
 
// Port D initialization
// Func7=In Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=T State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
PORTD=0x00;
DDRD=0xFF;
 
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x04;
TCNT0=0xB0;
 
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1 output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1H=0x00;
OCR1L=0x00;
 
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
GIMSK=0x00;
MCUCR=0x00;
 
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=10;
 
UBRRHI=0x00;
 
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
#asm("sei")
while (1)
      {
      // Place your code here
 
      };
}
0
Вложения
Тип файла: rar Семисегментний індикатор.rar (39.8 Кб, 33 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2011, 22:19
Ответы с готовыми решениями:

Управление блоком светодиодов (Code Vision AVR)
Имеется следующее задание: Запрограммировать мигание блоков светодиодов с портом B в Code Vision...

Работа с дисплеем (ATMega128, Code Vision AVR)
Здравствуйте! При попытке настроить нужные ножки МК для работы с дисплеем, компилятор ругается на...

code vision avr
Здрасти, где тут включается окно, на которое выводится информация об ошибках при компиляции. Оно...

видео уроки по code vision
Всем привет!! ребята подскажите ,есть ли на русском языке видео уроки по кодэ вижын,если да то...

Исправление программы написанной на Code Vision под Atmel Studio
День добрый, имеется рабочая программа для Code Vision. Необходимо внести коррективы для того,...

1
radiohobbyt
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
21.05.2011, 07:21 2
зачем в 33 строчке delay? удали. а то получается, что ты зажиаешь допустим "2", 50 мс ее показываешь на одном месте, потом в 34 строке место сдвигаешь и показываешь ее же до следующего прерывания.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 07:21

Работа с индикатором WS0010
Привет всем! Столкнулся с проблемой по работе с индикатором , в графическом режиме, по...

ATMega16. Работа с индикатором HD4478
В программировании на С делаю первые шаги так что сильно не пинайте. Делаю генератор на...

Работа с семисегментным индикатором, asm
Разбираюсь по-маленьку с программированием. Светодиодами мигать уже не интересно, хочется что...


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

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

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