LCD2004 LCD1602 设计模式

https://bgithub.xyz/liyuanhe211/Micropython_LCD1602_LCD2004_I2C_Lib

其中可以创建自己想要的图形,这个图形是7×5 像素的图标。

# -*- coding: utf-8 -*-
__author__ = 'LiYuanhe'

from machine import Pin, Signal, SoftI2C
import time
import socket
import machine
import network
import micropython
import os
from lib_lcd1602_2004_with_i2c import LCD

micropython.alloc_emergency_exception_buf(100)

scl_pin = 26
sda_pin = 27
lcd = LCD(SoftI2C(scl=Pin(scl_pin), sda=Pin(sda_pin), freq=100000))

custom_char_0 = [
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00001,
  0b00011]

custom_char_1 = [
  0b00111,
  0b00111,
  0b01110,
  0b01110,
  0b01110,
  0b11110,
  0b11111,
  0b11111]

custom_char_2 = [
  0b00000,
  0b00001,
  0b00111,
  0b01111,
  0b11111,
  0b11110,
  0b11000,
  0b10000]

custom_char_3 = [
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b11111,
  0b11111]

custom_char_4 = [
  0b01111,
  0b11111,
  0b11111,
  0b11000,
  0b00000,
  0b00000,
  0b00000,
  0b00000]

custom_char_5 = [
  0b11100,
  0b11110,
  0b11111,
  0b00011,
  0b00001,
  0b00000,
  0b00000,
  0b00000]

custom_char_6 = [
  0b00000,
  0b00000,
  0b10000,
  0b11100,
  0b11110,
  0b01111,
  0b00111,
  0b00011]

custom_char_7 = [
  0b11000,
  0b11000,
  0b11100,
  0b11100,
  0b11100,
  0b11110,
  0b11110,
  0b11110]


lcd.create_charactor(0,custom_char_0)
lcd.create_charactor(1,custom_char_1)
lcd.create_charactor(2,custom_char_2)
lcd.create_charactor(3,custom_char_3)
lcd.create_charactor(4,custom_char_4)
lcd.create_charactor(5,custom_char_5)
lcd.create_charactor(6,custom_char_6)
lcd.create_charactor(7,custom_char_7)

top = chr(0)+chr(2)+chr(4)+chr(5)+chr(6)+' '
down = chr(1)+chr(3)+chr(3)+chr(3)+chr(3)+chr(7)
count=0
while True:
    line1 = " "*count + top + (16-count-6)*' '
    line2 = " "*count + down + (16-count-6)*' '
    count+=1
    lcd.puts(line1,0)
    lcd.puts(line2,1)
    time.sleep(0.3)
    if count==11:
        break

line1 = " LCD1602  " + top
line2 = "Custom chr" + down
lcd.puts(line1,0)
lcd.puts(line2,1)

windows 硬盘备份【windows 运维】

windows server 2008 需要先添加 windows server backup 的功能。

添加 windows server backup 功能

1.服务器管理器》功能》添加功能(在右侧)》windows server backup 的选项打上勾。》完成

就会出现在 存储 栏目下出现 windows server backup

之后点击windows server backup ,按照其步骤上面创建备份。

但是需要注意:
需要在两台服务器上创建两个账户,且账户名称必须一样,若账户名称为backup,则需要备份机器 必须为 管理员 backup,存储备份机器 backup 账户 普通用户即可,且密码必须一致,

其中选项 网络备份全部传输 (即更新全部,相当于刷新存储)。

备份文件格式为VHD,可以到处到其他服务器上进行挂载(磁盘管理中挂载VHD文件),在内网1Gbps下每分钟0.8GB数据,比直接SMB复制快点。

mpy_edit 编辑文件

python文件编辑

import os


class mpy_edit(object):
    def __init__(self,file_name):
        self.file_name=file_name
        self.read_file(self.file_name)
    def read_file(self,file_name):
        if os.path.exists(file_name):
            self.size=os.path.getsize(file_name)
            self.f=open(file_name,"r")
            self.file_lines=self.f.readlines()
            self.all=len(self.file_lines)
            self.now=0
            self.f.close()
        else:
            return "NO FILE"
    def line_num(self,line_num):
        if self.all>line_num+1:
            self.now=line_num+1
            return self.file_lines[line_num]
        else:
            line_num=self.all-1
            self.now=self.all-1
            return self.file_lines[self.now]
        
    def read(self):
        return self.line_num(self.now)
    def edit_line(self,line_num,str_info):
        self.file_lines[line_num]=str_info
    def save(self,file_name=False):
        if not file_name:
            file_name=self.file_name
        nf=open(file_name,"w")
        for i in self.file_lines:
            nf.write(i)
        nf.close()

    
f=mpy_edit("ttt.txt")



print(f.line_num(14))

PHP处理word

替换块

$tmp->setValue(‘title’,$title);

大段复制

$tmp->cloneBlock(“block_1”,0,true,false,$info);
其中$info中的键是模板中需要替换的名称,值是替换后的值

举例子 $info

举例子 $info
$info=array(
            array("title"=>"一、的萨芬莫斯科电脑麦克风莫斯科的","study_body"=>"的萨芬莫斯科电脑麦克风莫斯科的的萨芬莫斯科电脑麦克风莫斯科的","main_time"=>"9:10-9:40"),
            array("title"=>"二、是多少dasdasda斯科的","study_body"=>"是多少dasdasda斯科的是多少dasdasda斯科的克风莫斯科的","main_time"=>"9:40-10:10"),
        );

#模板中block_1 

${block_1}
${title}
参加对象:${study_body}
时间:${main_time}

${/block_1}

删除块

$templateProcessor->deleteBlock(‘block_name’);

require_once 'vendor/autoload.php';
 //如果是Thinkphp 在目录下已经使用composer安装了phpoffice 的phpword 可以不适应这个

use PhpOffice\PhpWord\TemplateProcessor;

// 加载模板文件
$templateProcessor = new TemplateProcessor('path/to/your/template.docx');

// 删除块 谨慎使用,可以用空值去替换
$templateProcessor->deleteBlock('block_name');

// 保存修改后的文档
$templateProcessor->saveAs('path/to/your/new/document.docx');

保持文件信息

$tmp->saveAs($save_name);

删除大坑:

1.在大段block中 若传入空值则不进行替换,且该块不显示。

2.若删除块可能会导致下面的块连同删除。

#模板

${block_1}
${title}
参加对象:${study_body}
时间:${main_time}

${/block_1}
${block_2}
${title}
出席:${cx_name}

${/block_2}

#PHP block_1 无内容,block_2有内容 可以替换:
(其中传入$block_1为array空,$block_1=array();即可)

$tmp->cloneBlock("block_1",0,true,false,$block_1);
$tmp->cloneBlock("block_2",0,true,false,$block_2);

#错误调用
$tmp->deleteBlock("block_1");
$tmp->cloneBlock("block_2",0,true,false,$block_2);

#可能会导致block_2连同删除,巨坑!!!!!

CH9350 设计

默认下位机(即外接USB设备收到信号,通过UART发送给电脑)SEL高电平

电源设计


USB电源外部5V 供电,以及外界USB供电也如此。

供电:

5V 需要加0.1uF

3v3 需要0.1uF

LED指示灯设计

LED0 默认高点平 (下位机),LED1 LED2 默认高电平

USB连接器设计

外接USB,为 第一个USB为 DM(D- 靠近电源的那个) DP(D+);HM HP。

CH9350USBCH9350 指示灯
DMD- LED1 引脚
DPD+
HMD-LED2 引脚
HPD+

可以省略的设计:波特兰选择,模式选择

S0 S1 模式可以不接
BUAD0 BUAD1 波特率选择可以不接


设计范例


相关文档