C
chanduchi
Guest
Здравейте приятели
Ето сега показване на напрежението на дисплея 7 сегмент
В тази програма сега пред diaplay probalm
Това е трептене и не се показва точните стойности на дисплея
Моля, решаване на този problam
С уважение
Naresh/ * Програма за показване аналогово напрежение на дисплея 7 сегмент * /
# включват <reg51.h>
# включват <stdio.h>
нищожен Delay (грозен INT);
sbit R = P1 ^ 0; / * ADC контрол бита * /
sbit W = P1 ^ 1;
sbit I = P1 ^ 2;sbit C1 = P3 ^ 0; / * Горен позволи малко за дисплей 1 седем сегмента * /
sbit C2 = P3 ^ 1 / * Горен даде възможност за показване малко седем сегмента 2 * /
sbit C3 = P3 ^ 0; / * Горен даде възможност за показване малко седем сегмента 3 * /
sbit c4 = P3 ^ 1 / * Горен позволи малко за 4seven сегментен дисплей * /
нищожен основни (Void)
(
Чар конвертирате [10] = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90); / Дисплей елементи * /грозен Чар стойност, стойност1;
грозен Чар A, B, C, S1, S2, S3, S4, A1, B1, D1;
дълго Int F, E;
стойност1 = 0;
B = 0xc4;
C = 0x64;
P0 = 0xFF; / * P0 е Input Порт * /
I = 0; / * ADC контролните елементи инициализация * /
R = 1;
W = 1;
Стойност = 0;
Макар че (1)
(
W = 0;
W = 1 / * ADC реализация започва тук * /
Докато (I == 1);
R = 0;
Value = P0; / * Да шестнадесетичен номер, който съответства на аналогови входно напрежение * /а = стойност; / * превръщане на броя Hex на напрежение Пример: 0xff = 5.00V * /
E = A * B;
F = E / C;
S1 = f/10; / * Hex на знак след десетичната преобразуване * /
S2 = е 10%;
s3 = s1/10;
s4 = S1% 10;
a1 = конвертирате [s3]; / * седем сегментен дисплей преобразуване * /
d1 = конвертирате [s4];
b1 = конвертирате [S2];
ако (стойност = стойност1)
(
P2 = S1;
C1 = 1; / * Горен даде възможност * /
Забавяне (100);
C1 = 0; / * Горен забраните * /
P2 = S2;
C2 = 1; / * Горен даде възможност * /
Забавяне (100);
C2 = 0; / * Горен забраните * /
P2 = S3;
C3 = 1; / * Горен даде възможност * /
Забавяне (100);
C3 = 0; / * Горен правя неспособен * /
P2 = S3;
C3 = 1; / * Горен даде възможност * /
Забавяне (100);
C3 = 0; / * Горен правя неспособен * /
)
Стойност1 = стойност;
R = 1;
)
/ * Сега използва 11.052MHZ Crystal * /
нищожен Delay (грозен Int време)
(
грозен Int I, J;
за (I = 0; I <време; I )
за (к = 0; J <1275; J );
)
Ето сега показване на напрежението на дисплея 7 сегмент
В тази програма сега пред diaplay probalm
Това е трептене и не се показва точните стойности на дисплея
Моля, решаване на този problam
С уважение
Naresh/ * Програма за показване аналогово напрежение на дисплея 7 сегмент * /
# включват <reg51.h>
# включват <stdio.h>
нищожен Delay (грозен INT);
sbit R = P1 ^ 0; / * ADC контрол бита * /
sbit W = P1 ^ 1;
sbit I = P1 ^ 2;sbit C1 = P3 ^ 0; / * Горен позволи малко за дисплей 1 седем сегмента * /
sbit C2 = P3 ^ 1 / * Горен даде възможност за показване малко седем сегмента 2 * /
sbit C3 = P3 ^ 0; / * Горен даде възможност за показване малко седем сегмента 3 * /
sbit c4 = P3 ^ 1 / * Горен позволи малко за 4seven сегментен дисплей * /
нищожен основни (Void)
(
Чар конвертирате [10] = (0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90); / Дисплей елементи * /грозен Чар стойност, стойност1;
грозен Чар A, B, C, S1, S2, S3, S4, A1, B1, D1;
дълго Int F, E;
стойност1 = 0;
B = 0xc4;
C = 0x64;
P0 = 0xFF; / * P0 е Input Порт * /
I = 0; / * ADC контролните елементи инициализация * /
R = 1;
W = 1;
Стойност = 0;
Макар че (1)
(
W = 0;
W = 1 / * ADC реализация започва тук * /
Докато (I == 1);
R = 0;
Value = P0; / * Да шестнадесетичен номер, който съответства на аналогови входно напрежение * /а = стойност; / * превръщане на броя Hex на напрежение Пример: 0xff = 5.00V * /
E = A * B;
F = E / C;
S1 = f/10; / * Hex на знак след десетичната преобразуване * /
S2 = е 10%;
s3 = s1/10;
s4 = S1% 10;
a1 = конвертирате [s3]; / * седем сегментен дисплей преобразуване * /
d1 = конвертирате [s4];
b1 = конвертирате [S2];
ако (стойност = стойност1)
(
P2 = S1;
C1 = 1; / * Горен даде възможност * /
Забавяне (100);
C1 = 0; / * Горен забраните * /
P2 = S2;
C2 = 1; / * Горен даде възможност * /
Забавяне (100);
C2 = 0; / * Горен забраните * /
P2 = S3;
C3 = 1; / * Горен даде възможност * /
Забавяне (100);
C3 = 0; / * Горен правя неспособен * /
P2 = S3;
C3 = 1; / * Горен даде възможност * /
Забавяне (100);
C3 = 0; / * Горен правя неспособен * /
)
Стойност1 = стойност;
R = 1;
)
/ * Сега използва 11.052MHZ Crystal * /
нищожен Delay (грозен Int време)
(
грозен Int I, J;
за (I = 0; I <време; I )
за (к = 0; J <1275; J );
)