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

可<b>编程</b>

  • 本代码为编码开关代码

    本代码为编码开关代码,编码开关也就是数字音响中的 360度旋转的数字音量以及显示器上用的(单键飞梭开 关)等类似鼠标滚轮的手动计数输入设备。 我使用的编码开关为5个引脚的,其中2个引脚为按下 转轮开关(也就相当于鼠标中键)。另外3个引脚用来 检测旋转方向以及旋转步数的检测端。引脚分别为a,b,c b接地a,c分别接到P2.0和P2.1口并分别接两个10K上拉 电阻,并且a,c需要分别对地接一个104的电容,否则 因为编码开关的触点抖动会引起轻微误动作。本程序不 使用定时器,不占用中断,不使用延时代码,并对每个 细分步数进行判断,避免一切误动作,性能超级稳定。 我使用的编码器是APLS的EC11B可以参照附件的时序图 编码器控制流水灯最能说明问题,下面是以一段流水 灯来演示。

    标签: 代码 编码开关

    上传时间: 2017-07-03

    上传用户:gaojiao1999

  • 计算机算法中八皇后问题的演示程序

    计算机算法中八皇后问题的演示程序,可供编程学习者参考

    标签: 计算机 算法 程序

    上传时间: 2014-01-07

    上传用户:cmc_68289287

  • 【问题描述】 在一个N*N的点阵中

    【问题描述】 在一个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

  • 根据Jean J. Labrosse的dio嵌入式构件

    根据Jean J. Labrosse的dio嵌入式构件,自己编写的一个脉冲发生器。结构简洁,注释清晰,可供编程者参考。

    标签: J. Labrosse Jean dio

    上传时间: 2017-08-06

    上传用户:l254587896

  • 基于单片机的电路与程序

    基于单片机的电路与程序,显示时间,可通过编程实现时间的定时与时间显示

    标签: 单片机 电路 程序

    上传时间: 2014-01-12

    上传用户:zhuyibin

  • 道理特分解法

    #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

  • 数控机床自适应模糊控制伺服系统研究

    一台数控机床的先进程度衡量着一个国家制造业的先进水平,而数控机床最核心的部分就是数控机床控制系统。近年出现的ARM数入式系统具有硬件资源丰富、性能好、成本低和功耗低等优点,FPGA技术具有可重复编程、在线升级、实时性好、可靠性高等优点。为了克服传统的数控机床成本高、控制精度低、实时性差,可靠性低等缺点,研究基于ARM+FPGA架构的新型数控机床系统,具有重要的社会经济意义和重大的经济价值本文以数控机床为工程背景,以何服电机PMSM为具体对象以ARM+FPGA作为数控系统的实现平台,从提高何服系统位置环控制的自适应能力,提高位置环、速度环和电流环等复杂运算的处理速度,提高系统管理与控制程序开发的简单性、界面的美观性等方面开展了深入的研究。其主要研究工作和结论如下:(1)在对比分析了几种控制系统架构基础上,提出了一种基于ARM+FPGA的数控机床自适应模糊控制何服系统的设计方案。该系统采用以ARM作为系统主控与运动轨迹计算芯片,FPGA作为何服系统运动控制芯片,而其中的FPGA运动控制系统包括自适应位置控制模块、速度控制模块、电流变换模块三大部分(2)针对提出的 ARM+FPGA的数控机床自适应模糊控制何服系统的设计方案,进行了有关数学模型的建立占推导,并借助MATLAB工具建立系统仿真模型进行仿真。系统仿真结果表明,该系统位置响应超调量小,响应时间短,系统性能优越(3)为了提高运动控制的实时性、可靠性、灵活度,根据运动控制系统的模型,提出了一种FPGA实现的运行控制系统的结构,井详细进行了自适应位置控制模块、速度控制模块、电流变换模块等内部各模块的设计,之后利用HDL进行了有关模块的程序设计和PGA实现仿真(4)针对基于ARM微处理器的主挖与运动轨迹计算系统,进行了系统控制界面的设计,FPGA与ARM芯片、FPGA与上位机等通信程序设计,进行了运动控制中加减速、插补方法的分析与设计关键字:数控机床:水磁同步电机:自适应模糊控制:ARM:FPGA

    标签: 数控机床 自适应模糊控制

    上传时间: 2022-03-11

    上传用户:20125101110

  • 基于FPGA的线阵CCD驱动时序及模拟信号处理的设计

    1引言电荷耦合器CCD具有尺寸小、精度高、功耗低、寿命长、测量精度高等优点,在图像传感和非接触测量领域得到了广泛应用。由于CCD芯片的转换效率、信噪比等光电特性只有在合适的时序驱动下才能达到器件工艺设计所要求的最佳值,以及稳定的输出信号,因此驱动时序的设计是应用的关键问题之一。通用CCD驱动设计有4种实现方式:EPROM驱动法;IC驱动法;单片机驱动法以及可编程逻辑器件(PLD)驱动法。基于FPGA设计的驱动电路是可再编程的,与传统的方法相比,其优点是集成度高、速度快、可靠性好。若要改变驱动电路的时序,增减某些功能,仅需要对器件重新编程即可,在不改变任何硬件的情况下,即可实现驱动电路的更新换代。2CD1501DCCD工作参数及时序分析

    标签: fpga ccd 信号处理

    上传时间: 2022-06-23

    上传用户:

  • 基于VB实现PLC与上位机通讯

    近年来使用上位机与可编程控制器通信的应用软件发展迅速,如WINCC、组态王软件、VC、VB等,既可以实现二者的通信,也能制作出良好的人机监控界面。下面分别简要介绍上述各软件的性能特点:1.SIMATIC WINCC是德国西门子公司开发的,它提供了丰富的选件(options)和附加件(add-ons)。它的系统设计,模块化结构,以及灵活的扩展方式,使其不但可以做单用户应用,还可以做多用户应用。WINCC集生产自动化和过程自动化于一体,实现了相互之间的整合,同时它制作的界面是完全国际化的。2.组态王软件是北京亚控科技发展公司自主知识产权的组态软件。它应用的非常广泛,在图形处理和画面设计方面十分方便,并且有强大的控件,且编程十分的简单,对于工程人员上手十分容易。3.VC是微软公司开发的一种可视化编程软件,其功能十分强大,它在数据处理能力以及运算方面有着独到之处,并且提供有十分强大的函数库可供编程人员进行调用,在图形处理以及界面的设计方面的功能也十分突出,被广泛应用在工业控制领域。

    标签: vb plc 上位机 通讯

    上传时间: 2022-06-25

    上传用户:

  • 使用的是API编程,可格式化、校验和读写特殊扇区。可用作Windows下的磁盘加密。本函数还有以下两个缺点以待改进: 1.本函数还只能读能读 A: 和 B:,即只能对软盘操作 2.不能改变磁盘扇区大小

    使用的是API编程,可格式化、校验和读写特殊扇区。可用作Windows下的磁盘加密。本函数还有以下两个缺点以待改进: 1.本函数还只能读能读 A: 和 B:,即只能对软盘操作 2.不能改变磁盘扇区大小,只能是标准的 512 个字节。 参数说明: command 操作: 0 重置磁盘 2 读扇区 3 写扇区 4 校验磁道 5 格式化磁道 8 得到设备参数 (int 1EH) drive 驱动器 A:=0 B:=1 head 磁头号,范围 0 - 1 track 磁道号,范围 0 - 84 ( 80 - 84 为特殊磁道,通常用来加密 ) sector 扇区号,范围 0 - 255 ( 19 - 255 为非标准扇区编号,通常用来加密) nsectors 每次读或写的扇区数,不能超出每磁道的最大扇区数 buffer 数据写入或读出的缓冲区,大小为 512 个字节 返回值 ( 同 Int 13H ): 0x0 成功 0x1 无效的命令 0x3 磁盘被写保护 0x4 扇区没有找到 0xa 发现坏扇区 0x80 磁盘没有准备好

    标签: Windows API 函数 磁盘

    上传时间: 2013-12-05

    上传用户:moerwang