欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2443|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

新人求教proteus中字體顯示位置不對(duì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
使用的AGM1232,然后使用proteus仿真圖是這樣的,程序代碼如下,怎么調(diào)位置都不對(duì)。

  1. #include<reg51.h>
  2. #define PD1 61

  3. unsigned char Column;
  4. unsigned char Page_;
  5. unsigned char Code_;
  6. unsigned char Command;
  7. unsigned char LCDData;

  8. xdata unsigned char CWADD1 _at_ 0x8000;
  9. xdata unsigned char DWADD1 _at_ 0x8001;
  10. xdata unsigned char CRADD1 _at_ 0x8002;
  11. xdata unsigned char DRADD1 _at_ 0x8003;

  12. xdata unsigned char CWADD2 _at_ 0x8004;
  13. xdata unsigned char DWADD2 _at_ 0x8005;
  14. xdata unsigned char CRADD2 _at_ 0x8006;
  15. xdata unsigned char DRADD2 _at_ 0x8007;

  16. code unsigned char EETAB[ ][8]={
  17.     {0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00},
  18.     {0x10,0x30,0x50,0x10,0x10,0x10,0x7c,0x00},
  19.     {0x38,0x44,0x04,0x08,0x10,0x20,0x7c,0x00},
  20.     {0x78,0x84,0x04,0x38,0x04,0x84,0x78,0x00}
  21. };

  22. code unsigned char CCTAB[][32] ={
  23.     {0x00,0x24,0xF6,0x24,0x24,0x64,0xA4,0x24,0x3F,0x24,0xA4,0x64,0x24,0x24,0xE4,0x04,
  24.         0x00,0x00,0x7F,0x80,0x49,0x09,0x09,0x09,0x7F,0x09,0x09,0x09,0x09,0x00,0xFF,0x00},
  25. };

  26. void WriteCommandE1(){
  27.     while(CRADD1 & 0x80);
  28.     CWADD1 = Command;
  29. }

  30. void WriteDataE1(){
  31.     while(CRADD1 & 0x80);
  32.     DWADD1 = LCDData;
  33. }

  34. void ReadDataE1(){
  35.     while(CRADD1 & 0x80);
  36.     LCDData = DRADD1;
  37. }

  38. void WriteCommandE2(){
  39.     while(CRADD2 & 0x80);
  40.     CWADD2 = Command;
  41. }

  42. void WriteDataE2(){
  43.     while(CRADD2 & 0x80);
  44.     DWADD2 = LCDData;
  45. }

  46. void ReadDataE2(){
  47.     while(CRADD2 & 0x80);
  48.     LCDData = DRADD2;
  49. }

  50. void Init(){
  51.     Command = 0xe2;

  52.     WriteCommandE1();
  53.     WriteCommandE2();

  54.     Command = 0xa4;
  55.     WriteCommandE1();
  56.     WriteCommandE2();

  57.     Command = 0xa9;
  58.     WriteCommandE1();
  59.     WriteCommandE2();

  60.     Command = 0xa0;
  61.     WriteCommandE1();
  62.     WriteCommandE2();

  63.     Command = 0xc0;
  64.     WriteCommandE1();
  65.     WriteCommandE2();

  66.     Command = 0xaf;
  67.     WriteCommandE1();
  68.     WriteCommandE2();

  69. }

  70. void Clear(){
  71.     unsigned char i, j;
  72.     i = 0;
  73.     do{
  74.         Command = (i + 0xb8);
  75.         WriteCommandE1();
  76.         WriteCommandE2();

  77.         Command = 0x00;
  78.         WriteCommandE1();
  79.         WriteCommandE2();
  80.         j = 0x50;
  81.         do{
  82.             LCDData = 0x00;
  83.             WriteDataE1();
  84.             WriteDataE2();
  85.         }while(--j!=0);
  86.     }while(++i!=4);
  87. }

  88. void Delay(){
  89.     unsigned char i, j;
  90.     i = 20;
  91.     j = 0;
  92.     do{
  93.         do{
  94.         }while(--j!=0);
  95.     }while(--i!=0);
  96. }

  97. void WriteCHN16x16(){
  98.     unsigned char i, j, k;
  99.     i = 0;
  100.     j = 0;
  101.     while(j<2){
  102.         Command = ((Page_ + j) & 0x03)|0xb8;
  103.         WriteCommandE1();
  104.         WriteCommandE2();
  105.         k = Column;
  106.         while(k < Column + 16){
  107.             if(k < PD1){
  108.                 Command = k;
  109.                 WriteCommandE1();
  110.                 LCDData = CCTAB[Code_][i];
  111.                 WriteDataE1();
  112.             }
  113.             else{
  114.                 Command = k-PD1;
  115.                 WriteCommandE2();
  116.                 LCDData = CCTAB[Code_][i];
  117.                 WriteDataE2();
  118.             }
  119.             i++;
  120.             if(++k >= PD1*2) break;
  121.         }
  122.         j++;
  123.     }
  124. }

  125. int main(){
  126.     Init();
  127.     Clear();
  128.     Page_ = 0x02;
  129.     Column = 0x00;
  130.     Code_ = 0x00;
  131.     WriteCHN16x16();
  132.         
  133.                 Page_ = 0x02;
  134.     Column = 0x10;
  135.     Code_ = 0x00;
  136.     WriteCHN16x16();

  137.     while(1);
  138. }
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:700110 發(fā)表于 2020-3-5 14:43 | 只看該作者
真的很急,有人能幫忙看一下嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:897458 發(fā)表于 2022-2-1 15:12 | 只看該作者
我做的程序也是這樣,proteus仿真時(shí)不對(duì),但是實(shí)物連接時(shí)候卻是正常的。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表