AVR1631 - Energy Meter Reference Design with ATxmega32A4  Rev 1.0
 All Data Structures Files Functions Variables Typedefs Macros
meter_lcd_module.h
Go to the documentation of this file.
1 /* This file has been prepared for Doxygen automatic documentation generation.*/
49 #ifndef METER_LCD_MODULE_H
50 #define METER_LCD_MODULE_H
51 
52 #define LCD PORTE
53 #define LCD_READ 8 //LCD_pin2 PE3
54 #define LCD_CS 4 //LCD_pin1 PE2
55 #define LCD_WRITE 2 //LCD_pin3 PE1
56 #define LCD_DATA 1 //LCD_pin4 PE0
57 
58 #define LCD_CS_SET LCD.OUTSET|=LCD_CS;
59 #define LCD_CS_CLEAR LCD.OUTCLR=LCD_CS;
60 
61 #define LCD_WRITE_SET LCD.OUTSET|=LCD_WRITE;
62 #define LCD_WRITE_CLEAR LCD.OUTCLR=LCD_WRITE;
63 
64 #define LCD_READ_SET LCD.OUTSET|=LCD_READ;
65 #define LCD_READ_CLEAR LCD.OUTCLR=LCD_READ;
66 
67 #define LCD_DATA_SET LCD.OUTSET|=LCD_DATA;
68 #define LCD_DATA_OUT(a) LCD.OUT = (LCD.OUT & ~LCD_DATA) | a;
69 
70 #define LCD_COMMAND 0x04
71 #define LCD_DATA_WRITE 0x05
72 #define LCD_DATA_READ_WRITE 0x06
73 
74 void lcd_disp_key(void);
75 void lcd_disp_date(void);
76 void lcd_disp_time(void);
77 void lcd_disp_active_power(void);
78 void lcd_disp_max_demand(void);
79 void lcd_disp_energy();
80 void lcd_disp_power_factor(int16_t);
81 void lcd_disp_frequency(uint16_t);
83 void lcd_command(uint8_t, uint8_t);
84 void lcd_data(uint8_t, uint8_t, uint8_t);
85 void lcd_clear_all(void);
86 void lcd_show_all(void);
87 void lcd_disp_voltage(void);
88 void lcd_disp_current(void);
89 void lcd_read_write(uint8_t, uint8_t, uint8_t);
90 
91 extern uint16_t number_arr[16];
92 extern uint8_t key_flag;
93 
94 #endif