LCD12864画点画线定点写入等子函数

上传人:s9****2 文档编号:497525185 上传时间:2023-03-14 格式:DOC 页数:10 大小:99.50KB
返回 下载 相关 举报
LCD12864画点画线定点写入等子函数_第1页
第1页 / 共10页
LCD12864画点画线定点写入等子函数_第2页
第2页 / 共10页
LCD12864画点画线定点写入等子函数_第3页
第3页 / 共10页
LCD12864画点画线定点写入等子函数_第4页
第4页 / 共10页
LCD12864画点画线定点写入等子函数_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《LCD12864画点画线定点写入等子函数》由会员分享,可在线阅读,更多相关《LCD12864画点画线定点写入等子函数(10页珍藏版)》请在金锄头文库上搜索。

1、#define LCD12864_GLOBAL#includelcd12864.hvoid delay_10us(unsigned char del)while(del-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/读忙函数/操作方式 RSL RWH E低脉冲/输入:/输出:忙标志 1:忙 0:闲/void Lcd12864_ChkBusy(void)RS = 0;RW = 1;E = 1;L_PORT = 0XFF;while(L_PORT & 0X80) = 0X80); /忙了,则等待E = 0;/写指

2、令/操作方式 RSL RWH E高电平/输入:/输出:/void Lcd12864_WrCom(uchar com)Lcd12864_ChkBusy();RS = 0;RW = 0;E = 1;L_PORT = com;delay_10us(1);E = 0;/写数据/操作方式 RSL RWH E高电平/输入:写入数据/输出:/void Lcd12864_WrData(uchar dat)Lcd12864_ChkBusy();RS = 1;RW = 0;E = 1;L_PORT = dat;delay_10us(1);E = 0;/字库初始化函数/输入:/输出:/void Lcd12864_W

3、ordInit(void)PSB = 1;/8位并行数据传输方式RET = 0;/复位函数delay_10us(1);/延时下RET = 1;/复位无效Lcd12864_WrCom(0x30);Lcd12864_WrCom(0x30);Lcd12864_WrCom(0x0c);Lcd12864_WrCom(0x01);Lcd12864_WrCom(0x06);/定位写入字符串函数/输入:参数1:行(14),参数2:列(07)参数3,字符串 参数4,写入字节数/输出:/void Lcd12864_WrString(uchar x,uchar y,uchar *str,uchar num)ucha

4、r i;y = y % 7 ;/舍去大于八的数据switch(x)case 1:Lcd12864_WrCom(0x80 + y);break;case 2:Lcd12864_WrCom(0x90 + y);break;case 3:Lcd12864_WrCom(0x88 + y);break;case 4:Lcd12864_WrCom(0x98 + y);break;default:Lcd12864_WrCom(0x80 + y);for(i = 0;i num;i +)Lcd12864_WrData(*str+);/写入对应点的数据/图片初始化函数/输入:/输出:/void Lcd12864

5、_PhotoInit(void)PSB = 1;/8位并行数据传输方式RET = 0;/复位函数delay_10us(1);/延时下RET = 1;/复位无效Lcd12864_WrCom(0x36);Lcd12864_WrCom(0x36);Lcd12864_WrCom(0x3e);Lcd12864_WrCom(0x01);/图片打印函数/输入:图片数组的指针/输出:/void Lcd12864_PhotoPrint(uchar *photo)uchar i,j,k;for(i = 0;i 2;i +)for(j = 0;j 32;j +)Lcd12864_WrCom(0x80 + j);/纵

6、坐标if(i = 0)Lcd12864_WrCom(0x80);/上半屏elseLcd12864_WrCom(0x88);/下半屏for(k = 0;k 16;k +)Lcd12864_WrData(*photo + );/清楚GDRAM函数/输入:/输出:/void Lcd12864_ClrGdRam(void)uchar x,y;for(y = 0;y 64;y +)for(x = 0;x 4;/取出对应层数TierBit = x & 0x0f;/取出对应层数的位if(y 32)Row = (y) & 0x1f);/取32的补码Tier += 8;/下半屏elseRow = (y - 32

7、) & 0x1f);/选取位置读出数据Lcd12864_WrCom(Row + 0x80);/ 行Lcd12864_WrCom(Tier + 0x80);/ 列Lcd12864_ReData();ReadDatH = Lcd12864_ReData();/读取高八位ReadDatL = Lcd12864_ReData();/读取低八位/定位位置准备写入数据Lcd12864_WrCom(Row + 0x80);/ 行Lcd12864_WrCom(Tier + 0x80);/ 列if(TierBit 8)switch(color)case 0:ReadDatH &= (0x01 (7 - Tier

8、Bit); /置零break;case 1:ReadDatH |= (0x01 (7 - TierBit);/置一break;case 2:ReadDatH = (0x01 (7 - TierBit);/异或取反break;elseswitch(color)case 0:ReadDatL &= (0X01 (15 - TierBit);break;case 1:ReadDatL |= (0x01 (15 - TierBit);break;case 2:ReadDatL = (0x01 (15 - TierBit);Lcd12864_WrData(ReadDatH);/先写高位字节Lcd12864_WrData(ReadDatL);/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号