已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MSP430驱动12864-3图形点阵液晶(KS0108)作者:jdzj868 来源:机电之家下载站 录入:jdzj868 更新时间:2009-12-7 16:44:28 点击数:0【字体:】 #include /*数据类型定义* #define uint unsigned int #define uchar unsigned char/*液晶控制线定义* #define RS BIT1 /P3.1 #define RW BIT0 /P3.0 #define E BIT7 /P2.7 #define CS1 BIT3 /P3.3 #define CS2 BIT2 /P3.2 #define RST BIT1 /P2.1 /数据线:p4口/*汉字定义为16*16,纵向,大小10,D0-D7 ,字体 Times NewRoman*const unsigned char code1=64,66,66,66,254,66,66,66,66,254,66,67,98,64,0,0,32,32,16,8,7,0,0,0,0,63,0,0,0,0,0,0;/开 const unsigned char code2=8,8,248,15,8,248,32,48,44,35,32,40,48,96,0,0,32,17,10,4,10,17,0,63,17,17,17,17,63,0,0,0;/始 const unsigned char code3=8,8,136,255,72,72,4,4,4,4,252,4,6,4,0,0,1,17,32,31,0,0,0,0,16,32,31,0,0,0,0,0;/打 const unsigned char code4=0,252,68,68,66,67,2,0,252,4,4,4,252,0,0,0,0,15,8,4,4,2,2,0,63,0,2,4,3,0,0,0;/印 const unsigned char code5=4,4,132,196,52,12,23,20,20,212,52,20,6,4,0,0,2,1,0,63,0,1,1,17,33,31,1,1,1,1,0,0;/存 const unsigned char code6=64,32,248,7,64,204,32,40,168,255,168,176,172,32,0,0,0,0,63,0,0,31,10,1,63,20,20,20,63,0,0,0;/储 const unsigned char code7=16,97,134,64,254,2,250,2,254,0,252,0,255,0,0,0,2,62,1,32,19,8,7,8,51,0,19,32,31,0,0,0;/测 const unsigned char code8=0,32,32,190,170,170,170,170,170,170,170,191,34,32,0,0,0,32,40,47,42,42,42,63,42,42,42,47,40,32,0,0;/量 const unsigned char code9=32,33,230,0,128,136,136,255,136,136,255,136,136,136,0,0,16,8,7,8,16,40,36,35,32,32,47,32,32,32,0,0;/进 const unsigned char code10=16,136,68,227,24,32,34,34,34,34,226,35,50,32,0,0,1,0,0,63,0,0,0,0,16,32,31,0,0,0,0,0;/行 const unsigned char code11= 0,248,8,8,8,8,255,8,8,8,8,252,8,0,0,0,0,1,1,1,1,1,63,1,1,1,1,1,0,0,0,0;/中 const unsigned char code12=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0;/点const unsigned char code100=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32;/线/*函数声明* void Init_Clock(void); void Init_IO(void); void Init_LCD (void); void delay (uint us); void delayl(uint ms); void WriteCommand_L (uchar com1); void WriteCommand_R (uchar com2); void WriteData_L (uchar dat1); void WriteData_R(uchar dat2); void ClearScreen(void); void AllScreen(void); void StateCheck(void); void WriteWord(uchar colum,uchar page, const uchar *code); void DrawLine(void);/*系统主程序* void main( void ) WDTCTL=WDTPW+WDTHOLD; /关闭看门狗 Init_Clock(); Init_IO(); Init_LCD ();WriteWord(0,6, code1); WriteWord(16, 6, code2); WriteWord(48, 6, code3); WriteWord(64, 6, code4); WriteWord(96,6, code5); WriteWord(112, 6, code6);WriteWord(16, 2, code7); WriteWord(32, 2, code8); WriteWord(48, 2, code9); WriteWord(64, 2, code10); WriteWord(80, 2, code11); WriteWord(96, 2, code12);DrawLine();/*IO初始化* void Init_IO(void) P1DIR=0; /设置为输入 P1SEL=0; /设置为一般IO P1OUT=0X00; P2DIR=0; P2SEL=0; P2OUT=0X00; P3DIR=0; P3SEL=0; P3OUT=0X00; P4DIR=0; P4SEL=0; P4OUT=0X00; P5DIR=0; P5SEL=0; P5OUT=0X00; P6DIR=0; P6SEL=0; P6OUT=0X00;/*高频时钟初始化* void Init_Clock(void) /UTCTL1 = SSEL0; / BCSCTL1=0X00; /BCSCTL2=0X00; unsigned int iq0; BCSCTL1&=XT2OFF; /打开XT2振荡器 do IFG1 &= OFIFG; / 清除振荡器失效标志 for (iq0 = 0xFF; iq0 0; iq0-); / 延时,等待XT2起振 while (IFG1 & OFIFG) != 0); / 判断XT2是否起振 BCSCTL2=SELM_2+SELS; /选择MCLK、SMCLK为XT2, BCSCTL2|=DIVM_2; /MCLK 4分频 MCLK=2MHZ BCSCTL2|=DIVS_2; /SMCLK 4分频 SMCLK=2MHZ/*延时子程序* void delay (uint us) while(us-); void delayl (uint ms) uint i,j; for(i=0;ims;i+) for(j=0;j1000;j+) ; /*状态检查* void StateCheck(void) uchar cradd1; P3OUT&=RS; P3OUT|=RW; /RS=0,R/W=1,以便读液晶状态 P4DIR=0x00; /P4口为输入口 do P2OUT|=E; /E=1 cradd1=P4IN; P2OUT&=E; /E=0 while(cradd1&0x80)!=0); /*写指令代码子程序(左)* void WriteCommand_L (uchar com1) P3OUT&=CS1; /cs1=0 P3OUT|=CS2; /cs2=1 选择左半屏 StateCheck(); /检查是否忙 P3OUT&=RW; /rw=0 P4DIR=0xff; /P4口为输出口 P4OUT=com1; P2OUT|=E; /E=1 P2OUT&=E; /E=0 /*写指令代码子程序(右)* void WriteCommand_R (uchar com2) P3OUT|=CS1; /cs1=1 P3OUT&=CS2; /cs2=0 StateCheck(); /检查是否忙 P3OUT&=RW; /rw=0 P4DIR=0xff; /P4口为输出口 P4OUT=com2; P2OUT|=E; /E=1 P2OUT&=E; /E=0 /*写显示数据子程序(左)* void WriteData_L (uchar dat1) P3OUT&=CS1; /cs1=0 P3OUT|=CS2; /cs2=1 StateCheck(); /检查是否忙 P3OUT|=RS; /rs=1 P3OUT&=RW; /rw=0 P4DIR=0xff; /P4口为输出口 P4OUT=dat1; P2OUT|=E; /E=1 P2OUT&=E; /E=0 /*写显示数据子程序(右)* void WriteData_R(uchar dat2) P3OUT|=CS1; /cs1=1 P3OUT&=CS2; /cs2=0 StateCheck(); /检查是否忙 P3OUT|=RS; /rs=1 P3OUT&=RW; /rw=0 P4DIR=0xff; /P4口为输出口 P4OUT=dat2; P2OUT|=E; /E=1 P2OUT&=E; /E=0 /*清屏 * void ClearScreen(void) uchar i,j; for(i=0;i8;i+) WriteCommand_L(i|0xb8); /设置页地址 WriteCommand_R(i|0xb8); WriteCommand_L(0x40); /设置列地址 WriteCommand_R(0x40); for(j=0;j64;j+) /写0x00 WriteData_L(0x00); WriteData_R(0x00); /*满屏 * void AllScreen(void) uchar i,j; for(i=0;i8;i+) WriteCommand_L(i|0xb8); /设置页地址 WriteCommand_R(i|0xb8); WriteCommand_L(0x40); /设置列地址 WriteCommand_R(0x40); for(j=0;j64;j+) /写0xff WriteData_L(0xff); WriteData_R(0xff); /*LCD初始化* void Init_LCD (void) P2DIR|=BIT1; /P2.7为输出口 P2OUT&=RST; /RST=0,LCD复位 delayl(50); /延时 P2OUT|=RST; /rst=1 delayl(50); P3DIR|=BIT3; /P3.3为输出口 P3OUT&=CS1; /CS1=0 P3DIR|=BIT2; /P3.2为输出口 P3OUT&=CS2; /CS2=0 P3DIR|=BIT1; /P3.1为输出口 P3OUT&=RS; /RS=0 P3DIR|=BIT0; /P3.0为输出口 P3OUT&=RW; /RW=0 P2DIR|=BIT7; /P2.7为输出口 P2OUT&=E; /E=0 WriteCommand_L(0xc0);WriteCommand_R(0xc0); /显示开始行 WriteCommand_L(0x3f);WriteCommand_R(0x3f); /开显示 ClearScreen(); /*写汉字* void WriteWord (uchar colum,uchar page, const uchar *code)/page2:页 colum2:列 code2:字代码 uchar i,j,colum0; uchar flag; for(j=0;j63) /右屏 colum0=colum0-64; WriteCommand_R(colum0|0x40); flag=1; else /左屏 WriteCommand_L(colum0|0x40); flag=0; /* for(i=0;i16;i+) if(flag=0) WriteData_L(*code); else WriteData_R(*code); code+; if(colum0=64) /列=64 colum0=0; if(flag=0) flag=1; WriteCommand_R(colum0|0x40); else break; / colum+; page+; /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年淮南联合大学单招职业倾向性测试题库必考题
- 2026年长沙卫生职业学院单招职业技能测试题库新版
- 2026年湖南水利水电职业技术学院单招综合素质考试题库新版
- 2026年安徽医学高等专科学校单招职业适应性考试必刷测试卷新版
- 2026年辽宁地质工程职业学院单招职业技能考试必刷测试卷附答案
- 2026年武汉警官职业学院单招职业适应性考试题库必考题
- 2026年山东城市服务职业学院单招职业倾向性考试题库新版
- 2026年宁夏中 卫 市单招职业适应性考试必刷测试卷及答案1套
- 2026年云南工贸职业技术学院单招综合素质考试必刷测试卷附答案
- 2026年西安电力高等专科学校单招职业倾向性考试题库附答案
- GB/T 18916.1-2021取水定额第1部分:火力发电
- GB 17568-2008γ辐照装置设计建造和使用规范
- 妊娠与肾脏疾病-陶冶主任课件
- 新形态一体化教材建设的探索与实践课件
- 2022年石家庄交通投资发展集团有限责任公司招聘笔试试题及答案解析
- 四川大学经济学院党政办公室工作人员招考聘用2人【共500题附答案解析】模拟检测试卷
- 《园林花卉学》课后题及答案
- 全国连片特困地区分县名单
- 15堆肥工艺流程图
- GB∕T 25997-2020 绝热用聚异氰脲酸酯制品
- 《工程量确认单》word版
评论
0/150
提交评论