1、因为它是基于嵌入式开发的,所以集嵌入式的优点于一身:高性能、低功耗、可维护性好。为了节约空间和降低成本,嵌入式处理器内部通常都会集成许多外设,减轻了布线工作量。视频信号即可由专用的芯片编码,也可由软件完成编码。嵌入式视频监控系统另一大优势是系统的网络化,系统可以和网络互联,通过网络将打包好的视频数据发送到请求客户端,用户可以在任何一个可以联网的地方查看监控对象的情况。总的来说,基于嵌入式的视频监控系统展现的优势是无可替代的。1.3嵌入式系统简介嵌入式系统没有明确的定义,比较被大多数人认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,功能、成本、体积、可靠性、功耗严格要求的专用计算机
2、系统。虽然我们对这个名词比较陌生,但是我们日常生活中经常与这个“最熟悉的陌生人”打交道。譬如当我们掏出手机打电话时,使用车载的GPS导航仪导航时,这些都是我们生活中经常嵌入式设备。嵌入式系统是为了特定应用而产生,有些系统对实时性、安全性等有特殊要求,传统计算机是实现不了的。嵌入式涵盖了通信、电子、网络、工业等多个领域,可以断言,嵌入式的应用前景一片光明。嵌入式系统由嵌入式操作系统、嵌入式处理器、嵌入式应用软件和嵌入式外围设备4个构成。当前嵌入式操作系统种类很多,应用最为广泛且性能优良的主流操作系统有Linux、WinCE、VxWorks这3种,大致介绍如下:(1)Linux操作系统 Linux
3、是为数不多的一款开源的操作系统。Linux最早是由芬兰的一名大学生Linus B.Torvalds为尝试在x86架构上提供自由免费的类Unix操作系统而开发的。因为它的开源性和自由,人们可以根据自己的需求随意修改,Linux背后的开发维护群体是世界上众多顶尖的程序员,Linux系统有着其他操作系统无法比拟的几大优点:源代码的开源性、良好的可移植性、强大的网络协议支持、广泛的硬件支持。(2)WinCE操作系统WinCE是由Microsoft公司推出的一款面向嵌入式的操作系统。因为体内流淌着微软的“血统”,所以WinCE的界面与传统的windows桌面系统十分类似,有着和Windows系列良好的兼
4、容性,开发人员可以轻易地移植或编写软件到WinCE上。WinCE之所以市场份额较小,是因为作为嵌入式操作系统有着许多缺陷:源代码的封闭性,使得开发人员很难实现产品更细致的定制和整体优化;占用运行内存较多;在效率、功耗方面的表现并不出色;版权许可费高。(3)VxWorks操作系统VxWorks是由美国 WindRiver 公司开发的一种嵌入式操作系统,其最突出特性:裁减性佳、可靠性高、和实时性,加上高性能的内核以及良好的开发环境,如今被广泛应用于军事、航空航天等实时性要求极高的领域。但是因为它的价格十分昂贵,通常需要花费许多金钱才能建立起开发环境,而且对每个应用一般还要收取版权费。 如果说嵌入式
5、操作系统是嵌入式系统的灵魂,那么嵌入式处理器就是灵魂的载体,嵌入式处理器通常有四类:(1)嵌入式微处理器(MPU):是一种超大规模集成电路。基本结构包含:运算器、寄存器、数据及地址总线。它具有体积小、可靠性高的特点,其主要有 PowerPC、ARM/Strong ARM 系列。(2) 嵌入式微控制器(MCU):是把CPU、存储器、定时器/计数器、I/O、串口等集成到一块硅片上的微型计算机。这种芯片的性价比是其一大优势,片内因为集成多种外设功能所以外围电路设计起来较为简单,是如今嵌入式系统工业的主流,代表产品有 MCS-51系列。(3)嵌入式片上系统(SOC):SOC可以简单地看做是单片机的升级
6、版,硬件方面的实现依赖VHDL硬件描述语言,片内集成许多外设的功能,如此就可降低成本,同时使得电路变得简单,缩短研发周期,具有体积小,功耗低等优点。主要有Samsung的smdk系列。2单片机控制直流电机2.1直流电机介绍电机是使机械能与电能相互转换的机械,直流电机把直流电能变为机械能。作为机电执行元部件,直流电机内部有一个闭合的主磁路。主磁通在主磁路中流动,同时与两个电路交联,其中一个电路是用以产生磁通的,称为激磁电路,另外一个是用来传递功率,称为功率回路或者电枢回路。现行的直流电动机都是旋转电枢式,也就是说激磁绕组及其所包围的铁芯组成的磁极为定子,带换向单元的电枢绕组和电枢铁芯结合构成直流
7、电动机的转子。直流电机有以下几方面的优点:(1)调速范围广,且易于平滑调节;(2)过载、起动、制动转矩大;(3)易于控制,可靠性高;(4)调速时的能量损耗较小。所以,在调速要求高的场所,如轧钢机、轮船推进器、电车、电气铁道牵引、高炉送抖、造纸、纺织、拖动、吊车、挖掘机械、卷扬机拖动等方面,直流电动机均得到广泛的应用。2.2直流电机的基本工作原理上图是直流电机工作原理图,当电刷A、B接在电压为U的直流电源上时,若电刷A是正电位,B是负电位,在N极范围内的导体ab中的电流是从a流向b,在S极范围内的导体cd中的电流是从c流向d。载流导体在磁场中要受到电磁力的作用,因此,ab和cd两导体都要受到电磁
8、力的作用。根据磁场方向和导体中的电流方向,利用电动机左手定则判断,ab边受力的方向是向左,而cd边则是向右。由于磁场是均匀的,导体中流过的又是相同的电流,所以,ab边和cd边所受电磁力的大小相等。这样,线圈上就受到了电磁力的作用而按逆时针方向转动了。当线圈转到磁极的中性面上时,线圈中的电流等于零,电磁力等于零,但是由于惯性的作用,线圈继续转动。线圈转过半周之后,虽然ab与cd的位置调换了,ab边转到S极范围内,cd边转到N极范围内,但是,由于换向片和电刷的作用,转到N极下的cd边中电流方向也变了,是从d流向c,在S极下的ab边中的电流则是从b流向a。因此,电磁力的方向仍然不变,线圈仍然受力按逆
9、时针方向转动。可见,分别处在N、S极范围内的导体中的电流方向总是不变的,因此,线圈两个边的受力方向也不变,这样,线圈就可以按照受力方向不停的旋转了,通过齿轮或皮带等机构的传动,便可以带动其它工作机械。从以上的分析可以看到,要使线圈按照一定的方向旋转,关键问题是当导体从一个磁极范围内转到另一个异性磁极范围内时(也就是导体经过中性面后),导体中电流的方向也要同时改变。换向器和电刷就是完成这个任务的装置。在直流电动机中,换向器和电刷把输入的直流电变为线圈中的交流电。可见,换向器和电刷是直流电机中不可缺少的关键性部件。当然,在实际的直流电动机中,也不只有一个线圈,而是有许多个线圈牢固地嵌在转子铁芯槽中
10、,当导体中通过电流、在磁场中因受力而转动,就带动整个转子旋转。这就是直流电动机的基本工作原理。2.3直流电机的驱动用单片机控制直流电机时,需要加驱动电路,驱动电路要为直流电机提供足够大的驱动电流,使用不同的直流电机,其驱动电流就不同,我们要根据实际需求选择合适的驱动电路,通常有以下几种驱动电路:三极管电流放大驱动电路、电机专用驱动模块(如L298)、达林顿驱动器等。2.4单片机控制直流电机硬件图和程序#include #define uchar unsigned char #define uint unsigned int /* 端口定义 */ sbit IN1=P10; /P10与电机驱动I
11、N1相连 sbit IN2=P11; /P11与电机驱动IN2相连 sbit IN3=P12; /P12与电机驱动IN3相连 sbit IN4=P13; /P13与电机驱动IN4相连 sbit K4=P32; sbit K3=P33; sbit K2=P34; sbit K1=P35;char led=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;void Delay(unsigned int time)unsigned char j=250;for(;time0;time-)jj-); /* 各个子函数定义 */ void Turn_left(void) I
12、N1=0; IN2=0; IN3=0; IN4=1;void Turn_right(void) IN1=1; IN4=0;void Go(void) IN3=1;void Back(void) IN2=1;/*主函数 */ main() char i; while(1) while(K2&K3&K4) if(K1=0) Go(); for(i=0;i=0;i-) i=7;K2& if(K3=0) Turn_left();4; P0=led2*i; i=0; K3) if(K4=0) Turn_right(); P0=led2*i+1; 3 单片机控制步进电机3.1步进电机介绍 步进电机是将电脉
13、冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机也非易事,它涉及到机械、电机、电子及计算机等许多专业知识。3.2 步进电机工作原理 步进电机是一种将电脉冲转换成相应角位移或线位移的
14、电磁机械装置。它具有快速启停能力,在电机的负荷不超过它能提供的动态转矩时,可以通过输入脉冲来控制它在一瞬间启动或停止。步进电机的步距角和转速只和输入的脉冲频率有关,和环境温度、气压、振动无关,也不受电网电压的波动和负载变化的影响。因此,步进电机多应用在需要精确定位的场合。步进电机有三线式、五线式和六线式,但其控制方式均相同。都要以脉冲信号电流来驱动。假设每旋转一圈需要200个脉冲信号来励磁,可以计算出每个励磁信号能使步进电机前进1.8,其旋转角度与脉冲的个数成正比。步进电动机的正、反转由励磁脉冲产生的顺序来控制。六线式四相步进电动机是比较常见的,它的控制等效电路如图8所示。它有4条励磁信号引线
15、A、A、B、B,通过控制这4条引线上励磁脉冲产生的时刻,即可控制步进电机的转动。每出现一个脉冲信号,步进电机只走一步。因此,只要依序不断送出脉冲信号,步进电机就能实现连续转动。3.3 步进电机的驱动 步进电机的驱动可以选用专用的电机驱动模块,比如L298、FT5754等,这类驱动模块接口简单,操作方便,它们既可以驱动步进电机,同时也可以驱动直流电机。除此之外我们还可以用三极管自己搭建驱动电路,不过这样会使电路非常3.4单片机控制步进电机硬件图和程序AT89X51.hstatic unsigned int count; /计数static int step_index; /步进索引数,值为07s
16、tatic bit turn; /步进电机转动方向static bit stop_flag; /步进电机停止标志static int speedlevel; /步进电机转速参数,数值越大速度越慢,最小值为1,速度最快static int spcount; /步进电机转速参数计数void delay(unsigned int endcount); /延时函数,延时为endcount*0.5毫秒void gorun(); /步进电机控制步进函数void main(void) count = 0; step_index = 0; spcount = 0; stop_flag = 0; P1_0 =
17、0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; /允许CPU中断 TMOD = 0x11; /设定时器0和1为16位模式1 ET0 = 1; /定时器0中断允许 TH0 = 0xFE; TL0 = 0x0C; /设定时每隔0.5ms中断一次 TR0 = 1; /开始计数 turn = 0; speedlevel = 2; delay(10000); speedlevel = 1; do stop_flag=1; stop_flag=0; while(1);/定时器0中断处理 void timeint(void) interrupt 1 TH0=0xFE; TL
18、0=0x0C; count+; spcount-; if(spcount=0) spcount = speedlevel; gorun();void delay(unsigned int endcount) count=0; dowhile(count7) step_index=0; else step_index-; if (step_index0) step_index=7;4单片机控制LCD1602显示4.1 Lcd1602介绍字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。一般1602字符型液晶显示器实物如图
19、:1602字符型液晶显示器实物图 1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:图10-54 1602LCD尺寸图1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明1VSS电源地9D2数据2VDD电源正极
20、10D33VL液晶显示偏压11D44RS数据/命令选择12D55R/W读/写选择13D66E使能信号14D77D015BLA背光源正极8D116BLK背光源负极表:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高
21、电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。4.2lcd1602硬件图和程序#includeintrins.h#define uchar unsigned char #define uint unsigned intuchar count=0;uchar second=0,minute=0,hour=0;sbit DD=P10;/*LCD1602引脚定义*/sbit RS=P20;sbit RW=P21;sbit E=P22;#define LCDData P0/*函数名称:void Delay(uint t)函数功能:延时函数参 数:返 回 值:*/void Delay(uint i)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1