#include<reg12c.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include "shuzi.h"
sbit osda=P3^3;
sbit oscl=P3^4;
void delay()
{;;}
void delay1(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void oledqd()
{
osda=1;
delay();
oscl=1;
delay();
osda=0;
delay();
}
void oledtz()
{
osda=0;
delay();
oscl=1;
delay();
osda=1;
delay();
}
void oledyd()
{
oscl=1;
delay();
oscl=0;
delay();
}
void oledfs(uchar u)
{
uchar i;
for(i=0;i<8;i++)
{
u=u<<1;
oscl=0;
delay();
osda=CY;
delay();
oscl=1;
delay();
}
oscl=0;
delay();
osda=1;
delay();
}
void oledml(uchar i)
{
oledqd();
oledfs(0x78);
oledyd();
oledfs(0x00);
oledyd();
oledfs(i);
oledyd();
oledtz();
}
void oledsj(uchar i)
{
oledqd();
oledfs(0x78);
oledyd();
oledfs(0x40);
oledyd();
oledfs(i);
oledyd();
oledtz();
}
void oledff(uchar i,uchar m)
{
if(m==0)
{
oledml(i);
}
else oledsj(i);
}
//坐标设置
void oledzb(uchar x, uchar y)
{
oledff(0xb0+y,0);
oledff(((x&0xf0)>>4)|0x10,0);
oledff((x&0x0f),0);
}
//显示汉字
void oledhz(uchar x,uchar y,uchar no,uchar s,uchar ziku)
{
uchar t,u,w=0;
u=s/8;
for(w=0;w<u;w++)
{
oledzb(x,y+w);
for(t=0;t<s;t++)
{
switch(ziku)
{
case 0:oledff(shuzi[u*no+w][t],1);break;
/* case 1:oledff(shuzi16[u*no+w][t],1);break;
case 2:oledff(wenzi32[u*no+w][t],1);break;
case 3:oledff(lrcg[u*no+w][t],1);break;
case 4:oledff(yzsb[u*no+w][t],1);break;
case 5:oledff(yijicaidan[u*no+w][t],1);break;
case 6:oledff(qsrbh[u*no+w][t],1);break;
case 7:oledff(zhiwen[u*no+w][t],1);break;
case 8:oledff(kaijichushihua[u*no+w][t],1);break; */
}
}
}
}
//开启OLED显示
/*void oledkxs()
{
oledff(0X8D,0); //SET DCDC命令
oledff(0X14,0); //DCDC ON
oledff(0XAF,0); //DISPLAY ON
}
//关闭OLED显示
void oledgxs()
{
oledff(0X8D,0); //SET DCDC命令
oledff(0X10,0); //DCDC OFF
oledff(0XAE,0); //DISPLAY OFF
} */
//清屏函数,清完屏,整个屏幕是黑色的!和没点亮一样!!!
void oledqp()
{
uchar i,n;
for(i=0;i<8;i++)
{
oledff(0xb0+i,0); //设置页地址(0~7)
oledff(0x00,0); //设置显示位置—列低地址
oledff(0x10,0); //设置显示位置—列高地址
for(n=0;n<128;n++)oledff(0,1);
} //更新显示
}
/***********功能描述:显示显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7*****************/
/*void oledtp(uchar x0, uchar y0,uchar x1, uchar y1,uchar t)
{
uint j=0;
uchar x,y;
if(y1%8==0) y=y1/8;
else y=y1/8+1;
for(y=y0;y<y1;y++)
{
oledzb(x0,y);
for(x=x0;x<x1;x++)
{
switch(t)
{
case 0:oledff(tp[j++],1);break;
case 1:oledff(tp1[j++],1);break;
case 2:oledff(tp2[j++],1);break;
case 3:oledff(tp3[j++],1);break;
case 4:oledff(tp4[j++],1);break;
}
}
}
} */
void oled_csh()
{
osda=1;
delay();
oscl=1;
delay();
oledff(0xae,0);
oledff(0x20,0);
oledff(0x10,0);
oledff(0xb0,0);
oledff(0xc8,0);
oledff(0x00,0);
oledff(0x10,0);
oledff(0x40,0);
oledff(0x81,0);
oledff(0xdf,0);
oledff(0xa1,0);
oledff(0xa6,0);
oledff(0xa8,0);
oledff(0x3f,0);
oledff(0xa4,0);
oledff(0xd3,0);
oledff(0x00,0);
oledff(0xd5,0);
oledff(0xf0,0);
oledff(0xd9,0);
oledff(0x22,0);
oledff(0xda,0);
oledff(0x12,0);
oledff(0xdb,0);
oledff(0x20,0);
oledff(0x8d,0);
oledff(0x14,0);
oledff(0xaf,0);
}
STC单片机内部EEPROM_oledstc_STC自带EEPROM_
版权申诉
5星 · 超过95%的资源 195 浏览量
2021-10-04
09:13:08
上传
评论
收藏 43KB ZIP 举报
西西nayss
- 粉丝: 70
- 资源: 4754
最新资源
- python tkinter-08-盒子模型.ev4.rar
- Doozy UI Manager 2023
- 基于matlab实现夜间车牌识别程序(1).rar
- 基于matlab实现无线传感器网络无需测距定位算法matlab源代码 包括apit,dv-hop,amorphous在内的共7个
- 基于python的yolov5实现的旋转目标检测
- 基于matlab实现无线传感器网络 CAB定位仿真程序 这是无线传感器节点定位CAB算法的仿真程序,由matlab完成.rar
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- springcodespringcodespringcodespringcode
- 基于matlab实现权值的MAXDEV无线传感器网络定位算法研究 MAXDEV 无线传感器 定位 算法.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈