david otitoju
/
elec350
h
main.cpp@0:67db5ce17397, 2018-01-09 (annotated)
- Committer:
- davidotitoju
- Date:
- Tue Jan 09 19:48:25 2018 +0000
- Revision:
- 0:67db5ce17397
expo;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
davidotitoju | 0:67db5ce17397 | 1 | * Function Name : main |
davidotitoju | 0:67db5ce17397 | 2 | * Description : Main program. |
davidotitoju | 0:67db5ce17397 | 3 | *******************************************************************************/ |
davidotitoju | 0:67db5ce17397 | 4 | int main(void) //Main function |
davidotitoju | 0:67db5ce17397 | 5 | { |
davidotitoju | 0:67db5ce17397 | 6 | |
davidotitoju | 0:67db5ce17397 | 7 | initgpio(); |
davidotitoju | 0:67db5ce17397 | 8 | |
davidotitoju | 0:67db5ce17397 | 9 | int k=0; |
davidotitoju | 0:67db5ce17397 | 10 | char a[]="WWW.EEHERALD.COM"; |
davidotitoju | 0:67db5ce17397 | 11 | char b[]="EMBEDDED SYSTEMS"; |
davidotitoju | 0:67db5ce17397 | 12 | |
davidotitoju | 0:67db5ce17397 | 13 | GPIOC->BRR=RS; //Initialize RS=0 for selecting instruction Send |
davidotitoju | 0:67db5ce17397 | 14 | GPIOC->BRR=RW; // Select RW=0 to write Instruction/data on LCD |
davidotitoju | 0:67db5ce17397 | 15 | GPIOC->BSRR=EN; // EN=1 for unlatch. (used at initial condition) |
davidotitoju | 0:67db5ce17397 | 16 | |
davidotitoju | 0:67db5ce17397 | 17 | delay_ms(10); |
davidotitoju | 0:67db5ce17397 | 18 | |
davidotitoju | 0:67db5ce17397 | 19 | s_init(); //Call Instruction Select routine |
davidotitoju | 0:67db5ce17397 | 20 | GPIOA->ODR=0x0001; // Clear Display, Cursor to Home |
davidotitoju | 0:67db5ce17397 | 21 | s_latch(); //Latch the above instruction |
davidotitoju | 0:67db5ce17397 | 22 | GPIOA->ODR=0x0038; // Display Function (2 rows for 8-bit data; small) |
davidotitoju | 0:67db5ce17397 | 23 | s_latch(); //Latch this above instruction 4 times |
davidotitoju | 0:67db5ce17397 | 24 | s_latch(); |
davidotitoju | 0:67db5ce17397 | 25 | s_latch(); |
davidotitoju | 0:67db5ce17397 | 26 | s_latch(); |
davidotitoju | 0:67db5ce17397 | 27 | GPIOA->ODR=0x000E; // Display and Cursor on, Cursor Blink off |
davidotitoju | 0:67db5ce17397 | 28 | s_latch(); //Latch the above instruction |
davidotitoju | 0:67db5ce17397 | 29 | GPIOA->ODR=0x0010; // Cursor shift left |
davidotitoju | 0:67db5ce17397 | 30 | s_latch(); //Latch the above instruction |
davidotitoju | 0:67db5ce17397 | 31 | GPIOA->ODR=0x0006; // Cursor Increment, Shift off |
davidotitoju | 0:67db5ce17397 | 32 | s_data(); //Change the input type to Data.(before it was instruction input) |
davidotitoju | 0:67db5ce17397 | 33 | s_latch(); //Latch the above instruction |
davidotitoju | 0:67db5ce17397 | 34 | |
davidotitoju | 0:67db5ce17397 | 35 | for(k=0;a[k];k++) |
davidotitoju | 0:67db5ce17397 | 36 | { |
davidotitoju | 0:67db5ce17397 | 37 | GPIOA->ODR=a[k]; //It will send a[0]='P' as = '0x0050' on Port A. |
davidotitoju | 0:67db5ce17397 | 38 | s_latch(); //Latch the above instruction only once. Or it will clone each character twice if you latch twice. |
davidotitoju | 0:67db5ce17397 | 39 | } |
davidotitoju | 0:67db5ce17397 | 40 | GPIOC->BRR=RS; //Initialize RS=0 for selecting instruction Send |
davidotitoju | 0:67db5ce17397 | 41 | GPIOC->BRR=RW; // Select RW=0 to write Instruction/data on LCD |
davidotitoju | 0:67db5ce17397 | 42 | GPIOC->BSRR=EN; // EN=1 for unlatch. (used at initial condition) |
davidotitoju | 0:67db5ce17397 | 43 | |
davidotitoju | 0:67db5ce17397 | 44 | delay_ms(10); |
davidotitoju | 0:67db5ce17397 | 45 | GPIOA->ODR=0x00C0; // Move cursor to beginning of second row |
davidotitoju | 0:67db5ce17397 | 46 | s_latch(); //Latch the above instruction |
davidotitoju | 0:67db5ce17397 | 47 | s_data(); //Change the input type to Data.(before it was instruction input) |
davidotitoju | 0:67db5ce17397 | 48 | for(k=0;b[k];k++) |
davidotitoju | 0:67db5ce17397 | 49 | { |
davidotitoju | 0:67db5ce17397 | 50 | GPIOA->ODR=b[k]; //It will send b[0]='E' as = '0x0044' on Port A. |
davidotitoju | 0:67db5ce17397 | 51 | s_latch();//Latch the above instruction only once. Or it will clone each character twice if you latch twice. |
davidotitoju | 0:67db5ce17397 | 52 | } |
davidotitoju | 0:67db5ce17397 | 53 | s_init(); |
davidotitoju | 0:67db5ce17397 | 54 | } |