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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2284|回復: 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:897458 發表于 2022-2-1 15:12 | 只看該作者
我做的程序也是這樣,proteus仿真時不對,但是實物連接時候卻是正常的。
回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲高清一区二区三区 | 色婷婷一区| 精品视频一区二区三区四区 | 国产在线不卡 | 成人精品在线观看 | 欧美男人天堂 | 天堂在线www | 中文字幕av高清 | av在线伊人 | 久精品视频 | 国产精品久久久久一区二区三区 | 日韩一区不卡 | 自拍偷拍第一页 | 一区二区三区四区毛片 | 18性欧美 | 在线观看中文字幕 | 久久久久久黄 | www.久久.com| 成人亚洲在线 | 亚洲色欧美另类 | 国产精品久久久久无码av | 国产福利久久 | 亚洲欧美精品国产一级在线 | 欧美影院 | 一区二区高清不卡 | 狠狠色狠狠色综合日日92 | 精品久久久久一区二区国产 | 欧美日韩网站 | 久久久久久久久久久国产 | 伊人精品在线 | 一级免费看 | 日本一道本视频 | 中文字幕精品一区 | 亚洲高清在线观看 | 国产精品一区二区三区在线播放 | 一区二区三区四区视频 | 国产视频一区二区 | 欧美精品一区在线发布 | 成人午夜免费视频 | 免费观看www7722午夜电影 | 影音先锋欧美资源 |