资源描述:
《MSP430单片机驱动12864液晶程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MSP430单片机驱动12864液晶程序#includetypedefunsignedcharuchar;typedefunsignedintuint;#defineLCD_PORT_DIRP2DIR//定义P2口#defineLCD_PORT_OUTP2OUT#defineCSBIT0#defineSIDBIT1#defineSCLKBIT2#defineLCD_OUTLCD_PORT_DIR
2、=CS+SID+SCLK//定义P2.0~2.2为输出#defineCS_HLCD_PORT_OUT
3、=CS#defineCS_LLCD_PORT_OUT&=~CS#
4、defineSID_HLCD_PORT_OUT
5、=SID#defineSID_LLCD_PORT_OUT&=~SID#defineSCLK_HLCD_PORT_OUT
6、=SCLK#defineSCLK_LLCD_PORT_OUT&=~SCLKvoidDelay_1ms(void);voidDelay_Nms(uintn);voidWrite_1byte(uintRW,uintRS,uchardata);voidWrite_8bits(ucharbit);voidWrite_Cmd(ucharcmd);voidWrite_Dat(uchardat);voidWrite_Datas(uchar
7、*s);voidDisp_Img(uchar*img);voidLcd_Init(void);voidLocat_XY(uintx,uinty);voidWrite_Str(uintx,uinty,uchar*s);voidWrite_Str1(uintx,uinty,ucharq);//unsignedintSZ_bl[]={48,49,50,51,52,53,54,55,56,57};/*******************************************函数名称:Delay_1ms功能:延时约1ms的时间参数:无返回值:无***********************
8、*********************/voidDelay_1ms(void){uchari;for(i=150;i>0;i--);}/*******************************************函数名称:Delay_Nms功能:延时约N个1ms的时间参数:n--延时长度返回值:无********************************************/voidDelay_Nms(uintn){uinti;for(i=n;i>0;i--)Delay_1ms();}/****************************************
9、***函数名称:Write_1byte功能:向LCD写1byte数据参数:RW--读写控制,RS--数据命令控制data--数据RW:0为写,1为读RS:0为命令,1为数据返回值:无********************************************/voidWrite_1byte(uintRW,uintRS,uchardata){ucharH_data,L_data,ID=0xf8;if(RW==1)ID=ID+0x04;if(RS==1)ID=ID+0x02;H_data=data;H_data&=0xf0;L_data=data;L_data&=0x0f;L_da
10、ta<<=4;Write_8bits(ID);Delay_1ms();Write_8bits(H_data);Delay_1ms();Write_8bits(L_data);Delay_1ms();}/*******************************************函数名称:Write_8bits功能:向LCD连续写8bits数据参数:bit--数据返回值:无********************************************/voidWrite_8bits(ucharbit){uinti;for(i=0;i<8;i++){if(bit&0x80)
11、SID_H;elseSID_L;SCLK_H;bit<<=1;SCLK_L;}}/*******************************************函数名称:Write_Cmd功能:向LCD写控制命令参数:cmd--控制命令返回值:无********************************************/voidWrite_Cmd(ucharcmd){CS_L;_NOP();CS_H