本代码为编码开关代码,编码开关也就是数字音响中的 360度旋转的数字音量以及显示器上用的(单键飞梭开 关)等类似鼠标滚轮的手动计数输入设备。 我使用的编码开关为5个引脚的,其中2个引脚为按下 转轮开关(也就相当于鼠标中键)。另外3个引脚用来 检测旋转方向以及旋转步数的检测端。引脚分别为a,b,c b接地a,c分别接到P2.0和P2.1口并分别接两个10K上拉 电阻,并且a,c需要分别对地接一个104的电容,否则 因为编码开关的触点抖动会引起轻微误动作。本程序不 使用定时器,不占用中断,不使用延时代码,并对每个 细分步数进行判断,避免一切误动作,性能超级稳定。 我使用的编码器是APLS的EC11B可以参照附件的时序图 编码器控制流水灯最能说明问题,下面是以一段流水 灯来演示。
上传时间: 2017-07-03
上传用户:gaojiao1999
交流伺服技术是研制开发各种先进的机电一体化设备,如工业机器人、数控机床、加工中心等的关键性技术,但是要提高交流伺服系统的控制性能关键在于伺服控制器对电机动态和静态响应的控制,要获得良好的电机动、静态性能关键在于伺服控制器的控制算法。为此,本文开展了主要针对电机控制算法中的PID控制器参数整定算法研究。研究工作是基于黑龙江省科技攻关项目为支撑。 本论文在查阅大量文献资料的基础上,掌握了系统构成和基本控制原理,并分析了国内交流伺服存在的问题,设计了基于TI公司电机数字化控制芯片TMS320F2812的交流伺服控制器的控制单元;基于三菱公司智能化功率器件IPM设计了控制器的功率单元;以及电源单元和相关电路的保护单元。 基于电机矢量控制原理,构建了永磁同步电机的矢量控制模型,在原有研究的基本PID控制基础上,根据模糊控制的基本原理,研究了应用于电机控制的模糊参数自整定PID控制器设计原理,构建模糊参数自整定PID控制器的数学模型,并进行该系统的仿真研究和实际应用程序设计。 本文的重点是阐述模糊参数自整定PID控制器的设计原理和方法,利用基于模糊参数自整定PID控制器的交流伺服系统仿真模型,应用Matlab/Simulink仿真软件平台验证模型和算法的正确性,并与常规PID控制性能进行对比分析。在实际硬件平台验证了本文提出算法的可行性和正确性。 通过仿真和实际结果对比得出结论,模糊参数自整定PID控制器可以提高交流伺服系统的动态和静态性能。
上传时间: 2013-04-24
上传用户:lht618
随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为当前最热门的焦点之一;ARM以其高性能低功耗等特性成为目前应用最广泛的32位嵌入式处理器。近年来得到快速发展的机电一体化设备的人民币纸币清分机系统,是嵌入式系统的典型应用;它的主要工作流程是:人民币图像通过图像传感器采集得到的模拟信号,经过放大、A/D转换和FPGA协调之后得到数字图像,经缓存后进入到主CPU--S3C2410,通过图像识别,实现面向、面值、新旧分级、破损程度等特征的识别,最后送出结果到控制CPU对识别结果进行相应的显示和机械动作。论文主要涉及以下这些内容: 1):基于ARM的嵌入式系统和清分机系统介绍。 2):人民币清分机的硬件系统基本构架,清分机的各关键硬件的选型及主要原理;着重介绍清分机的处理核心--S3C2410。 3):图像处理基础。介绍了清分机系统中各类图像的特点,图像分析中的常用工具--灰度直方图,从而为识别算法做好准备。 4):介绍了人民币的特征识别算法原理及实现基本流程,通过MATLAB对算法进行仿真研究。 5):嵌入式linux设备驱动的开发。针对清分机设备种类繁多而又是多任务的特点,本文提出使用可裁剪而又稳定的linux操作系统来管理整个清分机系统;而实现操作系统对清分机的管理首先就要实现设备与操作系统的连接--设备驱动。
上传时间: 2013-06-01
上传用户:xoxoliguozhi
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
摘要:交流伺服技术是研发各种先进的机电一体化设备的关键技术,在此前提下,介绍了一种基于西门子S7—222PLC的永磁直流无刷电机伺服控制系统。该系统结合西门子6SC610型晶体管脉宽调制变频器与1FT5无刷伺服电机,位置环采用先进的伪微分反馈控制算法,对无刷电机进行速度和位置伺服控制,并在上位机中进行监控。试验结果表明,采用这种控制方案可以在低成本下使永磁直流无刷电机伺服系统取得良好的控制效果。关键词:伺服系统;无刷直流电机;可编程控制器;伪微分反馈控制
上传时间: 2014-01-10
上传用户:恋天使569
20世纪70年代问世。已广泛应用在:工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等方面。
标签: 单片机概述
上传时间: 2014-09-09
上传用户:奔跑的雪糕