john120
Banned
- Joined
- Aug 13, 2011
- Messages
- 257
- Helped
- 11
- Reputation
- 22
- Reaction score
- 10
- Trophy points
- 1,298
- Activity points
- 0
Hello everybody can some body help me to solve the issue of push buttons in my program here,see the codes:
#include <16f877a.h>
#DEVICE ADC=10
#Device *=16
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include "lcd.c"
#define ARRAY_SIZE 191
//#define ARRAY_SIZE 250
float voltsf,volts;
float value;
float value1;
int i,found;
unsigned int adc_value;
int search;
float l;
const float k[]={
12349,12341,12319,12315,12300.9,12289,12260,12262,12248,12230.01,
12229.99,12209.99,12200.01,12199.99,12179.95,12180,12179.39,12170,12160,12151.3,
12150,12120,12100,12099,12095,12094.99,12085,12070,12050,12025,
12015,12010,12000,11995,11990,11985,11970,11968.99,11960,11955,
11950,11945,11940,11935,11930,11900,11885,11870,11841,11832.4};
const float t[]={
11822.3,11812,11810,11800,11790,11738.5,11736.5,11735,11725,11715,
11700,11685,11675,11660,11645,11630,11599.99,11585,11575,11565,
11550,11535,11515,11505,11498.8,11440,11430,11418,11415,11426,
11415,11404,11396,11385.6,11375,11365,11355,11345,11335,11299.99,
11285,11274.99,11274,11235,11225,11215,11199.5,11185,11175,11165};
const float u[]={
11150,11135,11120,11105,11080,11065,11052,11035,11025,11010,
10997.99,10985,10975,10964,10952,10940,10925,10915,10900,10885,
10875,10862,10850,10820,10800,10785,10775,10765,10759,10758.6,
10758.3,10748.2,10735,10725,10712,10700,10685,10672,10661,10650,
10632,10624,10613,10610,10600,10580,10560,10550,10540,10530};
const float s[]={
10519.5,10515,10500,10485,10470,10455,10440,10425,10412,10400,
10385,10370,10355,10340,10320,10300,10289.99,10275,10265,10260,
10250,10240,10225,10215,10210,10200,10185,10182,10180,10175,
10170,10165,10160,10155,10155,10145,10140,10135,10125,10120,
};
//one array divided into 3 arrays
const float j[]={
12359,12348,12340,12318,12303,12301,12280,12264,12261.2,12245,
12230,12230,12210,12200,12199.99,12199.96,12179.99,12179.38,12169.99,12159.99,
12151.29,12149.99,12120,12099.99,12098.99,12098,12097.99,12084.99,12069.99,12049.99,
12024.99,12014.99,12009.99,11999.99,11994.99,11989.99,11980,11969,11968.99,11959.99,
11954.99,11949.99,11944.99,11939.99,11934.99,11929.99,11899.99,11880,11869.99,11840.99};
const float m[]={
11832.39,11822.29,11811.99,11809.99,11799.99,11749.49,11738.49,11736.49,11734.99,11724.99,
11714.99,11699.99,11684.99,11674.99,11659.99,11644.99,11629.99,11599.97,11584.99,11574.99,
11564.99,11549.99,11525,11514.99,11504.99,11498.7,11439.99,11429.99,11417.99,11434.99,
11425.99,11414.99,11403.99,11395.99,11385.59,11374.99,11364.99,11354.99,11344.99,11334.99,
11299.98,11284.99,11275,11249.98,11234.99,11224.99,11214.99,11199.49,11184.99,11174.99};
//11274.99
const float n[]={
11164.99,11149.99,11134.99,11119.99,11090,11079.99,11064.99,11051.99,11034.99,11024.99,
11009.99,10997.98,10984.99,10974.99,10963.99,10951.99,10939.99,10924.99,10914.99,10899.99,
10884.99,10874.99,10861.99,10849.99,10819.99,10799.99,10784.99,10774.99,10764.99,10758.99,
10758.59,10758.29,10748.19,10734.99,10724.99,10711.99,10699.99,10684.99,10671.99,10660.99,
10649.99,10631.99,10623.99,10612.99,10609.99,10599.99,10579.99,10559.99,10549.99,10539.99};
const float p[]={
10529.99,10519.49,10514.99,10499.99,10484.99,10469.99,10454.99,10439.99,10424.99,10411.99,
10399.99,10384.99,10369.99,10354.99,10330,10319.99,10299.99,10289.98,10274.99,10264.99,
10259.99,10249.99,10239.99,10224.99,10214.99,10209.99,10199.99,10184.99,10181.99,10179.99,
10174.99,10169.99,10164.99,10159.99,10159.99,10149.99,10144.99,10139.99,10129.99,10124.99,
};
void main()
{
//set_tris_c(0xff);
set_tris_b(0x00);
set_tris_c(0xff);
lcd_init();
delay_us(200);
kj: printf(lcd_putc,"\fLoad165");
delay_ms(5000);
break;
kji:
set_timer1(0);
setup_timer_1(t1_external | T1_DIV_BY_8);
// delay_ms(1000);
delay_ms(250);
setup_timer_1(T1_DISABLED);
value=get_timer1();
// value1=((value*32)-56936)/100;
value1=((value*32)-59528)/100;
printf(lcd_putc,"\f%f",value1);
delay_ms(1500);
while(true)
{
if(input(PIN_C4)==0)
{
if(input(PIN_C4)==0)
for ( i =0,found=-1;i <ARRAY_SIZE ; i++)
if((value1<= j)&&(k<=value1))
{
l=(0.1*i)+8.0;
printf(lcd_putc,"\f%2.1d", i);
output_high(PIN_B6);
delay_ms(1500);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
output_low(PIN_B6);
goto kj;
// break;
}
else if((value1<= m)&&(t<=value1))
{
l=(0.1*i)+13.0;
printf(lcd_putc,"\f%2.1d", i);
delay_ms(1500);
lcd_gotoxy(4,1);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
goto kagabo;
//break;
}
else if((value1<= n)&&(u<=value1))
{
l=(0.1*i)+18.0;
printf(lcd_putc,"\f%2.1d", i);
delay_ms(1500);
lcd_gotoxy(4,1);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
goto kagabo;
// break;
}
else if((value1<= p)&&(s<=value1))
{
l=(0.1*i)+23.0;
printf(lcd_putc,"\f%2.1d", i);
delay_ms(1500);
lcd_gotoxy(4,1);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
goto kagabo;
//break;
}
else
delay_ms(5);
lcd_gotoxy(4,1);
printf(lcd_putc,"\fConnect Probe");
delay_ms(5);
//break;
}
if((input(PIN_c5)==0))
{
if((input(PIN_c5)==0))
{
delay_ms(100);
printf(lcd_putc, "\fSineWave");
delay_ms(2000);
}
}
if((input(PIN_c6)==0))
{
if((input(PIN_c6)==0))
{
delay_ms(100);
printf(lcd_putc, "\fSquare");
delay_ms(2000);
}
}
}
}
I am using ccs c compiler and PIC16F877A;when I push the buttons there is no reaction of the display;the buttons I am using are referred to this link:**broken link removed**
#include <16f877a.h>
#DEVICE ADC=10
#Device *=16
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include "lcd.c"
#define ARRAY_SIZE 191
//#define ARRAY_SIZE 250
float voltsf,volts;
float value;
float value1;
int i,found;
unsigned int adc_value;
int search;
float l;
const float k[]={
12349,12341,12319,12315,12300.9,12289,12260,12262,12248,12230.01,
12229.99,12209.99,12200.01,12199.99,12179.95,12180,12179.39,12170,12160,12151.3,
12150,12120,12100,12099,12095,12094.99,12085,12070,12050,12025,
12015,12010,12000,11995,11990,11985,11970,11968.99,11960,11955,
11950,11945,11940,11935,11930,11900,11885,11870,11841,11832.4};
const float t[]={
11822.3,11812,11810,11800,11790,11738.5,11736.5,11735,11725,11715,
11700,11685,11675,11660,11645,11630,11599.99,11585,11575,11565,
11550,11535,11515,11505,11498.8,11440,11430,11418,11415,11426,
11415,11404,11396,11385.6,11375,11365,11355,11345,11335,11299.99,
11285,11274.99,11274,11235,11225,11215,11199.5,11185,11175,11165};
const float u[]={
11150,11135,11120,11105,11080,11065,11052,11035,11025,11010,
10997.99,10985,10975,10964,10952,10940,10925,10915,10900,10885,
10875,10862,10850,10820,10800,10785,10775,10765,10759,10758.6,
10758.3,10748.2,10735,10725,10712,10700,10685,10672,10661,10650,
10632,10624,10613,10610,10600,10580,10560,10550,10540,10530};
const float s[]={
10519.5,10515,10500,10485,10470,10455,10440,10425,10412,10400,
10385,10370,10355,10340,10320,10300,10289.99,10275,10265,10260,
10250,10240,10225,10215,10210,10200,10185,10182,10180,10175,
10170,10165,10160,10155,10155,10145,10140,10135,10125,10120,
};
//one array divided into 3 arrays
const float j[]={
12359,12348,12340,12318,12303,12301,12280,12264,12261.2,12245,
12230,12230,12210,12200,12199.99,12199.96,12179.99,12179.38,12169.99,12159.99,
12151.29,12149.99,12120,12099.99,12098.99,12098,12097.99,12084.99,12069.99,12049.99,
12024.99,12014.99,12009.99,11999.99,11994.99,11989.99,11980,11969,11968.99,11959.99,
11954.99,11949.99,11944.99,11939.99,11934.99,11929.99,11899.99,11880,11869.99,11840.99};
const float m[]={
11832.39,11822.29,11811.99,11809.99,11799.99,11749.49,11738.49,11736.49,11734.99,11724.99,
11714.99,11699.99,11684.99,11674.99,11659.99,11644.99,11629.99,11599.97,11584.99,11574.99,
11564.99,11549.99,11525,11514.99,11504.99,11498.7,11439.99,11429.99,11417.99,11434.99,
11425.99,11414.99,11403.99,11395.99,11385.59,11374.99,11364.99,11354.99,11344.99,11334.99,
11299.98,11284.99,11275,11249.98,11234.99,11224.99,11214.99,11199.49,11184.99,11174.99};
//11274.99
const float n[]={
11164.99,11149.99,11134.99,11119.99,11090,11079.99,11064.99,11051.99,11034.99,11024.99,
11009.99,10997.98,10984.99,10974.99,10963.99,10951.99,10939.99,10924.99,10914.99,10899.99,
10884.99,10874.99,10861.99,10849.99,10819.99,10799.99,10784.99,10774.99,10764.99,10758.99,
10758.59,10758.29,10748.19,10734.99,10724.99,10711.99,10699.99,10684.99,10671.99,10660.99,
10649.99,10631.99,10623.99,10612.99,10609.99,10599.99,10579.99,10559.99,10549.99,10539.99};
const float p[]={
10529.99,10519.49,10514.99,10499.99,10484.99,10469.99,10454.99,10439.99,10424.99,10411.99,
10399.99,10384.99,10369.99,10354.99,10330,10319.99,10299.99,10289.98,10274.99,10264.99,
10259.99,10249.99,10239.99,10224.99,10214.99,10209.99,10199.99,10184.99,10181.99,10179.99,
10174.99,10169.99,10164.99,10159.99,10159.99,10149.99,10144.99,10139.99,10129.99,10124.99,
};
void main()
{
//set_tris_c(0xff);
set_tris_b(0x00);
set_tris_c(0xff);
lcd_init();
delay_us(200);
kj: printf(lcd_putc,"\fLoad165");
delay_ms(5000);
break;
kji:
set_timer1(0);
setup_timer_1(t1_external | T1_DIV_BY_8);
// delay_ms(1000);
delay_ms(250);
setup_timer_1(T1_DISABLED);
value=get_timer1();
// value1=((value*32)-56936)/100;
value1=((value*32)-59528)/100;
printf(lcd_putc,"\f%f",value1);
delay_ms(1500);
while(true)
{
if(input(PIN_C4)==0)
{
if(input(PIN_C4)==0)
for ( i =0,found=-1;i <ARRAY_SIZE ; i++)
if((value1<= j)&&(k<=value1))
{
l=(0.1*i)+8.0;
printf(lcd_putc,"\f%2.1d", i);
output_high(PIN_B6);
delay_ms(1500);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
output_low(PIN_B6);
goto kj;
// break;
}
else if((value1<= m)&&(t<=value1))
{
l=(0.1*i)+13.0;
printf(lcd_putc,"\f%2.1d", i);
delay_ms(1500);
lcd_gotoxy(4,1);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
goto kagabo;
//break;
}
else if((value1<= n)&&(u<=value1))
{
l=(0.1*i)+18.0;
printf(lcd_putc,"\f%2.1d", i);
delay_ms(1500);
lcd_gotoxy(4,1);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
goto kagabo;
// break;
}
else if((value1<= p)&&(s<=value1))
{
l=(0.1*i)+23.0;
printf(lcd_putc,"\f%2.1d", i);
delay_ms(1500);
lcd_gotoxy(4,1);
printf(lcd_putc,"\f%2.1f", l);
printf(lcd_putc,"\%%");
delay_ms(1500);
goto kagabo;
//break;
}
else
delay_ms(5);
lcd_gotoxy(4,1);
printf(lcd_putc,"\fConnect Probe");
delay_ms(5);
//break;
}
if((input(PIN_c5)==0))
{
if((input(PIN_c5)==0))
{
delay_ms(100);
printf(lcd_putc, "\fSineWave");
delay_ms(2000);
}
}
if((input(PIN_c6)==0))
{
if((input(PIN_c6)==0))
{
delay_ms(100);
printf(lcd_putc, "\fSquare");
delay_ms(2000);
}
}
}
}
I am using ccs c compiler and PIC16F877A;when I push the buttons there is no reaction of the display;the buttons I am using are referred to this link:**broken link removed**
Last edited: