DiGiTi
1

Требуется помощь с програмкой

16.03.2009, 23:48. Показов 1699. Ответов 2
Метки нет (Все метки)

Подскажите пожалуйста что мне изменить в этой программе:

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
#include<reg51.h>
#include<lab8.h>
#include<ssi.h>
 
 
#define PERIOD_hi 19457 >> 8 //Период работы таймера для обеспечения
#define PERIOD_lo 19457 - PERIOD_hi<<8 //50 мс интервалов
 
sbit DD1 = P3^2; 
sbit DSI1 = P3^4;
sbit DSI2 = P3^5;
 
unsigned int count50ms; //Количество 50 мс промежутков времени, вырабатываемых таймером
 
void timer1 (void) interrupt 3 using 2 //Обработка прерываний от таймера 1
{
TH1 = PERIOD_hi;
TL1 = PERIOD_lo;
count50ms++; //Увеличиваем каждые 50 мс
}
 
void int1 (void) interrupt 2 using 2 //Обработка прерываний от входа INT1 (ДД2)
{ //обрабатывается задний фронт сигнала
if (count50ms > 2)
{
ssi_write_word(count50ms / 2);
count50ms = 0;
} 
}
 
void delay100ms (void) //Задержка 100 мс
{
unsigned short register x;
x = 11200;
while (--x!=0);
}
 
void delay1s (void) //Задержка 1 с
{
unsigned char i;
for (i = 10; i>0; i--)
{
delay100ms();
}
}
 
void delay05s (void) //Задержка 0.5 с
{
unsigned char i;
for (i = 5; i>0; i--)
{
delay100ms();
}
}
 
void main (void)
{
init_stend(); //перед начало выполнения своих действий необходимо проинициализировать 
//учебный стенд СУ-51
init_SSI (); //Инициализация CСИ
 
IT1 = 1; //Прервание от внешнего источника INT1 (ДД2) по срезу
TH1 = PERIOD_hi; //Загрузка первоначальных значений регистра счетчика
TL1 = PERIOD_lo; //для реализации интервала 50 мс
TMOD &= 0x0F; //Настройка таймера 1
TMOD |= 0x90; //GATE = 1, режим 1
TR1 = 1; //Запуск таймера 1
ET1 = 1; //Разрешение прерываний от таймера 1
EX1 = 1; //Разрешение прерывания от внешнего источника
EA = 1; //Глобальное разрешение прерываний
 
while (1) //Обработка состояния датчика ДД1
{
if (DD1)
{
DSI2 = 1;
DSI1 = ~DSI1;
delay1s();
}
else
{
DSI2 = 0;
DSI1 = ~DSI1;
delay05s();
} 
} 
}

что бы получилось вот это

Пожалуйста помогите и не ругайтесь на то что я дуб
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2009, 23:48
Ответы с готовыми решениями:

Задание по Страуструпу. Требуется помощь
Доброй ночи! на картиночке задание по Страуструпу. первую и третью часть я довел до рабочего...

Требуется помощь!Робот-фермер..
Доброго времени суток!Требуется помощь ,я только начинаю учить си ++,поэтому прошу проявить...

требуется помощь
всем привет, в наличии имеется шикарная вещь под названием &quot;светодиодная видео труба&quot;, кахдая труба...

Требуется помощь
Здравствуйте. Уважаемые программисты, не могли бы вы объяснить новичку принцып работы ниже...

2
Maniac
Эксперт С++
1463 / 964 / 160
Регистрация: 02.01.2009
Сообщений: 2,818
Записей в блоге: 1
17.03.2009, 05:15 2
Цитата Сообщение от DiGiTi Посмотреть сообщение
Подскажите пожалуйста что мне изменить в этой программе
на это будет трудно ответить так как не у каждого есть такие инклуды:
C++
1
2
3
#include<reg51.h>
#include<lab8.h>
#include<ssi.h>
и вопрос ваш не совсем понятен.
0
DiGiTi
17.03.2009, 11:15 3
Мне задали задание 4.5 на 9 странице из этой лабороторной, нужно запрограмировать микроконтролеоа MCS 51, требуется получить временную задержку с выводом на индикаторе ССИ
А инклудов этих мне не дали, может забыли
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2009, 11:15
Помогаю со студенческими работами здесь

Требуется помощь
Здравствуйте,пересмотрел много форумов,но так и не нашел ответа вопрос1- как сделать так чтобы в...

Требуется помощь!
Приветствую всех! :) Не знаю, как начать! В общем, я открыл сайт с посещаемость в будние дни до...

требуется помощь!!
есть сайт tstecoline.ru пытаюсь его раскрутить для конторы. денег мизер, поэтому пока сделано: ...

Требуется помощь
Добрые люди, подскажите пожалуйста стоимость вывода в ТОП сайта по запросам: мрамор, гранит,...

Требуется помощь!!!
.........Друзья Мои!!! Помогите пожалуйста(ссылочку если есть) скачать драйвер(очень древний) :...

Требуется помощь
Здравстуйте, гуру оптимизации и раскрутки! Обращаюсь к вам за помощью и советом, т.к. мало что...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru