#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
上传用户:啊的撒旦
Texas Instruments常用元件库 TI Analog Timer Circuit.IntLib TI Logic Flip-Flop.IntLib TI Logic Gate 1.IntLib TI Logic Gate 2.IntLib TI Logic Latch.IntLib TI Logic Switch.IntLib TI Power Mgt Voltage Reference.IntLib TI Power Mgt Voltage Regulator.IntLib Texas Instruments Footprints.PcbLib等等
标签: Instruments Texas常用元件库 Altium Designer TI
上传时间: 2019-11-28
上传用户:blue sky
产品型号:TTP232-CA6 产品品牌:TONTEK/通泰 封装形式:SOT23-6 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 概 述 ● TTP232-CA6 TonTouchTM IC 为电容感测设计,专门用于触摸板控制,装置内建稳压电路给触摸感应电路使用,稳定的触摸检测效果可已广泛的满足不同的应用需求,人体经由非导体的介电材料连结控制板,主要用于取代机械开关或按钮,此芯片经由 2 个触摸板直接控制 2 个输出脚。 特 点 ● 工作电压 2.4V ~ 5.5V ● 内建稳压电路给触摸感应电路使用 ● 工作电流 @VDD=3V,无负载 ● 待机时典型值为 2.5uA ● 最大的触摸响应时间,从待机状态开始约为 220mS @VDD=3V ● 利用每个触摸板外部的电容(1~50pF)调整灵敏度 ● 输出模式固定为直接模式和低电平输出有效模式 ● 提供最长输出时间时间 16 秒 ● 固定为多键输出模式 ● 上电后约有 0.5 秒的稳定时间,此期间内不要触摸触摸板,此时所有功能都被禁止 ● 自动校准功能 ● 刚上电的 8 秒内约每 1 秒刷新一次参考值,若在上电后的 8 秒内有触摸按键或 8 秒后仍未触摸按键,则每 4 秒刷新一次参考值 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP226-809SN 产品品牌:TONTEK/通泰 封装形式:SSOP28 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 8按键触摸检测 IC 概 述 ● TTP226-809SN TonTouchTM 是一款使用电容式感应原理设计的触摸 IC, 提供 8 个触摸键,此触摸检测芯片是专为取代传统按键而设计, 触摸检测 PAD 的大小可依不同的灵敏度设计在合理的范围内, 低功耗与宽工作电压, 是此触摸芯片在 DC 或 AC 应用上的特性。 特 点 ● 工作电压 2.0V ~ 5.5V ● 工作电流在 VDD=3V 时典型值 80uA, 最大值 160uA ● 输出刷新率在 VDD=3V 时约 55Hz ● 16 阶可选灵敏度 (SLSE1~4 管脚选项) ● 稳定的人体接触检测,以取代传统直接切换的键(direct switch key) ● 提供直接(direct)模式、矩阵(matrix)模式和串行(serial)模式,由 pin 选项选择 ● 直接模式下最多 8 个输入 pads 和 8 个输出; 串行接口模式下最多 8 个输入 pads; 固定的 2*4 和 3*3 矩阵类型提供最多 8 个输入 pads ● 输出可由 pin 选项选择为高电平有效或低电平有效 ● 在上电之后有一段稳定时间,在此期间不要触摸键区(key-pad),且功能无效, TTP226-809SN 的是 0.8~1.0 秒 ● 始终进行自校准,当所有键没被触摸时,重校准周期 TTP226-809SN 的是 0.8~1.0 秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP229 TCP229 产品后缀:TTP229-LSF/BSF/AQG/CSE/DQE/GQD/HSB/JQB/KSF 产品品牌:TONTEK/通泰 封装形式:SSOP16 SSOP20 SSOP24 QFN24 SSOP28 QFN32 SSOP48 裸片/DICE 产品年份:最新年份 联 系 人:许先生 联 系 QQ:1918885898 461366748 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 16 键/8 键触摸检测 IC 概述 TTP229 TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供 触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝 缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) 可外部选择启用/禁用内建稳压电路功能 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 提供Option选择8键或16键模式. 提供8个直接输出独立端口,仅限于8键直接输出模式下 具有两种串行输出方式,可以应用在8个和16个键模式 包括2-线串行模式和I 2 C通讯模式,由option所选择. 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效 提供option选择多键或单键有效功能 提供两种采样率,睡眠模式下采样率 8Hz,快速采样率 64Hz 具有Option选择有效键最大输出时间大约为80秒. 灵敏度可由外部电容(1~50pF)调节 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TCP229 产品品牌:TONTEK/通泰 封装形式:DICE/裸片/晶圆---邦定COB 定制COB 产品年份:最新年份 联 系 人:许先生 联 系 QQ:1918885898 461366748 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 16 键/8 键触摸检测 IC 概述 TTP229 TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供 触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝 缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) 可外部选择启用/禁用内建稳压电路功能 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 提供Option选择8键或16键模式. 提供8个直接输出独立端口,仅限于8键直接输出模式下 具有两种串行输出方式,可以应用在8个和16个键模式 包括2-线串行模式和I 2 C通讯模式,由option所选择. 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效 提供option选择多键或单键有效功能 提供两种采样率,睡眠模式下采样率 8Hz,快速采样率 64Hz 具有Option选择有效键最大输出时间大约为80秒. 灵敏度可由外部电容(1~50pF)调节 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● TTP229-LSF 16键电容触摸按键触控芯片8键 12键 16键 TTP229裸片 TTP229-LSF TTP229-BSF TTP229 TCP229裸片/DICE 8键16键触摸IC TTP229-BSF/16键触摸按键IC/SSOP28触摸感应开关芯片 产品型号:TTP229-LSF 产品品牌:TONTEK/通泰 封装形式:SSOP28 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 概述 TTP229-LSF TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 ● 工作电压:2.4V~5.5V(启用内建稳压电路) ● 2.0V~5.5V(禁用内建稳压电路) ● 可外部选择启用/禁用内建稳压电路功能 ● 待机电流 3V电压,低速采样率8Hz的睡眠模式下: ● 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA ● 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA ● 提供Option选择8键或16键模式. ● 提供8个直接输出独立端口,仅限于8键直接输出模式下 ● 具有两种串行输出方式,可以应用在8个和16个键模式 包括2-线串行模式和I2C通讯模式 ● TTP229-LSF为I2C输出通讯 ● TTP229-BSF为2线串行输出通讯 ● 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效 ● 提供option选择多键或单键有效功能 ● 提供两种采样率,睡眠模式下采样率8Hz,快速采样率 64Hz ● 具有Option选择有效键最大输出时间大约为80秒. ● 灵敏度可由外部电容(1~50pF)调节 ● 上电后需要0.5秒稳定时间 ● 在此期间内请勿触摸按键面板,所有的功能触摸也无效. ● 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP229-BSF 产品品牌:TONTEK/通泰 封装形式:SSOP28 产品年份:新年份 联 系 人:许先生 联 系 QQ:1918885898 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧! 量大价优,保证原装正品。您有量,我有价! 概述 TTP229 TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) 可外部选择启用/禁用内建稳压电路功能 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 提供Option选择8键或16键模式. 提供8个直接输出独立端口,仅限于8键直接输出模式下 具有两种串行输出方式,可以应用在8个和16个键模式 包括2-线串行模式和I2C通讯模式,由option所选择. 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效 提供option选择多键或单键有效功能 提供两种采样率,睡眠模式下采样率8Hz,快速采样率 64Hz 具有Option选择有效键最大输出时间大约为80秒. 灵敏度可由外部电容(1~50pF)调节 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:TTP229-AQG 产品品牌:TONTEK/通泰 封装形式:QFN32 产品年份:最新年份 联 系 人:许先生 联 系 QQ:1918885898 461366748 联系手机:18898582398 台湾通泰一级代理,原装现货最有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 16 键/8 键触摸检测 IC 概述 TTP229-AQG TonTouchTM IC是一款使用电容感应式原理设计的触摸芯片。此芯片内建稳压电路供 触摸传感器使用,稳定的触摸效果可以应用在各种不同应用上,人体触摸面板可以通过非导电性绝 缘材料连接,主要应用是以取代机械开关或按钮,此芯片可以独立支持8个触摸键或16个触摸键. 特点 工作电压:2.4V~5.5V(启用内建稳压电路) 2.0V~5.5V(禁用内建稳压电路) 可外部选择启用/禁用内建稳压电路功能 待机电流 3V电压,低速采样率8Hz的睡眠模式下: 启用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 禁用内部稳压器,待机电流 => 16键模式下典型值2.5uA => 8键模式下典型值2.0uA 提供Option选择8键或16键模式. 提供8个直接输出独立端口,仅限于8键直接输出模式下 具有两种串行输出方式,可以应用在8个和16个键模式 包括2-线串行模式和I 2 C通讯模式,由option所选择. 8个直接输出端口可以选择不同输出类型(CMOS/OD/OC具有高/低电平有效) 2-线串行模式可option选择高电平有效或低电平有效 提供option选择多键或单键有效功能 提供两种采样率,睡眠模式下采样率 8Hz,快速采样率 64Hz 具有Option选择有效键最大输出时间大约为80秒. 灵敏度可由外部电容(1~50pF)调节 上电后需要0.5秒稳定时间 在此期间内请勿触摸按键面板,所有的功能触摸也无效. 自动校准 当所有按键在一段时间内没有被触摸到时,芯片系统重新校准时间约为4.0秒 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898
标签: 233D TTP 233 单通道 代理 触控芯片 微电
上传时间: 2020-01-09
上传用户:szqxw1688
用于switch摇杆操作的源码,.c跟.h
标签: Joystick
上传时间: 2020-03-22
上传用户:2320882541
Thepredecessorvolumeofthisbookwaspublishedin1996.Intheyears since then, some things have changed and some have not. Two of the things that have not changed are the desire for better models and faster simulations. I performed the original simulations on my “hyperfast” 133-MHz computer! At the time, I thought if I could just getafastercomputer,allofourSPICEproblemswouldbehistory,right? TodayIamsimulatingonacomputerthathasa2.6-GHzprocessorwith 512 MB of RAM, and I would still say that simulations run too slow. The computer technology has evolved, but so have the models. In 1996 wewereperformingsimulationson100-kHzpowerconverters,whereas today I routinely see 1- and 2-MHz power converters.
标签: Switch-Mode Simulation Supply Power
上传时间: 2020-06-07
上传用户:shancjb
#include<stdio.h> #define TREEMAX 100 typedef struct BT { char data; BT *lchild; BT *rchild; }BT; BT *CreateTree(); void Preorder(BT *T); void Postorder(BT *T); void Inorder(BT *T); void Leafnum(BT *T); void Nodenum(BT *T); int TreeDepth(BT *T); int count=0; void main() { BT *T=NULL; char ch1,ch2,a; ch1='y'; while(ch1=='y'||ch1=='y') { printf("\n"); printf("\n\t\t 二叉树子系统"); printf("\n\t\t*****************************************"); printf("\n\t\t 1---------建二叉树 "); printf("\n\t\t 2---------先序遍历 "); printf("\n\t\t 3---------中序遍历 "); printf("\n\t\t 4---------后序遍历 "); printf("\n\t\t 5---------求叶子数 "); printf("\n\t\t 6---------求结点数 "); printf("\n\t\t 7---------求树深度 "); printf("\n\t\t 0---------返 回 "); printf("\n\t\t*****************************************"); printf("\n\t\t 请选择菜单号 (0--7)"); scanf("%c",&ch2); getchar(); printf("\n"); switch(ch2) { case'1': printf("\n\t\t请按先序序列输入二叉树的结点:\n"); printf("\n\t\t说明:输入结点(‘0’代表后继结点为空)后按回车。\n"); printf("\n\t\t请输入根结点:"); T=CreateTree(); printf("\n\t\t二叉树成功建立!\n");break; case'2': printf("\n\t\t该二叉树的先序遍历序列为:"); Preorder(T);break; case'3': printf("\n\t\t该二叉树的中序遍历序列为:"); Inorder(T);break; case'4': printf("\n\t\t该二叉树的后序遍历序列为:"); Postorder(T);break; case'5': count=0;Leafnum(T); printf("\n\t\t该二叉树有%d个叶子。\n",count);break; case'6': count=0;Nodenum(T); printf("\n\t\t该二叉树总共有%d个结点。\n",count);break; case'7': printf("\n\t\t该树的深度为:%d",TreeDepth(T)); break; case'0': ch1='n';break; default: printf("\n\t\t***请注意:输入有误!***"); } if(ch2!='0') { printf("\n\n\t\t按【Enter】键继续,按任意键返回主菜单!\n"); a=getchar(); if(a!='\xA') { getchar(); ch1='n'; } } } } BT *CreateTree() { BT *t; char x; scanf("%c",&x); getchar(); if(x=='0') t=NULL; else { t=new BT; t->data=x; printf("\n\t\t请输入%c结点的左子结点:",t->data); t->lchild=CreateTree(); printf("\n\t\t请输入%c结点的右子结点:",t->data); t->rchild=CreateTree(); } return t; } void Preorder(BT *T) { if(T) { printf("%3c",T->data); Preorder(T->lchild); Preorder(T->rchild); } } void Inorder(BT *T) { if(T) { Inorder(T->lchild); printf("%3c",T->data); Inorder(T->rchild); } } void Postorder(BT *T) { if(T) { Postorder(T->lchild); Postorder(T->rchild); printf("%3c",T->data); } } void Leafnum(BT *T) { if(T) { if(T->lchild==NULL&&T->rchild==NULL) count++; Leafnum(T->lchild); Leafnum(T->rchild); } } void Nodenum(BT *T) { if(T) { count++; Nodenum(T->lchild); Nodenum(T->rchild); } } int TreeDepth(BT *T) { int ldep,rdep; if(T==NULL) return 0; else { ldep=TreeDepth(T->lchild); rdep=TreeDepth(T->rchild); if(ldep>rdep) return ldep+1; else return rdep+1; } }
上传时间: 2020-06-11
上传用户:ccccy
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t请输入稀疏矩阵的行数,列数和非零元素个数(用逗号隔开):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t输入非零元素值(格式:行号,列号,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t对角线元素的和::%d\n",p->v); else printf("\n\t\t对角线元素的和为::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩阵的三元组系统 "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------创建 "); printf("\n\t\t 2------------显示 "); printf("\n\t\t 3------------求对角线元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t请选择菜单号(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t输入错误!请重新输入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上传时间: 2020-06-11
上传用户:ccccy
2.7V to 5.5V input voltage Range Efficiency up to 96% 24V Boost converter with 12A switch current Limit 600KHz fixed Switching Frequency Integrated soft-start Thermal Shutdown Under voltage Lockout Support external LDO auxiliary power supply 8-Pin SOP-PP PackageAPPLICATIONSPortable Audio Amplifier Power SupplyPower BankQC 2.0/Type CWireless ChargerPOS Printer Power SupplySmall Motor Power Supply
标签: XR2981
上传时间: 2021-11-05
上传用户:
全网最全的autojs列子,有一千六百多的脚本文件,脚本内容包含:几十种类型的UI脚本,抖音、QQ、微信、陌陌、支付宝等自动化操作的脚本、还有部分协议列表,HTTP协议(POST、GET)上传下载,接码模块,百度文字识别api模块,文件操作模块:txt文本读一行删一行,等等其他例子QQ语音红包.jsqq语音红包,没加悬浮窗,我觉得自己用脚本引擎会好点.jsQQ语音输入(Tim版)(1).jsQQ语音输入(Tim版).jsQQ资料赞.jsqq轰炸机(1).jsqq轰炸机.jsQQ选图涂鸦.jsqq顺序点赞脚本.jsQQ,微信聊天辅助脚本(文本分割填充字符) v2.jsQQ,微信聊天辅助脚本(文本分割填充字符).jsqtiao.jsrawWindow求解.jsrelationship.jsrhinoneteasecloudmusic.jsRobot.jsROOT权限启动无障碍服务.jsRSA.jsscript.jsscroll的使用.jsSecure.jssetting.jssha256.jsshell开关飞行模式.jsshuabaoviod.jsSMSCODE.jsSmsCodeExtract.jssojson.com.jssoul_灵魂匹配.jsspinner例子.jsSqlDatabase2.jsss.jsstart(2).jssun_rise&set.jssurfaceView(简单示例).jsSwitch控件.jstcp连接客户端.jste.jstest(1).jstest(2).jstest(3).jstest(4).jstest.jstestTouch.jstestyinhe.jsTheWolf_API.jstoast图片加文字.jstoast替代函数.jstranslate.jsTrun(翻翻乐).jsts-00-dist.jsTS微信跳一跳满分(10000)飞速版.jsts跳一跳r9s最新版.jsTS跳一跳全机型通用版(2).jsts跳一跳全机型通用版(3).jsts跳一跳全机型通用版.jsTS跳一跳脚本正确显示方式(支持root).jsTS跳一跳自动.jsTS跳一跳过检测.jstt.jsTTS(1).jstts.jstts2.jstts3.jsTTS抢语音红包,作者A酷安(?????)----锦,详细使用看代码注释.jstxt.jsuc答题.jsui 悬浮窗动画+滑动界面.jsUI(2).jsUI.jsuitest - 副本.jsui。.jsui下对话框文件选择器(1).jsui中的延时除了多线程有别的办法吗.jsui保存控件属性3.jsUI全选.jsUI切换.jsui列子.jsui右下角展开按钮.jsui多界面.jsui属性(1).jsui开关控件(1).jsui开关控件.jsUI文件选择.jsUI显示日志.jsUI画时钟作者xxoo.jsui相对布局.jsUI示例(支付UI).jsui示例app下方tabs.jsui示例下方tabs(1.0.0-1 修复宽度不适配问题).jsUI脚本使用无障碍的最佳实践.jsUI轮播图.jsui选择文件.jsUI验证码(有BUG).jsuki_0.jsUki消息交互式回复.jsUnlock.jsUntitled-1.jsuntitled.jsUTF.jsvip视频解析2.1.jsvscode连接不上手机解决办法.jsWannaCry(仅为娱乐).jsWeather.jswebScript.jsWebViewClient的使用方法.jswebViewUA切换3.jswebView填充表单加alert.jsWebView多页面浏览(1).jsWebView多页面浏览.jswebView提取图片地址并加载.jswebView获取图片地址.jswebview获取网页原图.jswebview获取网页原图保存.jswebView输入关键词搜索.jsweb拦截修改.jsWeChat.jsWechatJumpingAI(2).jsWechatJumpingAI(3).jswechatjumpingai(4).jsWechatJumpingAI.jswife紧急掉线(autojs破解版专用).js.jswifi设置代理(未完成).js.js
标签: autojs
上传时间: 2021-11-06
上传用户:
C语言各知识点详细总结27页C 语言知识要点复习资料 总体上必须清楚的: 1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。 2)读程序都要从 main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有 且只有一个 main 函数。 3)计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 他的地址. 4)bit 是位 是指为 0 或者 1。 byte 是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是 C 语言的一部分,不占运行时间,不要加分号。C 语言编译的程序称为源程 序,它以 ASCII 数值存放在文本文件中。 2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个 C 语言程序中 main 函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break 可用于循环结构和 switch 语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C 语言的基础知识 第一节、对 C 语言的基础认识 1、C 语言编写的程序称为源程序,又称为编
标签: C语言
上传时间: 2021-11-06
上传用户:kent