/[H9]/trunk/Embedded/main.c
ViewVC logotype

Diff of /trunk/Embedded/main.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 100 by hedin, Thu Nov 29 13:23:57 2007 UTC revision 112 by hedin, Fri Nov 30 16:07:03 2007 UTC
# Line 1  Line 1 
1  #include <pic18.h>  #include <pic18.h>
2  #include <stdio.h>  #include <stdio.h>
3  #include <string.h>  #include <string.h>
   
4  #include "lcd.h"  #include "lcd.h"
5    // Delay.h is included inside lcd.c
6    
7    #define LCD_LENGTH 16
8    #define LCD_ROWS 2
9    
10    
11  void AD_init(void)  unsigned char global_Pot_Hi;
12    unsigned char global_Pot_Lo;
13    unsigned char global_LCD_Buffer[LCD_ROWS][LCD_LENGTH];
14    /*void AD_init(void)
15  {  {
16          ADON    = 1;          ADON    = 1;
17  }  }
18    */
19    // Nicked from H7
20    void ad_init(void)
21    {
22            // AD Conversion clock
23            ADCS0 = 0;
24            ADCS1 = 0;
25            ADCS2 = 0;
26    
27            //Select AN0/RA0 for AD source
28                    // In this (000) setup, it's only RA0/AN0 that does ad convertion.
29            CHS0=0;
30            CHS1=0;
31            CHS2=0;
32            
33            //Only AN0 is selected for AD and with Vdd/Vss as limits
34            PCFG0=0;
35            PCFG1=1;
36            PCFG2=1;
37            PCFG3=1;
38            
39            //Result is left justified
40            ADFM=0;
41            
42            //Fire up for A/D converter module
43            ADON=1;
44    }
45    
46  void rs232_init(void)  void rs232_init(void)
47  {  {
# Line 31  void interrupt_init(void) Line 65  void interrupt_init(void)
65    
66  void pic18_io_init(void)  void pic18_io_init(void)
67  {  {
68          TRISA0  = 1;          TRISA0  = 1;    // analog input
69          TRISB1  = 1;          TRISB1  = 1;    // TRISB1-4 Digital input
70          TRISB2  = 1;          TRISB2  = 1;
71          TRISB3  = 1;          TRISB3  = 1;
72          TRISB4  = 1;          TRISB4  = 1;
# Line 44  void interrupt_recieve_handler(void) Line 78  void interrupt_recieve_handler(void)
78  }  }
79    
80  void interrupt interrupt_handler(void)  void interrupt interrupt_handler(void)
 // Finds out what interrupt have been trigged, and starts the respective function.  
81  {  {
82            // Finds out what interrupt have been trigged, and starts the respective function.
83          if(RCIF == 1)          if(RCIF == 1)
84          {          {
85                  interrupt_recieve_handler();                  interrupt_recieve_handler();
86                  RCIF = 0;                  RCIF = 0;
87          }          }
88  }                }              
89    
90    void update_lcd(void)
91    {      
92            char toLCD0[LCD_LENGTH], toLCD1[LCD_LENGTH];
93            char B1[LCD_LENGTH];
94            char sprintF[LCD_LENGTH];
95            lcd_goto(0x00);
96            sprintf(toLCD0, "%s", "Ejdesgaard");
97            if(RB1)
98            {
99                    sprintf(B1, "Pwr%s", "True");
100            }
101            else
102            {
103                    sprintf(B1, "%s", "False");
104            }
105            lcd_puts(B1);
106                    
107            lcd_goto(0x40);
108            sprintf(sprintF,"%08d%08d", global_Pot_Hi, global_Pot_Lo);
109            lcd_puts(sprintF);
110            
111    }
112    
113  void main()  void main()
114  {  {
115          AD_init();  /////////////////////////////////////////////
116    // Running Init's
117    
118            // Running init for various components.
119            //AD_init();
120            ad_init();
121          rs232_init();          rs232_init();
122          pic18_io_init();          pic18_io_init();
123                    lcd_init(0);
124          if(GODONE==0)  
125    /////////////////////////////////////////////
126    // Main loop
127    
128            while(1)
129          {          {
130            // Checking if A/D convertion is done, and save the data in global_Pot_??
131                    if(GODONE==0)
132                    {
133                            global_Pot_Hi = ADRESH;
134                            global_Pot_Lo = ADRESL;
135                            GODONE = 1;
136                    }
137                                    
138            update_lcd();
139          }          }
140  }  }

Legend:
Removed from v.100  
changed lines
  Added in v.112

  ViewVC Help
Powered by ViewVC 1.1.20