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

硬件<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

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

  • 离散实验 一个包的传递 用warshall

     实验源代码 //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); } 

    标签: warshall 离散 实验

    上传时间: 2016-06-27

    上传用户:梁雪文以

  • lcd12864

    带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

    标签: 12864 lcd

    上传时间: 2016-07-21

    上传用户:cccccweq

  • 道理特分解法

    #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

  • 智能交流稳压电源控制器设计

    交流稳压电源已经广泛地应用于科学研究、经济建设、军事设施、医疗仪器以及人民生活等领域,而且用电设备对电源质量要求也日趋严格。传统的交流稳压电源采用模拟电路控制导致了诸如电路复杂、调试困难、元件易老化、输出性能低等固有缺点,已不能满足各种高精密和数字化用电设备的需求。而数字信号处理技术和高性能单片机控制器的应用,可以很好的解决传统稳压电源稳态精度低,动态性能差,监控不易等难题本文正是针对这一问题,设计开发一种高性能数字化交流稳压电源控制器。文章中使用AT89S52单片机作为主控制器,完成了系统的硬件设计。稳压电源控制器是由电压检测反馈装置、主控制器、电机驱动组成,其中单片机控制器是稳压控制系统的关键部分,负责对自耦调压器的输出电压反馈信号进行处理并输出脉冲控制信号来控制电机的运动。系统的硬件设计了电机驱动电路,电压信号的采集等电路。整个硬件系统结构紧凑,工作可靠。关键词:单片机:自耦调压器:步进电机当今世界人民的生活水平不断提高,很多大功率家用电器已经进入普通家庭,电器的广泛使用与电能供应之间的矛盾越来越突出。在用电高峰期,很多地方有电网电压严重下降的现象,而在用电低谷期,电网电压又会升得太高;在一些边远地区,电网电压长期偏低:一些负荷变化较快的地区,电网电压严重波动。这些现象都很容易对用电设备造成损害,甚至有可能带来严重的损失。另一方面,一些医疗设备的工作电压需要很高,这就要求很高的电能质量。由此可见,高稳定度的交流稳压电源具有非常广大的应用空间。最常见、最便宜、最简单的稳压设备就是手动调节的圆柱形自耦调压器,可是它的输出不能自动随着电压的变化而变化。本设计就是对自耦调压器调压经行改造基础上结合单片机的应用而设计的能跟据电网电压自动输出稳定电压的智能交流电源控制器。

    标签: 智能交流稳压电源 控制器

    上传时间: 2022-03-30

    上传用户:

  • 基于CPLD和VHDL的一种线阵CCD驱动电路的设计

    1引言随着CCD技术的飞速发展,传统的时序发生器实现方法如单片机D口驱动法,EPROM动法,直接数字驱动法等,存在着调试困难、灵活性较差、驱动时钟频率低等缺点,已不能很好地满足CCD应用向高速化,小型化,智能化发展的需要。而可编程逻辑器件CPLD具有了集成度高、速度快、可靠性好及硬件电路易于编程实现等特点,可满足这些需要,而且其与VHDL语言的结合可以更好地解决上述问题,非常适合CCD驱动电路的设计。再加上可编程逻辑器件可以通过软件编程对其硬件的结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷,本文以东芝公司TCD1702C为例,阐述了利用CPLD技术,在分析其驱动时序关系的基础上,使用VHDL语言实现了CCD驱动的原理和方法。2线阵的工作原理及驱动时序分析TCD1702C为THOSHBA公司生产的一种有效像元数为7500的双沟道二相线阵CCD,其像敏单元尺寸为7um×7um×7um长宽高。中心距亦为7um.最佳工作频率IMHzTCD1702C的原理结构如图1所示。它包括:由存储电极光敏区和电荷转移电极转移栅组成的摄像机构,两个CCD移位寄存器,输出机构和补偿机构四个部分,如图1所示,

    标签: cpld vhdl ccd 驱动电路

    上传时间: 2022-06-23

    上传用户:

  • 安森美车规级1080P图像传感器AR0231手册

    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

  • PIC单片机原理与应用 专业技能入门精通,从校园到职场

    介绍应用背景和基础理论,PIC单片机的硬件体系结构,PIC单片机的汇编语言和C语言基础,PIC单片机的指令系统,硬件开发环境和硬件调试技术,软件开发环境和软件模拟技术,PIC单片机应用实例,PIC单片机常用功能模块,PIC单片机的高级功能

    标签: pic单片机

    上传时间: 2022-07-07

    上传用户:

  • 基于ARM的全数字B型超声诊断仪的设计与研究

    超声理论与技术的快速发展,使超声设备不断更新,超声检查已成为预测和评价疾病及其治疗结果不可缺少的重要方法。超声诊断技术不仅具有安全、方便、无损、廉价等优点,其优越性还在于它选用诊断参数的多样性及其在工程上实现的灵活性。 全数字B超诊断仪基于嵌入式ARM9+FPGA硬件平台、LINUX嵌入式操作系统,是一种新型的、操作方便的、技术含量高的机型。它具有现有黑白B超的基本功能,能够对超声回波数据进行灵活的处理,从而使操作更加方便,图象质量进一步提高,并为远程医疗、图像存储、拷贝等打下基础,是一种很有发展前景、未来市场的主打产品。全数字B型超声诊断仪的基本技术特点是用数字硬件电路来实现数据量极其庞大的超声信息的实时处理,它的实现主要倚重于FPGA技术。现在FPGA已经成为多种数字信号处理(DSP)应用的强有力解决方案。硬件和软件设计者可以利用可编程逻辑开发各种DSP应用解决方案。可编程解决方案可以更好地适应快速变化的标准、协议和性能需求。 本论文首先阐述了医疗仪器发展现状和嵌入式计算机体系结构及发展状况,提出了课题研究内容和目标。然后从B超诊断原理及全数字B超诊断仪设计入手深入分析了B型超声诊断仪的系统的硬件体系机构。对系统的总体框架和ARM模块设计做了描述后,接着分析了超声信号进行数字化处理的各个子模块、可编程逻辑器件的结构特点、编程原理、设计流程以及ARM处理模块和FPGA模块的主要通讯接口。接着,本论文介绍了基于ARM9硬件平台的LINUX嵌入式操作系统的移植和设备驱动的开发,详细描述了B型超声诊断仪的软件环境的架构及其设备驱动的详细设计。最后对整个系统的功能和特点进行了总结和展望。

    标签: ARM 全数字 仪的设计 超声诊断

    上传时间: 2013-05-28

    上传用户:sssnaxie