I
ieda
Guest
привет!кто-нибудь может мне помочь ...Я хочу, чтобы отобразить сердцебиение 7 сегмент дисплея, используя ПИК 16F877 .. счетчик автоматически каждые 60 секунд.и если обвинения превышает, например 80,
то будет по-Алам ...каждая 7segment дисплея от 0 до 9
мой вопрос, являются:
1) Я HV проблему о том, как показывать 3 цифры .. подразделение -> десятки -> сотни (моя часть дисплея)
2) как вы можете видеть, я не могу организовать мою кодирования очень хорошо ...Я Дун действительно понимают C-код формата.Дан Я знаю, как назвать мое отображение в моей программе я стараюсь .. но ..
Другими словами, я Dun уметь писать, чтобы моя программа потока правильно.
3) определять тип датчика:
если (PORTA.F4 == 1) / / подключить порт А-датчик
(
борьбы = 0;
в то время как (1) (
/ / Потом я Dun уметь 'Connect' в этой части моей части дисплея и моя основная часть3) установить таймер для сброса счетчика каждые 60 секунд, но мои LEC попросить меня рассчитывать только на 15 секунд, а затем умножить его на 4 .. Как я могу изменить мои программы** Я уже определены все 7segment интерфейса **
)Код:
Основными недействительным (недействительными) (TRISA = 0xFF; / / Портирование качестве входного
TRISB = 0; / / Порт B и порта D в качестве вывода
TRISD = 0;
TMR1H = 0xFB;
TMR1L = 0x1D;
TICON = 0b00101001 / / включить таймер 1
PIR1.TMR1IF = 0; / / Очистить таймер 1 флаг прерывания
PIE1.TMR1IE = 1; / / Включить таймер прерывает 1
INTCON.GIE = 1; / / Разрешить peripheril прервать
/ / для отображения частинедействительным дисплея () (
если (против <10);
(
case0;
display_port = 0b00000011;
брейк;case1;
display_port = 0b10011111;
Перерыв:
.
.
.
. / / До case9
)
)недействительным прерываний () (
если (PIR1.TMR1IF)
(
противодействия ;
TMR1H = 0xFB;
TMR1L = 0x1D;
PIR1.TMR1IF = 0
)силы сигнала () (
если (счетчик> 80);
PORTD.F2 = 1;
delay_ms (1000);
PORTD.F2 = 0;
)
то будет по-Алам ...каждая 7segment дисплея от 0 до 9
мой вопрос, являются:
1) Я HV проблему о том, как показывать 3 цифры .. подразделение -> десятки -> сотни (моя часть дисплея)
2) как вы можете видеть, я не могу организовать мою кодирования очень хорошо ...Я Дун действительно понимают C-код формата.Дан Я знаю, как назвать мое отображение в моей программе я стараюсь .. но ..
Другими словами, я Dun уметь писать, чтобы моя программа потока правильно.
3) определять тип датчика:
если (PORTA.F4 == 1) / / подключить порт А-датчик
(
борьбы = 0;
в то время как (1) (
/ / Потом я Dun уметь 'Connect' в этой части моей части дисплея и моя основная часть3) установить таймер для сброса счетчика каждые 60 секунд, но мои LEC попросить меня рассчитывать только на 15 секунд, а затем умножить его на 4 .. Как я могу изменить мои программы** Я уже определены все 7segment интерфейса **
)Код:
Основными недействительным (недействительными) (TRISA = 0xFF; / / Портирование качестве входного
TRISB = 0; / / Порт B и порта D в качестве вывода
TRISD = 0;
TMR1H = 0xFB;
TMR1L = 0x1D;
TICON = 0b00101001 / / включить таймер 1
PIR1.TMR1IF = 0; / / Очистить таймер 1 флаг прерывания
PIE1.TMR1IE = 1; / / Включить таймер прерывает 1
INTCON.GIE = 1; / / Разрешить peripheril прервать
/ / для отображения частинедействительным дисплея () (
если (против <10);
(
case0;
display_port = 0b00000011;
брейк;case1;
display_port = 0b10011111;
Перерыв:
.
.
.
. / / До case9
)
)недействительным прерываний () (
если (PIR1.TMR1IF)
(
противодействия ;
TMR1H = 0xFB;
TMR1L = 0x1D;
PIR1.TMR1IF = 0
)силы сигнала () (
если (счетчик> 80);
PORTD.F2 = 1;
delay_ms (1000);
PORTD.F2 = 0;
)