当前位置: 首页 > news >正文

前端静态网页模板保定seo排名

前端静态网页模板,保定seo排名,小程序制作侧拉切换,网站优化及推广目录 简介 代码 功能 显示ASCII字符 ​编辑 画任意直线 画横线 画竖线 画矩形 画椭圆 画立方体 画点阵图 翻转 反相 滚动 横向滚动 纵向滚动 奇葩滚动 简介 我重新写了一个驱动#xff0c;增加了一些功能#xff0c;由于我的硬件是128*64oled单色I2C#xff0c;我只…目录 简介 代码 功能 显示ASCII字符 ​编辑 画任意直线 画横线 画竖线 画矩形 画椭圆 画立方体 画点阵图 翻转 反相 滚动 横向滚动 纵向滚动 奇葩滚动 简介 我重新写了一个驱动增加了一些功能由于我的硬件是128*64oled单色I2C我只适配了我的硬件。如果你的硬件和我相同你可以使用我的ssd1306驱动. 我的oled似乎不是ssd1306驱动芯片而是ssd1315驱动芯片不过两者差别很小仅在滚动那块有些许出入 如果你是大佬可以复制代码后就走人如果你是小白推荐你边看边打代码我给出例子和注释 代码 import framebufclass SSD1306():def __init__(self,external_vcc):self.width 128self.height 64self.external_vcc external_vccself.pages 8self.init_display()def init_display(self):for cmd in (0xae, # 熄屏0x20, 0x00, # 水平寻址0x40, # 显示起始行地址0xa1, # 正常列扫描0xa8, 63, # 复用率0xc8, # 正常行扫描0xd3, 0x00, #设置COM偏移量即屏幕像上偏移的行数0xda, 0x12, #使用备选引脚配置并禁用左右反置0xd5, 0x80, # 设置分频因子与振荡频率0xd9, 0x22 if self.external_vcc else 0xf1,0xdb, 0x30, # 设置vcomh电压为0.83*Vcc0x81, 0xff, # 亮度最大0xa4, # 使用GDDRAM中的数据显示0xa6, # 设置GDDRAM中的0对应于像素点的暗# 关闭电荷泵0x8d, 0x10 if self.external_vcc else 0x14,0x2e, # 禁止滚动0xaf): #开屏self.write_cmd(cmd)self.fill(0)self.show()#设置水平滚动参数滚动区域滚动起始页滚动结束页滚动方向默认向左填0向右滚动速度0-7 def h_scroll(self,start0,end7,d1,speed0): self.write_cmd(0x2e) # 关闭滚动self.write_cmd(0x26d) # 向左self.write_cmd(0x00)self.write_cmd(start) # 起始页self.write_cmd(speed) # 滚动帧率self.write_cmd(end) # 结束页self.write_cmd(0x00)self.write_cmd(0xff)self.write_cmd(0x2f) # 开启滚动#默认开启竖直向上滚动与水平向右滚动def scroll(self,vScrollOn0,vStart0,vEnd63,vSpeed1,hScrollOn1,direction0,hSpeed0,hScrollStartPage0,hScrollEndPage7,hScrollStartColumn0,hScrollEndColumn127):if vScrollOn:self.write_cmd(0x2e)# 关闭滚动self.write_cmd(0xa3)#设置竖直滚动命令self.write_cmd(vStart)#竖直滚动开始行self.write_cmd(vEnd)#竖直滚动结束行self.write_cmd(0x29direction)#水平滚动方向向右self.write_cmd(hScrollOn) # 0,关闭水平滚动1开启self.write_cmd(hScrollStartPage)# 水平滚动起始页self.write_cmd(hSpeed)#设置滚动速度0-7self.write_cmd(hScrollEndPage)# 水平滚动结束页self.write_cmd(vSpeed) # 每一帧的垂直偏移量self.write_cmd(hScrollStartColumn)#水平滚动区域的起始列self.write_cmd(hScrollEndColumn)#水平滚动区域的结束列self.write_cmd(0x2f)# 开启滚动#关闭oleddef poweroff(self):self.write_cmd(0xae | 0x00)#熄屏#亮度0x00-0xffdef contrast(self, contrast):self.write_cmd(0x81)self.write_cmd(contrast)#正反相显示输入1则反相默认正相def invert(self, invert0):self.write_cmd(0xa6 | invert)# 显示def show(self):self.write_cmd(0x21) # 告诉GDDRAM列数self.write_cmd(0) # 列数从0-127self.write_cmd(127)self.write_cmd(0x22) # 告诉GDDRAM行数self.write_cmd(0) # 页数从0-7self.write_cmd(7)self.write_framebuf() # 写入1bit地址和1024bit数据# 水平翻转,0翻转1正常默认def hv(self,b1):self.write_cmd(0xc0 | b3)#竖直翻转,0翻转1正常默认 def vv(self,b1):self.write_cmd(0xa0|b)#刷新缓冲区def fill(self, c):self.framebuf.fill(c)#画点默认点亮置0则暗def pixel(self, x, y, c1):self.framebuf.pixel(x, y, c)#写字符def text(self, s, x, y, c1):self.framebuf.text(s, x, y, c)#画水平直线def hline(self,x,y,w,c1):self.framebuf.hline(x,y,w,c)#画竖直直线def vline(self,x,y,h,c1):self.framebuf.vline(x,y,h,c)#画任意直线 def line(self,x1,y1,x2,y2,c1):self.framebuf.line(x1,y1,x2,y2,c)#画矩形参数起始左上角坐标长宽颜色默认为亮是否填充def rect(self,x,y,w,h,c1,fFalse):self.framebuf.rect(x,y,w,h,c,f)#画椭圆参数起始圆心坐标x半径y半径颜色默认为亮是否填充显示象限0-15的数字def ellipse(self,x,y,xr,yr,c1,fFalse,m15):self.framebuf.ellipse(x,y,xr,yr,c,f,m)#画立方体左上前点的坐标边长def cube(self,x,y,l):self.rect(x,y,l,l)self.rect(xint(0.5*l),int(y-0.5*l),l,l)self.line(x,y,int(x0.5*l),int(y-0.5*l))self.line(xl-1,y,int(x1.5*l-1),int(y-0.5*l))self.line(x-1,yl,int(x0.5*l),int(y0.5*l-1))self.line(xl-1,yl-1,int(x1.5*l-1),int(y0.5*l-1))#画8*8的图列行def p8(self,page,x,y):for e in range(8):bytebin(page[e]).replace(0b,)while len(byte)8:byte0bytefor i in range(8):if byte[i]1:self.pixel(xe,yi,int(byte[i]))#画16*16的图列行def p16(self,page,x,y):for e in range(32):bytebin(page[e]).replace(0b,)while len(byte)8:byte0bytefor i in range(8):if byte[i] and e16:self.pixel(xe,yi,int(byte[i]))elif byte[i] and e16:self.pixel(x-16e,y8i,int(byte[i]))#画32*32的图列行def p32(self,page,x,y):for e in range(128):bytebin(page[e]).replace(0b,)while len(byte)8:byte0bytefor i in range(8):if byte[i] and e32:self.pixel(xe,yi,int(byte[i]))elif byte[i] and 32e64:self.pixel(xe-32,y8i,int(byte[i]))elif byte[i] and 64e96:self.pixel(xe-64,y16i,int(byte[i]))elif byte[i] and 96e128:self.pixel(xe-96,y24i,int(byte[i]))class SSD1306_I2C(SSD1306):def __init__(self,i2c, addr0x3c, external_vccFalse):self.i2c i2cself.addr addrself.temp bytearray(2)# buffer需要8 * 128的显示字节加1字节命令self.buffer bytearray(8 * 128 1)self.buffer[0] 0x40 # Co0, D/C1self.framebuf framebuf.FrameBuffer1(memoryview(self.buffer)[1:], 128, 64)super().__init__(external_vcc)def write_cmd(self, cmd):self.temp[0] 0x80 # Co1, D/C#0self.temp[1] cmdself.i2c.writeto(self.addr, self.temp)def write_framebuf(self):self.i2c.writeto(self.addr, self.buffer) 功能 显示ASCII字符 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)oled.text(hello world,0,0)oled.show()画任意直线 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)oled.line(0,2,50,60)oled.show()画横线 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)oled.hline(2,30,80)oled.show() 画竖线 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)oled.vline(20,0,40)oled.show() 画矩形 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c) #左上角xy坐标长宽 oled.rect(20,0,40,20)oled.show() 画椭圆 众所周知圆也是椭圆的一种 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c) 参数中心点xy坐标x轴向半径y轴向半径fTrue为填充默认不填充 oled.ellipse(20,30,10,20) oled.ellipse(60,20,10,20,fTrue)oled.show()还有一个参数非常奇怪不常用自己改数字范围0-15体会 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)oled.ellipse(60,20,10,20,m5)oled.show()画立方体 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c) #左前顶面的xy坐标边长 oled.cube(10,10,20)oled.show()画点阵图 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic[0x04,0x06,0xFF,0x97,0x57,0x37,0x16,0x04] #8*8点阵数据图像左上角xy坐标。16*1632*32的也一样只不过改函数名oled.p16()而已 oled.p8(pic,30,30)oled.show()翻转 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic1[0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00]pic2[0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00, 0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00]oled.p16(pic1,0,0) oled.p16(pic2,16,0) oled.show() #以中心竖直轴翻转填1则正常显示 oled.vv(0) from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic1[0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00]pic2[0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00, 0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00]oled.p16(pic1,0,0) oled.p16(pic2,16,0) oled.show() #以中心水平轴翻转 oled.hv(0)反相 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic1[0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00]pic2[0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00, 0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00]oled.p16(pic1,0,0) oled.p16(pic2,16,0) oled.show() #默认不反相即默认0 oled.invert(1)滚动 横向滚动 from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic1[0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00]pic2[0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00, 0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00]oled.p16(pic1,0,0) oled.p16(pic2,16,0) oled.show() #默认整个页面一起滚动 #参数 #滚动起始页滚动结束页 #滚动方向默认向左填0向右 #滚动速度0-7默认0不一定数字越大速度越大 oled.h_scroll()oled横滚 纵向滚动 目前我只能实现向上滚还有点bug from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic1[0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00]pic2[0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00, 0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00]oled.p16(pic1,0,0) oled.p16(pic2,16,0) oled.show() oled.scroll(hScrollOn0) oled纵滚 奇葩滚动 这个函数比较复杂可实现斜着动不同区域各动各的有点bug from ssd1306 import SSD1306_I2C from machine import Pin,I2C i2cI2C(0,sclPin(5),sdaPin(4)) oledSSD1306_I2C(i2c)pic1[0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00, 0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00]pic2[0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00, 0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00]oled.p16(pic1,0,0) oled.p16(pic2,16,0) oled.show() #10个参数。均有默认值 #vScrollOn是否开启竖直滚动默认0关闭竖直滚动置1开启 #vStart竖直滚动开始行 #vEnd竖直滚动结束行 #vSpeed竖直滚动速度数字越大越快 #hScrollOn是否开启横向滚动默认开启置0关闭 #direction横滚方向默认向右置1向左 #hSpeed横滚速度0-7 #hScrollStartPage水平滚动起始页默认0 #hScrollEndPage水平滚动结束页默认7 #hScrollStartColumn水平滚动区域的起始列默认0 #hScrollEndColumn#水平滚动区域的结束列默认127 oled.scroll() oled滚滚滚
http://www.pierceye.com/news/314799/

相关文章:

  • 手机网站竞价网页界面设计遵循的原则
  • 徐州seo推广公司广州营销型网站优化
  • 小说网站首页模板安徽华力建设集团网站
  • 减肥网站如何做公司企业模板
  • 郑州网站建设搜q.479185700怎么在百度上推广自己的公司信息
  • 深圳住建设局官方网站大连在哪个省市
  • 吉林企业建站系统费用wordpress幻灯片加载很慢
  • com域名和网站小型企业网站排名前十
  • 网站内容 优化泉州网站开发公司
  • 假发外贸网站模板做图库网站需要多少钱
  • 网站建设公司 知道万维科技wordpress支持移动
  • 经典网站建设邢台网站建设策划
  • 系统数据库与建设网站网站提交入口大全
  • 网站做数据分析的意义西安网站建设kxccc
  • 免费建个人网站alexa排名搜索
  • 做的网站第二年续费多钱店铺装修模板
  • 这么自己建设网站中卫网站设计厂家
  • 公司网站制作哪家公司好广州建设执业资格注册中心网站
  • 北京所有做招聘类网站建站公司Apache Wordpress伪静态处理
  • 大兴做网站公司制作网页可以用什么软件
  • 该怎么给做网站的提页面需求网上购物平台怎么建立
  • 用pw后缀的网站阳江网络问政平台首页
  • 建站网站建设哪个好网页设计个人总结
  • 网站开发时间进度表宁波网站建设使用技巧分享
  • wordpress官网案例移动端优化
  • 广告投放网宁波seo网络推广报价
  • 网站模板 哪个好烟台高端网站建设公司
  • 福建网站开发手机软件app下载
  • 网站开发的功能需求怎么写网页版式设计分析
  • 荔浦网站开发乐陵新闻最新消息今天