迪文科技论坛

 找回密码
 立即注册
搜索
查看: 470|回复: 3

【提问】C51如何通过Write_Dgusii_Vp_byChar写的方式实现页面

[复制链接]

194

主题

442

回帖

2741

积分

金牌会员

Rank: 6Rank: 6

积分
2741
发表于 2022-8-1 10:53:58 | 显示全部楼层 |阅读模式
如何通过void Write_Dgusii_Vp_byChar(unsigned int addr,unsigned char *buf,unsigned int len)写的方式实现页面跳转?
回复

使用道具 举报

2

主题

1228

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10014
发表于 2022-8-1 11:30:47 | 显示全部楼层
  1. void Write_Dgus(u16 Dgus_Addr,u16 Val)
  2.                             u16 Read_Dgus(u16 Dgus_Addr)
  3. //===========================
  4. u16 Read_Dgus(u16 Dgus_Addr)
  5. {                       u16 R_Dgus=0;
  6.                         EA = 0;ADR_H = 0x00;
  7.                         ADR_M = (u8)((Dgus_Addr/2)>>8);
  8.                         ADR_L = (u8)(Dgus_Addr/2);
  9.                         RAMMODE = 0xAF; while(!APP_ACK);        //读操作
  10.                         APP_EN = 1;     while(APP_EN);
  11.                         if(Dgus_Addr%2)        R_Dgus = (DATA1<<8)+DATA0;
  12.                         else            R_Dgus=(DATA3<<8)+DATA2;
  13.                         RAMMODE = 0; EA = 1;        return   R_Dgus;
  14. }
  15. //=================================
  16. void Write_Dgus(u16 Dgus_Addr,u16 Val)
  17. {                     EA = 0;ADR_H = 0x00;
  18.                         ADR_M = (u8)((Dgus_Addr/2)>>8);
  19.                         ADR_L = (u8)(Dgus_Addr/2);
  20.                         RAMMODE = 0xAF;while(!APP_ACK);                //读操作
  21.                         APP_EN = 1;while(APP_EN);RAMMODE = 0;
  22.                          ADR_M = (u8)((Dgus_Addr/2)>>8);
  23.                         ADR_L = (u8)(Dgus_Addr/2);
  24.                         RAMMODE = 0x8F;while(!APP_ACK);                //写操作
  25.                         if(Dgus_Addr%2){DATA1=(u8)(Val>>8);DATA0=(u8)(Val);}
  26.                         else           {DATA3=(u8)(Val>>8);DATA2=(u8)(Val);}
  27.                        APP_EN = 1;        while(APP_EN);RAMMODE = 0;
  28.                         EA = 1;
  29. }


  30.                 把页面切换到10页

  31.                  Write_Dgus(0x0085,0x000A);

  32.                  Write_Dgus(0x0084,0x5A01);
复制代码


回复

使用道具 举报

194

主题

442

回帖

2741

积分

金牌会员

Rank: 6Rank: 6

积分
2741
 楼主| 发表于 2022-8-2 09:32:03 | 显示全部楼层
本帖最后由 huojidu 于 2022-8-2 09:38 编辑

那我切换到02背景,是直接往0X84写5A01 0002?
回复

使用道具 举报

0

主题

611

回帖

9383

积分

论坛元老

Rank: 8Rank: 8

积分
9383
发表于 2022-8-2 10:26:20 | 显示全部楼层
huojidu 发表于 2022-8-2 09:32
那我切换到02背景,是直接往0X84写5A01 0002?

是的呢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-4-5 22:09 , Processed in 0.041262 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表