1、ABSTRACTThis paper design a Yuntai control system using AT89C52 MCU based on analysis of the Yuntai of the structure and its control requirements. And the same time realize communication of computer through serial communication of RS-485 bus. MCU control module, keyboard module, motor driver module
2、and remote control module comprise the control system. And complete the corresponding software design, testing and simulation.Key word: AT89C52; Yuntai control; Stepper motor; Simulation ;Serial communication目 录摘 要IABSTRACTII第1章 引言11.1 云台11.2 单片机11.3 本设计完成的任务2第2章 云台32.1 云台概述32.1.1 云台内部结构32.1.2云台的性能指
3、标32.1.3云台电机52.2 步进电机62.2.1步进电机的工作原理62.2.2 步进电机主要技术指标8第3章 总体方案103.1云台控制系统简析103.2控制系统实现10第4章 系统硬件设计124.1 AT89C52单片机简介124.1.1 AT89C52124.1.2 AT89C52各引脚功能134.1.3 AT89C52串口通信154.1.4 AT89C52中断系统164.2 单片机系统184.2.1 复位电路184.2.2 时钟电路184.2.3 电源电路194.3 ULN2003A驱动电路194.4 RS485总线设计214.4.1 RS-232/RS-485电平转换电路214.4
4、.2 RS-485终端单片机接口电路224.5 键盘23第5章 软件基础255.1 C语言简介255.2 Keil 编译器255.2.1 Keil 8051 C编译器简介255.2.2 如何使用Keil软件开发265.3 Proteus仿真软件315.4 MSComm控件375.4.1 基于VC的MSComm控件串口编程基本步骤385.4.2 MSComm控件属性385.5 Visual C+软件38第6章 系统软件设计426.1 系统流程426.2 初始化模块436.3 键盘模块446.4 延时模块446.5 串口中断模块446.6 步进电机动作模块45第7章 系统调试与运行467.1 虚拟
5、串口467.2 Keil软件程序编译467.3 Proteus仿真47第8章 结束语49致谢50参考文献51附录一 单片机程序源代码53附录二 上位机源程序58附录三 单片机云台控制系统电路原理图601第1章 引言1.1 云台安全监控是随着人们生活生产需求应运而生的一项安全技术,安防系统由前端、传输、信息处理/控制/显示/通信三大单元组成。云台系统作为前端转动控制部件,在整个系统中起到非常重要的作用。摄像机云台是一种安装在摄像机支撑物上的工作平台,用于摄像机与支撑物之间的连接,同时它具有水平和垂直运动的功能,在云台水平、垂直运动的同时,它也带动摄像机做相同的运动,这样就可以通过控制云台的运动来
6、控制摄像机的运动,它与摄像机配套使用能达到扩大监视范围的目的,提高了摄像机的使用价值。云台分为固定云台和电动云台,固定云台适用于监视范围不大的情况,在固定云台上安装好摄像机后可调整摄像机的水平和俯仰的角度,达到最好的工作姿态后只要锁定调整机构就可以了。电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。目前这两类云台广泛应用于各种场所,固定云台适用于小范围的监视;电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。在控制信号的作用下,云台上的摄像机既可自动扫描监视区域,也可在监控中心值班人员的操
7、纵下跟踪监视对象。步进电机作为云台的转动器件,它的工作可靠性直接影响了云台的质量。目前国内外的云天控制技术系统已经相当的成熟,它给人们的生产生活带来了极大的便利,为人们的生命财产安全提供了相当大的保障。云台系统已经运用到了生活的几乎每一个场所,当需要对某个地方进行实时监控时,就可以很方便的运用其代替人力,很大程度上降低了人力资源,并且还可以根据需要进行远程监控,这一点在生活中是及其有利的,它很大程度上节约了时间。目前市面上所生产的云台控制器,大都采用一体化设计,这种设计方法具有密封性能好、集成度高便于安装等优点。1.2 单片机单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集
8、成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内部和外部总线系统。单片机是将中央处理器,随机存储器,只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。单片机以其价格低廉,功耗小,工作可靠,可编程等优点,得到应用者的青睐。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很多力气才能做到的,有些则是花大力气也很难做到的。单片机通过编写的程序可以实现高智能,高效率,以及高可靠性。单片机所具有的特点:(1) 高集成度,体积小,高可靠性(2) 控制功能强(3) 低电压,低功耗,便于生产便携式产品 (4)
9、易于扩展(5) 优异的性价比目前单片机渗透到人们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。1.3 本设计完成的任务本次设计是以单片机为控制器,设计一个云台控制系统,使云台按期望的方式运行,同时还要与远程控制室计算机进行通信。本次设计完成的任务:(1) 设计单片机外围电路及步进电机驱动电路,驱动云
10、台步进电机运行。(2) 使用键盘输入控制云台步进电机。(3) PC使用RS485总线远距离控制云台步进电机。(4) 使用Keil uVision2编写软件,在Proteus软件中完成仿真。第2章 云台2.1 云台概述摄像机云台是一种安装在摄像机支撑物上的工作平台,用于摄像机与支撑物之间的连接,同时它具有水平和垂直运动的功能,在云台水平、垂直运动的同时,它也带动摄像机做相同的运动,这样就能通过控制云台的运动来控制摄像机的运动,它与摄像机配套使用能达到扩大监视范围的目的,提高了摄像机的使用价值。云台的核心器件是步进电机,所以本设计的重点就是如何灵活的控制步进电机的运转,从而达到灵活的控制摄像机的目
11、的。云台可以按照运动功能、工作电压、承载重量、安装方式、使用环境等分类。2.1.1 云台内部结构全方位云台内部有两个电机,分别负责云台的上下和左右各方向的转动。其工作电压的不同业决定了该云台的整体工作电压,一般有交流24V、交流220V、及直流24V。当接到上下动作电压时,垂直电机转动,接到左右动作电压时,水平电机转动。需要说明的是云台都有水平、垂直的限位拴,云台分别由两个微动开关实现限位功能。当转动角度达到预先设定的限位时,微动开关动作切断电源,云台停止转动。限位装置可以位于云台外部,调整过程简单,也可以位于云台内部,通过外设的调整机构进行调整,调整过程相对复杂。但外置限位装置的云台密封性不
12、如内置限位装置的云台。室外云台与室内云台大体一致,只是由于室外防护罩重量较大,使云台的载重能力必须加大。同时,室外环境的冷热变化大,易遭到雨水或潮湿的侵蚀。因此室外云台一般都没有设计成密封防雨型。另外室外云台还具有高转矩和扼流保护电路以防止云台冻结时强行启动而烧毁电机。在低温的恶劣条件下还可以在云台内部加装温控型加热器。2.1.2云台的性能指标(一) 云台的转动速度云台的转动速度衡量云台档次高低的重要指标。云台水平和垂直方向是由两个步进电机驱动的,因此云台的转动速度也分为水平转速和垂直转速。由于载重的原因,垂直电机在启动和运行保持时的扭矩大于水平方向的扭矩,在加上实际监控时对水平转速的要求要高
13、于垂直转速,因此一般来说云台的垂直转速要低于水平转速。直流型云台大都采用的是直流步进电机,具有转速高、可变速的优点,十分适合需要快速捕捉目标的场合。直流型云台都具有变速功能,提供的电压是直流0至36V之间的变化电压。变速的效果由控制系统和解码器的性能决定,以使云台电机根据输入的电压大小做相应速度的转动。(二) 云台的转动角度云台的转动角度尤其是垂直转动角度与负载(防护罩/摄像机/镜头总成)安装方式有很大关系。云台的水平转动角度一般都能达到355,因为限位拴会占用一定的角度,但是出现少许的监控死角。当前的云台都改进了限位装置使其可以达到360甚至365(有5的覆盖角度),以消除监控死角。使用时可
14、以根据现场的实际情况进行限位设置。例如安装在墙壁上的壁装式,即使云台具有365的转动角度,实际上只需要监视云台正面的180角度,即使转动到后面的180也只能看到墙壁,没有实际监控意义,因此壁装式只需要监视水平的180的范围即可,角装式只需监视270即可。这样避免云台过多地转动到无需监控的位置,也提供了云台的使用效率。顶装式云台的垂直转动角度一般为+30至-90,侧装的垂直转动角度可以达到180,不过正常使用垂直转动角度再+20至-90即可。(三) 云台的载重量云台的最大负载是指垂直方向承受的最大负载能力。摄像机的重心(包括防护罩)到云台工作面距离为50mm,该重心必须通过云台回转中心,并且与云
15、台工作面垂直,这个中心即为云台的最大负载点,云台的承载能力是以此点作为设计计算的基准。如果负载位置安装不当,重心偏离回转中心,增大了负载力矩,实际的载重量将小于最大负载量的设计值。因此云台垂直转动角度越大,重心偏离也越大,相应的承载重量就越小。云台的载重量是选用云台的关键,如果云台载重量小于实际负载重量不仅会使操作功能下降,而且云台电机、齿轮也会因为长时间超负荷而损坏。云台的实际载重量可以从3Kg到50Kg不等,同一系列的云台产品,侧装时的承载能力要大于顶撞,高速型的承载能力要小于普通型。(四) 云台使用环境指标室内使用的云台的要求不高,云台的使用环境的各项指标主要针对室外使用的云台。其中包括
16、使用环境温度限制、湿度限制、防尘防水的IP防护等级。一般室外环境使用的云台温度范围为-20至+60,如果使用在更低温度环境下,可以在云台内部加装温控型加热器。湿度指标一般为95%不凝结。防尘防水的IP等级应达到IP66以上。IP 防护等级的高低反映了设备的密封程度,主要指防尘和液体的侵入。另外在实际使用中应根据环境选择使用相适合的材料和防护层,如铁质外壳不适合使用在潮湿和具有腐蚀性的环境中。2.1.3云台电机电机是电动云台中非常重要的元器件之一,选用是否正确将直接影响电动云台的性能与价格。全方位电动云台需要两个不同方位的旋转自由度,所以都具有两个相互独立的传动机构。电动云台的传动机构主要是由蜗
17、轮、蜗杆和齿轮组合而成,根据电机转速,确定总传动比,然后依据传动装置的总体布置,将传动比合理地分配到各级传动中去。合理分配传动比是设计传动机构的一个重要环节,它将直接影响到传动装置的外形尺寸、重量、润滑条件和减速齿轮的中心距等。各级传动比分配的一般原则是:使各级传动的承载能力接近相等;使减速机构能获得最小的外形尺寸、重量;使传动零件的圆周速度降低。另外,选用微型变速箱的齿轮传动,也可以减小体积、提高效率、减小噪声。确定电动云台的最大负载,然后选用合适的电机。尽可能选用低压电机。由于全方位电动云台是由垂直和水平两部分独立的传动机构组的,而垂直方向的传动机构是主要承载机构,所以在设计时是以垂直方向
18、的传动机构作为主要承载机构来设计,而水平方向的传动机构只受水平磨擦转矩和电缆拖带等所产生的转矩影响。根据设计经验,水平方向所选用的电机功率一般为垂直方向的一半。2.2 步进电机在工业控制系统中,通常要控制机械部件的平移和转动,这些机械部件的驱动大多都采用交流电机、直流电机、和步进电机。在中三种电机中,步进电机最适合数字控制。本设计中单片机作为数字控制器件,因此在本系统中毫无疑问的选择了步进电机。如何运用步进电机无疑是单片机云台控制系统中的重点。因此需要详细的了解步进电机。2.2.1步进电机的工作原理步进电机是数字控制电机,它将电脉冲信号转变成角位移,实质上是一种数字/角度转换器。通俗一点讲:当
19、步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。步进电机的转子为多级分布,转子上嵌有多相星型连接的控制绕组,由专门电源输入脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。步进电机分三种:永磁式(PM) ,反应式(VR)和混合式(HB)。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大;混合式步进是混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1
20、.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由输入脉冲的频率决定。该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图2-1是四个开关信号控制四相反应式步进电机工作原理示意图。 开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开
21、时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 图2-1 四相步进电机步进示意图四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2-2 a、b、c所示: a.
22、 单四拍 b. 双四拍 c八拍 图2-2步进电机工作时序波形图步进电机的驱动电路依据控制信号工作,控制信号由单片机产生,完成以下三种功能: 控制换相顺序 通电换向这一过程称为脉冲分配。对于四相步进电机而言,其各相通电顺序如图2.4所示,通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D、 、 、相的通断。 控制步进电机的转向 如果按给定方向的正序换相通电,步进电机正转;如果按反序通电换相,步进电机反转。 控制步进电机的速度如果给步进电机发送一个控制脉冲,它就转一步,再发送一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转的越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。2.
23、2.2 步进电机主要技术指标选择步进电机需要根据实际需要和技术指标综合考虑。步进电机只有在满足额定的工作条件下,才可以正常工作。主要技术指标有:(1)工作电压:即步进电机工作所需要的工作电压。绕组电流:只有绕组有电流时,才能建立磁场,且不同相上电流的有无决定步进电机的步进。不同的步进电机,其额定绕组电流也不一样。功率小的有几百毫安,功率大的以安培计。步进电机工作时,应使其工作在此电流下。(2) 转动力矩:转动力矩是指在额定条件下(电压、电流),步进电机的轴上所能产生的转矩,单位通常为牛顿每厘米(N/cm)。转动力矩会随转动的升高而下降,当步进电机转动时,电机各相绕组的电感将形成一个反向电动势,
24、频率越高反向电动势越大,在它的作用下,电机随频率或速度的增大而相电流减小,从而导致力矩下降。(3)保持转矩:保持转矩是指步进电机通电但是没有转动时,定子锁住转子的力矩。通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩岁转速增大而不断衰减,输出功率也随速度增大而变化,所以保持转矩就成为了衡量步进电机的重要参数。(4)步进角:步进电机每走一步实际上就是转子转一个角度。不同的电机,每步转动的角度不一样。小的有0.5度每步、1.5度每步,大的到15度每步。在应用中可根据用户的需求选用。(5)精度:一般步进电机的进度为步进角的35%,且不积累。采用细分技术可以提高电机的运转精度。细分技术实
25、质上是一种电子阻尼技术,起主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。(6)工作频率:即步进电机每秒钟走的额定步数。由于步进电机的走步实际上是转子的机械运动,不可能很快。例如,有的工作频率为500Hz,就意味着每走一步需要2ms。目前频率高的可达10KHz。但是总的来说步进电机的速度是十分慢的。(7)空载启动频率:即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢失或堵转。在有负载的情况下,启动频率应更低。如果要是电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电
26、机转速从低速到高速)。(8)激励方式:以四相电机为例,驱动它的激励方式有1相、2相、1-2相三种。1相激励方式是指每一时刻4相中只有一相导通,步进电机以此工作方式工作时,温升较高,电源功率功耗小,但是当速度较高时容易产生失步;2相激励方式是指每一时刻4相中都有两相导通,然后按4相的顺序循环;1-2相激励方式是指驱动时一相导通和两相导通交替出现的。(9)外表温度:步进电机温度过高会使电机的磁性材料退磁,从而导致力矩下降乃至失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点。59第3章 总体方案3.1云台控制系统简析云台在任意位置,按下启动按钮,云台将依次完成向上左行向下右行四个动作
27、,逆时针方向旋转实现云台一个周期的动作。在转动的同时还可以手动控制云台。为了限制云台转动的范围,云台的向上、左转、向下和右转动作转换靠限位开关来控制。本设计主要是设计云台的转动,并能按一定的要求动作。起动时,云台从原点开始按顺序动作,停止时,云台停在现行位置上,重新起动时,云台按停止前的动作继续进行。为满足控制要求,云台转动设置手动方式和自动工作方式两种。 (1)手动工作方式。利用按钮对云台的每一步进行单独控制,例如,按“向下”按钮,云台使摄像头向下;按“向右”按钮,云台使摄像头向右。(2)连续工作方式。云台在原位时,按下“自动”按钮,云台自动连续的执行周期动作。当按下停止按钮式,云台保持当前
28、状态,重新恢复后云台按停止前的动作继续进行工作。3.2控制系统实现根据云台的结构和工作特点,其执行机构是步进电机,同时系统与上位机需要进行信息交换,本设计选用单片机系统来进行实现。由于单片机的种类很多,在选择单片机是要依据实际设计要求选择合适的单片机,在本系统设计中,选用了ATMEL公司生成的AT89C52型号单片机。云台运行有自动运行和手动运行模式,同时受上位机控制,所以该系统由单片机控制模块、键盘模块、电机驱动模块、远程控制模块等构成。控制系统具体的结构示意图如图3-1所示。此系统的硬件由AT89C52单片机、键盘、PC机、ULN2003A、步进电机组成。整体结构如图3-1所示。本系统的总
29、体设计思路:键盘或PC输入信息,单片机接收后对输入信息进行处理,然后发出控制信号送ULN2003A,ULN2003A驱动步进电机运转。单片机控制模块是本设计的核心。它的工作包括处理键盘输入、响应PC串口中断、控制电机运行等。键盘模块完成的是控制信息的输入功能。在本系统中采用了独立式键盘,而不采用矩阵键盘,这样可以简化软硬件设计,而且能够满足系统要求。电机驱动模块是本系统的执行机构,用于控制监控摄像机的运动。本系统中对云台电机的转速没有要求,所以在本系统中没有启用步进电机专用的驱动器,这样不仅可以节约成本,而且可以减少工作量。单片机产生步进电机工作所需脉冲信号,脉冲信号通过一级功率放大电路后再送
30、给步进电机,这样实现电机的控制。远程控制模块是为了能够实现在微机操作室就能控制现场单片机,以控制步进电机。它是通过RS485总线实现的,PC将信息从串口发出,通过RS485总线将信息传送到现场的单片机,单片机通过处理得到PC控制指令,发出控制信息控制步进电机运行。PCRS485外围器件AT89C52键盘ULN2003A步进电机 图3-1 系统框图第4章 系统硬件设计4.1 AT89C52单片机简介单片机是将中央处理器,随机存储器,只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,在芯片上的Flash存储器
31、附在用户的产品中,可随时编程,在线编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.76.0V,可以实现耗电最优化。89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。4.1.1 AT89C52AT89C52是一个低电压、高性能COMS 8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器(ROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL
32、公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为你提供许多复杂较系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不
33、同产品的需求。图4-1所示为DIP封装引脚图。 图4-1 AT89C52 DIP封装引脚图4.1.2 AT89C52各引脚功能AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接11.0592MHz 晶振。RST(9 脚)为复位输入端口,外接电阻电容组
34、成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。 VCC(40脚):接+5V电压。 GND(20脚):接信号地。 RST(9脚): 复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/(30脚):当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 (29脚):程序储存允许输出是外部程序存储器的读选通信号,当AT89s5
35、2 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 /VPP(31脚):外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。 XTAL1(19脚):接外部晶振的一个引脚,且为输入端。 XTAL2(18脚):接外部晶振的另一个引脚,该引脚接地。 P0口(3932脚):双向8位三态I/O口,在外接存储器时,与地址总线低8位及数据总线复用。P0可以驱动8个LS TTL负载。 P1口(18脚):具有内部上拉电阻的8位准双向I/O口,该接口输出不包含高阻
36、态,输出不能锁存。可以驱动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脚)RXD:串行口接收端 P3.1(11脚)TXD:串行口发送端 P3.2(12脚):外部中断0 P3.3(13脚):外部中断1 P3.4(14脚)T0:定时/计数器0 P3.6(16脚) :外部数据存储器写选通信号P3
37、.7(17脚) :外部数据存储器读选通信号特殊功能寄存器: (1) 单片机内含有两个16位定时/计数器T0、T1。它们各自由两个独立的8位寄存器组成,分别为TH0、TL0、TH1、TL1,。 (2) TMOD用于控制定时/计数器的工作方式及4种工作模式,其中低4位为定时器T0的方式控制字,高4位为定时器T1的方式控制字。它的字节地址为89H。其各位的定义如下:GATEC/TM1M0GATEC/TM1MO GATE是选通门,当GATE=1时,只有INT0或INT1引脚为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作。C/T是计数器/定时器方式选择位。MO和M1是操作模式选择位。 1
38、;TCON寄存器的高四位为定时/计数器T0、T1的控制寄存器和定时/计数溢出中断标志。 2;IE寄存器用于开放或屏蔽单片机各个中断。 3;SCON寄存器用于设置串口的工作方式和查询接收、发送中断产生标志。4;SBUF串行数据缓冲器用于存放串口中预发送或接收的数据,它由两个独立的寄存器构成,一个发送缓冲器,一个接收缓冲器,他们公用一个地址。当从SBUF取数据时,访问接收缓冲器,当写数据时,访问发送缓冲器。4.1.3 AT89C52串口通信单片机系统设计中,经常需要使用串口与外部进行通信,因此,串口通信部分是单片机功能模块中极为重要的一部分。串口通信时通过串口来进行的,串口不同于并口,它的数据和控
39、制信息是一位接一位串行地传送下去。与并口相比,虽然速度慢,但是传送距离较并口会更长,因此常用于需要常距离通信而对速度又要求不高的场合。异步通信以帧的形式发送字符数据,每一帧信息由起始位、数据位、奇偶校验位和停止位构成。异步通信中,每传输一个字节就要使用起始位和停止位,因此传输速度有限,常用于低速场合。同步通信使用数据块传送信息,而不是字节,省去了每个字节的起始位和停止位等数据,提高了通信的速率。同步通信的每个数据块的开始使用同步字符,使接受和发送同步。与异步通信相比,同步通信发送的数据量大、速度快,常用于传输速率要求较高的场合。AT89C52内部的串口是一个标准的全双工串口,支持四种工作方式。
40、波特率是可变的,可由软件设置。对89C52串口的访问和设置是通过访问其相关的特殊寄存器进行的,与89C52串口相关的特殊寄存器共有3个:SCON、PCON和SBUF。串口控制寄存器SCON 串口控制寄存器SCON只要用于设置串口的工作模式和串口中断的查询。其格式如下:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI SM0、SM1:用于设置串口的工作方式。SM2:串口多机通信控制位。 REN:允许串行接收控制。将其置为1时允许接收。 TB8: 用于设置串口工作方式2和方式3情况下要发送的第9位数据,有软件置位或复位。 RB8: 用于保存串口工作方式2和方式3情况下要
41、接收到的第9位数据。 TI: 串口中断发送标志。当串口数据发送完毕时置位TI,同时向CPU发送串口中断请求。 RI: 串口中断接收标志。当串口数据接收到一个数据时置位TI,同时向CPU发送串口中断请求。 特殊功能寄存器PCON 特殊功能寄存器PCON仅有最高位与串口有关,SMOD,波特率选择位,SMOD的设置可以影响波特率设置的精度。 发送/接收缓冲器SBUF串口中的发送/接收缓冲器SBUF实际上共有两个,分别为发送缓冲器和接收缓冲器,他们在物理上是完全独立的,因此可以同时进行发送和接收。两个缓冲器公用一个内存地址99H。4.1.4 AT89C52中断系统程序在执行过程中,允许外部或内部事件通
42、过硬件中断程序的执行,使其转向出来外部或内部事件的中断服务中去,完成中断服务程序后,CPU继续与原来被中断的程序,这样的过程称为中断过程。能产生中断的外部或内部事件叫中断源。 1.中断源 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益处中断。RX,TX:串行中断。 2.中断相关寄存器IE和
43、IP51单片机有两种中断优先级,其中每一个中断源的优先级都可以有程序设定。中断源的中断要求能否得到响应,受允许中断寄存器IE中各位的控制。它们的优先级由中断优先级寄存器IP的各位确定,同一优先级内的各中断源同时要求中断时,以内部的查询逻辑来确定响应次序。允许中断寄存器IE的各位定义如下: MSB LSB EA ET2 ES ET1 EX1 ET0 EX0 EA 是总中断允位。EA=0时,禁止所有中断;EA=1时,则每个中 断源被允许还是被禁止,由各自的允许位确定; ET2:是定时器2中断允许位。ET2=0,禁止定时器2中断;ES:是串行口中断允许位。ES=0,禁止串行口中断;ET1:是定时器1
44、中断允许位; EX1:是外部中断1允许位;ET0: 是定时器0中断允许位;EX0: 是外部中断0允许位。 中断优先级寄存器IP的各位定义如下:MSBLSB PT2PSPT1PX1PT0PX0 PT2: 是定时器2中断优先级设定位; PS:是串行口中断优先级设定位; PT1:是定时器1中断优先级设定位; PX1:是外部中断1优先级设定位; PT0:是定时器0中断优先级设定位; PX0:是外部中断0优先级设定位。4.2 单片机系统 本设计的所用的单片机系统其实就是单片机最小系统,所谓最小系统就是能是单片机正常工作的最少配置。本此设计的单片机系统由AT89C52单片机、复位电路、时钟电路和电源电路组
45、成,如图4-2所示。 图4-2 单片机最小系统4.2.1 复位电路 复位操作完成单片机片内电路的初始化,是单片机从一种确定的状态开始运行。当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操作。复位操作通常有2中基本形式:上电复位、开关复位。常用的上电且开关复位电路如图4-2中所示。上电后,由于电容充电,使RET持续一段高电平时间。当单片机已在运行中时,按下复位键也能使RET持续一段时间的高电平,从而实现上电且开关复位的操作。4.2.2 时钟电路单片机的时钟信号用来提供单片机内各种操作的时间基准。单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器,振荡方式所得的时钟信号比较稳定,所以在本设计中就是采用内部振荡方式。晶振选用11.0592MHz。内部振荡方式如图4-2中所示。4.2.3 电源电路电源设计部分如图4-3所示。因为单片机需要的是5V的电源,而输入的是9-12V的电源,所以需要这个稳压电路把9-12V稳压到5V,电源电路设计为采用7805线性稳压,图中电容是起到滤波的作用,一个发光二极管作电源指示灯。 图4-3 电源原理图 4.3 ULN2003A驱动电路该器件为步进电机的驱动,本设计使用两台相同的步进电机,所以其驱动电路也完全一样。驱动电路如图4-4所示。