/****************************************************LCD1602显示**描述:4线数据宽度,操作LCD1602*在LCD1602屏幕上第一行显示Hello!LCD1602*第二行显示123456789abcdef**时间:2012年3月15日调试成功(出现问题主要是因为LCD初始化)**硬件电路:MSP430F2132*硬件连接:**MSP430与LCD连接信息*LCD1602,4位接口,即使用D4-D7数据口,D0-D3不接入MCU*PIN1-->地*PIN2-->VCC(一定要接+5V)*PIN3-->仿真时悬空,实际电路2K电阻-->地(一定要接好,否则没有任何显示)*PIN4-->RS-->*PIN5-->R/W-->GND*PIN6-->EN-->*PIN7-->D0不接*PIN8-->D1不接*PIN9-->D2不接*PIN10-->D3不接*PIN11-->D4-->*PIN12-->D5-->*PIN13-->D6-->*PIN14-->D7-->*PIN15-->VCC(一定要接+5V,如果不要背光可以不接*PIN16-->地*调试器:MSP430FET全系列JTAG仿真器***************************************************/#include""#include<>//定义////////////////////////////////////////////////////////////////////#defineLCD_EN_PORTP2OUT//以下2个要设为同一个口#defineLCD_EN_DDRP2DIR#defineLCD_RS_PORTP2OUT//以下2个要设为同一个口#defineLCD_RS_DDRP2DIR#defineLCD_DATA_PORTP1OUT//以下3个要设为同一个口#defineLCD_DATA_DDRP1DIR//一定要用高4位#defineLCD_RSBIT2#defineLCD_ENBIT1//#defineLCD_DATABIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7//8位数据线连接模式时使用#defineLCD_DATABIT4|BIT5|BIT6|BIT7//4位数据线连接模式时使用////预定义函数//////////////////////////////////////////////////////////////////voidLCD_init(void);voidLCD_en_write(void);mand(mand);voidLCD_write_data(unsignedchardata);voidLCD_set_xy(unsignedcharx,unsignedchary);voidLCD_write_string(unsignedcharX,unsignedcharY,unsignedchar*s);voidLCD_write_char(unsignedcharX,unsignedcharY,unsignedchardata);voiddelay_1ms(void);voiddelay_nus(unsignedintn);voiddelay_nms(unsignedintn);voidmain(){WDTCTL=WDTPW+WDTHOLD;//StopwatchdogLCD_init();delay_1ms();LCD_write_string(0,0,"Hello!LCD1602");delay_1ms();LCD_write_string(0,1,"123456789abcdef");}//LCD液晶操作函数/////////////////////////////////////////////////////////////////LCD1602液晶初始化voidLCD_init(void){delay_nms(15);LCD_DATA_DDR|=LCD_DATA;//数据口方向为输出LCD_EN_DDR|=LCD_EN;//设置EN方向为输出LCD_RS_DDR|=LCD_RS;//设置RS方向为输出delay_1ms();//这4行不要改,否则仿真没显示//mand(0x38);//8位数据接口时,使用这行,mand(0x33);//4位数据接口时,使用这行,否则仿真没显示delay_1ms();////mand(0x38);//8位数据接口时,使用这行,mand(0x32
lcd1602显示程序main 来自淘豆网m.daumloan.com转载请标明出处.