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

太阳<b>能热水器</b>

  • 点亮P10单元板单片机源程序

    /*================================================================= 4扫16*16下入上出C语言程序, 低位起笔,数据反相。 预定义 **************************************************************/ #include #include //可使用其中定义的宏来访问绝对地址? bit ture=1; // 使能正反相位选择 bit false=0; // 使能反相 sbit SCK=P3^6; // EQU 0B6H ; 移位 sbit RCK=P3^5; //EQU 0B5H ; 并行锁存 //sbit P1_3=P1^3; //外RAM扩展读写控制,不能重复申明 sbit EN1=P1^7; //BIT sbit FB=0xD8; // FB作为标志 sfr BUS_SPEED=0xA1; //访问片外RAM速度设置寄存器 sfr P4SW=0xBB; //P4SW寄存器设置P4.4,P4.5,P4.6的功能 sfr P4=0xC0; // P4 EQU 0C0H sbit NC=P4^4; sbit CS=P4^6; //片选 sfr WDT_CONTR=0xC1; // 0C1H ;看门狗寄存器 sfr AUXR=0x8E; // EQU 08EH ;附件功能控制寄存器 sfr16 DPTR=0x82; sfr CLK_DIV=0x97 ; //时钟分频寄存器 const unsigned int code All_zk =256 ; // 0E11H ;原数据总字节 const unsigned int code am_zk =128 ; // 0E13H ;单幕数据量 const unsigned char code asp = 255; // asp数据相位字,如果是正相字,那么asp=0 bit basp=1; // asp数据相位字标记,如果是正相字,那么basp=0 const unsigned char code font[]= // 晶科电子LED数码(反相字) {0xBD,0x81,0xEF,0xFF,0xBD,0x81,0xF7,0xFF,0xEF,0xEB,0x80,0x9F,0xEF,0x8F,0xEF,0xEF,0x7F,0x7B,0x7B,0x7F,0xBF,0xEF,0xEF,0xFF,0x7F,0x00,0xFF,0xFF,0xFF,0x80,0xFE,0xFF, 0x81,0xBD,0x0F,0x0F,0x81,0xBD,0xF0,0xF0,0xEF,0xED,0xE7,0xE1,0xEF,0xE1,0xEE,0xEE,0x7F,0x7B,0x7B,0x7F,0xBF,0xEF,0xEF,0xFF,0x7F,0x7F,0x7F,0x03,0xFF,0xFF,0xFF,0xF0, 0xBD,0x81,0xEF,0xEF,0xBD,0x81,0xF7,0xF7,0xEF,0x2E,0xC7,0xEF,0xEF,0xEE,0xED,0xED,0xFF,0x03,0x03,0x7F,0x80,0xE0,0xE0,0xFF,0x5F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFB, 0xFF,0xBD,0xFF,0x0F,0xFF,0xBD,0xFF,0xF0,0xEF,0xEF,0xAB,0xEF,0xEF,0xEF,0xED,0xED,0xFF,0x7B,0x7B,0x03,0xFF,0xEF,0xEF,0xE0,0xBF,0x7F,0x7F,0xFF,0xFF,0xFF,0xDF,0xFD, 0xBD,0xFD,0xFD,0xFF,0xBD,0xED,0xBD,0xFF,0xDD,0xBD,0xDD,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xEF,0x00,0xEF,0xEB,0xEB,0x81,0xFB,0xC3,0xDA,0xF7,0xFF,0xDF,0xDF,0xEE,0xFF, 0x80,0xFD,0xFD,0xFF,0xC0,0xED,0xED,0xFF,0xE0,0xBD,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xB3,0x00,0xC7,0x6D,0x8D,0xEB,0xDD,0xF3,0xDB,0xDB,0xFB,0x40,0xDF,0xDF,0xEE,0xE0, 0xFF,0xFD,0xFD,0xFF,0xFF,0xFD,0xED,0xFF,0xFF,0xBD,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xB7,0x2B,0xAB,0xDE,0xF7,0xDD,0xFB,0xFB,0x5B,0xC3,0xF7,0xEB,0xD0,0xEE,0xEF, 0xFF,0xFD,0xFD,0xF8,0xFF,0xBD,0xE1,0xC0,0xFF,0xBD,0xBD,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xD3,0xED,0xC7,0xFF,0xF7,0xDC,0xFB,0xFF,0xDB,0xD9,0xF7,0xF7,0xDF,0xC0,0xEE}; const unsigned char data xzL_data =0x08; //0603H;一幕一行字节数 const unsigned int data aL_data =0x20; //单幕单号线(单组线)数据量 const unsigned char data mov =0x03A ; //移动速度 const unsigned int data t_T =0x040A ; //0E0AH ; 05FAH; ;停留时间 const unsigned char data mu_num=0x02 ; //0602H ;幕数 unsigned int m; //m幕长变量<=am_zk unsigned char data_z; //数据寄存器 unsigned int xd; //数据指针寄存器 /*********************************************************************** 数据转移子函数 ===============================================================*/ char MOVD() { unsigned char f,nm; //nm幕数控制 unsigned char code *dptr; unsigned char xdata *xdptr = 0; f = asp ; for (m=0; m

    标签: P10 单元板 单片机源程序

    上传时间: 2017-05-04

    上传用户:sbfd010

  • Footprint Maker 0.08 FPM

    是否要先打开ALLEGRO? 不需要(当然你的机器须有CADENCE系统)。生成完封装后在你的输出目录下就会有几千个器件(全部生成的话),默认输出目录为c:\MySym\. Level里面的Minimum, Nominal, Maximum 是什么意思? 对应ipc7351A的ABC封装吗? 是的 能否将MOST, NOMINAL, LEAST三种有差别的封装在命名上也体现出差别? NOMINAL 的名称最后没有后缀,MOST的后缀自动添加“M”,LEAST的后缀自动添加“L”,你看看生成的库名称就知道了。(直插件以及特别的器件,如BGA等是没有MOST和LEAST级别的,对这类器件只有NOMINAL) IC焊盘用长方形好像比用椭圆形的好,能不能生成长方形的? 嗯。。。。基本上应该是非直角的焊盘比矩形的焊盘好,我记不得是AMD还是NS还是AD公司专门有篇文档讨论了这个问题,如果没有记错的话至少有以下好处:信号质量好、更省空间(特别是紧密设计中)、更省锡量。我过去有一篇帖子有一个倒角焊盘的SKILL,用于晶振电路和高速器件(如DDR的滤波电容),原因是对宽度比较大的矩形用椭圆焊盘也不合适,这种情况下用自定义的矩形倒角焊盘就比较好了---你可以从网上另外一个DDR设计的例子中看到。 当然,我已经在程序中添加了一选择项,对一些矩形焊盘可以选择倒角方式. 刚才试了一下,感觉器件的命名的规范性不是太好,另好像不能生成器件的DEVICE文件,我没RUN完。。。 这个程序的命名方法基本参照IPC-7351,每个人都有自己的命名嗜好,仍是不好统一的;我是比较懒的啦,所以就尽量靠近IPC-7351了。 至于DEVICE,的选项已经添加 (这就是批量程序的好处,代码中加一行,重新生产的上千上万个封装就都有新东西了)。 你的库都是"-"的,请问用过ALLEGRO的兄弟,你们的FOOTPRINT认"-"吗?反正我的ALLEGRO只认"_"(下划线) 用“-”应该没有问题的,焊盘的命名我用的是"_"(这个一直没改动过)。 部分丝印画在焊盘上了。 丝印的问题我早已知道,只是尽量避免开(我有个可配置的SilkGap变量),不过工作量比较大,有些已经改过,有些还没有;另外我没有特别费功夫在丝印上的另一个原因是,我通常最后用AUTO-SILK的来合并相关的层,这样既方便快捷也统一各个器件的丝印间距,用AUTO-SILK的话丝印线会自动避开SOLDER-MASK的。 点击allegro后命令行出现E- Can't change to directory: Files\FPM,什么原因? 我想你一定是将FPM安装在一个含空格的目录里面了,比如C:\Program Files\等等之类,在自定义安装目录的时候该目录名不能含有空格,且存放生成的封装的目录名也不能含有空格。你如果用默认安装的话应该是不会有问题的, 默认FPM安装在C:\FPM,默认存放封装的目录为C:\MYSYM 0.04版用spb15.51生成时.allegro会死机.以前版本的Allegro封装生成器用spb15.51生成时没有死机现象 我在生成MELF类封装的时候有过一次死机现象,估计是文件操作错误导致ALLEGRO死机,原因是我没有找到在skill里面直接生成SHAPE焊盘的方法(FLASH和常规焊盘没问题), 查了下资料也没有找到解决方法,所以只得在外部调用SCRIPT来将就一下了。(下次我再查查看),用SCRIPT的话文件访问比较频繁(幸好目前MELF类的器件不多). 解决办法: 1、对MELF类器件单独选择生成,其它的应该可以一次生成。 2、试试最新的版本(当前0.05) 请说明运行在哪类器件的时候ALLEGRO出错,如果不是在MELF附近的话,请告知,谢谢。 用FPM0.04生成的封装好像文件都比较大,比如CAPC、RES等器件,都是300多K,而自己建的或采用PCB Libraries Eval生成的封装一般才几十K到100K左右,不知封装是不是包含了更多的信息? 我的每个封装文件包含了几个文字层(REF,VAL,TOL,DEV,PARTNUMBER等),SILK和ASSEM也是分开的,BOND层和高度信息,还有些定位线(在DISP层),可能这些越来越丰富的信息加大了生成文件的尺寸.你如果想看有什么内容的话,打开所有层就看见了(或REPORT) 非常感谢 LiWenHui 发现的BUG, 已经找到原因,是下面这行: axlDBChangeDesignExtents( '((-1000 -1000) (1000 1000))) 有尺寸空间开得太大,后又没有压缩的原因,现在生成的封装也只有几十K了,0.05版已经修复这个BUG了。 Allegro封装生成器0.04生成do-27封装不正确,生成封装的焊盘的位号为a,c.应该是A,B或者1,2才对. 呵呵,DIODE通常管脚名为AC(A = anode, C = cathode) 也有用AK 或 12的, 极少见AB。 除了DIODE和极个别插件以及BGA外,焊盘名字以数字为主, 下次我给DIODE一个选择项,可以选择AC 或 12 或 AK, 至于TRANSISTER我就不去区分BCE/CBE/ECB/EBC/GDS/GSD/DSG/DGS/SGD/SDG等了,这样会没完没了的,我将对TRANSISTER强制统一以数字编号了,如果用家非要改变,只得在生成库后手工修改。

    标签: Footprint Maker 0.08 FPM skill

    上传时间: 2018-01-10

    上传用户:digitzing

  • 成绩查询系统

    #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 (请将此地址复制到浏览器地址栏中访问下载页面)  

    标签: 成绩查询系统

    上传时间: 2019-06-08

    上传用户:啊的撒旦

  • 学生成绩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

    上传用户:啊的撒旦

  • win7操作说明

    Windows7下IE 8使用技巧5则 IE几乎是各位菜鸟、大虾上网时的首选浏览器,有关它的常规使用技巧,相信各位早已是耳熟能详了。只要你足够用心、细心,就一定会不断“挖掘”出IE新的使用技巧来。不信,就来看看下面的几则新鲜用法吧,相信会让各位有耳目一新之感! 1.寻找失落的IE启动按钮 正常情况下,IE浏览器的快速启动按钮会在系统任务栏中“安家落户”,可是一旦操作不小心,往往会导致IE浏览器的快速启动按钮在任务栏中“消失”。那么 你面对IE启动按钮从系统任务栏中消失时,你该如何去将它寻找回来呢?其实方法很简单,只要你按照下面的步骤来进行操作就可以了。 首先用鼠标右键单击桌面中的IE浏览器图标,从弹出的快捷菜单中执行“创建快捷方式”命令,这样就能为IE浏览器创建好一个对应的快捷方式。 接着打开系统资源管理窗口,依次双击C盘中的“Windows”文件夹、“ApplicationData”文件夹、“Microsoft”文件夹、 “InternetExplorer”文件夹、“QuickLaunch”文件夹;然后将桌面中创建好的IE快捷方式,直接拖动到 “QuickLaunch”文件夹窗口中。 当然还有更简洁的方法,那就是直接将系统桌面中的IE浏览器图标,用鼠标左键拖动到系统任务栏中,不过在拖放时一定要在出现虚线图标之后才可以。 2.让IE也能断点续传 大家知道,单击IE页面中的某个下载链接地址时,IE就会自动调用其内置的下载功能来下载文件;不过这种功能一旦遇到网络堵塞而掉线的情况时,就会将已经下载好的内容全部丢失,以后再次下载时还需要从头再来,显然IE内置的下载功能容易耽误下载时间。 那么我们有没有办法让IE的下载功能也支持断点续传呢?答案是肯定的。只要你使用IE来下载文件出现意外掉线时,或者发现IE下载进度条长时间没有任何反 应时,请不要单击该下载对话框中的“取消”按钮,而应该直接单击该窗口中的“x”按钮,来暂时退出下载状态;接着重新单击网页中的这个下载链接地址,然后 再单击“保存”按钮,在弹出的保存对话框中,将文件名和保存路径都设置为与上次没下载完时的文件相同,这样IE就能接着上次没下载完的位置,继续下载余下 的内容;当然这种IE断点续传功能只适合HTTP下载方式,而不适合FTP下载方式。 3.将IE选项设置“架空” 倘若允许其他人随意对IE的上网参数进行设置的话,那么IE的安全、甚至系统的安全都会受到威胁,例如一旦非法用户打开IE浏览器的“Internet选 项”设置框,将上网安全级别降低的话,那么网络中的各种病毒、木马,都有可能就会随之而来。为了确保安全,你有时必须“架空”IE浏览器中的 Internet选项,让非法用户无法自行设置IE上网参数: 首先打开Windows系统的资源管理器窗口,找到并进入到“system32”文件夹窗口,选中其中的“inetcpl.cpl”文件,并用鼠标右键单 击之,从弹出的右键菜单中,单击“重命名”选项,将“inetcpl.cpl”的文件名称更名为“inetcplnew.cpl”,当然你也能将其换成其 他名称,不过你一定要将更名后的文件名称记得,以后需要恢复时以便能快速找到。完成重命名操作后,再单击IE浏览器中的“Internet选项”命令时, 就不能进入到选项设置窗口了。 4.不用工具也能修复IE 在网上尽情冲浪时,IE难免会遭遇恶意攻击;那么面对被恶意修改的IE,你该如何去恢复它呢?大多数人都会去选用各种专业的IE修复工具,来对付IE的恶意攻击;也有水平高一些的“大虾”,通过手工修改注册表的方法,来恢复IE的本来“面貌”。可是当你手头没有专业的IE修复工具可以利用时,或者自己对注册表了解不深时,你该如何去修复IE呢?为此,本文为你提供一则非常便利的解决方法,不过该方法只能适合Windows2000或WindowsXP操作系统,下面就是该方法的具体实现步骤: 依次单击“开始”/“设置”/“控制面板”命令,然后依次双击“管理工具”/“计算机管理”图标,在随后弹出的窗口中,依次展开“系统工具”/“本地用户 和组”文件夹,再单击“用户”选项,在对应的右边子窗口中,右击空白区域,执行快捷菜单中的“新用户”命令,将新用户命名为“newusr”,同时设置好 该账号的访问密码; 完成新用户的创建任务后,依次单击“开始”/“关机”命令,然后执行“注销Administrator”操作,再改用“newusr”账号重新进入到 Windows2000系统;接着打开系统注册表编辑界面,依次展开注册表分支HKEY_CURRENT_USER\Software \Microsoft\InternetExplorer,并将“InternetExplorer”主键选中,再依次单击注册表菜单栏中的“注册表”/ “导出注册表文件”命令,将有关IE部分的注册表分支内容导出,例如保存为“ienew.reg”文件,如此一来你就能将“newusr”账号下关于IE 的正确设置全部导出来了;由于“newusr”账号是刚刚新建的,因此该账号下的IE设置都是系统默认的正确设置,也就是说它是没有被攻击过的; 下面注销“newusr”账号,再以“Administrator”账号登录系统;然后打开注册表编辑窗口,依次执行菜单栏中的 “注册表”/“导入注册表文件”命令,在弹出的文件选择对话框中,将前面导出的“ienew.reg”文件导入到注册表中,就能使IE恢复本来“面貌” 了。 当然,这样的方法比较麻烦,因此我们推荐IE一键修复 0.3(点击官方下载)167K ,中文绿色免费软件,可以一键修复被恶意篡改的IE浏览器。此外,在魔方(点此下载)中,也将加入IE的修复功和监控恶意软件等安全功能。 5. 找回Windows 7中的IE 8桌面图标 在Windows 7中,由于超级任务栏的存在,微软取消了IE 8的桌面图标设置,也就是说,在Windows 7中,无法在桌面显示IE 8图标,当然,快捷方式是不能算的。不过近来有会员在论坛为我们提供了一个很好的办法,可以以"曲线"的方式实现IE 8图标桌面显示。尽管还不完美,但基本的功能都具备了,大家可以通过Windows7优化大师 - 美化大师 - 系统外观来自行设置。 善用快捷键,玩转Windows 7 便签程序 便笺是一种可以粘贴在任意位置的正方形或长条形纸条,方便我们随时记录一些信息,或是安排日常工作,随写随记,非常方便。在 Windows 中为我们提供了和实物便笺一样功能的小程序,本人非常喜欢。在 Vista 中,这个小程序作为边栏小工具出现,但在 Windows 7 中已经成为了一个标准的Windows附件程序。 依次点击Windows7的开始菜单按钮 -》所有程序 -》附件 -》,点击打开便签,如下图所示: 不用软件,非会员彻底去除QQ2009/2010广告 昨天谈到了《不是VIP用户也不怕 不需任何补丁屏蔽迅雷广告》,用户反馈非常的多,如果没能设置成功的,请仔细阅读步骤,100%的可以搞定的,当然,如果迅雷再发新版升级后,就不保证了,有任何新的变化,请随时关注Windows7之家和Vista之家首页。 说完了迅雷,我们再来说下QQ吧,QQ的免费用户数量除了Windows外,就属它大了。 屏蔽广告除了更干净洁爽之外,更大的好处是不用随时下载体积大的flash动画和gif动画图片了,QQ登陆速度显著提升,同时,也少了带宽消耗。 非QQ会员彻底屏蔽QQ2009正式版广告: 在QQ2009 Beta版的时候,可以通过删除一些文件让非会员也能实现去广告的目的,可惜从QQ2009正式版起增加了文件完整性检查,删除文件会导致QQ无法启动,并要求重新安装。 那么对于非会员来说,QQ2009正式版(包括之后的SP6、SP5、SP4、SP3、SP2、SP1等)就不能手动去广告了吗? 其实还是有办法的,而且做起来也不难,你说是用第三方工具? 不需要!只要你对Windows操作系统稍有了解就可以轻松搞定,除了QQ2009,您也可以把这些招数用在QQ2010的测试版中,几乎完全一样。 下面,就把找到的方法共享给大家吧! 在开始之前,请先退出您正在运行中的QQ。 1、去除腾讯迷你首页:  对于每次启动QQ后,都弹出的“腾讯迷你首页”,很多人一定感到不爽,就让我们先拿它开刀吧。 首先进入QQ的安装文件夹,接着进入 Plugin\Com.Tencent.Advertisement\bin 文件夹,这里你会看到一个Advertisement.dll文件,它就是迷你首页的关键所在,只需将这个文件改成只读属性,以后启动QQ就不会再看到迷你首页了。在这个文件上面点击鼠标右键,点击属性,勾选只读,确定退出。 2、去除聊天窗口右上角广告: 这个操作针对XP、Win2003系统用户和Vista、Windows7、Win2008略有不同,主要是文件夹路径上的。 1)XP、Win2003系统用户操作方法: 进入 X:\Documents and Settings\用户名\Application Data\Tencent\QQ\Misc\com.tencent.advertisement (注意,X指的系统所在盘盘符,一般是C),首先删除这个文件夹里面的所有文件,注意文件夹本身不能删除,然后把当前用户的写入权限给拒绝掉(需要当前分区为NTFS格式)。 方法:文件夹上右键,属性 - 安全标签,选中当前登录用户,接着在下方“写入”权限里,拒绝上打勾。 2)Vista、Windows7、Win2008用户的操作: 进入 X:\users\用户名\appdata\Roaming\Tencent\QQ\Misc\com.tencent.advertisement,在这个文件上面点击鼠标右键,点击属性,然后点击安全标签, 选中你的当前用户,如下图示例中的Ruamei.com,然后点击“编辑”按钮,OK,写入那儿设置下拒绝吧。 这样,无论是会员还是非会员,你都不会有任何的广告图片下载了。 3、去除QQ2009/QQ2010聊天窗口的左下角广告 如今的聊天窗口,除了右上角的图片广告外,左下角还多了一条文字广告,既然要去广告,那么这块自然也不能遗忘。同样操作针对XP、Win2003系统用户和Vista、Windows7、Win2008而有所不同。 1)XP、Win2003系统用户操作方法: 再次提醒您修改前首先要关闭QQ,然后进入X:\Documents and Settings\用户名\Application Data\Tencent\Users\你的QQ号\QQ\(注意,X指的系统所在盘盘符,一般是C),删除其中的Misc.db,接着新建一个文件夹并命名为Misc.db(是不是和防止U盘自动运行病毒的方法很像)。 2)Vista、Windows7、Win2008用户的操作: 关闭QQ后,进入X:\users\用户名\appdata\Roaming\Tencent\Users\你的QQ号码\QQ\,然后操作同上。 搞定,如此一来,这几个地方都没广告了吧! 好吧,打开一个标签窗口如下图所示,当然,你可以多点多开。 如果你正在使用这个程序,是否觉得它的功能太简单了,点点右键,弹出的菜单中只能切换便笺的颜色,没有其他基本的格式编辑功能。 其实,除了标准的 Ctrl 加 XCVA 的剪切/复制/粘贴/全选快捷键之外,其实便笺程序还有一些快捷键可以使用: 快捷键 功能 Ctrl+N 新建一张便笺 Ctrl+D 删除当前便笺 Ctrl+E 居中对齐 Ctrl+R 右对齐 Ctrl+J 左对齐 Ctrl+I 斜体 Ctrl+B 粗体 Ctrl+U 下划线 Ctrl+T 删除线 Ctrl+Shift+> 加大选中文字的字号 Ctrl+Shift+< 缩小选中文字的字号 Ctrl+Shift+L 在文字前添加项目符号和编号(反复按可循环切换)。其中编号包括数字、大小写字母、大小写罗马数字几种形式。连按两次回车可取消。     知道了这些快捷键,我们就可以做出一些满足日常需要的格式了: 像 Windows 这种应用广泛的软件或硬件,由于全球数十亿人都会使用到,因此一个小小的功能特性都可以对世界造成很大的影响。 想想看,如果所有人都利用好这个小程序而不去买便笺,往小了说是省钱,往大了说可是环保了,能节约很多制作便笺的自然资源消耗。

    标签: win7 操作说明

    上传时间: 2019-06-22

    上传用户:yerbol

  • LED数显驱动芯片TM1629A/B/C/兼容替代VK1629A/B/C/D/

    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 的封装形式。 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:70/52 共阴驱动:10段7位/13段4位 共阳驱动:7段10位  按键:10x2 封装SOP28     VK1629A概述   VK1629A 是LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:16段8位   共阳驱动:8段16位   按键:---  封装SOP32   VK1629B概述 VK1629B 是 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、键盘扫描、LED 高压驱动等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:112 共阴驱动:14段8位   共阳驱动:8段14位   按键:8x2  封装SOP32   VK1629C 概述 VK1629C 是带键盘扫描接口的 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:120 共阴驱动:15段8位  共阳驱动:8段15位   按键:8x1  封装SOP32   VK1629D 概述 VK1629D 是 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动等电路。主要应用于冰箱、空调、家庭影院等产品的高段位显示屏驱动。 通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:96 共阴驱动:12段8位  共阳驱动:8段12位   按键:8x4  封装SOP32 VK1640 概述 VK1640 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动。本产品采用 CMOS 工艺,主要应用于小型 LED 显示屏驱动。 通讯接口: CLK/DIN    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:8段16位  共阳驱动:16段8位   按键:---  封装SOP28    VK1640B概述 -----  SSOP24 超小封装体积方便开发设计,更低成本单价! VK1640B 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、 数据锁存器、LED 高压驱动。本产品采用 CMOS 工艺,主要应用于小型 LED 显示屏驱动。 通讯接口: CLK/DIN    电源电压:5V(4.5~5.5V)    驱动点阵:96 共阴驱动:8段12位 共阳驱动:12段8位【封装小,价格低】封装SSOP24   VK1650概述 VK1650 是一种带键盘扫描电路接口的 LED 驱动控制专用电路。内部集成有 MCU 输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。本芯片性能稳定、质量可靠、抗干扰能力强,可适应于 24 小时长期连续工作的应用场合。 通讯接口: SCL/SDA    电源电压:5V(3.0~5.5V)    驱动点阵:8x16 共阴驱动:8段4位   共阳驱动:4段8位   按键:7x4  封装SOP16/DIP16   VK1651概述 VK1651 是一种带键盘扫描接口的 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。主要应用于电磁炉。微波炉及小家电产品的显示屏驱动。 通讯接口: SCL/SDA    电源电压:5V(3.0~5.5V)    驱动点阵:8x14 共阴驱动:7段4位   共阳驱动:4段7位   按键:7x4  封装SOP16/DIP16   VK1668概述 VK1668 是 1/5~1/8 占空比的 LED 显示控制驱动电路。由 10 根段输出、4 根栅输出、3 根段/栅输出,1 个显示存储器、控制电路、键扫描电路组成了一个高可靠性的单片机外围 LED 驱动电路。串行数据通过4线串行接口输入到 VK1668采用 SOP24 的封装形式。   通讯接口:STB/CLK/DIO    电源电压:5V(4.5~5.5V)    驱动点阵:70/52   共阴驱动:10段7位/13段4位 共阳驱动:7段10位 按键:10x2 封装SOP24   VK6932概述 VK6932 是一款 LED(发光二极管显示器)驱动控制专用电路,内部集成有 MCU 数字接口、数据锁存器、LED 高压驱动。本产品采用 CMOS 工艺,主要应用于 LED 显示屏驱动。 通讯接口:STB/CLK/DIN    电源电压:5V(4.5~5.5V)    驱动点阵:128 共阴驱动:8段16位17.5/140mA  共阳驱动:16段8位 按键:--- 封装SOP32   VK16K33 概述 --- RAM映射16*8 LED控制器驱动器,带按键控制 VK16K33是一个内存映射和多功能LED控制器驱动程序。最大显示设备中的段是128个模式(16个SEG 和 8个COM),矩阵键为13*3(最大值)。扫描路。VK16K33的软件配置特点使其适用于多个LED应用包括LED模块和显示子系统。VK16K33与大多数微控制器兼容,并且通过双线双向I2c总线进行通信。 内存映射的LED控制器及驱动器 通讯接口:SCL/SDA   电源电压:5V(4.5V~5.5V)   驱动点阵:128/96/64    共阴驱动:16段8位/12段8位/8段8位 共阳驱动:8段16位/8段12位/8段8位 LCD/LED液晶控制器及驱动器系列 芯片简介如下: RAM映射LCD控制器和驱动器系列 VK1024B  2.4V~5.2V   6seg*4com  6*3   6*2             偏置电压1/2 1/3   S0P-16 VK1056B  2.4V~5.2V   14seg*4com 14*3  14*2             偏置电压1/2 1/3   SOP-24/SSOP-24 VK1072B  2.4V~5.2V   18seg*4com 18*3  18*2             偏置电压1/2 1/3   SOP-28 VK1072C  2.4V~5.2V  18seg*4com  18*3  18*2             偏置电压1/2 1/3   SOP-28 VK1088B  2.4V~5.2V  22seg*4com  22*3                  偏置电压1/2 1/3   QFN-32L(4MM*4MM) VK0192   2.4V~5.2V  24seg*8com                         偏置电压1/4       LQFP-44 VK0256   2.4V~5.2V  32seg*8com                         偏置电压1/4       QFP-64 VK0256B  2.4V~5.2V  32seg*8com                         偏置电压1/4       LQFP-64 VK0256C  2.4V~5.2V  32seg*8com                         偏置电压1/4       LQFP-52 VK1621S-1 2.4V~5.2V  32*4 32*3 32*2   偏置电压1/2 1/3   LQFP44/48/SSOP48/SKY28/DICE裸片 VK1622B  2.7V~5.5V   32seg*8com                        偏置电压1/4       LQFP-48 VK1622S  2.7V~5.5V   32seg*8com          偏置电压1/4     LQFP44/48/52/64/QFP64/DICE裸片 VK1623S  2.4V~5.2V   48seg*8com          偏置电压1/4     LQFP-100/QFP-100/DICE裸片 VK1625    2.4V~5.2V  64seg*8com                 偏置电压1/4    LQFP-100/QFP-100/DICE VK1626    2.4V~5.2V  48seg*16com                偏置电压1/5    LQFP-100/QFP-100/DICE  (高品质 高性价比:液晶显示驱动IC  原厂直销 工程技术支持!) (所有型号全部封装均有现货,欢迎加Q查询 191 888 5898 许生) 高抗干扰LCD液晶控制器及驱动系列 VK2C21A  2.4~5.5V  20seg*4com  16*8          偏置电压1/3 1/4   I2C通讯接口    SOP-28 VK2C21B  2.4~5.5V  16seg*4com  12*8          偏置电压1/3 1/4   I2C通讯接口    SOP-24 VK2C21C  2.4~5.5V  12seg*4com  8*8           偏置电压1/3 1/4   I2C通讯接口    SOP-20 VK2C21D  2.4~5.5V  8seg*4com   4*8           偏置电压1/3 1/4   I2C通讯接口    NSOP-16 VK2C22A  2.4~5.5V  44seg*4com                偏置电压1/2 1/3   I2C通讯接口    LQFP-52 VK2C22B  2.4~5.5V  40seg*4com                偏置电压1/2 1/3   I2C通讯接口    LQFP-48 VK2C23A  2.4~5.5V  56seg*4com  52*8          偏置电压1/3 1/4   I2C通讯接口    LQFP-64 VK2C23B  2.4~5.5V  36seg*8com                偏置电压1/3 1/4   I2C通讯接口    LQFP-48 VK2C24   2.4~5.5V  72seg*4com 68*8 60*16     偏置电压1/3 1/4 1/5  I2C通讯接口 LQFP-80                   超低功耗LCD液晶控制器及驱动系列 VKL060   2.5~5.5V  15seg*4com            偏置电压1/2 1/3   I2C通讯接口   SSOP-24 VKL128   2.5~5.5V  32seg*4com            偏置电压1/2 1/3   I2C通讯接口   LQFP-44 VKL144A  2.5~5.5V  36seg*4com            偏置电压1/2 1/3   I2C通讯接口   TSSOP-48 VKL144B  2.5~5.5V  36seg*4com         偏置电压1/2 1/3   I2C通讯接口   QFN48L (6MM*6MM)   静态显示LCD液晶控制器及驱动系列 VKS118   2.4~5.2V  118seg*2com           偏置电压 --       4线通讯接口   LQFP-128 VKS232   2.4~5.2V  116seg*2com           偏置电压1/1 1/2   4线通讯接口   LQFP-128             内存映射的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 VK1650 --- 通讯接口: SCL/SDA    电源电压:5V(3.0~5.5V)    驱动点阵:8x16 共阴驱动:8段4位   共阳驱动:4段8位   按键: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 (所有型号全部封装均有现货,欢迎加Q查询 191 888 5898 许生)   以上介绍内容为IC参数简介,难免有错漏,且相关IC型号众多,未能一一收录。欢迎联系索取完整资料及样品! 请加许先生 QQ:191 888 5898联系!谢谢     生意无论大小,做人首重诚信!本公司全体员工将既往开来,再接再厉。争取为各位带来更专业的技术支持,更优质的销售服务,更高性价比的好产品.竭诚希望能与各位客户朋友深入沟通,携手共进,共同成长,合作共赢!谢谢。  

    标签: 1629 LED TM VK 数显 兼容 驱动芯片

    上传时间: 2019-07-03

    上传用户:shubashushi66

  • 2007江苏高考化学试题及答案1

    1.据估计,地球上的绿色植物通过光合作用每年能结合来自CO2中的碳1500亿吨和来自水中   的氢250亿吨,并释放4000亿吨氧气。光合作用的过程一般可用下式表示: CO2 +  H2O + 微量元素(P、N等)    (蛋白质、碳水化台物、脂肪等)+O2                                          SHAPE \* MERGEFORMAT 光能 叶绿素   下列说法不正确的是     A.某些无机物通过光合作用可转化为有机物   B.碳水化合物就是碳和水组成的化合物

    标签: 2007 江苏 化学 高考 试题

    上传时间: 2019-09-11

    上传用户:hnjhnjhnj

  • 轮轨蠕滑理论及其试验研究

    滚劝接触理论是轮轨关系研究的基础.由于轮轨关系研究十分复杂,其老问题没有得到完善解决而新问题又不断出现,因而导致用现有的轮轨滚动接触理论不能完善解决轮轨关系研究中的疑难问题.纵观滚动接触理论与轮轨作用之关系的研究,大约分三个方面:a)理论研究;b)试验研究;c)应用研究.该文的第一章就这三个方面的研究历史和现状作了详细论述,并列出了大约150多篇有关这方面或与之有关的研究文献.

    标签: 试验研究

    上传时间: 2020-04-22

    上传用户:ypjhpylj

  • 拔河游戏机

    简单设计拔河游戏机包含六个模块 1.  按键模块:定义输入输出及按键模块。 2.  按键消抖模块:给每个按键两个状态,保证按键产生的信号可以消除抖动稳定,给所定按键两个状态,一个前状态,一个后状态,当时钟时钟的脉冲沿来临时,将按键状态赋值给前状态,设置定时器,当计数计满后,前状态值赋给后状态,按键输出值为前状态和后状态的取反的并。 3.  时钟分频模块:将Basys3的100M系统时钟分频成为周期为10ms,100Hz频率 4. 比较模块:由分频后的时钟信号模块控制按键信号模块,之后进入比较模块,若A的脉冲数大于B,则Led向A代表方向移动,反之则向B代表方向移动,若相等则不动。由Led的位置决定使能端的开启与关闭,若移动至A或B的顶端,则使能端控制Led无法再移动。除此还要设计计数器并可以显示在数码管上记下获胜者的盘数。 5. LED移动模块:在选定一定的时间周期内,检测按键A与按键B的产生的脉冲个数,进行比较,若A的脉冲数量大于B,则Led向A方向移动,反之则向B方向移动,若相等则不动。 6. 译码模块:将得到的信号t转化为Led的显示,最后赋值给Led输出端口,并且由数码管显示胜利的一方 。

    标签: verilog

    上传时间: 2020-05-19

    上传用户:lzj007

  • 四位数密码锁

    本设计方案中我采用多路复用器,2-4译码器,LED灯和或门等器件来完成设计。用2个74x151多路复用器扩展为16-2多路复用器,题目中的地址代码A、B、C、D4个输入端作为扩展的多路复用器的地址端,DO-D8作为数据端。开箱钥匙孔信号E作为2-4decoder的使能端。设计开锁的正确代码为0101,当用钥匙开锁(即2-4decoder的使能端有效〉时,如果正确输入开锁密码:0101,则输出Y为逻辑高电平,Y’为逻辑低电平,锁被打开,而LED灯不会亮(即不会报警);如果输入的密码错误或者钥匙孔信号无效,则输出Y为逻辑低电平,Y’为逻辑高电平,锁无法打开,逻辑高电平Y’驱动LED灯亮,产生报警效果。2.设计原理图:(以下电路图为用QuartusI踪合后截屏所得) 本设计方案中我采用多路复用器,2-4译码器,LED灯和或门等器件来完成设计。用2个74x151多路复用器扩展为16-2多路复用器,题目中的地址代码A、B、C、D4个输入端作为扩展的多路复用器的地址端,DO-D8作为数据端。开箱钥匙孔信号E作为2-4decoder的使能端。设计开锁的正确代码为0101,当用钥匙开锁(即2-4decoder的使能端有效〉时,如果正确输入开锁密码:0101,则输出Y为逻辑高电平,Y’为逻辑低电平,锁被打开,而LED灯不会亮(即不会报警);如果输入的密码错误或者钥匙孔信号无效,则输出Y为逻辑低电平,Y’为逻辑高电平,锁无法打开,逻辑高电平Y’驱动LED灯亮,产生报警效果。2.设计原理图:(以下电路图为用QuartusI踪合后截屏所得)

    标签: 密码锁

    上传时间: 2021-04-26

    上传用户:情可倾想