芯片解密LPC11XX驱动1602程序_12MHz
| LCD.c文件: #include "LPC11XX.h" #include "gpio.h" #include "main.h" #include "Delay.h" #include "LCD.h" /*-----------设置D0-D7为输出口-------------*/ void Set_GPIO_Output(void) { LPC_GPIO2->DIR |= (0x1<<0); //设置D0-D7为输出 LPC_GPIO2->DIR |= (0x1<<1); LPC_GPIO2->DIR |= (0x1<<2); LPC_GPIO2->DIR |= (0x1<<3); LPC_GPIO2->DIR |= (0x1<<4); LPC_GPIO2->DIR |= (0x1<<5); LPC_GPIO2->DIR |= (0x1<<6); LPC_GPIO2->DIR |= (0x1<<7); } /*-----------设置D0-D7为输入口-------------*/ void Set_GPIO_Input(void) { LPC_GPIO2->DIR &= ~(0x1<<0); //设置D0-D7为输入 LPC_GPIO2->DIR &= ~(0x1<<1); LPC_GPIO2->DIR &= ~(0x1<<2); LPC_GPIO2->DIR &= ~(0x1<<3); LPC_GPIO2->DIR &= ~(0x1<<4); LPC_GPIO2->DIR &= ~(0x1<<5); LPC_GPIO2->DIR &= ~(0x1<<6); LPC_GPIO2->DIR &= ~(0x1<<7); } /*-----------LCD端口初始化-------------*/ void LCD_GPIO_Init(void) { //P2口可以用这种方式设置为GPIO,这种方式较合理正式。 LPC_IOCON->PIO2_0 &= (~0x07); //设置P2.0~P2.10为GPIO LPC_IOCON->PIO2_1 &= (~0x07); LPC_IOCON->PIO2_2 &= (~0x07); LPC_IOCON->PIO2_3 &= (~0x07); LPC_IOCON->PIO2_4 &= (~0x07); LPC_IOCON->PIO2_5 &= (~0x07); LPC_IOCON->PIO2_6 &= (~0x07); LPC_IOCON->PIO2_7 &= (~0x07); LPC_IOCON->PIO2_8 &= (~0x07); LPC_IOCON->PIO2_9 &= (~0x07); LPC_IOCON->PIO2_10 &=(~0x07); LPC_GPIO2->DIR |= (0x1<<0); //设置D0-D7为输出 LPC_GPIO2->DIR |= (0x1<<1); LPC_GPIO2->DIR |= (0x1<<2); LPC_GPIO2->DIR |= (0x1<<3); LPC_GPIO2->DIR |= (0x1<<4); LPC_GPIO2->DIR |= (0x1<<5); LPC_GPIO2->DIR |= (0x1<<6); LPC_GPIO2->DIR |= (0x1<<7); LPC_GPIO2->DIR |= (0x1<<8); //RS 设为输出 LPC_GPIO2->DIR |= (0x1<<9); //R/W 设为输出 LPC_GPIO2->DIR |= (0x1<<10); //EN 设为输出 LPC_GPIO3->DIR |= (0x1<<3); //BackLighting 液晶屏背光设为输出 GPIOSetValue( 3, 3, 1 ); //BackLighting位写1,开启液晶屏背光,写0关闭液晶屏背光 } /*-----------写数据到D0-D7-------------*/ void Write_Data_Port(unsigned char Data) { LPC_GPIO2->DATA &= ~(0xff); LPC_GPIO2->DATA |=Data; } /*-----------读D0-D7的数据-------------*/ unsigned char Read_Data_Port(void) { //unsigned char In_Data=0; //In_Data=LPC_GPIO2->DATA; //return In_Data; return(LPC_GPIO2->DATA); } |

芯片解密