Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LCD_setup.cpp
00001 // LCD_setup.cpp 00002 00003 #include "header.h" 00004 /***************************************************** 00005 subroutines 00006 *****************************************************/ 00007 /****initialise LCD function ****/ 00008 void LCD_init(void){ 00009 delay_l(); 00010 FIO2DIR0=0xFF; /* set port 2 byte 0 (ctrl) to output */ 00011 FIO2PIN0=0x00; //clear Port 2 byte 0 00012 //FIO2PIN bit0=R/W (read/write) 00013 //FIO2PIN bit1=RS (register select) 00014 //FIO2PIN bit2=E (enable) 00015 //all initialised low 00016 00017 // set Port 0 and 1 to operate as fast registers 00018 SCS |= 0x00000001; // by setting the GPIOM bit of the SCS register 00019 FIO0DIR2=0xFF; // set port 0 byte 2 (data) to output 00020 FIO0PIN2=0x00; // clear Port 0 byte 2 00021 00022 /* RS already initialised to 'instruction' (low) */ 00023 00024 /**** Function set*/ 00025 FIO0PIN2=0x38; /* 2-line mode, 7 dot characters */ 00026 toggle_enable(); 00027 00028 /**** Display on/off*/ 00029 FIO0PIN2=0x0C; /* display on, cursor off, blink off */ 00030 toggle_enable(); 00031 00032 /**** Clear display */ 00033 FIO0PIN2=0x01; /* clear */ 00034 toggle_enable(); 00035 00036 /**** Set entry mode */ 00037 FIO0PIN2=0x06; /* increment cursor, shift off */ 00038 toggle_enable(); 00039 00040 } 00041 00042 00043 /**** LCD Display 'Voltmeter' */ 00044 void LCD_displayV(){ 00045 FIO2CLR0=0x02; /* set RS to 'control' */ 00046 FIO0PIN2=0x01; /* clear display*/ 00047 toggle_enable(); 00048 FIO2SET0=0x02; /* set RS to 'data' */ 00049 00050 FIO0PIN2=_sp; // process and display character 00051 toggle_enable(); 00052 FIO0PIN2=_sp; 00053 toggle_enable(); 00054 FIO0PIN2=_sp; 00055 toggle_enable(); 00056 FIO0PIN2=_V; 00057 toggle_enable(); 00058 FIO0PIN2=_O; 00059 toggle_enable(); 00060 FIO0PIN2=_L; 00061 toggle_enable(); 00062 FIO0PIN2=_T; 00063 toggle_enable(); 00064 FIO0PIN2=_M; 00065 toggle_enable(); 00066 FIO0PIN2=_E; 00067 toggle_enable(); 00068 FIO0PIN2=_T; 00069 toggle_enable(); 00070 FIO0PIN2=_E; 00071 toggle_enable(); 00072 FIO0PIN2=_R; 00073 toggle_enable(); 00074 00075 /* start of line 2 */ 00076 FIO2CLR0=0x02; /* set RS to 'instruction' */ 00077 FIO0PIN2=0xC6; /* set address to line 2 */ 00078 toggle_enable(); 00079 FIO2SET0=0x02; /* set RS to 'data' */ 00080 00081 FIO0PIN2=_0; 00082 toggle_enable(); 00083 FIO0PIN2=0x2e; 00084 toggle_enable(); 00085 FIO0PIN2=_0; 00086 toggle_enable(); 00087 FIO0PIN2=_V; 00088 toggle_enable(); 00089 } 00090 00091 /*** toggle_enable */ 00092 void toggle_enable(void){ 00093 FIO2SET0=0x04; // Toggle enable flag on */ 00094 delay_s(); 00095 FIO2CLR0=0x04; /* Toggle enable flag off */ 00096 delay_s(); 00097 } 00098 00099 /************************************************************************** 00100 * DEM16217 LCD connected to mbed as follows: 00101 ************************************************************************** 00102 RW = Read/Write = LCD pin05 = mbed pin16 = LPC pin75 = GPIO P2.0 (Port2,byte0,bit0) 00103 RS = RegisterSelect = LCD pin04 = mbed pin15 = LPC pin74 = GPIO P2.1 (0,1) 00104 E = Enable = LCD pin06 = mbed pin14 = LPC pin73 = GPIO P2.2 (0,2) 00105 DB0 = Data Bit 0 = LCD pin07 = mbed pin10 = LPC pin63 = GPIO P0.16 (Port0,byte2,bit0) 00106 DB1 = Data Bit 1 = LCD pin08 = mbed pin08 = LPC pin61 = GPIO P0.17 (2,1) 00107 DB2 = Data Bit 2 = LCD pin09 = mbed pin07 = LPC pin60 = GPIO P0.18 (2,2) 00108 DB3 = Data Bit 3 = LCD pin10 = mbed pin06 = LPC pin59 = GPIO P0.19 (2,3) 00109 DB4 = Data Bit 4 = LCD pin11 = mbed pin05 = LPC pin58 = GPIO P0.20 (2,4) 00110 DB5 = Data Bit 5 = LCD pin12 = mbed pin04 = LPC pin57 = GPIO P0.21 (2,5) 00111 DB6 = Data Bit 6 = LCD pin13 = mbed pin03 = LPC pin56 = GPIO P0.22 (2,6) 00112 DB7 = Data Bit 7 = LCD pin14 = mbed pin36 = LPC pin09 = GPIO P0.23 (2,7) 00113 **************************************************************************/
Generated on Fri Jul 15 2022 11:04:51 by
1.7.2