基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx

上传人:哈尼dd 文档编号:3923901 上传时间:2019-10-10 格式:DOCX 页数:42 大小:1.33MB
返回 下载 相关 举报
基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx_第1页
第1页 / 共42页
基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx_第2页
第2页 / 共42页
基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx_第3页
第3页 / 共42页
基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx_第4页
第4页 / 共42页
基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的摄像机云台控制系统软硬件设计与实现 毕业论文.docx(42页珍藏版)》请在三一文库上搜索。

1、摘 要本论文在分析了摄像机云台结构、步进电机工作原理以及云台系统控制要求的基础上,设计了以STC89C52单片机为控制器的摄像机云台控制系统,以ULN2003为步进电机驱动芯片,利用独立按键控制云台转动,同时编写上位机程序并通过串口通信实现与PC机之间的串口通信。该控制系统由单片机控制模块、键盘模块、电机驱动模块、远程PC机控制模块组成。单片机控制模块的工作包括处理键盘输入、响应PC串口中断、控制电机运行;键盘模块采用独立式键盘控制信息的输入;电机驱动模块采用ULN2003驱动电路控制摄像机云台的运动;远程PC机控制模块实现微机远程控制单片机,进而控制步进电机。云台的运行有自动运行和手动运行模

2、式,同时受上位机控制。键盘或PC输入信息,单片机接收后对输入信息进行处理,然后发出控制信号送ULN2003A,ULN2003A驱动步进电机运转。利用独立按键可以实现云台手动控制,利用计算机远程控制云台转动,增强了云台控制系统的实用性;同时利用VC6.0编写上位机,利用Keil4编译和调试,利用Proteus进行系统仿真,使系统更加完善。关键字: 单片机;云台;键盘;步进电机;串口通信IAbstractThis thesis analyzes the structure of camera pan and tilt, stepper motor system works and PTZ cont

3、rol requirements based on the design of the controller to STC89C52 microcontroller camera pan and tilt control system to ULN2003 stepper motor driver chip for the use of separate buttons control the PTZ rotation, as well as prepare the PC program and through the serial communication with the PC seri

4、al communication between.The control system consists of single-chip control module, keyboard module, motor drive module, the remote PC control module. MCU control module include handling keyboard input, respond to PC serial port interrupt, control the motor running; Keyboard control modules using st

5、and-alone keyboard input of information; motor drive module using ULN2003 driver circuit control camera pan and tilt movement; remote PC control module microcomputer remote control microcontroller, then control the stepper motor.PTZ operation with automatic operation and manual operation mode,as wel

6、l as by PC control. Keyboard or PC input information, the microcontroller after receiving the input information processing, and then send control signals to send ULN2003A, ULN2003A drive stepper motor running. Separate buttons can be achieved using the PTZ manual control, the use of computer remote

7、control PTZ, PTZ control system enhances the practicality; while using VC6.0 prepared by the host computer, use Keil4 compile and debug the system using the Proteus simulation, so system more perfect.Keyword: STC89C52;Camera Pan;Keyboard;Stepper Motor;Serial Communication38目 录摘 要IAbstractII目 录III第一章

8、 绪论1一、 云台1二、 步进电机2(一) 步进电机的工作原理2(二) 步进电机主要技术指标3三、 单片机4(一) STC89C525(二) STC89C52各个引脚的功能6(三) STC89C52串口通信8(四) STC89C52中断系统9四、 本设计完成的任务10第二章 总体方案11一、 云台控制系统简析11二、 控制系统实现11第三章 软件基础13一、 C 语言简介13二、 Keil 编译器13(一) Keil 8051 C编译器简介13(二) 如何使用Keil软件开发14三、 Proteus 仿真软件17四、 MSComm 控件21(一) 基于VC的MSComm控件串口编程基本步骤22

9、(二) MSComm控件属性22五、 Visual C+ 软件23第四章 系统设计26一、 系统流程26二、 单片机系统27(一)复位电路28(二) 时钟电路28三、 ULN2003A驱动电路28四、 键盘模块30五、 初始化模块30六、 串口中断模块31第五章 系统仿真32一、 虚拟串口32二、 Keil 编译器32三、 Proteus 仿真软件32第六章 结论35致 谢36参考文献37附录一 单片机程序源代码38附录二 上位机源程序43附录三 单片机云台控制系统45第一章 绪论一、 云台摄像机云台是一种安装在摄像机支撑物上的工作平台,用于摄像机与支撑物之间的连接,同时它具有水平和垂直运动的

10、功能,在云台水平、垂直运动的同时,它也带动摄像机做相同的运动,这样就可以通过控制云台的运动来控制摄像机的运动,它与摄像机配套使用能达到扩大监视范围的目的,提高了摄像机的使用价值。云台分为固定云台和电动云台。目前这两类云台广泛应用于各种场所,固定云台适用于小范围的监视;电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。在控制信号的作用下,云台上的摄像机既可自动扫描监视区域,也可在监控中心值班人员的操纵下跟踪监视对象。步进电机作为云台的转动器件,它的工作可靠性直接影响了云台的质量。云台的性能指标:1、云台的转

11、动速度云台的转动速度衡量云台档次高低的重要指标。云台的水平和垂直方向是由两个步进电机驱动的,因此云台的转动速度也分为水平转速和垂直转速。由于载重的原因,垂直电机在启动和运行保持时的扭矩大于水平方向的扭矩,在加上实际监控时对水平转速的要求要高于垂直转速,因此一般来说云台的垂直转速要低于水平转速。2、云台的转动角度云台的水平转动角度一般都能达到355,因为限位拴会占用一定的角度,但是出现少许的监控死角。当前的云台都改进了限位装置使其可以达到360甚至365(有5的覆盖角度),以消除监控死角。使用时可以根据现场的实际情况进行限位设置。3、云台的载重量云台的最大负载是指垂直方向承受的最大负载能力。摄像

12、机的重心到云台工作面距离为50mm,该重心必须通过云台回转中心,并且与云台工作面垂直,这个中心即为云台的最大负载点,云台的承载能力是以此点作为设计计算的基准。如果负载位置安装不当,重心偏离回转中心,增大了负载力矩,实际的载重量将小于最大负载量的设计值。因此云台垂直转动角度越大,重心偏离也越大,相应的承载重量就越小。二、 步进电机在工业控制系统中,通常要控制机械部件的平移和转动,这些机械部件的驱动大多都采用交流电机、直流电机、和步进电机。在这三种电机中,步进电机最适合数字控制。本设计中单片机作为数字控制器件,因此在本系统中毫无疑问的选择了步进电机。如何运用步进电机无疑是单片机云台控制系统中的重点

13、。因此需要详细的了解步进电机。(一) 步进电机的工作原理通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一个矢量磁场。该磁场会带动转子旋转一定角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。图1-1是四个开关信号控制四相步进电机工作原理示意图。图1-1 四相步进电机示意图四相步进电机按照通电顺序的不同,可分为单四拍、

14、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。步进电机的驱动电路依据控制信号工作,控制信号由单片机产生,完成以下三种功能:1、控制换相顺序:通电换向这一过程称为脉冲分配。通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。2、控制步进电机的转向:如果按给定方向的正序换相通电,步进电机正转;如果按反序通电换相,步进电机反转。3、控制步进电机的速度:如果给步进电机发送一个控制脉冲,它就转一步,再发送一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就

15、转的越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。(二) 步进电机主要技术指标静态指标:1、相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。2、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。3、步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度/(转子齿数运行拍数),以常规二、四相,转子齿数为50齿的电机为例。四拍运行时步距角为=360度/(504)=1.8度(俗称整步),八拍运行时步距

16、角为=360度/(508)=0.9度(俗称半步)。4、定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。5、静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。 虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。动态指标:1、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角100%。不同运行拍数其值不同,四拍运行时应在5%之内, 八拍运行时应在1

17、5%以内。2、失步:电机运转时运转的步数,不等于理论上的步数。称之为失步。3、失调角:转齿轴线偏移定齿轴线的角度,电机运转必然存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。4、最大空载起动频率:电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。5、最大空载的运行频率:电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。6、运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。 其它特性还有惯频特性、起动频率特性等。 电机一旦选定,电机的静力矩确定,而

18、动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。要使平均电流大,尽可能提高驱动电压,采用小电感大电流的电机。7、电机的共振点:步进电机均有固定的共振区域,二、四相感应子式的共振区一般在180250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不会失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。8、电机正反转控制:当电机绕组通电时序为AB-BC-CD-DA时为正转,通电时序为DA-C

19、D-BC-AB时为反转。三、 单片机单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。单片机以其价格低廉,功耗小,工作可靠,可编程等优点,得到应用者的青睐。单片机是通过不同的程序实现不同的功能,尤其是特殊的一些功能,这是别的器件需要费很多力气才能做到的,有些则是花大力气也很难做到的。单片机所具有的特点:1、高集成度,体积小,高

20、可靠性;2、控制功能强;3、低电压,低功耗,便于生产便携式产品;4、易于扩展;5、优异的性价比。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit), 常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

21、用电器,宇航设备等各个领域。(一) STC89C52图1-2 STC89C52 DIP封装引脚图STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外

22、STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。图1-2所示为DIP封装引脚图。(二) STC89C52各个引脚的功能STC89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化

23、,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接11.0592MHz 晶振。RST(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。VCC(40脚):接+5V电压。GND(20脚):接信号地。RST(9脚): 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/(30脚):当访问外部程序存储器或数据存储器时,AL

24、E(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。(29脚):程序储存允许输出是外部程序存储器的读选通信号,当AT89s52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。/VPP(31脚):外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。XTAL1(19脚):接外部晶振的一个引脚,且为输入端。XTAL2(18脚):接外部晶振的另一个引

25、脚,该引脚接地。P0口(3932脚):双向8位三态I/O口,在外接存储器时,与地址总线低8位及数据总线复用。P0可以驱动8个LS TTL负载。 P1口(18脚):具有内部上拉电阻的8位准双向I/O口,该接口输出不包含高阻态,输出不能锁存。可以驱动4个LS TTL负载。P2口(2128脚):具有内部上拉电阻的8位准双向I/O口,在访问外部存储器时,作为高8位地址总线。可以驱动4个LS TTL负载。P3口(1017脚):具有内部上拉电阻的8位准双向I/O口,P3口的8个引脚还用于专门的功能复用双功能口。它可以驱动4个LS TTL负载。它作为第二功能使用时,其各个引脚的功能如下:P3.0(10脚)R

26、XD:串行口接收端P3.1(11脚)TXD:串行口发送端P3.2(12脚):外部中断0P3.3(13脚):外部中断1P3.4(14脚)T0:定时/计数器0P3.6(16脚) :外部数据存储器写选通信号P3.7(17脚) :外部数据存储器读选通信号特殊功能寄存器:1、单片机内含有两个16位定时/计数器T0、T1。它们各自由两个独立的8位寄存器组成,分别为TH0、TL0、TH1、TL1,。2、TMOD用于控制定时/计数器的工作方式及4种工作模式,其中低4位为定时器T0的方式控制字,高4位为定时器T1的方式控制字。它的字节地址为89H。其各位的定义如下:GATEC/TM1M0GATEC/TM1MOG

27、ATE是选通门,当GATE=1时,只有INT0或INT1引脚为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作。C/T是计数器/定时器方式选择位。MO和M1是操作模式选择位。1、TCON寄存器的高四位为定时/计数器T0、T1的控制寄存器和定时/计数溢出中断标志。2、IE寄存器用于开放或屏蔽单片机各个中断。3、SCON寄存器用于设置串口的工作方式和查询接收、发送中断产生标志。4、SBUF串行数据缓冲器用于存放串口中预发送或接收的数据,它由两个独立的寄存器构成,一个发送缓冲器,一个接收缓冲器,他们公用一个地址。当从SBUF取数据时,访问接收缓冲器,当写数据时,访问发送缓冲器。(三) S

28、TC89C52串口通信单片机系统设计中,经常需要使用串口与外部进行通信,因此,串口通信部分是单片机功能模块中极为重要的一部分。串口通信时通过串口来进行的,串口不同于并口,它的数据和控制信息是一位接一位串行的传送下去。与并口相比,虽然速度慢,但是传送距离比并口更长,因此常用于需要长距离通信而对速度又要求不高的场合。异步通信是以帧的形式发送字符数据,每一帧信息由起始位、数据位、奇偶校验位和停止位构成。异步通信中,每传输一个字节就要使用起始位和停止位,因此传输速度有限,常用于低速场合。同步通信使用数据块传送信息,而不是字节,省去了每个字节的起始位和停止位等数据,提高了通信的速率。与异步通信相比,同步

29、通信发送的数据量大、速度快,常用于传输速率要求较高的场合。STC89C52内部的串口是一个标准的全双工串口,支持四种工作方式。波特率是可变的,可由软件设置。对89c52串口的访问和设置是通过访问其相关的特殊寄存器进行的,与89C52串口相关的特殊寄存器共有3个:SCON、PCON和SBUF。串口控制寄存器SCON主要用于设置串口的工作模式和串口中断的查询。其格式如下:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0、SM1:用于设置串口的工作方式。SM2:串口多机通信控制位。REN:允许串行接收控制。将其置为1时允许接收。TB8:用于设置串口工作方式2和方式3

30、情况下要发送的第9位数据,有软件置位或复位。RB8:用于保存串口工作方式2和方式3情况下要接收到的第9位数据。TI: 串口中断发送标志。当串口数据发送完毕时置位TI,同时向CPU发送串口中断请求。RI: 串口中断接收标志。当串口数据接收到一个数据时置位TI,同时向CPU发送串口中断请求。特殊功能寄存器PCON:特殊功能寄存器PCON仅有最高位与串口有关,SMOD,波特率选择位,SMOD的设置可以影响波特率设置的精度。发送/接收缓冲器SBUF:串口中的发送/接收缓冲器SBUF实际上共有两个,分别为发送缓冲器和接收缓冲器,他们在物理上是完全独立的,因此可以同时进行发送和接收。两个缓冲器公用一个内存

31、地址99H。(四) STC89C52中断系统程序在执行过程中,允许外部或内部事件通过硬件中断程序的执行,使其转向出来外部或内部事件的中断服务中去,完成中断服务程序后,CPU继续与原来被中断的程序,这样的过程称为中断过程。能产生中断的外部或内部事件叫中断源。80C52有6个中断源,它们是:INT0:外部中断0.当IT0(TCON.0)=0时,低电平有效; IT0(TCON.0)=1时,下降沿有效。INT1:外部中断1.当IT1(TCON.2)=0时,低电平有效; IT1(TCON.2)=1时,下降沿有效。TF0:定时/计数器T0益处中断。TF1:定时/计数器T1益处中断。TF3:定时/计数器T2

32、益处中断。RX,TX:串行中断。中断相关寄存器IE和IP51单片机有两种中断优先级,其中每一个中断源的优先级都可以有程序设定。中断源的中断要求能否得到响应,受允许中断寄存器IE中各位的控制。它们的优先级由中断优先级寄存器IP的各位确定,同一优先级内的各中断源同时要求中断时,以内部的查询逻辑来确定响应次序。允许中断寄存器IE的各位定义如下: MSB LSB EAET2ESET1 EX1 ET0 EX0EA 是总中断允位。EA=0时,禁止所有中断;EA=1时,则每个中断源被允许还是被禁止,由各自的允许位确定;ET2:是定时器2中断允许位。ET2=0,禁止定时器2中断;ES:是串行口中断允许位。ES

33、=0,禁止串行口中断;ET1:是定时器1中断允许位;EX1:是外部中断1允许位;ET0: 是定时器0中断允许位;EX0: 是外部中断0允许位。中断优先级寄存器IP的各位定义如下:MSBLSB PT2PSPT1PX1PT0PX0PT2: 是定时器2中断优先级设定位;PS:是串行口中断优先级设定位;PT1:是定时器1中断优先级设定位;PX1:是外部中断1优先级设定位;PT0:是定时器0中断优先级设定位;PX0:是外部中断0优先级设定位。四、 本设计完成的任务本次设计是以单片机为控制器,设计一个云台控制系统,使云台按期望的方式运行,同时还要与远程控制室计算机进行通信。本次设计完成的任务:1、设计单片

34、机外围电路及步进电机驱动电路,驱动云台步进电机运行。2、使用键盘输入控制云台步进电机。3、PC使用串口总线远距离控制云台步进电机。4、使用Keil uVision4编写软件,在Proteus软件中完成仿真。第二章 总体方案一、 云台控制系统简析云台在任意位置,按下不同按钮,云台将分别按上下左右四个方向。为了限制云台转动的范围,云台的向上、左转、向下和右转动作转换靠限位开关来控制。本设计主要是设计云台的转动,并能按一定的要求动作。为满足控制要求,云台转动设置手动方式和自动工作方式两种。1、手动工作方式。利用按钮对云台的每一步进行单独控制,例如,按“向下”按钮,摄像机云台向下;按“向右”按钮,摄像

35、机云台向右。2、连续工作方式。云台在原位时,按下“自动”按钮,云台自动连续的执行周期动作。二、 控制系统实现根据云台的结构和工作特点,其执行机构是步进电机,同时系统与上位机需要进行信息交换,本设计选用单片机系统来进行实现。由于单片机的种类很多,在选择单片机是要依据实际设计要求选择合适的单片机,在本系统设计中,选用了STC89C52型号单片机。云台的运行有自动运行和手动运行模式,同时受上位机控制,所以该系统由单片机控制模块、键盘模块、电机驱动模块、远程控制模块等构成。控制系统具体的结构示意图如图2-1所示。此系统的硬件由STC89C52单片机、键盘、PC机、ULN2003A、步进电机组成。本系统

36、的总体设计思路:键盘或PC输入信息,单片机接收后对输入信息进行处理,然后发出控制信号送ULN2003A,ULN2003A驱动步进电机运转。单片机控制模块是本设计的核心。它的工作包括处理键盘输入、响应PC串口中断、控制电机运行等。键盘模块完成的是控制信息的输入功能。在本系统中采用了独立式键盘,而不采用矩阵键盘,这样可以简化软硬件设计,而且能够满足系统要求。电机驱动模块是本系统的执行机构,用于控制监控摄像机的运动。本系统中对云台电机的转速没有要求,所以在本系统中没有启用步进电机专用的驱动器,这样不仅可以节约成本,而且可以减少工作量。单片机产生步进电机工作所需脉冲信号,脉冲信号通过一级功率放大电路后

37、再送给步进电机,这样实现电机的控制。远程控制模块是为了能够实现在微机操作室就能控制现场单片机,以控制步进电机。它是通过RS232总线实现的,PC将信息从串口发出,通过RS232总线将信息传送到现场的单片机,单片机通过处理得到PC控制指令,发出控制信息控制步进电机运行。系统框图如图2-1所示。PC外围器件STC89C52键盘ULN2003A步进电机 串口通信图2-1 系统框图第三章 软件基础一、 C语言简介用于单片机设计开发的常用编程语言是汇编语言和C语言,在本设计中使用C语言编程。C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,能产生高效率的紧凑代码。C语言含有许多本应由汇编语

38、言实现的机器级函数,同时与汇编语言相比,它又具有如下优点:1、不需要了解单片机的指令系统,仅仅要求对存储器结构有初步的了解;2、寄存器分配、存储器寻址以及数据类型等细节可由编译器管理;3、程序有规范的结构,可分为不同的函数,使得程序结构化;4、程序更具可读性;5、高的编程及程序调试效率;6、提供的库包含许多标准子程序,具有较强的数据处理能力;7、程序易于做到模块化,便于移植。二、 Keil 编译器单片机的开发除了需要硬件的支持以外,同样离不开软件。CPU真正可执行的是机器码,用汇编语言或C语言等高级语言编写的源程序必须转换为机器码才能被执行。转换的方法有手工汇编和机器汇编两种,前者目前已经极少

39、使用。机器汇编是指通过汇编软件将源程序变为机器码的编译方法。这种汇编软件称为编译器。下面将介绍目前十分流行的Keil 8051 C编译器。(一) Keil 8051 C编译器简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生

40、成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(二) 如何使用Keil软件开发1.建立工程打开Keil软件后,出现图3-1所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。图3-1 Keil软件主界面首先选择“Project/New Project.”菜单,建立了一个空的51工程。接下来,在这个工程里面加入自己的程序代码。点击,或者“File”-“New”,便建立了一个空的文本框。现在,就可以开始在里面输入源程序代码了。保存时注意:如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm ,

41、本系统使用的是C语言,所以保存为grm.C。到目前为步,我们已经建立了一个工程,也写了一个程序代码。但现在还不能开始编译。因为还没有将程序代码添加到工程里面去。下一步,将写完的程序添加到工程里面,如下图3-2所示,在左边“Project Workspace”工程窗口里的“Source Group1”上右击,选择“Add Files to Group”Source Group1。在打开的对话框中,选择刚存的文件路径和对应的扩展名。这样,程序就添加进了这个工程。图3-2 工程中添加文件页面下一步,就开始编译刚输入进去的代码。点击工具栏中的按钮。接着,Keil会打出下面的提示:创建目标 目标 1as

42、sembling led.asm.linking.Program Size: data=8.0 xdata=0 code=100first - 0 Error(s), 0 Warning(s).其中“first - 0 Error(s), 0 Warning(s).”说明现在的工程编译通过,0个错误和0个警告。建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:单击,出现如下图3-3所示对话框,选择“Output”所指的多选框勾上,点“确定”。现在再点击重新编译,系统提示:“creating hex file from first.”。便会在工程所在文件夹里生成HEX文件。 图3-3

43、 工程设置中的“Output”页面2. 调试Keil有很强大的调试功能,可以显示C程序的反汇编代码、可以计算代码运行的时间、可以显示程序中某一变量的值能用好这个调试工具对编写单片机程序会有很大的帮助。同样的,在这里,只对Debug进行简单应用介绍。图3-4 工程设置中的“Target”页面首先,单击,弹出如上图3-4所示对话框,在目标页面上设置对应的晶振频率。其他不作修改。设置完成后,单击,进入调试界面如下图3-5所示。图3-5 调试界面点击中对应的工具按钮则可以开始调试。三、 Proteus 仿真软件Proteus软件是英国Lab Center Electronice公司开发的EDA工具软件

44、。从1989年问世至今已有20年的历史,在全球得到广泛应用。Proteus软件除具有和其他EDA工具软件一样的原理编辑、印制电路板制作外,还具有交互式的仿真功能。它不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界上最先进、最完整的多种型号微处理器系统的设计与仿真平台,真正实现了在计算机中完成电路原理图设计、电路分析与仿真、微处理器程序设计与仿真、系统测试与功能验证到形成印制电路板的完整电子设计、研发过程。Proteus软件由ISIS(Intelligent Schematic Input System)和ARES(Advanced Routing and Editing

45、Software)两个软件构成,其中ISIS是一款智能电路原理图输入系统软件,可作为电子系统仿真平台;ARES是一款高级布线编辑软件,用于制作印制电路板(PCB)。Proteus电路原理图设计是在ISIS软件环境中进行绘制,该软件编辑环境具有友好的交互式人机界面,其设计功能强大,使用方便。图3-6为本设计原理图,下面介绍用Proteus ISIS原理图的绘制方法。 图3-6 单片机系统控制电路图1.新建设计文件:首先打开ISIS 7 Professional窗口,单击菜单命令“File”下的“New Design”,弹出如图3-7所示的图纸模板选择窗口。横向图纸为Landscape,纵向 图纸

46、为Portrait,DEFAULT为默认模板。本设计中选用的“DEFAULT”,选中后再单击“OK”,则新建了一个DEFAULT模板。图3-7 图纸模板选择窗口新建一个模板后,单击保存图标进行保存。在弹出的对话框中,选择保存在C盘“程序与仿真”目录下,保存文件名为“geruiming”。该文件的扩展名为.DSN,即该文件名为geruiming.DSN。文件保存后在ISIS 7 Professional窗口的标题栏上显示为geruiming。2.设定图纸大小:执行菜单命令“System”下“Set Sheet Size”,在弹出的“Sheet Size Configura.”对话框中选择“A4”

47、选项,单击“OK”按钮,完成图纸的设置。3.添加元器件:在器件选择按钮中单击“P”按钮,或执行菜单命令“Library”下“Pick Device/Symbol”,弹出如图3-8所示的对话框。本系统中使用的原件如表3-1。图3-8 “Pick Devices”对话框表3-1 本设计中使用的原件单片机STC89C52步进电机MOTOR-STEEPER步进电机驱动ULN2003A虚拟终端串口COMPIM电解电容AUDIO 1U瓷片电容CAP30pF电阻10K 1K按钮BUTTON在此对话框中,添加原件的方法有两种。按照以下方法将元件添加到ISIS对象选择器中。(1)在关键字中输入原件的名称,如STC89C52(本版本中没有STC系列单片机,用AT系列代替

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1