如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
msp430中12864驱动程序Msp43012864液晶驱动程序#include<msp430x14x.h>typedefunsignedintuint;typedefunsignedcharuchar;#defineBIT(x)(1<<(x))voidSend(uchartype,uchartransdata);/**********液晶控制IO的宏定义*************/#definecyCS0//P3.0,片选信号#definecySID1//P3.1,串行数据#definecyCLK2//P3.2,同步时钟#definecyPORTP3OUT#definecyDDRP3DIR/*******************************************函数名称:delay_Nus功能:延时N个us的时间参数:n--延时长度返回值:无********************************************/voiddelay_Nus(uintn){uchari;for(i=n;i>0;i--)_NOP();}/*******************************************函数名称:delay_1ms功能:延时约1ms的时间参数:无返回值:无********************************************/voiddelay_1ms(void){uchari;for(i=150;i>0;i--)_NOP();}/*******************************************函数名称:delay_Nms功能:延时N个ms的时间参数:无返回值:无********************************************/voiddelay_Nms(uintn){uinti=0;for(i=n;i>0;i--)delay_1ms();}/*******************************************函数名称:Ini_Lcd功能:初始化液晶模块参数:无返回值:无********************************************/voidIni_Lcd(void){cyDDR|=BIT(cyCLK)+BIT(cySID)+BIT(cyCS);//相应的位端口设置为输出delay_Nms(100);//延时等待液晶完成复位Send(0,0x30);/*功能设置:一次送8位数据,基本指令集*/delay_Nus(72);Send(0,0x02);/*DDRAM地址归位*/delay_Nus(72);Send(0,0x0c);/*显示设定:开显示,不显示光标,不做当前显示位反白闪动*/delay_Nus(72);Send(0,0x01);/*清屏,将DDRAM的位址计数器调整为“00H”*/delay_Nus(72);Send(0,0x06);/*功能设置,点设定:显示字符/光标从左到右移位,DDRAM地址加1*/delay_Nus(72);}/*******************************************函数名称:Send功能:MCU向液晶模块发送1一个字节的数据参数:type--数据类型,0--控制命令,1--显示数据transdata--发送的数据返回值:无********************************************/voidSend(uchartype,uchartransdata){ucharfirstbyte=0xf8;uchartemp;uchari,j=3;if(type)firstbyte|=0x02;cyPORT|=BIT(cyCS);cyPORT&=~BIT(cyCLK);while(j>0){if(j==3)temp=firstbyte;elseif(j==2)temp=transdata&0xf0;elsetemp=(transdata<<4)&0xf0;for(i=8;i>0;i--){if(temp&0x80)cyPORT|=BIT(cySID);elsecyPORT&=~BIT(cySID);cyPORT|=BIT(cyCLK);temp<<=1