找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1447|回复: 0
打印 上一主题 下一主题
收起左侧

C51单片机OLED网上的程序自己注释调试

[复制链接]
跳转到指定楼层
楼主
ID:815636 发表于 2020-10-1 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "REG51.h"
#ifndef __OLED_H
#define __OLED_H                                   
//#include "sys.h"
//#include "stdlib.h"         
#define  u8 unsigned char
#define  u32 unsigned int
#define OLED_CMD  0        //写命令
#define OLED_DATA 1        //写数据
#define OLED_MODE 0




sbit OLED_SCL=P1^0;//时钟 D0(SCLK?
sbit OLED_SDIN=P1^1;//D1(MOSI) 数据




#define OLED_CS_Clr()  OLED_CS=0
#define OLED_CS_Set()  OLED_CS=1


#define OLED_RST_Clr() OLED_RST=0
#define OLED_RST_Set() OLED_RST=1


#define OLED_DC_Clr() OLED_DC=0
#define OLED_DC_Set() OLED_DC=1


#define OLED_SCLK_Clr() OLED_SCL=0
#define OLED_SCLK_Set() OLED_SCL=1


#define OLED_SDIN_Clr() OLED_SDIN=0
#define OLED_SDIN_Set() OLED_SDIN=1










//OLED模式设置
//0:4线串行模式
//1:并行8080模式


#define SIZE 16
#define XLevelL                0x02
#define XLevelH                0x10
#define Max_Column        128
#define Max_Row                64
#define        Brightness        0xFF
#define X_WIDTH         128
#define Y_WIDTH         64                                                              
//-----------------OLED端口定义----------------                                             


void delay_ms(unsigned int ms);




//OLED控制用函数
void OLED_WR_Byte(unsigned dat,unsigned cmd);                                                                          //
void OLED_Display_On(void);
void OLED_Display_Off(void);                                                                                          
void OLED_Init(void);                                                                                                                                                                                //OLED初始化
void OLED_Clear(void);                                                                                                                                                                        //OLED清屏
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);                                                //显示ASCII字符`
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);                                                //显示数字
void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);                                                ////第一个是开始的列,第二个是开始的行,第三个是字符,第四个是字符的大小,注意字符是需要用引号表示为字符串的。
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(u8 x,u8 y,u8 no);                                                                                                        //第一个是列的起始点(每次增加18),第二个是page的选取,第三个是数组后面汉字标注的数
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
void Delay_50ms(unsigned int Del_50ms);                                                                                //延时
void Delay_1ms(unsigned int Del_1ms);                                                                                        //延时
void fill_picture(unsigned char fill_Data);
void Picture();






void IIC_Start();                                                                                                                                                                                                        //iic开始信号
void IIC_Stop();                                                                                                                                                                                                        //iic停止信号
void Write_IIC_Command(unsigned char IIC_Command);                                                                //iic写命令
void Write_IIC_Data(unsigned char IIC_Data);                                                                                        //iic写数据
void Write_IIC_Byte(unsigned char IIC_Byte);                                                                                        //主机发送一个字节的数据,从高位开始发送 SCL高电平的时候数据保持稳定,SCL组织数据,SCL高电平发送数据或者接受数据
void IIC_Wait_Ack();                                                                                                                                                                                        //应答信号
#endif  

OLED终结者.7z

4.12 MB, 下载次数: 15, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表