本代码为编码开关代码,编码开关也就是数字音响中的 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
智能化微机测量和控制技术的迅速发展和广泛应用己经渗透到国民经济的各个部门。不但国防技 术、航空、航天、铁路、冶金、化工等产业,就连在日常生活中也得到广泛的应用。我应德力西集团公 司的要求,为其设计可通信型智能交流电压表,并进行智能仪器/仪表的相关研究。
上传时间: 2014-07-24
上传用户:hgy9473
实验源代码 //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
资源较大,分为两个部分,已全部上传:第一部分:https://dl.21ic.com/download/arm-429326.html 第二部分:https://dl.21ic.com/download/arm-429325.html 本书介绍了意法半导体(STMicroelectronics,ST)公司的32位基于 ARM Cortex-M3内核的STM32单片机应用与实践。通过“学中做、做中学”,即DIY(Do It yourself)和LBD(Learning By Doing)的方式,按照工作导向的思路展开教学与实践学习,循序渐进地介绍和构建若干典型STM32单片机应用系统的硬件和软件,以及相关传感器电路,将STM32单片机的外围引脚特性、内部结构原理、片上外设资源、开发设计方法和应用软件编程等知识传授给学生,对传统的教学方法和教学体系进行创新,力求解决嵌入式系统课程抽象与难学的问题全书通俗易懂、内容丰富,可作为高等本科院校和职业技术学院的计算机、电子信息、自动化、电力电气电子技术及机电一体化等相关专业的“32位高级单片机原理与应用”、“基于 ARM Cortex内核的单片机系统开发”等课程的教材和教学参考书,也可以作为工程实训、电子制作与竞赛的实践教材和实验配套教材,同时还可以供广大从事自动控制、智能仪器仪表、电力电子、机电一体化等系统开发和设计的工程技术人员、教师者个人参考自学使用,并可作为ARM相关应用与培训课程的参考书。
上传时间: 2022-04-02
上传用户:
资源较大,分为两个部分,已全部上传:第一部分:https://dl.21ic.com/download/arm-429326.html 第二部分:https://dl.21ic.com/download/arm-429325.html 本书介绍了意法半导体(STMicroelectronics,ST)公司的32位基于 ARM Cortex-M3内核的STM32单片机应用与实践。通过“学中做、做中学”,即DIY(Do It yourself)和LBD(Learning By Doing)的方式,按照工作导向的思路展开教学与实践学习,循序渐进地介绍和构建若干典型STM32单片机应用系统的硬件和软件,以及相关传感器电路,将STM32单片机的外围引脚特性、内部结构原理、片上外设资源、开发设计方法和应用软件编程等知识传授给学生,对传统的教学方法和教学体系进行创新,力求解决嵌入式系统课程抽象与难学的问题全书通俗易懂、内容丰富,可作为高等本科院校和职业技术学院的计算机、电子信息、自动化、电力电气电子技术及机电一体化等相关专业的“32位高级单片机原理与应用”、“基于 ARM Cortex内核的单片机系统开发”等课程的教材和教学参考书,也可以作为工程实训、电子制作与竞赛的实践教材和实验配套教材,同时还可以供广大从事自动控制、智能仪器仪表、电力电子、机电一体化等系统开发和设计的工程技术人员、教师者个人参考自学使用,并可作为ARM相关应用与培训课程的参考书。
上传时间: 2022-04-02
上传用户:kent
【摘要】:基于传统的方法在很多特殊场合:如带腐蚀的液体,强电磁干扰,有毒等恶劣条件下,测量距离存在不可克服的缺陷,超声波测距能很好的解决此类的问题。本论文主要对单片机超声波测距系统的原理,单片机的应用等进行了分析:对超声波的发生电路和接收电路,DS18B320温度采集电路,LCD显示电路,硬件制作和软件设计;对系统进行误差分析。【关键词】:超声波测距,单片机,DS18B20温度补偿,LCD显示,软件设计,误差分析。嵌入式系统无疑是当前最热门、最具有发展前景的IT应用之一。嵌入式系统的应用可以使传统的电子系统升级成为智能化的电子产品,使其成为具有“生命”的现代化智能系统。嵌入式系统一般应用于对实时响应要求较高的设备中,单片机作为嵌入式系统的核心部件,其应用使电子系统的智能化出现了意想不到的效果,常常无需对硬件资源做任何改动,只需更新系统软件就能使系统功能升级。现代社会中嵌入式系统无处不在,早已被应用在国防、国民经济、以及人们日常生活的各个领域,主要可以归纳为以下几个方面。(1)军事装备:各种武器控制(火炮控制、弹道控制、炮弹引信等),坦克、舰船、轰炸等各种电子装备,雷达、电子对抗、军事通讯装备等。(2)家用电器:各种家电产品,如数字电视、机顶盒、数码相机、VCD,DVD.可视电话、洗衣机、电冰箱、手机、智能玩具等。(3)工业控制:各种智能仪器仪表、数控装置、可编程控制器、分布式控制系统、工业机器人、机电一体化设备、汽车电子设备等。(4)商用设备:各种收款机、POS系统、电子秤、条形码阅读器、商务终端、IC卡输入设备、自动柜员机、防盗系统等。(5)办公用品:复印机、打印机、传真机、扫描仪、手机、个人数字助理(PDA).变频空调设备、通信终端、程控变换机、网络设备等。6)医疗电子设备:各种医疗电子仪器,如 光机、超声诊断仪、心脏起搏器、监护仪器等,以及辅助诊断系统、专家系统等。单片机应用系统的设计包括单片机基本扩展、外围电路设计和程序设计、单片机应用系统开发环境、系统可靠性设计、电磁兼容性设计等内容。通常开发一个单片机系统的步骤如下:
上传时间: 2022-06-18
上传用户:
文件较大,存在网盘中,下载文件获取分享链接及提取码。本书从实际工程应用入手,以实验过程和实验现象为主导,由浅入深、循序渐进地讲述使用C语言为51单片机编程的方法、51单片机的硬件结构和各种功能应用。本书不同于传统的讲述单片机的书籍,本书中的所有例程均以实际硬件实验板实验现象为根据,由C语言程序来分析单片机工作原理,使读者知其然,又能知其所以然,从而帮助读者从实际应用中彻底理解和掌握单片机。另外,本书中大部分内容均来自作者科研及教学工作实践,内容涵盖作者多年来项目经验总结的精华,并且贯穿一些学习方法的建议。本书内容丰富,实用性强,许多C语言代码可以直接应用到工程项目中。本书配套附一张光盘,提供近30小时的单片机教学视频。同时,作者还开发了与本书配套的TX-IC单片机实验板,可帮助读者边学边练,达到学以致用的目的。读者在学习过程中可以将视频和书互为参考,配合学习,并用单片机实验板进行实践,这样可以更快更好地掌握单片机应用知识和技能。本书适合作为大学电子信息类和机电类各专业本、专科单片机课程教材,或高校大学生创新基地培训教材,也适合51单片机的初学者和使用51单片机从事项目开发的技术人员,还可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。本书内容组织本书内容共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。第1,2篇与本书配套光盘内容基本对应,内容组织上循序渐进、由浅入深;在知识介绍上,从原理到实践,再从实验现象进一步分析原理,对51单片机的主要功能及硬件结构做了详细介绍。第3篇在前两篇的基础上通过实验进一步扩展讲解了51单片机的其他功能应用,而且还特别将STC单片机与传统51单片机相比扩展了的功能逐一讲解。第4篇是作者教学和实际项目中精选出的具有代表性的真实项目,其知识涉及面广,内容丰富,是作者开发经验的精华总结。第5篇为拓展部分,详细讲解了使用Protell软件绘制原理图、PCB图、元件库和元件封装的过程:详细介绍了常用的ISD400X系列语音芯片:分别讲解了直流电机、步进电机和舵机的原理及驱动方法;介绍了设计电路常用的元件;详细介绍了如何设计直流稳压电源及开关电源;最后介绍运放的应用知识。
上传时间: 2022-06-24
上传用户:得之我幸78
AR0231AT7C00XUEA0-DRBR(RGB滤光)安森美半导体推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品AR0231AT,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。新器件能捕获1080p高动态范围(HDR)视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵列。它采用最新的3.0微米背照式(BSI)像素及安森美半导体的DR-Pix™技术,提供双转换增益以在所有光照条件下提升性能。它以线性、HDR或LFM模式捕获图像,并提供模式间的帧到帧情境切换。 AR0231AT提供达4重曝光的HDR,以出色的噪声性能捕获超过120dB的动态范围。AR0231AT能同步支持多个摄相机,以易于在汽车应用中实现多个传感器节点,和通过一个简单的双线串行接口实现用户可编程性。它还有多个数据接口,包括MIPI(移动产业处理器接口)、并行和HiSPi(高速串行像素接口)。其它关键特性还包括可选自动化或用户控制的黑电平控制,支持扩频时钟输入和提供多色滤波阵列选择。封装和现状:AR0231AT采用11 mm x 10 mm iBGA-121封装,现提供工程样品。工作温度范围为-40℃至105℃(环境温度),将完全通过AEC-Q100认证。
标签: 图像传感器
上传时间: 2022-06-27
上传用户:XuVshu