《论文多功能小车论文多功能遥控小 车(定稿)》.doc_第1页
《论文多功能小车论文多功能遥控小 车(定稿)》.doc_第2页
《论文多功能小车论文多功能遥控小 车(定稿)》.doc_第3页
《论文多功能小车论文多功能遥控小 车(定稿)》.doc_第4页
《论文多功能小车论文多功能遥控小 车(定稿)》.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文多功能小车论文多功能遥控小 车(定稿) 单片机课程设计论文题目多功能遥控小车姓名学号彭伟伟xx06002251周显恩xx06002241薛培培xx06002233院系湖南科技学院电子工程系班级0602班指导教师谭永宏目录摘要-3 一、系统方案选择和论证- 41、1各模块方案选择和论证 1、2系统基本方案 二、系统硬件和软件的设计与实现- 52、1系统硬件框图 2、2系统软件流程图 2、3单元电路设计 2、4模拟仿真图及其说明 三、电路组装调试- 113、1制作硬件电路 3、2组装调试电路 3、3调试的方法及调试过程中的故障、故障原因和故障的排除方法 四、系统测试- 124、1测试仪器 4、2测试数据及相关分析 4、3系统实现的功能 五、总体设计电路的优缺点总结及改进意见和展望-12 六、心得体会-13 七、主要器件简介及相关原理说明-13 八、元件清单-19 九、参考文献-19 十、主程序及其头文件-20 十一、系统总体设计电路图-20多功能遥控小车摘要本设计基于单片机(AT89C52R)的步进遥控小车的的设计,打开密码锁可进入功能界面,选择不同功能键可进入键盘控制步进电机界面、遥控电机界面、时间显示界面、温度显示界面和密码修改界面。 若密码输入有误,则提示密码输入错误。 此设计集密码锁、步进电机控制、红外遥控、数字时钟和温度采集等多项功能于一体,是一台多功能的小车。 关键词89C 52、多功能、红外、温度、时间、步进电机Multi-function RemoteControl CarAbstract Thedesign isa controlcar withstepper motorwhich isbased onsingle-chip microputer(AT89C52R).It canenter thefunctional interfacewhile openthe locks,then choosedifferent functionkeys canaess tothe keyboardinterface ofstepper motor,electric remotecontrol interface,the timedisplay interface,temperature displayinterface andpassword modifyinterface.If the password whichinputted is wrong,then promptedthepasswordiswrong.This designhas functionsof passwordlock,stepper motorcontrol,infrared remotecontrol,digital clockand temperaturecollected.It isa multi-purpose car.Keywords:89C52R,multi-function,infrared,temperature,time,stepper motor 一、系统方案选择和论证 1、1各模块方案选择和论证主控模块的选择:方案一采用单CPU进行系统控制,系统简单,机械负载轻。 而且在单片机I/O合理复用的情况下,能满足本设计的要求,且系统相对较简单。 方案二采用主从双CPU系统,用AT89C52作为主CPU,AT89C2051作为从CPU,主CPU负责系统的控制和协调工作,从CPU负责键控电机和遥控电机,并以中断形式反馈给主CPU。 该方案的设计可以降低单个CPU的工作量,而且可为发挥部分的制作以及其他功能提供了充足的内部空间和更多的外部接口。 两方案相比而言,方案一已经完全能符合本设计的要求,方案二能降低单个单片机的使用率,但本设计单片机的使用率并没用达到极限,再从经济等综合方面考虑,采用方案一。 步进电机驱动电路的选择方案一采用uln2803或者是ulnxx作为步进电机的驱动芯片,使用双列齐插式封装的uln2803或者是ulnxx使得步进的驱动电路变得尤其的简单,且十分经济,但是这类驱动芯片的驱动能力不够强,如ulnxx最大只能提供0.5A的驱动电流。 方案二采用l298和l297的组成的电流细分电路做为步进电机的驱动电路,这样不仅可以提供足够大的驱动电流,同时可以减小步进电机的步距角,但是l298比之uln2083和ulnxx要贵的多。 两方案相比而言,方案一的电流驱动能力已经能符合本设计的要求,方案二能为步进电机提供足够大的电流,也能减小步距角,可本设计的步进电机额定电流是小于0.5A,而且对步距角的要求不高,综上考虑,采用方案一。 显示器件的选择方案一采用液晶lcd1602,能显示32个字符,同时用数据缓冲区,而且功耗很低,不需要加驱动,但是与数码管相比,它不够明亮,也不够经济。 方案二采用数码管,亮度高,经济,但是为了使LED做够亮,为了提高数据的可靠性,需要外加驱动电路和缓冲电路,这不仅使得电路复杂化,同时也提高了设计成本,还提高了硬件调试的难度。 两方案相比而言,方案一的能较好的满足本设计要求,尤其考虑到复杂的功能界面和密码锁,而方案二不但不能较好的满足密码锁和功能界面设计的要求,同时还要占用更多的单片机的I/O口,综合考虑采用方案一。 电机遥控方案的选择方案一采用无线实现遥控,这样在有障碍物的情况下,同样呢个对小车进行控制,但是硬件模块比较复杂。 方案二采用采用红外方式实现对小车的遥控,这样只要一个红外接收一体头便能实现,硬件电路十分的简单,而且软件实现也十分容易。 两方案相比而言,采用方案二。 1、2系统基本方案用单片机89C52R做为整个控制系统的控制中心,用红外接收一体头实现小车的遥,用uln1803做为步进电机的驱动,通过时钟芯片DS1302来显示当前的年月日等信息,用集成温度传感器DS18B20来检测现场温度,步进电机用uln2803作为驱动,小车的两电机可通过4X4的键盘来控制,也可以用红外来遥控,要想进入整个系统的控制界面,必须先输入正确的密码,进入控制界面可从新设定密码。 小车的转弯功能通过控制两电机的速度来实现,例如要实现小车的左转弯可是小车的与右边车轮相连的步进电机加速。 二、系统硬件和软件的设计与实现 2、1系统框图系统如上图所示,89C52R做为控制中心,其中驱动电路单独供电,以减少电机对其他控制电路的影响。 2、2系统软件流程图主程序结构框图如左图所示,通过一个主功能界面来对所有的功能进行管理,这其实是对单片机的I/O口进行了复用,大大提高了CPU的使用效率。 2、3单元电路设计MCU和键盘显示模块4x4的键盘的作用是实现密码锁的功能,在进入功能主界面后,当选择键盘控制步进电机这项功能是实现对电机的控制,当进入时间显示功能时实现校时功能,当进入密码设定功能时实现密码的重新设定,进入其他功能4x4键盘无作用;lcd1602则实现显示各种提示信息。 4x4键盘和lcd1602实现了一种简单的人机交互功能。 步进电机驱动模块电机驱动采用了电流型驱动芯片uln2803,它是一种小而美的步进电机驱动芯片,采用dip18的封装形式,最大的驱动电流能达到0.5A。 实际电路中为了进一步提高uln2803输入端的电流,在它的每个输入端均使用了一个三极管(PNP型三极管9012)驱动。 时钟模块时间显示采用了时钟芯片ds1302来实现,若能采用高精度的晶振,则精确显示年、月、日、星期和时间信息。 实际电路中为了在掉电是时间信息不丢失,采用一个CMOS电池作为备用电源。 温度检测模块温度传感器采用了单总线结构的ds18b20,它能测量-55摄氏度到125摄氏度的温度测量,且分辨率能达到12位,完全能满足室温的测量要求。 红外接收模块红外接收设备采用了红外接收一体头1838,硬件电路十分简单,且软件译码很容易实现。 红外接收头接到中断1口,用中断一实现红外接收。 通过红外遥控可以实现,电机的两电机正反转和加减速的控制,也就是能通过遥控器控制小车的行进方向和速度。 2、4模拟仿真图及其说明密码锁密码锁的键盘分布如左图所示,系统启动后界面如下图所示。 输入密码后按确认键,如果密码正确则可进入主功能界面,依次显示5个功能键的位置,如果密码输入错误,则提示密码输入错误,只有再次将系统复位才能再次输入密码。 注空白键是没有被使用的按键。 密码输入正确后,功能键的分布如上图所示,返回键的作用是在进入各功能界面后,返回此主功能界面。 功能键的提示如下3图所示,逐次进行显示。 VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8键盘控制电机VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8键控电机的键盘分布如上左图所示,只能对一个电机进行控制,它的控制界面如上右图所示。 红外遥控进入红外遥控功能界面便显示如左图所示,当有控制键按下后,便显示出此按键的二进制键码,同时显示出VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8步进电机每步间的时间间隔和电机的运行方向。 可对两电机进行遥控。 此设计利用红外遥控器键码为 00000001、 00000100、00000111分别作左轮电机的加速、减速和方向控制,红外遥控器键码为 00000011、 00000110、00001001的三个键分别作为右轮电机的加速、减速和方向控制。 其实就是遥控器的数字键 1、 4、7和 3、 6、9数字键。 时间显示时间显示界面如左图所示,还可以通过键盘进行校时。 因校时功能没有完全实现,故其键盘分布,在此不加说明。 温度显示温度显示界面如左图所示,能检测现场摄氏VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8VCCRSRWE6GNDD7D6D5D4D3D2D1D0D714D613D512D411D310D29D18D07ERW5RS4VSS1VDD2VEE3LCD1LM016L234567891RP1RESPACK-8温度,并精确到小数点后两位。 密码设定密码设定功能没用完全实现,因为考虑到单片机容量问题,此功能不能较理想的完成,如果外加ROM或使用两单片机便能很好的实现此功能。 三、电路组装调试 3、1制作硬件电路本设计使用万用板完成所有电路设计,因为此设计没涉及到十分复杂的模拟电路,因此硬件制作没遇到很大困难。 电路板共由5小模块组成,其中四个模块的自己制作。 这五个模块是主板模块,它是一个单片机的最小系统,此模块上有两个发光二极管和一个蜂鸣器(用于调试程序),还要温度检测模块;LCD显示模块,它可实现LCD1602的灰度和亮度的调节;步进电机驱动模块,它是电机和MCU的接口,为了减少电机对控制电路的影星,也为了提升驱动模块的驱动力,控制电路和驱动电路使用各自独立电源供电;时钟和遥控接收模块,这个模块主的两个主要器件是ds1302和红外接收一体头1838;4x4键盘模块,它也是一个独立的电路板,此模块无上拉电阻。 此外还有一个成品的红外遥控器,用它完成对小车的遥控任务。 3、2组装调试电路在制作各个模块时,先单独完成其中的一个模块焊接,电路焊接完成后,确认电路无误,上电进行硬件和软件的综合调试。 当所有模块单独调试成功后再进入整机的系统综合调试阶段,找出软件中存在的缺点并更正。 除键盘之外的各个模块都是用插针连接,因此只需将各个小模块插到主板上即可。 3、3调试的方法及调试过程中的故障、故障原因和故障的排除方法确认硬件无误,将程序下入到微机中和仿真效果对比或观察期逻辑控制效果。 其中主板、LCD1602显示模块的硬件制作和软件调试都十分顺利,和仿真效果完全一致,温度检测模块调试也很顺利,不过仿真和实物调试有差异,仿真时温度显示不能显示出小数点,而实物调试时可以的,这完全符合此设计思路。 驱动模块调试过程中发现给驱动芯片加上+15V的电压时,步进电机还是速度很慢,因此为了进一步加大uln2803的输入电流,在uln2803的每一个输入端加上了一个PNP的三极管9012,这样电机的速度等到了一定的提高,而且仅需要+5V的驱动电压即可。 ds1302在调试时,秒钟不动,因此怀疑是ds1302的晶振电路可能出了问题,于是将提升晶振精度的两个电容去掉,问题解决,最后重将两电容焊上,电路工作正常。 红外接收的调试不能用proteus进行仿真,因此是直接进行实物调的。 调试时先通过发光二极管观察红外接收头能否接受的遥控器的信号,次测试中因软件的延时不对,最终将11.059M的晶振换成了12M的晶振,接收头能接收到遥控器信号。 确认能接受到信号后,便将接收到的这一串数据显示的LCD上面以实现对各个遥控键控键盘各个按键的的功能分配工作,此模块调试占用了较长的时间,不过按要求完成了设计功能。 四、系统测试 4、1测试仪器双踪示波器 4、2测试及相关分析用双踪示波器观察ds1302的晶振的频率测得数据略大于32768HZ,和标称值是相符合的。 之后按仿真步骤进行测试,逻辑和仿真相符。 步进电机的速度最大是,步距的时间间隔大约是650us.对时钟进行了4个多小时的测试观察,发现四个小时后大约要比市场上的标准手表快了大约一秒。 4、3系统实现的功能此设计实现了密码锁功能,步进电机的控制功能,时钟功能,温度检测功能和红外遥控功能。 但是有些功能没能非常出色的完成,比如密码锁的密码重新设定功能和时钟的校时功能。 五、总体设计电路的优缺点总结及改进意见和展望本设计简单易实现,但在某些元件的选取不够经济。 密码锁和时钟的设计可以加入EEPROM这样不仅仅可以提高密码锁安全性,也能为单片机节约空间,以使得密码锁功能能完美的完成。 为了使时钟显示更加的突出显眼,可以选用较高亮度的LED进行时间的显示。 为了节约成本,还可以自制无线的发射接收设备,用以代替红外遥控器和红外接收一体头,不过这还要考虑到引入高频信号对控制电路是否会造成其它方面的影响。 六、心得体会从这次设计当中我们学到了很多,它教会了我在设计电路的电路图之前必须深明其原理,并在硬件电路制作过程中小心仔细,不然他将使得我们的调试工作复杂化。 其次就是我们设计各模块时利用模块化的思想是相当好的,但如果模块过多,连接线也会相应增加,因此事先必须考虑好各个模块的连接和安放。 这次设计让我们学会了如何组织一个大型的系统程序,如何对单片机的资源进行合理分配和高效利用。 这次设计还让我们学会了ds1302和ds18b20的使用,掌握了步进电机的工作原理及其它的控制,学会了红外接收一体头的编程。 最后就是通过此设计使我们对以前学过的知识进行了巩固,而且增强了我们的动手能力和创新意识,我们深刻的体会到学以致用这个词语的真正含义,因为设计做的很成功所以我们都很有成就感,相信只要不断地努力学习,大胆地发挥创新能力,再难的设计都难不倒我们。 总之,经过这次单片机设计使我们在硬件制作和软件编程方面都有了较大的提高。 七、主要器件简介及相关原理说明1.1602字符液晶.简介工业字符型液晶,能够同时显示16x02即32个字符。 (16列2行)注为了表示的方便,后文皆以1表示高电平,0表示第电平。 管脚功能1602采用标准的16脚接口,其中第1脚VSS为电源地第2脚VDD接5V电源正极第3脚V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚RW为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 第6脚E(或EN)端为使能(enable)端。 第714脚D0D7为8位双向数据端。 第1516脚空脚或背灯电源。 15脚背光正极,16脚背光负极。 操作控制操作读状态写指令读数据写数据输入RS=0,RW=1,E=1RS=0,RW=0,D07=指令码,E=H脉冲RS=1,RW=1,E=1RS=1,RW=0,D07=数据,E=H脉冲注关于E=H脉冲开始时初始化E为0,然后置E为1,2DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。 采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。 DS1302内部有一个318的用于临时性存放数据的RAM寄存器。 DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 引脚功能及结构DS1302的引脚排列,其中V1为后备电源,VCC2为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302由V1或V2两者中的较大者供电。 当V2大于V10.2V时,V2给DS1302供电。 当V2小于V1时,DS1302由V1供电。 X1和X2是振荡源,外接32.768kHz晶振。 RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。 RST输入有两种功能首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。 当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。 如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。 上电运行时,在V2.5V之前,RST必须保持低电平。 只有在SCLK为低电平时,才能将RST置为高电平。 I/O为串行数据输入输出端(双向),后面有详细说明。 SCLK为时钟输入端。 下图为DS1302的引脚功能图DS1302封装图DS1302的控制字节DS1302的控制字如图2所示。 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。 同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。 此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 为了实现系统报警计时等功能,此设计采用了DS302实时时钟芯片。 DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。 采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。 DS1302内部有一个318的用于临时性存放数据的RAM寄存器。 DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 2.1引脚功能及结构DS1302的引脚排列,其中V1为后备电源,VCC2为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302由V1或V2两者中的较大者供电。 当V2大于V10.2V时,V2给DS1302供电。 当V2小于V1时,DS1302由V1供电。 X1和X2是振荡源,外接32.768kHz晶振。 RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。 RST输入有两种功能首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。 当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。 如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。 上电运行时,在V2.5V之前,RST必须保持低电平。 只有在SCLK为低电平时,才能将RST置为高电平。 I/O为串行数据输入输出端(双向),后面有详细说明。 SCLK始终是输入端。 3.DS18B20DS18B20的数字温度计提供9至12位(可编程设备温度读数。 信息被发送到/从DS18B20通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。 为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。 这使得温度传感器放置在许多不同的地方。 它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 存储器DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。 存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。 当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。 当修改过寄存器中的数时,这个过程能确保数字的完整性。 高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。 第三和第四个字节是复制TH和TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新; 六、 七、八三个字节是计算机自身使用。 用读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。 温度的读取DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。 前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。 16位数字摆放是从低位到高位,4.ULN2803uln2803是高电压大电流八达林顿晶体管陈列,该阵列中的八NPN达林连接晶体管是低逻辑电平数字电路和大电流高电压订求的灯,继电器,打印机和其它类似负载间的接口的理想器件。 5.有关步进电机和步进电机控制的介绍步进电机(stepping motor)是一种以脉冲控制的转动设备,由于是以脉冲驱动,很适合以数字或微型计算机来控制。 步进电机与一般电机结构类似,除了托架,外壳之外,就是转子和定子,比较特殊的是其转子和定子上有许多细小的齿。 转子是永久磁铁,线圈绕在定子上。 根据线圈的匹配,步进电机可以分为2相,4相,5相等。 步进电机的驱动步进电机的运动是靠定子线圈激磁后,将邻近转子上相异磁极吸引过来实现。 因此,线圈排列的顺序,以及激磁信号的顺序就很重要。 以2相式步进电机为例,其驱动信号有1相驱动,2相驱动,1-2相驱动3种。 1相驱动的方式是任何一时间,只有一组线圈被激磁,其他线圈在休息,因此产生的力矩较小。 但方式最简单。 信号依次为1000?0100?0010?0001?1000(正转)1000?0001?0010?0100?1000(反转)2相驱动的方式是任何一时间,只有二组线圈被激磁,此产生的力矩比1相驱动较大。 信号依次为1100?0110?0011?1001?1100(正转)1100?1001?0011?0110?1100(反转)1-2相驱动的方式又称为“半步驱动”,每个驱动信号只驱动半步。 信号为1001?1000?1100?0100?0110?0010?0011?0001(正转)1001?0001?0011?0010?0110?0100?1100?1000(反转)在开始运行之前,先送出一组信号,换而言之,若是1相或2相驱动,则依次送出4个驱动信号;若是1-2相驱动,则依次送出8个驱动信号,即可正确的抓住此步进电机的位置即定位或归零。 6.红外线遥控器译码简介这里我们以红外线遥控编码芯片为uPD6121G(或者是HT622.7461等芯片)为例来说明用单片机实现红外遥控解码的详细过程,站长琢磨这个解码程序花了相当多的精力,期间几经修改逐步完善,后来还用它开发了几个小产品,希望能对网友学习单片机有所帮助。 红外线遥控是目前使用最广泛的一种通信和遥控手段。 由于红外线遥控装置具有体积孝功耗低。 功能强。 成本低等特点,因而,继彩电。 录像机之后,在录音机。 音响设备。 空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。 工业设备中,在高压。 辐射。 有毒气体。 粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1红外遥控系统通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。 发射部分包括键盘矩阵。 编码调制。 LED红外发送器;接收部分包括光。 电转换放大器。 解调。 解码电路。 2遥控发射器及其编码遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。 当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。 这种遥控码具有以下特征采用脉宽调制的串行码,以脉宽为0.565ms.间隔0.56ms.周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms.间隔1.685ms.周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。 然后再通过红外发射二极管产生红外线向空间发射,如图3所示。 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。 该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。 UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。 一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms之间,图4为发射波形图。 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。 如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 代码格式(以接收代码为准,接收代码与发射代码反向)位定义单发代码格式连发代码格式注代码宽度算法16位地址码的最短宽度1.1216=18ms16位地址码的最长宽度2.24ms16=36ms易知8位数据代码及其8位反代码的宽度和不变(1.12ms+2.24ms)8=27ms32位代码的宽度为(18ms+27ms)(36ms+27ms)1解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”。 “1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。 如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。 2根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。 如果邮购我们开发的51单片机试验板和扩展元件的网友,可以获得如上图所示的红外遥控手柄,这种遥控器的编码格式符合上面的描述规律,而且价格低廉,有32个按键,按键外形比较统一,如果用于批量开发,可以把遥控器上贴膜换成你需要的字符,这为开发产品提供了便利。 接收器及解码一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。 八、元件清单1.AT89C522.160

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论