RA8835显示程序_第1页
RA8835显示程序_第2页
RA8835显示程序_第3页
RA8835显示程序_第4页
RA8835显示程序_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、基基于于C8051F120C8051F120的的RA8835(SED1335)RA8835(SED1335)的的320240320240液液晶晶屏屏例例程程集集( (我我自自编编在在用用的的) )分类: 我写好的常用的C51程序 2008-01-21 19:06/*= RA8835 320X240液晶屏操作程序区=*/*- Reset_RA8835()复位RA8835LCM-*/voidReset_RA8835()EA=0;SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;/RST_RA8835=0;delay_ms(500);RST_RA8835=1;/SFRPAGE=0;SFR

2、PAGE=SFRPAGE_RAM;delay_ms(200);EA=1;/*- rdsta_RA8835()读RA8835当前状态-*/voidrdsta_RA8835()ucharcn;cn=3;SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;DATA_BUS=0 xff;A0_RA8835=0;Bit8_6=1;Count_CHERR=0;Error_flag=0;while(cn-)while(Bit8_6)delay_io();RD_RA8835=0;delay_io();Bit8=DATA_BUS;RD_RA8835=1;Count_CHERR+;if(Count_CH

3、ERR=250)Error_flag=1;return;/SFRPAGE=SFRPAGE_RAM;/*- wrcommand_RA8835()向RA8835LCM写入一个指令-*/voidwrcommand_RA8835(ucharcommand) /片选SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;CS_RA8835=0;/ rdsta_RA8835(); /读状态,等空闲/A0_RA8835=1;DATA_BUS=command;delay_io();WR_RA8835=0;delay_io();WR_RA8835=1; /非片选CS_RA8835=1;SFRPAGE=SF

4、RPAGE_RAM;/*- wrdata_RA8835(uchar datax)向RA8835LCM写入一个数据-*/voidwrdata_RA8835(uchardatax) /片选SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;CS_RA8835=0;/ rdsta_RA8835(); /读状态,等空闲/A0_RA8835=0;DATA_BUS=datax;delay_io();WR_RA8835=0;delay_io();WR_RA8835=1; /非片选CS_RA8835=1;SFRPAGE=SFRPAGE_RAM;/*- SYSTEMSET_RA8835()LCM系统设

5、置-*/voidSYSTEMSET_RA8835()ET0=0;ES0=0;/ wrcommand_RA8835(0 x40); /命令40H参数设置,#0101H为命令口地址 /p1 写wrdata_RA8835(0 x30);/0 x30ok/p2 wrdata_RA8835(0 x87); /0 x87 设置光标宽度为8/p3wrdata_RA8835(0 x87);/0 x07ok /p4 写C/R wrdata_RA8835(40); /0 x27,设置LCD每行需要的字节数,每行320个点,行数为320/8-1=39 /p5 写TC/R wrdata_RA8835(70); /0

6、x42,设置液晶的扫描频率约为70HZ /p6 写L/F wrdata_RA8835(240); /0 xf0,设置LCD的行数为239 /p7 写APLwrdata_RA8835(40);/0 x28 /p8 写APHwrdata_RA8835(0 x00);/0 x00 /非片选/CS_RA8835=1;ET0=0;ES0=1;/*- DISPLAY_ON()显示屏打开-*/voidDISPLAY_ON(ucharx)ET0=0;ES0=0; /片选SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;/CS_RA8835=0;wrcommand_RA8835(0 x59);/wr

7、data_RA8835(x); /非片选CS_RA8835=1;SFRPAGE=SFRPAGE_RAM;/ET0=1;ES0=1;/*- DISPLAY_OFF()显示屏关闭-*/voidDISPLAY_OFF()CS_RA8835=0;/wrcommand_RA8835(0 x58);/wrdata_RA8835(0 x55);/CS_RA8835=1;/*- SCROLL_RA8835()显示区及行设置-*/voidSCROLL_RA8835()/wrcommand_RA8835(0 x44);/p1SAD1L wrdata_RA8835(0 x00); /第1显示区首地址低8位/p2SA

8、D1H wrdata_RA8835(0 x00); /第1显示区首地址高8位/p3SL1 wrdata_RA8835(240); /第2显示区的点行数范围/p4SAD2L wrdata_RA8835(0 x00); /第2显示区首地址低8位/p5SAD2H wrdata_RA8835(0 x30); /第2显示区首地址高8位/p6SL2 wrdata_RA8835(240); /第2显示区的点行数范围/p7SAD3L wrdata_RA8835(0 x00); /第3显示区首地址低8位/p8SAD3H wrdata_RA8835(0 x60); /第3显示区首地址高8位/p9SAD4L wrd

9、ata_RA8835(0 x00); /第4显示区首地址低8位/p10SAD4H wrdata_RA8835(0 x90); /第4显示区首地址高8位/SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;CS_RA8835=1;SFRPAGE=SFRPAGE_RAM;/*-CSRFORM_RA8835() 说明:设置光标显示方式及其形状,2个参数-*/voidCSRFORM_RA8835() /写指令0 x5dwrcommand_RA8835(0 x5d); /p1 写CRX wrdata_RA8835(0 x01); /光标的水平点列数,07取值 /p2 写CRY wrdata_R

10、A8835(0 x08); /光标的垂直点列值,1-F取值/*-CSPDIR_RA8835() 说明:规定光标地址指针自动移动的方向。-*/voidCSPDIR_RA8835()wrcommand_RA8835(0 x4f);/4c=,4d=,4e,4fV/*- OYLAY_RA8835()显示区及行设置-*/voidOYLAY_RA8835()ucharx;/wrcommand_RA8835(0 x5b); /p1 显示区属性/Bit8=0; /Bit8_7=0; /NC,默认设为0 /Bit8_6=0; /NC,默认设为0 /Bit8_5=0; /NC,默认设为0 /Bit8_4=0; /

11、OV:0(二重合成),1(三重合成) /Bit8_3=1; /DM2第3显示区属性:0(文本),1(图型) /Bit8_2=1; /DM1第1显示区属性:0(文本),1(图型) /Bit8_1=1; /MX1:00(或),01(异或),10(与) /Bit8_0=1; /MX0: 11(优先叠加)/x=Bit8;x=0 x0f;wrdata_RA8835(x);/*-CGRAMADR_RA8835() 说明:设置CGRAM的起始地址:SAG-*/voidCGRAMADR_RA8835(uintaddress)BIT16=address;/wrcommand_RA8835(0 x5c); /p1

12、 写SAGLwrdata_RA8835(BIT16_0); /p2 写SAGHwrdata_RA8835(BIT16_1);/*- HDOTSET_RA8835()显示区及行设置-*/voidHDOTSET_RA8835()wrcommand_RA8835(0 x5a);/p1Dwrdata_RA8835(0 x00);/*- CSRW_RA8835()显示区及行设置-*/voidCSRW_RA8835(uintaddress)BIT16=address;/wrcommand_RA8835(0 x46); /p1 写CSRLwrdata_RA8835(BIT16_0); /p2 写CSRHwr

13、data_RA8835(BIT16_1);/*- CSRR_RA8835()读出光标地址-*/voidCSRR_RA8835()/wrcommand_RA8835(0 x47); /p1 读CSRLrdcommand_RA8835(); /p2 读CSRHrdcommand_RA8835();/*- MWRTTE_RA8835()MPU允许连续把显示数据写入显示区内-*/voidMWRTTE_RA8835()wrcommand_RA8835(0 x42);/*-MREAD_RA8835() 光标地址址确定单元的数据送入输出缓冲区给MCU读-*/voidMREAD_RA8835()wrcomma

14、nd_RA8835(0 x43);/*-SET_RA8835() 设置RA8835初始化-*/voidSETINT_RA8835()ET0=0;ES0=0;/SYSTEMSET_RA8835();SCROLL_RA8835();OYLAY_RA8835(); CSPDIR_RA8835(); /4fH光标自动下移CGRAMADR_RA8835(0);HDOTSET_RA8835(); /非片选SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;CS_RA8835=1;SFRPAGE=SFRPAGE_RAM;/ET0=1;ES0=1;/*-CLR_SRAM_RA8835(M) 清屏RA

15、8835-*/voidCLR_SRAM_RA8835(ucharm)uinti;ET0=0;ES0=0;i=0; if(fxlcm_flag=1)m=m; /判断是否要反显(阴/阳)for(i=0;i=0 x8000;i+)CSRW_RA8835(i);MWRTTE_RA8835();wrdata_RA8835(m); reset_wtg(); /看门狗复位ET0=1;ES0=1;/*-CLR_SCREEN_RA8835() 清屏本显示屏RA8835-*/voidCLR_SCREEN_RA8835(ucharm)uinti;ET0=0;ES0=0;/SFRPAGE_RAM=SFRPAGE;SF

16、RPAGE=15;/i=0; if(fxlcm_flag=1)m=m; /判断是否要反显(阴/阳)for(i=0;i=0 x3000;i+)CS_RA8835=0;CSRW_RA8835(i);MWRTTE_RA8835();wrdata_RA8835(m);CS_RA8835=1; reset_wtg(); /看门狗复位SFRPAGE=SFRPAGE_RAM;ET0=1;ES0=1;/*-wr_oneword_lcm(ucharword,uintaddr) 向RA8835LCM发送一个字节字模-*/voidwr_oneword_lcm(ucharword,uintaddr) /片选CSRW_

17、RA8835(addr);MWRTTE_RA8835();wrdata_RA8835(word); /非片选SFRPAGE_RAM=SFRPAGE;SFRPAGE=15;CS_RA8835=1;SFRPAGE=SFRPAGE_RAM; reset_wtg(); /看门狗复位/*-STRING8X16(flag,xaddr,yaddr)8X16字符- 入口: 格式(字模码,X地址,Y地址) 字模形式:再从上到下 字节排列:左高右低。即D7-D0说明:此程序是基于C8051F120外挂的28C256作字模存储器.使用外部XDATA方式访问-*/voidSTRING8X16(uintword16,ucharxaddr,yaddr)uintaddress;ucharx,y;ET0=0;ES0=0; address=yaddr*40+xaddr; /LCMRAM的地址赋起始执值 addr_28c256=0 x0000+word16*16; /28C256地址赋起始值/ for(x=0;x=15;x+) /从上

温馨提示

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

评论

0/150

提交评论