LCD12864写字符串程序及其头文件.doc_第1页
LCD12864写字符串程序及其头文件.doc_第2页
LCD12864写字符串程序及其头文件.doc_第3页
LCD12864写字符串程序及其头文件.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*2012年5月19日调试成功编辑环境:ICCAVR功能:用LCD12864显示汉字*/#include#include#includeLCD_12864.c/*端口初始化*/ void port_init() DDRA=0XFF; PORTA=0XFF; DDRC=0XFF; PORTC=0XFF; /* 主函数 */ void main() uchar i;port_init();delay(100);/port_init();/LCD_init();write_string(0,0,zheng Zunggui);delay(200);write_string(0,1,I Love微电子 !);delay(200);write_string(0,2,Working Hard !);delay(200);/write_string(0,3,I Love English!);/write_string(0,3,做电子设计大赛!);/包含了汉字字符串中有汉字输入方式/* 此为单独操作汉字字符的方法*/ LocateXY(1,3);/单独写汉字时,要一个字节一个字节写入,分开地址不重合 /先高字节后低字节与ASCCII不冲突 write_data(0xD5);/ D5C5 D4F6 B9F0 delay(2); write_data(0xC5);/八根线并行传输的原因,为此需要每八个字节进行传输 delay(2); write_data(0xD4); delay(2); write_data(0xF6); delay(2); write_data(0xB9); delay(2); write_data(0xF0); delay(2); /* uint k; for(k=0;k2;i+) write_com(0x98);delay(2);write_data(0xB1B0);/这种输入不正确delay(200); */LCD12864驱动文件/* 2012.5.18 2012.5.19调试成功 功能:驱动12864液晶显示 并口数据传输*/#include#include#define uchar unsigned char#define uint unsigned int#define RS_0 PORTC&=(1PC0) /数据指令选择端高电平数据低电平指令#define RS_1 PORTC|=(1PC0)#define RW_0 PORTC&=(1PC1) /并口时,读写选择端,低电平写; 串口时数据输入端#define RW_1 PORTC|=(1PC1)#define EN_0 PORTC&=(1PC2) /并口时,读写使能;串口时,串行时钟#define EN_1 PORTC|=(1PC2)#define PSB_0 PORTC&=(1PC3) /并口串口选择端,高电平为并口#define PSB_1 PORTC|=(1PC3)#define RST_0 PORTC&=(1PC4) /复位信号,电平有效#define RST_1 PORTC|=(1PC4)#define Dataport PORTA /数据端口为A口void delay(uint ms) /系统延时函数 uint i,j; for(i=0;ims;i+) for(j=0;j1140;j+); /* 写指令函数规定写指令操作*/void write_com(uchar com) /command RS_0; RW_0; EN_0; Dataport=com; delay(2); EN_1; delay(2); EN_0;/* 写数据函数 规定写数据的流程*/void write_data(uchar data) /data RS_1; RW_0; EN_0; Dataport=data; delay(2); EN_1; delay(2); EN_0;/* LCD初始化函数*/void LCD_init() write_com(0x01); delay(5) ; /清屏指令 PSB_1; /并口数据传输模式 RST_0; /低电平复位 delay(3); RST_1; / delay(3); write_com(0x34); /扩充指令操作 delay(5); write_com(0x30); /基本指令操作 delay(3); write_com(0x0C); /显示开/关光标 delay(5); write_com(0x01); /清除LCD的显示,即清屏指令 delay(5);/* 光标定位函数,X显示列,Y显示行*/void LocateXY(uchar x,uchar y) if(y=0) write_com(0x80+x); /0 else if(y=1) write_com(0x90+x); /1 else if(y=2) write_com(0x88+x); /2 else if(y=3) write_com(0x98+x); /3/* 显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论