[DemoCode下载] N76E003驱动I2C接口的OLED

[复制链接]
1160|1
 楼主| dongnanxibei 发表于 2024-6-23 21:02 | 显示全部楼层 |阅读模式
N76E003_OLED-master.zip (32.58 KB, 下载次数: 2)
主要移植代码如下
  1. //////////////////////////////////////////////////////////////////////////////////         
  2. //本程序只供学习使用,未经作者许可,不得用于其它任何用途
  3. //
  4. //  文 件 名   : main.c
  5. //  版 本 号   : v2.0
  6. //  作    者   : HuangKai
  7. //  生成日期   : 2014-0101
  8. //  最近修改   :
  9. //  功能描述   : OLED 4接口演示例程(51系列)
  10. //              说明:
  11. //              ----------------------------------------------------------------
  12. //              GND    电源地
  13. //              VCC  接5V或3.3v电源
  14. //              D0   P1^0(SCL)
  15. //              D1   P1^1(SDA)
  16. //              RES  接P12
  17. //              DC   接P13
  18. //              CS   接P14               
  19. //              ----------------------------------------------------------------
  20. // 修改历史   :
  21. // 日    期   :
  22. // 作    者   : HuangKai
  23. // 修改内容   : 创建文件
  24. //版权所有,盗版必究。
  25. //Copyright(C) 中景园电子2014/3/16
  26. //All rights reserved
  27. //******************************************************************************/
  28. #include "N76E003.h"
  29. #ifndef __OLED_H
  30. #define __OLED_H                                   
  31. //#include "sys.h"
  32. //#include "stdlib.h"          
  33. #define  u8 unsigned char
  34. #define  u32 unsigned int
  35. #define OLED_CMD  0        //写命令
  36. #define OLED_DATA 1        //写数据
  37. #define OLED_MODE 0


  38. sbit OLED_SCL=P1^3;                //时钟 D0(SCLK)
  39. sbit OLED_SDIN=P1^4;        //D1(MOSI) 数据


  40. #define OLED_CS_Clr()  OLED_CS=0
  41. #define OLED_CS_Set()  OLED_CS=1

  42. #define OLED_RST_Clr() OLED_RST=0
  43. #define OLED_RST_Set() OLED_RST=1

  44. #define OLED_DC_Clr() OLED_DC=0
  45. #define OLED_DC_Set() OLED_DC=1

  46. #define OLED_SCLK_Clr() OLED_SCL=0
  47. #define OLED_SCLK_Set() OLED_SCL=1

  48. #define OLED_SDIN_Clr() OLED_SDIN=0
  49. #define OLED_SDIN_Set() OLED_SDIN=1





  50. //OLED模式设置
  51. //0:4线串行模式
  52. //1:并行8080模式

  53. #define SIZE 16
  54. #define XLevelL                0x02
  55. #define XLevelH                0x10
  56. #define Max_Column        128
  57. #define Max_Row                64
  58. #define        Brightness        0xFF
  59. #define X_WIDTH         128
  60. #define Y_WIDTH         64                                                              
  61. //-----------------OLED端口定义----------------                                            

  62. void delay_ms(unsigned int ms);


  63. //OLED控制用函数
  64. void OLED_WR_Byte(unsigned dat,unsigned cmd);  
  65. void OLED_Display_On(void);
  66. void OLED_Display_Off(void);                                                                                          
  67. void OLED_Init(void);
  68. void OLED_Clear(void);
  69. void OLED_DrawPoint(u8 x,u8 y,u8 t);
  70. void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
  71. void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);
  72. void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);
  73. void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);         
  74. void OLED_Set_Pos(unsigned char x, unsigned char y);
  75. void OLED_ShowCHinese(u8 x,u8 y,u8 no);
  76. void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
  77. void Delay_50ms(unsigned int Del_50ms);
  78. void Delay_1ms(unsigned int Del_1ms);
  79. void fill_picture(unsigned char fill_Data);
  80. void Picture();
  81. void IIC_Start();
  82. void IIC_Stop();
  83. void Write_IIC_Command(unsigned char IIC_Command);
  84. void Write_IIC_Data(unsigned char IIC_Data);
  85. void Write_IIC_Byte(unsigned char IIC_Byte);
  86. void IIC_Wait_Ack();
  87. #endif  
  88.          




 楼主| dongnanxibei 发表于 2024-6-23 21:03 | 显示全部楼层
通过IO的高低电平模拟I2C时序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

3848

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部