虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

8.<b>09</b>

  • 2015年全国大学生电子设计竞赛风力摆控制系统(B题)

    2015年全国大学生电子设计竞赛风力摆控制系统(B题),附源代码及设计方案分析和报告。

    标签: 2015 大学生电子设计竞赛 风力 控制系统

    上传时间: 2016-05-25

    上传用户:psypj

  • ADS-B国家规划

    规划十三五期间ADS-B发展前景及十二五期间相关发展结果。

    标签: ADS-B国家规划

    上传时间: 2016-08-24

    上传用户:kang1923

  • SN系列用户手册B版

    SN系列用户手册B版SN系列用户手册B版SN系列用户手册B版SN系列用户手册B版SN系列用户手册B版

    标签: 用户手册

    上传时间: 2017-05-28

    上传用户:黑色的马

  • ADS-B机场场面监视技术研究

    ADS-B机场场面监视技术研究对机场场面监视中ADS-B系统的应用方式方法进行了分析了论证。

    标签: ADS-B 监视 技术研究

    上传时间: 2017-06-13

    上传用户:mhwang1973

  • 工图B教学资料

    工程制图B教学课件,内容还不错,有需要的下载,看看

    标签: 教学资料

    上传时间: 2018-03-01

    上传用户:lgdxy

  • 工程制图B习题指导

    刚刚上传的是工程B习题答案,有需要的可下载看看

    标签: 工程制图

    上传时间: 2018-03-01

    上传用户:lgdxy

  • LED面板驱动控制芯片VK1628/1629A,B,C,D版本/1640/1651/1650

    VK元泰原厂LED的面板驱动产品主要应用于段式和点阵式LED的显示驱动包括但不局限以下产品: 仪表显示、大小家电、标志牌、健身器材显示面板等,同时涉及显示器控制器、双斜率与显示驱动ADC及显示器驱动计数器相关产品,产品具备显示、背光、按键扫描、单线、两线及三线通讯等不同特色。LED面板显示驱动控制芯片/段式和点阵式LED显示驱动专家。样品免费,大量原装现货!欢迎加Q索取产品PDF资料。   VK元泰原厂LED显示屏驱动主要大量应用于以下这些产品简介: 1:VCR、VCD、DVD 及家庭影院等产品的显示屏驱动。 2:电磁炉、微波炉、冰箱、空调 、家庭影院等产品的高段位显示屏驱动。 3:电子产品LED显示屏驱动,电子秤及小家电产品的显示屏驱动。 4:机顶盒、各种家电设备、智能电表等数码管、多段位显示屏驱动   VK1628概述 VK1628 是 1/5~1/8 占空比的 LED 显示控制驱动电路。由 10 根段输出、4 根栅输出、3 根段/栅输出,1 个显示存储器、控制电路、键扫描电路组成了一个高可靠性的单片机外围 LED 驱动电路。串行数据通过4线串行接口输入到 VK1628采用 SOP28 的封装形式。   VK1629A概述 VK1629A 是LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。   VK1629B概述 VK1629B 是 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、键盘扫描、LED 高压驱动等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。   VK1629C 概述 VK1629C 是带键盘扫描接口的 LED(发光二极管显示器)驱动控制专用电路,内部 集成有 MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。   VK1629D 概述 VK1629D 是 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。   VK1640 概述 VK1640 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动。本产品采用 CMOS 工艺,主要应用于小型 LED 显示屏驱动。   VK1640B概述 -----  SSOP24 超小封装体积方便开发设计,更低成本单价! VK1640B 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、 数据锁存器、LED 高压驱动。本产品采用 CMOS 工艺,主要应用于小型 LED 显示屏驱动。   VK1650概述 VK1650 是一种带键盘扫描电路接口的 LED 驱动控制专用电路。内部集成有 MCU 输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。本芯片性能稳定、质量可靠、抗干扰能力强,可适应于 24 小时长期连续工作的应用场合。   VK1651概述 VK1651 是一种带键盘扫描接口的 LED(发光二极管显示器)驱动控制专用电路,内部集 成有 MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。主要应用于电磁炉。微波炉及小家电产品的显示屏驱动。   VK1668概述 VK1668 是 1/5~1/8 占空比的 LED 显示控制驱动电路。由 10 根段输出、4 根栅输出、3 根段/栅输出,1 个显示存储器、控制电路、键扫描电路组成了一个高可靠性的单片机外围 LED 驱动电路。串行数据通过4线串行接口输入到 VK1668采用 SOP24 的封装形式。   VK6932概述 VK6932 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动。本产品采用 CMOS 工艺,主要应用于 LED 显示屏驱动。   VK16K33 概述 --- RAM映射16*8 LED控制器驱动器,带按键控制 VK16K33是一个内存映射和多功能LED控制器驱动程序。更大显示设备中的段是128个模式(16个SEG 和 8个COM),矩阵键为13*3(更大值)。扫描路。VK16K33的软件配置特点使其适用于多个LED应用包括LED模块和显示子系统。VK16K33与大多数微控制器兼容,并且通过双线双向I2c总线进行通信。 内存映射的LED控制器及驱动器 VK1628 --- 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:70/52  共阴驱动:10段7位/13段4位 共阳驱动:7段10位  按键:10x2 封装SOP28 VK1629 --- 通讯接口:STB/CLK/DIN/DOUT    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:16段8位   共阳驱动:8段16位   按键:8x4  封装QFP44 VK1629A --- 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:16段8位   共阳驱动:8段16位   按键:---  封装SOP32 VK1629B --- 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:112  共阴驱动:14段8位   共阳驱动:8段14位   按键:8x2  封装SOP32 VK1629C --- 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:120  共阴驱动:15段8位  共阳驱动:8段15位   按键:8x1  封装SOP32 VK1629D --- 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:96  共阴驱动:12段8位  共阳驱动:8段12位   按键:8x4  封装SOP32 VK1640 --- 通讯接口: CLK/DIN    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:8段16位  共阳驱动:16段8位   按键:---  封装SOP28 VK1640B -- 通讯接口: CLK/DIN    电源电压:5V(4.5~5.5V)    驱动点阵:96 共阴驱动:8段12位 共阳驱动:12段8位(封装小,价格低)封装SSOP24 VK1650 --- 通讯接口: SCL/SDA    电源电压:5V(3.0~5.5V)    驱动点阵:8x16 共阴驱动:8段4位   共阳驱动:4段8位   按键:7x4  封装SOP16/DIP16 VK1651 --- 通讯接口: SCL/SDA    电源电压:5V(3.0~5.5V)    驱动点阵:8x14 共阴驱动:7段4位   共阳驱动:4段7位   按键:7x4  封装SOP16/DIP16 VK1668 ---通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:70/52 共阴驱动:10段7位/13段4位 共阳驱动:7段10位 按键:10x2 封装SOP24 VK6932 --- 通讯接口:STB/CLK/DIN    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:8段16位17.5/140mA  共阳驱动:16段8位 按键:--- 封装SOP32 VK16K33 --- 通讯接口:SCL/SDA   电源电压:5V(4.5V~5.5V)   驱动点阵:128/96/64                   共阴驱动:16段8位/12段8位/8段8位  共阳驱动:8段16位/8段12位/8段8位 按键:13x3 10x3 8x3  封装SOP20/SOP24/SOP28     联 系 人:许先生 联 系 QQ:191 888 5898  联系手机:188 9858 2398

    标签: 1628 1629 1640 1651 1650 LED VK 面板 芯片 版本

    上传时间: 2019-02-16

    上传用户:szqxw1688

  • 学生成绩guanli

    #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==NULL)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!\n");   stu[c].average=input_score2(c);   } void input_score3(int a)//统计成绩   {   printf("数学新成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语新成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机新成绩:");   scanf("%f",&stu[a].sco.computer);   } void change_student2(int a)//修改学生资料   {   printf("学号:%d----修改为:",stu[a].number);   scanf("%d",&stu[a].number);   getchar();   printf("姓名:%s----修改为:",stu[a].name);   gets(stu[a].name);   printf("数学成绩:%.2f----修改为:",stu[a].sco.math);   scanf("%f",&stu[a].sco.math);   printf("英语成绩:%.2f----修改为:",stu[a].sco.english);   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer);   scanf("%f",&stu[a].sco.computer);   } void change_student1(void)//修改总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否要修改此学生信息?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     change_student2(c);       stu[c].average=input_score2(c);     printf("信息修改成功!\n");     }   } void delete_student1(void)//删除总函数   {   int c;   c=search_student2(iNumOfStu);   getchar();   printf("是否删除此条记录?(“y”代表是)");   char d;   scanf("%c",&d);   if(d=='y'||d=='Y')     {     delete_student2(c,iNumOfStu);     printf("记录已删除!\n");     }   } void delete_student2(int a,int b)//删除学生信息   {   for(int i=a;i<b-1;i++)     {     stu[i]=stu[i+1];     }   --iNumOfStu;   } void search_student1(void)//查询总函数   {   printf("1、按学号查询\n2、按平均分最高查询\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       search_student2(iNumOfStu);       break;       }     case 2:       {       search_student3(iNumOfStu);       break;       }     default: break;     }   } void menu(void)//菜单调度总函数   {   print_menu();   choosemenu();   } void sort_student1(void)//排序总函数   {   printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:");   int c;   scanf("%d",&c);   switch(c)     {     case 1:       {       sort_student2(stu,iNumOfStu);       break;       }     case 2:       {       sort_student3(stu,iNumOfStu);       break;       }     case 3:       {       sort_student4(stu,iNumOfStu);       break;       }     case 4:       {       sort_student5(stu,iNumOfStu);       break;       }     default: break;     }   } void print_student1(int a)//显示全部学生资料   {   printf("本班所有学生具体信息如下\n");   print_student2();   for(int i=0;i<a;i++)     {     print_student3(i);     }   } void print_student3(int a)//显示学生信息   {   printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average);   } void print_student2(void)//显示表头   {   printf("  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\n");   } void input_student4(int a,int b)//覆盖原信息   {   stu[a]=stu[b-1];   --iNumOfStu;   } void input_student3(int &a,int b)//判断学号是否重复   {   if(a!=0)     {     int i=0;     do       {       if(stu[a].number==stu[i].number)         {         printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:");         int c;         scanf("%d",&c);         switch(c)           {           case 1:             {             input_student4(i,iNumOfStu);             a=iNumOfStu-1;             printf("信息已替换!\n");             break;             }           case 2:             {             printf("请重新输入学生信息:\n");             input_student1(iNumOfStu-1);             break;             }           default: break;           }         break;         }       ++i;       }       while(i<b-1);     }   } void print_menu(void)//输出菜单   {   printf("======欢迎来到学生信息管理系统======\n");   printf("      1、输入学生资料\n");   printf("      2、删除学生资料\n");   printf("      3、查询学生资料\n");   printf("      4、修改学生资料\n");   printf("      5、显示学生资料\n");   printf("      6、统计学生成绩\n");   printf("      7、排序学生成绩\n");   printf("      8、保存学生资料\n");   printf("      9、获取帮助信息\n");   printf("      10、退出系统\n");   printf("====================================\n");   printf("请选择:");   } void input_student2(void)//输入总函数   {   char end;   printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n");   for(int i=0;(end=getchar())!='/';i++)     {     input_student1(i);     ++iNumOfStu;     input_student3(i,iNumOfStu);     }   for(int j=0;j<iNumOfStu;j++)     {     stu[j].average=input_score2(j);     }   } void input_student1(int a)//输入学生信息   {   printf("学号:");   scanf("%d",&stu[a].number);   getchar();   printf("姓名:");   gets(stu[a].name);   printf("数学成绩:");   scanf("%f",&stu[a].sco.math);   printf("英语成绩:");   scanf("%f",&stu[a].sco.english);   printf("计算机成绩:");   scanf("%f",&stu[a].sco.computer);   } float input_score2(int a)//计算学生平均成绩   {   return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3;   } void search_student3(int a)//按平均分最高查询并输出   {   int max=0;   for(int i=0;i<a;i++)     {     if(stu[max].average<stu[i].average)       {       max=i;       }     }   print_student2();   print_student3(max);   } void sort_student2(student s[],int a)//按照数学成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.math>stu[max].sco.math)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student3(student s[],int a)//按照英语成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.english>stu[max].sco.english)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student4(student s[],int a)//按照计算机成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].sco.computer>stu[max].sco.computer)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } void sort_student5(student s[],int a)//按照平均成绩排序   {   struct student temp;   for(int i=0;i<a-1;i++)     {     int max=i;     for(int j=i+1;j<a;j++)       if(stu[j].average>stu[max].average)         {         max=j;         }     if(max!=i)       {       temp=stu[max];       stu[max]=stu[i];       stu[i]=temp;       }     }   print_student2();   for(int k=0;k<a;k++)     {     print_student3(k);     }   } int search_student2(int a)//按照学号查找学生并输出   {   int num;   int c;   printf("请输入要查询的学号:");   scanf("%d",&num);   for(int i=0;i<a;i++)     {     if(num==stu[i].number)       {       c=i;       }     }   printf("此学生的信息是:\n");   print_student2();   print_student3(c);   return c;   } void choosemenu(void)//菜单选择   {   int i;   scanf("%d",&i);   switch(i)     {     case 1:       {       input_student2();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 2:       {       delete_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 3:       {       search_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 4:       {       change_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 5:       {       print_student1(iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 6:       {       input_score1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 7:       {       sort_student1();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 8:       {       save_student(stu,iNumOfStu);       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 9:       {       print_help();       printf("按回车键返回主菜单");       getchar();       getchar();       menu();       break;       }     case 10:       {       exit_student();       }     default: break;     }   }         运行结果:                         源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面)   #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score   {   float math;   float english;   float computer;   }; struct student   {   int number;   char name[20];   struct score sco;   float average;   }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main()   {   menu();   } void save_student(student *s,int a)//保存学生信息   {   FILE *fp;     if((fp=fopen("d:\\学生信息.txt","wb"))==NULL)       {       printf("不能打开文件!\n");       }     else       {       printf("保存信息到D盘\n");       fprintf(fp,"本班所有学生具体信息如下:\r\n");       fprintf(fp,"  学号       姓名           数学成绩       英语成绩     计算机成绩     平均成绩\r\n");       for(int i=0;i<a;i++)         {         fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average);         fprintf(fp,"\r\n");         }       fclose(fp);       printf("信息保存成功!\n");       }   } void exit_student(void)//退出系统   {   exit(1);   } void print_help(void)//输出帮助信息   {   printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N);   } void input_score1(void)//统计成绩总函数   {   int c;   c=search_student2(iNumOfStu);   printf("学号:%d\n",stu[c].number);   printf("姓名:%s\n",stu[c].name);   input_score3(c);   printf("新成绩录入成功!

    标签: c语言

    上传时间: 2019-06-09

    上传用户:啊的撒旦

  • Py3爬取B站视频弹幕

    Py3爬取B站视频弹幕。。。。。。。。。。。。。

    标签: Py3 视频 爬虫

    上传时间: 2019-12-17

    上传用户:wine

  • 1998年数学建模B题论文

    1998年建模B题,内含解题方法解题步骤。

    标签: 1998 数学建模 论文

    上传时间: 2020-05-02

    上传用户:isomerrrr