本代码为编码开关代码,编码开关也就是数字音响中的 360度旋转的数字音量以及显示器上用的(单键飞梭开 关)等类似鼠标滚轮的手动计数输入设备。 我使用的编码开关为5个引脚的,其中2个引脚为按下 转轮开关(也就相当于鼠标中键)。另外3个引脚用来 检测旋转方向以及旋转步数的检测端。引脚分别为a,b,c b接地a,c分别接到P2.0和P2.1口并分别接两个10K上拉 电阻,并且a,c需要分别对地接一个104的电容,否则 因为编码开关的触点抖动会引起轻微误动作。本程序不 使用定时器,不占用中断,不使用延时代码,并对每个 细分步数进行判断,避免一切误动作,性能超级稳定。 我使用的编码器是APLS的EC11B可以参照附件的时序图 编码器控制流水灯最能说明问题,下面是以一段流水 灯来演示。
上传时间: 2017-07-03
上传用户:gaojiao1999
【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。
标签: 点阵
上传时间: 2014-06-21
上传用户:llandlu
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789
上位机编程经常用到c#语言,Professional C# 7 and .NET Core 2.0为有经验的程序员提供了他们需要与世界领先的编程语言有效合作的信息。最新的C语言更新增加了许多新的特性,帮助你在更短的时间内完成更多的工作,这本书是你快速入门的理想指南。C# 7重点关注数据消耗、代码简化和性能,对本地函数、元组类型、记录类型、模式匹配、非可空引用类型、不可变类型以及更好地支持变量提供了新的支持。VisualStudio的改进将给C开发人员与空间交互的方式带来重大改变,将.NET引入非微软平台,并将工具从诸如Docker、GULP和NPM等其他平台结合起来。在一个领先的.NET专家的指导下,沉浸在真实的实用性中,这个指南旨在让你跟上时代并回到工作中去。
上传时间: 2021-12-01
上传用户:slq1234567890
Altium Designer Summer 09的发布延续了连续不断的新特性和新技术的应用过程。这必将帮助用户更轻松地创建下一代电子设计。同时,我们将令Altium Designer更符合电子设计师的要求。Altium的一体化设计结构将硬件、软件和可编程硬件集合在一个单一的环境中,这将令用户自由地探索新的设计构想。在整个设计构成中,每个人都使用同一个设计界面。 Summer 09版本解决了大量历史遗留的工具问题。其中就包括了增加更多的机械层设置、增强的原理图网络类定义。新版本中更关注于改进测试点的分配和管理、精简嵌入式软件开发、软设计中智能化调试和流畅的License管理等功能。我们为这个版本发布的新特性和新功能的作用感到高兴,我们非常相信这些新的特性和技术也将令您激动不已!电路板设计增强了图形化DRC违规显示Summer 09版本改进了在线实时及批量DRC检测中显示的传统违规的图形化信息,其含盖了主要的设计规则。 利用与一个可定义的指示违规信息的掩盖图形的合成,用户现在已经可以更灵活的解决出现在设计中的DRC错误。用户自定制PCB布线网络颜色Summer09版本允许用户在PCB文件中自定义布线网络显示的颜色。现在,用户完全可以使用一种指定的颜色替代常用当前板层颜色作为布线网络显示的颜色。并将该特性延伸到图形迭层模式,进一步增强了PCB的可视化特性。PCB板机械层设定增加到32层Altium Designer Summer 09版本为板级设计新增了16个机械层定义,使总的机械层定义达到32层。提升了PCB向Specctra导出数据的兼容性3D单层显示模式改进了测试点管理系统改进了DirectX图形重建速度在Altium Designer Summer09的PCB应用中增强了DirectX图形引擎的功能,直接关系到图形重建的速度。由于图形重构是不常用到的,如果不是非常必要,将不再执行重构的操作;同时也优化了DirectX数据填充特性。经过测试,Summer09将在原版本的基础上提升20%的图形处理性能。前端设计按区域定义原理图网络类功能Altium Designer现在可以允许用户使用网络类标签功能在原理图设计中将所涵盖的每条信号线纳入到自定义网络类之中。当从原理图创建PCB时,就可以将自定义的网络类引入到PCB规则。使用这种方式定义网络的分配,将不再需要担心耗费时间、原理图中网络定义的混乱等问题。Summer09版本将提供更加流畅、高效和整齐的网络类定义的新模式。装配变量和板级元件标号的图形编辑功能Altium Designer Summer 09版本提供了装配变量和板级元件标号的图形编辑功能。在编译后的原理图源文件中就可以了解装配变量和修改板级元件标号,这个新的特性将令你从设计的源头就可以快速、高效的完成设计的变更;对于装配变量和板级元件标号变更操作,更重要的是这将提供一种更快速、更直观的变通方法。软设计支持C++高级语法格式的软件开发由于软件开发技术的进步,使用更高级、更抽象的软件开发语言和工具已经成为必然。从机器语言到汇编语言,再到过程化语言和面向对象的语言。Altium Designer Summer09版本现在可以支持C++软件开发语言(一种更高级的语言),包括软件的编译和调试功能。基于Wishbone协议的探针仪器Altium Designer Summer 09新增了一款基于Wishbone协议的探针仪器(WB_PROBE)。该仪器是一个Wishbone主端元件,因此允许用户利用探针仪器与Wishbone总线相连去探测兼容Wishbone协议的从设备。通过实时运行的调试面板,用户就可以观察和修改外设的内部寄存器内容、存储器件的内存数据区,省却了调用处理器仪器或底层调试器。对于无处理器的系统调试尤为重要。为FPGA仪器编写脚本Altium Designer已经为用户提供了一种可定制虚拟仪器的功能,在新的版本中您还将看到Altium新增了一种在FPGA内利用脚本编程实现可定制虚拟仪器的功能。该功能将为用户提供一种更直观、界面更友好的脚本应用模式增强的存储单元管理器支持多软件平台知识库新的FPGA外设内核元件新的FPGA可配置通用元件虚拟存储仪器在Altium Designer Summer 09版本中,用户将看到一种全新的虚拟存储仪器(MEMORY_INSTRUMENT)。 就在虚拟仪器内部,其就可提供一个可配置存储单元区。利用这个功能可以实现从其它逻辑器件、相连的PC和虚拟仪器面板中观察和修改存储区数据。系统级设计按需模式的License管理系统(On-Demand )Altium Designer Summer 09版本中增加了基于WEB协议和按需License的模式。利用客户账号访问Altium客户服务器,无须变更License文件或重新激活License,基于WEB协议的按需License管理器就可以允许一个License被用于任一一台计算机。就好比一个全球化浮动License,而无需建立用户自己的License服务器。可浏览的License管理和报表全新的主页Altium Labs私有的License服务模式在外部Web页面内打开网络链接增强了供应商数据Altium Designer Summer 09版本中新增了两个元器件供应商信息的实时数据连接,这两个供应商分别为 Newark 和 Farnell 。通过供应商数据查找面板内的供应商条目,用户现在可以向目标元件库(SchLib, DbLib, SVNDbLib)或原理图内的元器件中导入元器件的参数、数据手册链接信息、元器件价格和库存信息等。另外,用户还可以在目标库内从供应商条目中直接创建一个新的元器件。
上传时间: 2022-07-22
上传用户:canderile
提出了一种基于样本的分级检索 MPEG 视频的新方法:首先用I 帧的dct_dc_size 字段快速粗检,然后用断层摄影(tomography)法分析B 帧运动矢 量的时空分布特性以进一步缩小结果集,最后用DC 图像的精确匹配方法验证检索结果.试验结果表明,本方法 所需计算量较小,且可保证较高的检索精度.
标签: dct_dc_size tomography MPEG 帧
上传时间: 2013-12-30
上传用户:独孤求源
学生成绩管理系统功能简介 a. 查询指定学号学生成绩记录。 b. 按平均分顺序插入一个新的学生成绩。 c. 删除指定学号学生记录。 d. 修改指定学号学生成绩记录。 e. 在屏幕上输出所有学生的成绩。 f. 将学生成绩输出到文件。
上传时间: 2015-06-06
上传用户:叶山豪
程序计算了国产矩形波导BJ-100的传输特性。通过查阅资料可以知道BJ-100波导管的结构参数为频率范围(8.2GHz~12.5GHz)结构参数a=22.86mm,b=10.16mm FDTD计算 fortran 语言
上传时间: 2014-12-02
上传用户:linlin
MFC+access的通讯录系统。 (1) 查看功能:选择此功能时列出下列三类功能. A办公类 B个人类 C商务类 当选中某类时,显示出此类所有数据中的姓名和电话号码 (2)增加功能:能录入新数据,一个结点包括:姓名,电话号码,分类(办公类,个人类,商务类), 电子邮件, (3)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (4)删除功能:选中某个人的姓名时,可对此人的相对数据进行删除并自动调整后续条目的编号,
上传时间: 2013-12-19
上传用户:缥缈