找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

PIC16F877單片機(jī)+0.96OLED顯示源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:153917 發(fā)表于 2018-10-30 09:02 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
PIC16F877+0.96OLED顯示源代碼
  1. //===============================================================================
  2. //模塊名稱:  oled.c
  3. //簡介:  延時函數(shù)
  4. //版本: 1.0
  5. //作者: 張冰
  6. //說明:
  7. //===============================================================================
  8. #include <p18cxxx.h>
  9. #include <delays.h>
  10. #include "toppic.h"
  11. #include "delay.h"
  12. #include "oled.h"

  13. //              GND    電源地
  14. //              VCC  接5V或3.3v電源
  15. //              D0   P1^0(SCL)  時鐘管腳  RC3  SCK
  16. //              D1   P1^1(SDA)  數(shù)據(jù)管腳
  17. //              RES  接P12        復(fù)位(低電平復(fù)位)
  18. //              DC   接P13        數(shù)據(jù)和命令控制管腳
  19. //              CS   接地     

  20. /*****************************************************************************
  21. 函 數(shù) 名  : LED_WrDat
  22. 功能描述  : 向OLED寫數(shù)據(jù)
  23. 輸入?yún)?shù)  : UCHAR8 ucData  
  24. 輸出參數(shù)  : NONE
  25. 返 回 值  : NONE
  26. *****************************************************************************/
  27. void Write_SPI_Data(unsigned char ucData)
  28. {
  29.     unsigned char i = 8;
  30.     DC=1;
  31.     SCL=0;
  32.    
  33.     while (i--)
  34.     {
  35.         if (ucData & 0x80)
  36.         {
  37.             SDA = 1;
  38.         }
  39.         else
  40.         {
  41.             SDA = 0;
  42.         }
  43.         
  44.         SCL = 1;
  45.         _nop_();
  46.         SCL = 0;   
  47.         ucData <<= 1;   
  48.     }

  49.     return;
  50. }

  51. /*****************************************************************************
  52. 函 數(shù) 名  : LED_WrCmd
  53. 功能描述  : 向OLED寫命令
  54. 輸入?yún)?shù)  : UCHAR8 ucCmd  
  55. 輸出參數(shù)  : NONE
  56. 返 回 值  : NONE
  57. *****************************************************************************/
  58. void Write_SPI_Command(unsigned char ucCmd)
  59. {
  60.     unsigned char i = 8;
  61.     DC   = 0;
  62.     SCL  = 0;
  63.     while (i--)
  64.     {
  65.         if (ucCmd & 0x80)
  66.         {
  67.             SDA = 1;
  68.         }
  69.         else
  70.         {
  71.             SDA = 0;
  72.         }
  73.         SCL = 1;
  74.         _nop_();           
  75.         SCL = 0;   
  76.         ucCmd <<= 1;   
  77.     }  

  78.     return;
  79. }

  80. /********************************************
  81. // fill_Picture
  82. ********************************************/
  83. void fill_picture(unsigned char fill_Data)
  84. {
  85.         unsigned char m,n;
  86.         for(m=0;m<8;m++)
  87.         {
  88.                 Write_SPI_Command(0xb0+m);                //page0-page1
  89.                 Write_SPI_Command(0x00);                //low column start address
  90.                 Write_SPI_Command(0x10);                //high column start address
  91.                 for(n=0;n<128;n++)
  92.                         {
  93.                                 Write_SPI_Data(fill_Data);
  94.                         }
  95.         }
  96. }
復(fù)制代碼

全部資料51hei下載地址:
0.96oled-OK.rar (26.29 KB, 下載次數(shù): 57)


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

使用道具 舉報(bào)

沙發(fā)
ID:943006 發(fā)表于 2021-7-20 13:35 | 只看該作者
有沒有用過的兄弟
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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