凌阳单片机12864驱动.doc_第1页
凌阳单片机12864驱动.doc_第2页
凌阳单片机12864驱动.doc_第3页
凌阳单片机12864驱动.doc_第4页
凌阳单片机12864驱动.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

#define cmd 0/sid(5)ioa0sck(6)ioa1resetioa2cs(4)vcc psbgnd#define dat 1extern void wr_lcd(int dat_cmd,int data);extern void init_lcd(void);extern void clear_ddram(void);extern void cn_1_disp(int high,int low,int location);/显示一个汉字参数(汉字编码高字节,汉字编码低字节,显示位置)extern void en_1_disp(int data,int location);/显示一个英文字母参数(字母asc码,显示位置)extern void full_disp(int *data,int num);/整屏依次显示参数(显示数据首地址,字符数)extern void series_disp(int *data,int location,int num);/依次连续显示参数(显示数据首地址,位置,字符数)extern void select_disp(int data1,int data2,int x0,int y0,int x1,int y1);/反白显示选择:data1,data2=0xff/取消选择:data1,data2=0x00/x0,x1=8横坐标/y0,y1=64竖坐标选中(x0xx1)&(y0yy1)extern void dot_disp_up(char *addr);/上半屏点阵显示参数(点阵数据首地址)extern void dot_disp_down(char *addr);/下半屏点阵显示参数(点阵数据首地址)extern void clear_dot_disp_up(void);/清除上半屏点阵extern void clear_dot_disp_down(void);/清除下半屏点阵void sck_set(void)int *p_watchdog_clear=0x7012;int *p_ioa_data=0x7000;int *p_ioa_buffer=0x7001;*p_ioa_data=(*p_ioa_buffer)|0x0002;*p_watchdog_clear=0x0001;void sck_clear(void)int *p_watchdog_clear=0x7012;int *p_ioa_data=0x7000;int *p_ioa_buffer=0x7001;*p_ioa_data=(*p_ioa_buffer)&0xfffd;*p_watchdog_clear=0x0001;void sid_set(void)int *p_watchdog_clear=0x7012;int *p_ioa_data=0x7000;int *p_ioa_buffer=0x7001;*p_ioa_data=(*p_ioa_buffer)|0x0001;*p_watchdog_clear=0x0001;void sid_clear(void)int *p_watchdog_clear=0x7012;int *p_ioa_data=0x7000;int *p_ioa_buffer=0x7001;*p_ioa_data=(*p_ioa_buffer)&0xfffe;*p_watchdog_clear=0x0001;void delayshort(int i)int *p_watchdog_clear=0x7012;int j;for(j=0;ji;j+)*p_watchdog_clear=0x0001;void delaylong(int i)int *p_watchdog_clear=0x7012;int j,k;for(j=0;ji;j+)for(k=0;k20;k+)*p_watchdog_clear=0x0001;void wr_lcd(int dat_cmd,int data)int tmp,i,j;tmp=data;sck_clear();sid_set();for(i=0;i5;i+)sck_set();sck_clear();sid_clear();sck_set();sck_clear();if(dat_cmd)sid_set();elsesid_clear();sck_set();sck_clear();sid_clear();sck_set();sck_clear();for(j=0;j2;j+)for(i=0;i4;i+)if(tmp&0x80)sid_set();elsesid_clear();tmp=tmp1;sck_set();sck_clear();sid_clear();for(i=0;i4;i+)sck_set();sck_clear();void init_lcd(void)int *p_ioa_data=0x7000;int *p_ioa_buffer=0x7001;int *p_ioa_dir=0x7002;int *p_ioa_attrib=0x7003;*p_ioa_dir=(*p_ioa_dir|0x0007);*p_ioa_attrib=(*p_ioa_attrib|0x0007);*p_ioa_data=(*p_ioa_data|0x0007);*p_ioa_data=(*p_ioa_buffer&0xfffb);delayshort(200);*p_ioa_data=(*p_ioa_buffer|0x0004);delayshort(200);wr_lcd(cmd,0x30);wr_lcd(cmd,0x01);delayshort(100);wr_lcd(cmd,0x06);wr_lcd(cmd,0x0c);delayshort(300);void clear_ddram(void)wr_lcd(cmd,0x30);wr_lcd(cmd,0x01);delayshort(200);void cn_1_disp(int high,int low,int location)/80h87h/90h97hwr_lcd(cmd,0x30);/88h8fhwr_lcd(cmd,location);/98h9fhdelayshort(20);wr_lcd(dat,high);wr_lcd(dat,low);void en_1_disp(int data,int location)wr_lcd(cmd,0x30);wr_lcd(cmd,location);delayshort(20);wr_lcd(dat,data);void full_disp(int *data,int num)int i;int error=error;wr_lcd(cmd,0x30);wr_lcd(cmd,0x80);delayshort(20);if(num=16)for(i=0;i16)&(num=32)for(i=0;i16;i+)wr_lcd(dat,*data);data+;wr_lcd(cmd,0x90);for(i=16;i32)&(num=48)for(i=0;i16;i+)wr_lcd(dat,*data);data+;wr_lcd(cmd,0x90);for(i=16;i32;i+)wr_lcd(dat,*data);data+;wr_lcd(cmd,0x88);for(i=32;i48)&(num=64)for(i=0;i16;i+)wr_lcd(dat,*data);data+;wr_lcd(cmd,0x90);for(i=16;i32;i+)wr_lcd(dat,*data);data+;wr_lcd(cmd,0x88);for(i=32;i48;i+)wr_lcd(dat,*data);data+;wr_lcd(cmd,0x98);for(i=48;i64)for(i=0;i5;i+)wr_lcd(dat,errori);void series_disp(int *data,int location,int num)int i;wr_lcd(cmd,0x30);wr_lcd(cmd,location);delayshort(20);for(i=0;inum;i+)wr_lcd(dat,*data);data+;void select_disp(int data1,int data2,int x0,int y0,int x1,int y1)/x0,x18y0,y164int i,j;if(y1=32)for(j=y0;jy1;j+)for(i=x0;i32)for(j=(y0-32);j(y1-32);j+)for(i=x0;ix1;i+)wr_lcd(cmd,0x34);wr_lcd(cmd,(0x80+j);wr_lcd(cmd,(0x88+i);wr_lcd(cmd,0x30);wr_lcd(dat,data1);wr_lcd(dat,data2);wr_lcd(cmd,0x36);if(y032)for(j=y0;j32;j+)for(i=x0;ix1;i+)wr_lcd(cmd,0x34);wr_lcd(cmd,(0x80+j);wr_lcd(cmd,(0x80+i);wr_lcd(cmd,0x30);wr_lcd(dat,data1);wr_lcd(dat,data2);for(j=0;j(y1-32);j+)for(i=x0;ix1;i+)wr_lcd(cmd,0x34);wr_lcd(cmd,(0x80+j);wr_lcd(cmd,(0x88+i);wr_lcd(cmd,0x30);wr_lcd(dat,data1);wr_lcd(dat,data2);wr_lcd(cmd,0x36);void dot_disp_up(char *addr)int i,j;for(j=0;j32;j+)for(i=0;i8;i+)wr_lcd(cmd,0x34);wr_lcd(cmd,(0x80+j);wr_lcd(cmd,(0x80+i);wr_lcd(cmd,0x30);wr_lcd(dat,addrj*16+2*i);wr_lcd(dat,addrj*16+2*i+1);wr_lcd(cmd,0x36);void dot_disp_down(char *addr)int i,j;for(j=0;j32;j+)for(i=0;i8;i+)wr_lcd(cmd,0x34);wr_lcd(cmd,(0x80+j);wr_lcd(cmd,(0x88+i);wr_lcd(cmd,0x30);wr_lcd(dat,addrj*16+2*i);wr_lcd(dat,addrj*16+2*i+1);wr_lcd(cmd,0x36);void clear_dot_disp_up(void)int i,j;for(j=0;j32;j+)for(i=0;i8;i+)wr_lcd(cmd,0x34);wr_lcd(cmd,(0x80+j);wr_lcd(cmd,(0x80+i);wr_lcd(cmd,0x30

温馨提示

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

评论

0/150

提交评论