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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

UG-2864HSWEG0或ssd1306與stm32源程序+Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:771565 發(fā)表于 2020-6-18 02:48 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我在做這個仿真的時候也遇到了一定問題,現(xiàn)附上proteus仿真模擬圖和源代碼供大家參考。大家在用這塊屏幕取字模的時候一定要注意是行列式還是列行試。注意在打印數(shù)組的時候要注意他的頁與行的變換。加油

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include "sys.h"
  2. #include "usart.h"
  3. #include "delay.h"
  4. //unsigned char a[10]="mengxinyu";
  5. unsigned char a[]={//孟
  6.         /*        0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m
  7.           0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e
  8.                
  9. 省略


  10. 0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x02,0x02,0x00,0x00,/*"?",2*/
  11. };
  12. void LCD_Init(void)        
  13. {
  14.   /*GPIO_InitTypeDef  GPIO_InitStruct;
  15.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  16.   
  17.   GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_6;
  18.   GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
  19.   GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
  20.         GPIO_Init(GPIOB, &GPIO_InitStruct);
  21.         
  22.         GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_7;
  23.         GPIO_Init(GPIOB, &GPIO_InitStruct);
  24.         
  25.         GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_8;
  26.         GPIO_Init(GPIOB, &GPIO_InitStruct);
  27.         
  28.         GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_9;
  29.         GPIO_Init(GPIOB, &GPIO_InitStruct);

  30.         
  31.         GPIO_WriteBit(GPIOB,GPIO_Pin_6,0) ;
  32.         GPIO_WriteBit(GPIOB,GPIO_Pin_7,0) ;
  33.         GPIO_WriteBit(GPIOB,GPIO_Pin_8,0) ;
  34.         GPIO_WriteBit(GPIOB,GPIO_Pin_9,0) ;*/
  35.         RCC->APB2ENR|=1<<3;     //使能PORTB時鐘
  36.       GPIOB->CRL&=0X00000000;
  37.           GPIOB->CRL|=0X33FFFFFF;
  38.           GPIOB->CRH&=0X00000000;
  39.           GPIOB->CRH|=0XFFFFFF33;         
  40.       GPIOB->ODR|=0XFFFFFFFF;
  41.                         
  42. }
  43. void comdate(int h,unsigned char data)//0命令 1數(shù)據(jù)
  44. {
  45.         int i;
  46.         if(h==0)
  47.                 PBout(6)=0;
  48.         else
  49.                 PBout(6)=1;
  50.         PBout(9)=0;
  51.         for(i=0;i<8;i++)
  52.         {
  53.                 if(data&0x80)
  54.                 PBout(8)=1;
  55.     else
  56.         PBout(8)=0;
  57.     PBout(9)=1;            
  58.     PBout(9)=0;   
  59.     data<<=1;
  60.         }
  61. }
  62. void chushihua(void)
  63. {
  64.                         comdate(0,0xae);//close 屏
  65.       comdate(0,0x00);//write low address
  66.       comdate(0,0x10);//write high address
  67.                         comdate(0,0xaf);//開屏
  68.         
  69.                         /*        comdate(0,0x2E);        
  70.         comdate(0,0x26);        // 26/27 light right
  71.         comdate(0,0x00);        
  72.         comdate(0,0x00);        
  73.         comdate(0,0x07);        
  74.         comdate(0,0x07);        
  75.         comdate(0,0x00);        
  76.         comdate(0,0xFF);        
  77.         comdate(0,0x2F);*/
  78. }
  79. void LCD_Set_Pos(unsigned char x, unsigned char y)
  80. {
  81.   comdate(0,0xb0+y);
  82.   comdate(0,((x&0xf0)>>4)|0x10);
  83.   comdate(0,(x&0x0f)|0x01);
  84. }
  85. void xianshi(unsigned char x,unsigned char y)
  86. {
  87.         int i,j;
  88.         int q;
  89.         /*for(i=0;i<64;i++)
  90.         {
  91.                 comdate(1,a[i]);
  92.                 //for(i=0;i<8;i++);
  93.                 if(i>0&&i%16==0)
  94.                 {
  95.                         y=y+1;
  96.                         x+=8;
  97.                 }
  98.         }*/
  99.         for(i=0;i<2;i++)
  100.         {
  101.         for(j=0;j<32;j++)
  102.         {
  103.                 LCD_Set_Pos(j,i);
  104.                 comdate(1,a[q++]);
  105.         }
  106. }
  107. }
  108. void xianshi1(unsigned char x,unsigned char y)
  109. {
  110.         int i,j;
  111.         int q;
  112.         for(i=0;i<2;i++)
  113.         {
  114.         for(j=0;j<32;j++)
  115.         {
  116.                 LCD_Set_Pos(j,i+2);
  117.                 comdate(1,b[q++]);
  118.         }
  119. }
  120.         }
  121. void xianshi2(unsigned char x,unsigned char y)
  122. {
  123.         int i,j;
  124.         int q;
  125.         for(i=0;i<2;i++)
  126.         {
  127.         for(j=0;j<32;j++)
  128.         {
  129.                 LCD_Set_Pos(j,i+4);
  130.                 comdate(1,c[q++]);
  131.         }
  132. }
  133.         }
  134. void xianshi3(unsigned char x,unsigned char y)
  135. {
  136.         int i,j;
  137.         int q;
  138.         for(i=0;i<8;i++)
  139.         {
  140.         for(j=0;j<128;j++)
  141.         {
  142.                 LCD_Set_Pos(j,i);
  143.                 comdate(1,0x00);
  144.         }
  145. }
  146.         }
  147. int main()
  148. {
  149.         int i;
  150.         LCD_Init();
  151.         chushihua();
  152.                 xianshi(0,0);//參數(shù)毫無意義
  153.         xianshi1(0,2);
  154.         xianshi2(3,3);
  155.         
  156.         //xianshi3(1,0);
  157.         //xianshi(1,0);
  158.         //xianshi1(1,0);
  159.          /*comdate(0,0x00);
  160.         xianshi3(1,0);
  161.         //for(i=0;i<100000;i++);
  162.         xianshi1(1,0);
  163.         comdate(0,0x00);
  164.         xianshi3(1,0);
  165.         //for(i=0;i<100000;i++);
  166.         xianshi2(1,0);
  167.         //xianshi2(9,0);*/
  168.         while(1);
  169. }
  170. /*for(j=0;j<10;j++)
  171.         {
  172.                 for(i=0;i<8;i++)
  173.     comdate(1,a[i]);
  174.           // comdate(1,43);
  175.           LCD_Set_Pos(x,y+1);   
  176.           for(i=0;i<8;i++)   
  177.                         comdate(1,a[i+8]);  
  178.           x+=8;
  179.         }*/
復(fù)制代碼

所有資料51hei提供下載:
oled.7z (182.27 KB, 下載次數(shù): 71)
仿真圖.rar (22.9 KB, 下載次數(shù): 66)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:784999 發(fā)表于 2020-7-9 21:24 | 只看該作者
這個IIC驅(qū)動嗎還是SPI
回復(fù)

使用道具 舉報

板凳
ID:798633 發(fā)表于 2020-7-10 08:11 | 只看該作者
proteus里用I2C老是驅(qū)動不成功,用SPI才能使用。
回復(fù)

使用道具 舉報

地板
ID:718821 發(fā)表于 2020-7-10 09:33 | 只看該作者
我也遇到了I2C的問題,怎么解決呢
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av片在线观看网站 | 国产成人综合亚洲欧美94在线 | 精品欧美一区二区精品久久 | 久久精品欧美一区二区三区不卡 | 日本a视频 | 亚洲国产精品久久久久秋霞不卡 | 欧美精品久久久久 | 不卡一区| 精品欧美一区二区中文字幕视频 | 一区二区三区四区国产精品 | av在线一区二区三区 | 日韩综合在线播放 | 欧美激情视频网站 | 中文字幕国产第一页 | 黑人精品 | 99精品免费在线观看 | 黄色一级片在线播放 | 亚洲成人精品 | 久久久黑人 | aaaaaaa片毛片免费观看 | 亚洲高清在线观看 | 亚洲福利一区二区 | 日韩精品在线播放 | 99久久久久久99国产精品免 | 国产精品一区二区三级 | 欧美亚洲免费 | 91麻豆产精品久久久久久 | 午夜在线精品 | 中文字幕一区二区三区精彩视频 | 国产欧美一区二区三区在线看 | 亚洲欧美一区二区三区在线 | 亚洲最大av | 成人精品视频99在线观看免费 | 欧美中文字幕一区二区三区亚洲 | 九九热这里只有精品在线观看 | 欧美片网站免费 | 高清一区二区 | 国产精品久久 | 日本在线免费看最新的电影 | 91传媒在线观看 | 伦理午夜电影免费观看 |