Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

sir can any brother convert this code in hi-tech c 9.80

Status
Not open for further replies.

s0y

Junior Member level 1
Junior Member level 1
Joined
Apr 11, 2014
Messages
19
Helped
2
Reputation
4
Reaction score
2
Trophy points
3
Visit site
Activity points
115
sir please convert this code in hi-tech c 9.80


Code C - [expand]
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
unsigned char ch;
unsigned int adc_rd0;
unsigned int temp0=0,temp1=0;
unsigned max_point0 = 0;
unsigned int i,tlong0,tlong1;
 
// LCD module connections
sbit LCD_RS at RB7_bit;
sbit LCD_EN at RB6_bit;
sbit LCD_D4 at RB5_bit;
sbit LCD_D5 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D7 at RB2_bit;
 
sbit LCD_RS_Direction at TRISB7_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;
// End LCD module connections
 
char message1[] = "PK:000V";
char message2[] = "RMS:000V";
 
char *freq = " 00";
void Display_Freq(unsigned int freq2write)
{
 freq[1] = (freq2write/10) + 48;    // Extract tens digit
 freq[2] =  (freq2write/1)%10 + 48;    // Extract ones digit
 // Display Frequency on LCD
 Lcd_Out(2, 11, freq);
 Lcd_Out(2,14,"Hz");
}
void main()
{
 TRISA = 0xFF; // set all pins of PORT A as input
 TRISC = 0x00; // set all pins as output
 PORTC = 0x00; // clear port C
 PORTB = 0x00; // clear port B
 ADCON1=0x00; // set all Analog
 Delay_ms(1000);
 
 OPTION_REG = 0b00101000; // set TOCKI as clock counter
 
 Lcd_Init();
 Lcd_Cmd(_LCD_CLEAR);
 Lcd_Cmd(_LCD_CURSOR_OFF);
 
 Lcd_Out(1,1,"Measurement of");
 Lcd_Out(2,1,"AC parameter ");
 Delay_ms(2000);
 
 Lcd_Cmd(_LCD_CLEAR);
 
  while(1)
  {
            // Find the peak amplitude of the sine wave...
            max_point0 = 0;
            for(i=0;i<5000;i++)
            {
                ADCON0 = 0b00000001;
                if(temp0 = ADC_Read(0),temp0>max_point0)
                {
                   max_point0 = temp0;
                }
                Delay_us(5);
            }
 
               max_point0 = abs(ceil((long)max_point0));
 
               tlong0 = (long)max_point0*(5/255)*11*220/12; // find the peak amplitude of the line
               tlong1 = (long)max_point0*((5/255)*11*220/12)*0.707; // find the rms value of the line voltage
 
            message1[3] = tlong0/100 + 48; // convert into ASCII 
            message1[4] = (tlong0/10)%10 +48; // convert into ASCII
            message1[5] = (tlong0)%10 +48; // convert into ASCII
            Lcd_Out(1,1,message1); // Display message on LCD
 
            RC0_bit = ~RC0_bit;
 
            message2[4] = tlong1/100 + 48;  // convert into ASCII
            message2[5] = (tlong1/10)%10 +48;  // convert into ASCII
            message2[6] = (tlong1)%10 +48;  // convert into ASCII
            Lcd_Out(1,9,message2);  // Display message on LCD
 
            TMR0=0; // clear TMR0
            Delay_ms(1000);  // Delay 1 Sec
            Lcd_Out(2,1,"FREQUENCY:");
            Display_Freq(TMR0/2); // divide by 2
            TMR0=0;
 
  }// while
}// void main

 
Last edited by a moderator:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top