久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2209|回復: 2
打印 上一主題 下一主題
收起左側

新人求教proteus中字體顯示位置不對

[復制鏈接]
跳轉到指定樓層
樓主
使用的AGM1232,然后使用proteus仿真圖是這樣的,程序代碼如下,怎么調位置都不對。

  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. }
復制代碼

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩成人在线网站 | 亚洲91视频 | 中文字幕视频一区二区 | 国产亚洲精品久久19p | 日韩精品视频网 | 久久精品亚洲精品国产欧美 | 日韩精品一区二区三区在线 | 久久久久久久久国产精品 | 国产日韩一区二区三区 | 请别相信他免费喜剧电影在线观看 | 国产精品一区二区久久 | 国内精品视频在线观看 | 男女视频免费 | 精品日韩一区 | 亚洲有码转帖 | 91日韩在线 | 久久久精彩视频 | 国产精品99久久久久久宅男 | 男女午夜免费视频 | 99爱视频 | 国产精品一区网站 | 亚洲天堂999 | 美女一级a毛片免费观看97 | 男人天堂手机在线视频 | 日日夜夜精品 | 日韩视频一区 | 久久精品一级 | 国产亚洲一区二区三区在线观看 | 欧美 日韩 国产 在线 | 天天草天天干天天 | 99久久精品国产一区二区三区 | 久久久久免费精品国产小说色大师 | 欧美精品一区二区三区四区 在线 | 日本午夜在线视频 | 成人影院av| 免费看片在线播放 | 成人午夜网站 | 99精品福利视频 | 久久久999成人 | 亚洲高清视频在线观看 | 日本高清不卡视频 |