コネクタ4 : LED コネクタ7 : Buzzer コネクタ13 : Relay コネクタUART:Serial LCD 4つを動かしています

Dependencies:   mbed

Committer:
y_notsu
Date:
Thu Jan 16 13:27:49 2014 +0000
Revision:
0:3acc8fa91b79
LPC800 MAX?Grove-Base Shield???????????????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
y_notsu 0:3acc8fa91b79 1 #include "mbed.h"
y_notsu 0:3acc8fa91b79 2 #include "SerialLCD.h"
y_notsu 0:3acc8fa91b79 3
y_notsu 0:3acc8fa91b79 4 DigitalOut myled(P0_9);
y_notsu 0:3acc8fa91b79 5 DigitalOut Buzzer(P0_7);
y_notsu 0:3acc8fa91b79 6 Serial LCD(P0_4, P0_0); //tx, rx
y_notsu 0:3acc8fa91b79 7 DigitalOut Relay(P0_12);
y_notsu 0:3acc8fa91b79 8
y_notsu 0:3acc8fa91b79 9 void ClearDisplay()
y_notsu 0:3acc8fa91b79 10 {
y_notsu 0:3acc8fa91b79 11 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 12 LCD.putc(SLCD_CLEAR_DISPLAY);
y_notsu 0:3acc8fa91b79 13 }
y_notsu 0:3acc8fa91b79 14
y_notsu 0:3acc8fa91b79 15 void LCDHome()
y_notsu 0:3acc8fa91b79 16 {
y_notsu 0:3acc8fa91b79 17 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 18 LCD.putc(SLCD_RETURN_HOME);
y_notsu 0:3acc8fa91b79 19 }
y_notsu 0:3acc8fa91b79 20
y_notsu 0:3acc8fa91b79 21 void LCDsetCursor(uint8_t column, uint8_t row)
y_notsu 0:3acc8fa91b79 22 {
y_notsu 0:3acc8fa91b79 23 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 24 LCD.putc(SLCD_CURSOR_HEADER);
y_notsu 0:3acc8fa91b79 25 LCD.putc(column);
y_notsu 0:3acc8fa91b79 26 LCD.putc(row);
y_notsu 0:3acc8fa91b79 27 }
y_notsu 0:3acc8fa91b79 28
y_notsu 0:3acc8fa91b79 29 // Switch the display off without clearing RAM
y_notsu 0:3acc8fa91b79 30 void LCDnoDisplay()
y_notsu 0:3acc8fa91b79 31 {
y_notsu 0:3acc8fa91b79 32 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 33 LCD.putc(SLCD_DISPLAY_OFF);
y_notsu 0:3acc8fa91b79 34 }
y_notsu 0:3acc8fa91b79 35
y_notsu 0:3acc8fa91b79 36 // Switch the display on
y_notsu 0:3acc8fa91b79 37 void LCDdisplay()
y_notsu 0:3acc8fa91b79 38 {
y_notsu 0:3acc8fa91b79 39 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 40 LCD.putc(SLCD_DISPLAY_ON);
y_notsu 0:3acc8fa91b79 41 }
y_notsu 0:3acc8fa91b79 42
y_notsu 0:3acc8fa91b79 43 // Switch the underline cursor off
y_notsu 0:3acc8fa91b79 44 void LCDnoCursor()
y_notsu 0:3acc8fa91b79 45 {
y_notsu 0:3acc8fa91b79 46 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 47 LCD.putc(SLCD_CURSOR_OFF);
y_notsu 0:3acc8fa91b79 48 }
y_notsu 0:3acc8fa91b79 49
y_notsu 0:3acc8fa91b79 50 // Switch the underline cursor on
y_notsu 0:3acc8fa91b79 51 void LCDcursor()
y_notsu 0:3acc8fa91b79 52 {
y_notsu 0:3acc8fa91b79 53 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 54 LCD.putc(SLCD_CURSOR_ON);
y_notsu 0:3acc8fa91b79 55 }
y_notsu 0:3acc8fa91b79 56
y_notsu 0:3acc8fa91b79 57 //Turn off the backlight
y_notsu 0:3acc8fa91b79 58 void LCDnoBacklight(void)
y_notsu 0:3acc8fa91b79 59 {
y_notsu 0:3acc8fa91b79 60 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 61 LCD.putc(SLCD_BACKLIGHT_OFF);
y_notsu 0:3acc8fa91b79 62 }
y_notsu 0:3acc8fa91b79 63 //Turn on the back light
y_notsu 0:3acc8fa91b79 64 void LCDbacklight(void)
y_notsu 0:3acc8fa91b79 65 {
y_notsu 0:3acc8fa91b79 66 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 67 LCD.putc(SLCD_BACKLIGHT_ON);
y_notsu 0:3acc8fa91b79 68 }
y_notsu 0:3acc8fa91b79 69
y_notsu 0:3acc8fa91b79 70 void LCDprint(uint8_t b)
y_notsu 0:3acc8fa91b79 71 {
y_notsu 0:3acc8fa91b79 72 LCD.putc(SLCD_CHAR_HEADER);
y_notsu 0:3acc8fa91b79 73 LCD.putc(b);
y_notsu 0:3acc8fa91b79 74 }
y_notsu 0:3acc8fa91b79 75
y_notsu 0:3acc8fa91b79 76 void LCDprintc(const char b[])
y_notsu 0:3acc8fa91b79 77 {
y_notsu 0:3acc8fa91b79 78 LCD.putc(SLCD_CHAR_HEADER);
y_notsu 0:3acc8fa91b79 79 LCD.printf(b);
y_notsu 0:3acc8fa91b79 80 }
y_notsu 0:3acc8fa91b79 81
y_notsu 0:3acc8fa91b79 82
y_notsu 0:3acc8fa91b79 83 int main() {
y_notsu 0:3acc8fa91b79 84 LCD.baud(9600);
y_notsu 0:3acc8fa91b79 85 //LCD startup
y_notsu 0:3acc8fa91b79 86 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 87 LCD.putc(SLCD_POWER_OFF);
y_notsu 0:3acc8fa91b79 88 wait_ms(1);
y_notsu 0:3acc8fa91b79 89 LCD.putc(SLCD_CONTROL_HEADER);
y_notsu 0:3acc8fa91b79 90 LCD.putc(SLCD_POWER_ON);
y_notsu 0:3acc8fa91b79 91 wait_ms(1);
y_notsu 0:3acc8fa91b79 92 LCD.putc(SLCD_INIT_ACK);
y_notsu 0:3acc8fa91b79 93 while(1)
y_notsu 0:3acc8fa91b79 94 {
y_notsu 0:3acc8fa91b79 95 if(LCD.getc()==SLCD_INIT_DONE)
y_notsu 0:3acc8fa91b79 96 break;
y_notsu 0:3acc8fa91b79 97 }
y_notsu 0:3acc8fa91b79 98 wait_ms(2);
y_notsu 0:3acc8fa91b79 99
y_notsu 0:3acc8fa91b79 100 //LCD printf
y_notsu 0:3acc8fa91b79 101 LCDprintc("Hello World");
y_notsu 0:3acc8fa91b79 102
y_notsu 0:3acc8fa91b79 103 //LCD Backlight ON
y_notsu 0:3acc8fa91b79 104 LCDbacklight();
y_notsu 0:3acc8fa91b79 105
y_notsu 0:3acc8fa91b79 106 //LCD Display ON
y_notsu 0:3acc8fa91b79 107 LCDdisplay();
y_notsu 0:3acc8fa91b79 108
y_notsu 0:3acc8fa91b79 109 while(1) {
y_notsu 0:3acc8fa91b79 110 LCDnoBacklight();
y_notsu 0:3acc8fa91b79 111 myled = 1;
y_notsu 0:3acc8fa91b79 112 Buzzer=0;
y_notsu 0:3acc8fa91b79 113 Relay=1;
y_notsu 0:3acc8fa91b79 114 wait(0.2);
y_notsu 0:3acc8fa91b79 115 LCDbacklight();
y_notsu 0:3acc8fa91b79 116 myled = 0;
y_notsu 0:3acc8fa91b79 117 Buzzer=1;
y_notsu 0:3acc8fa91b79 118 Relay=0;
y_notsu 0:3acc8fa91b79 119 wait(0.2);
y_notsu 0:3acc8fa91b79 120 }
y_notsu 0:3acc8fa91b79 121 }