OLED_ShowCHinese(110,4,10);//℃ OLED_ShowCHinese(0,6,28);//运 OLED_ShowCHinese(18,6,29);//行 OLED_ShowCHinese(36,6,17);//时 OLED_ShowCHinese(54,6,18);//间 OLED_ShowString(72,6,\: OLED_ShowNum(80,6,yx1/10,1,16); OLED_ShowNum(88,6,yx1,1,16); OLED_ShowString(100,6,\ OLED_ShowNum(108,6,yx/10,1,16); OLED_ShowNum(116,6,yx,1,16); }} else {
OLED_Clear(); while(c==1 | c==2 | c==3 ) 置按键判断
{ shezhianjian(); shezhixianshi(); }} 置屏幕显示
}}
//设
//设
OLED显示初始化子程序
//******************************************************************************/
#include \#ifndef __OLED_H #define __OLED_H #define u8 unsigned char #define u32 unsigned int
#define OLED_CMD 0 //写命令 #define OLED_DATA 1 //写数据 #define OLED_MODE 0
sbit OLED_CS=P2^3; //片选 sbit OLED_RST =P2^5;//复位
sbit OLED_DC =P2^4;//数据/命令控制 sbit OLED_SCL=P2^7;//时钟 D0(SCLK? sbit OLED_SDIN=P2^6;//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
19
#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(u8 dat,u8 cmd); void OLED_Display_On(void); void OLED_Display_Off(void); void OLED_Init(void); void OLED_Clear(void);
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);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2); void OLED_ShowString(u8 x,u8 y, u8 *p);
void OLED_Set_Pos(unsigned char x, unsigned char y); void OLED_ShowCHinese(u8 x,u8 y,u8 no);
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
#endif
图片库程序
//******************************************************************************/
#ifndef __BMP_H #define __BMP_H
20
unsigned char code BMP1[] =
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F, 0x0F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x0F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x7F,0xFF,0xFF, 0x7F,0x7F,0x47,0x0F,0x7F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0x8F,0x0F,0x0F,0x07,0x07,0x47,0x07,0x0F,0x8F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x0F,0x1F,0x7F,0xFF,0xFF,0xFF, 0xFF,0x0F,0x0F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0x63,0x11,0x01,0x00,
0xC0,0xD8,0x03,0x01,0xF1,0xF9,0x00,0x00,0xF9,0xFF,0xFF,0x3F,0x3F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xC1,0x01,0x19,0x24,0x00,0x00,0x00,0x32,0x1C,0x00,0x80,0xF8,
0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xC7,0xFE,0x3E,0x0E,0xEE,0x24,
0xE0,0x20,0x20,0xE2,0x12,0x90,0xE2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,
0xF3,0xF3,0xF3,0x8B,0x01,0x40,0x00,0x00,0x00,0x00,0x01,0x81,0xE1,0xF9,0xF8,0xF9,
0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xE7,0xE3,0x03,0x03,0xE3,0x7F,0x37,0xE3,0xE3,0xE3,
0xE3,0x00,0x00,0xE0,0xF1,0xF1,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFC,0xFE,0xFF,0xF0,0xE0,
0xF9,0xFC,0xFC,0xFE,0xFF,0xFF,0xFE,0xFC,0xF9,0xF3,0xF3,0xF0,0xF0,0xFB,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF1,0xF3,0xE3,0xE3,0xE3,0xE3,
0xF3,0xF1,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF1,0xF0,0xFC,0xF7,0xF1,0xF8,
0xFF,0xF8,0xFC,0xFF,0xF0,0xE7,0xE7,0xE7,0xE7,0xE0,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,
21
0xFF,0xFF,0xCF,0xCF,0xE9,0xE0,0xE0,0xE0,0xE0,0xE4,0xE4,0xE7,0xE7,0xE7,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,
0xFF,0xC0,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x1F,0x1F,0x1F,0x0F, 0x0F,0x0F,0x0F,0x0F,0x1F,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x18,0x1C,0x1E,0x9F,0x9F,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xF8,0x00,0x00,0x01,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0xE0,0xC0,0xC3,0xC7,0x87,
0x8F,0x8F,0x87,0x87,0xC3,0xC3,0xE0,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; #enif
自动休眠和唤醒子程序
22
//******************************************************************************/
#ifndef __xiumian_H #define __xiumian_H #include \#include \sbit k1=P4^6; unsigned int i; unsigned int g; unsigned int q; bit k=1; bit b=1;
unsigned int miao=0; unsigned int yx;
void anjian()
{ if(k1 == 0) //低电平有效 {
delay_ms(80); //检测到按键 if(k1 == 0) {
while(k1); //直到松开按键 k=~k; b=~b; }}} void pingmu()
{ if(k==1 & b==1) 否在关屏时唤醒
{OLED_Display_On();TR1=1;} 幕,同时开启定时器
else if (k==0 | b==0) 否在点亮是关屏
{OLED_Display_Off();miao=0;TR1=0;b=0;k=0;} 幕,同时关闭定时器,清零标记位
}
void timer_1() interrupt 3 { TL1 = 0xB0; 定时初值
TH1 = 0x3C; 初值
i++; q++;
23
//判断是 //开启屏 //判断是 //关闭屏 //设置//设置定时