




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大学学士学位论文摘 要本次设计的单片机控制的智能小车,采用AT89C51单片机为小车的控制核心。运用L298芯片实现对小车前进、后退、左行、右行、以及全速和减速的控制,同时单片机会自动根据超声波传感器检测到的情况播放相对应的音乐并点亮相对应颜色的LED灯,实现了自动避障和声光报警两大功能。此外本次设计还运用液晶显示器LCD1602对小车行驶里程和实时日期、时间进行显示。在液晶显示器的第一行显示根据霍尔元件A44E获得的脉冲数而计算出的小车行驶的里程数;在液晶显示器的第二行显示从时钟芯片DS1302读取的实时日期和时间,实现了液晶显示功能。由以上各部分共同实现了设计要求的自动避障、液晶显示、声光
2、报警三大功能。关键词:AT89C51;L298 ;DS1302;液晶显示AbstractThe AT89C51 microcontmller is taken as the control core for the design of an intelligent car in the paper,with the using of L298 chip ,it can control the automatic advance,backward turn left,turn right and with the speed full or slow,also it according to t
3、he case of ultrasonic sensors detected play the corresponding music and light the color-coded leds.Besides,this design uses LCD1602 for car trip mileage and real-time date and time display.The first row of the LCD display the mileage which based on the number of pulses that the Hall element A44E got
4、.The second row of LCD display the date and time which read from the clock chip DS1302.By above all the design request partially realized automatic obstacle avoidance,liquid crystal display, sound-light alarm three major functions.Keyword:AT89C51;L298;DS1302; liquid crystal display目录1 绪论11.1 研究背景11.
5、2 选题意义12 整体方案设计32.1 整体方案的设计思路32.2 整体设计的构成图33 硬件的选择53.1 电源模块的选择53.2 电机控制模块中硬件的选择53.2.1 电机的选择53.2.2 电机控制模块的选择63.3 时间与里程显示模块中的硬件的选择83.3.1 显示器的选择83.3.2 时钟芯片的选择113.3.3 里程检测元件的选择153.4 声光报警模块中的硬件的选择163.5 障碍检测模块中硬件的选择183.6 单片机的选择与简介184 设计所用软件以及模块程序设计214.1 所用软件的简介214.1.1 Keil的简介214.1.2 Protues的简介224.2 主程序设计2
6、34.3 电机控制程序设计244.4 声光报警程序设计254.5 显示程序设计27结论29致谢30参考文献31附录A 文献及翻译33附录B 程序清单48附录C 元件清单64附录D 电路图650大学学士学位论文1 绪论1.1 研究背景当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。作为机械行业的代表产品汽
7、车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培
8、养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机械设计专业的学生,必须在自动控制方面加倍努力,提高自己的竞争力同时也提高国内产品的竞争力。为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“基于单片机控制的智能小车设计”一题作为尝试。1.2 选题意义在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,并且对所检测的情况进行显示和
9、报警,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障和智能报警是项必不可少也是最基本的功能。因此,自动避障和智能报警系统的研发就应运而生。我们的自动避障小车就是基于这一系统开发而成的。此外本设计还加入了液晶显示部分。同时本次设计可全面提高个人对单片机技术、传感器技术智能控制技术、计算机控制技术知识的综合应用能力。掌握从系统级、电路级到芯片级各层次的设计和实现手段。在此设计过程中,将会用到多门学科的理论知识,是对以前所学知识的一个全面的复习和巩固,更重要的是培养自我分析问题和解决问题的能力,还增强了实际的动手能力。2 整体方案设计2.1 整体方案设计的思路利用预先输入的程序控制单
10、片机,让单片机翻译传输指令,从而实现相应的功能。具体的过程如下:在按下开始按钮后,单片机自动运行所输入的指令程序,并将其传输给驱动电路驱动电机旋转,从而实现让小车的前进、后退、减速左转和减速右转。在电机运行的时候单片机会根据超声波传感器检测到的情况进行确定是否进行声光报警,另外单片机同时控制LCD1602显示时间与里程,在LCD初始化之后,LCD第二行显示从DS1302读取的时间,同时A44E霍尔元件会根据车路所转的圈数将相应的脉冲输入单片机,单片机经过运算而获得的里程就会显示在LCD1602第一行上。2.2 整体设计的构成图在proteus上绘出的PCD图如图1.1 图2.1 基于单片机控制
11、的智能小车设计电路图3 硬件的选择3.1 电源模块的选择 本设计的电源为车载电源。为保证电源工作可靠,单片机系统与动力伺服系统的电源采用蓄电池。而传感器和备用电源采用两节小巧轻便的干电池。3.2 电机及电机控制模块中硬件的选择与运用3.2.1 电机的选择根据设计要求本设计的电机选用直流电机。直流电动机是最早出现的电动机,它具有良好的线性调速特性,简单的控制性能,较高的效率。因此它被广泛的应用于工农业生产、交通运输、国防、航空航天、医疗卫生、商务办公等多个领域。在机电传动控制这门课中我们知道直流电动机转速表达式为 (3.1)公式中,U为电枢两端电压;为流过电枢的电流;为电枢电路的总电阻;为为直流
12、电动机的电动是常数;为励磁磁通量。由上式容易得到,直流电动机可以通过调节电枢回路的总电阻、励磁磁通量和电枢两端的电压U3种方式实现调速。其中,调节的方式属于有级调速方式,条数效率低,现在已经很少使用。调节电枢两端的电压U的方式,是现在最常用的调速方式。电枢电压调速方式共有两种方法,一种是可控整流法,另一种是脉宽调制变换器(PWM)法。可控整流法是指通过调节触发器的控制电压来移动触发器脉冲的相位,从而改变晶闸管输出的整流电压即电枢电压,实现电动机的无极调速。这种方法的控制原理简单、线性好,但是控制电路较为复杂、易产生较大热量。脉冲宽度变换器法是通过调节电动机电枢电压的接通时间与通电周期的比值来控
13、制直流电动机的转速。脉冲宽度变换器法具有调速精度高,响应速度快,可靠性高以及易于采用单片机控制的优点,因而成为了直流调速的主要方法。设计中共用到两个电机,前面放置的电机控制小车左右转,后面放置的电机控制小车前进后退。电机放置位置如图3.1图3.1 电机放置位置图3.2.2 电机控制模块的选择本设计选L298芯片来驱动电机。L298是SGS公司(意法半岛体公司)生产的H桥电动机驱动芯片。L298为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,同时可以通过调整使能端的电平来调整输入波形
14、的占空比进而调整电机的转速,非常方便,该芯片亦能满足直流减速电机的大电流要求。调试时在依照表3.1,用程序输入对应的码值,能够实现对应的动作。表3.1是其使能、输入引脚和输出引脚的逻辑关系。表 3.1 L298的引脚和输出引脚的逻辑关系ENA(B)IN1(IN3)IN2(IN4)电机运行状况HHL正传HLH反转HHH快速停止HLL快速停止LXX停止基于以上分析,我们选择了方案二,用L298N来作为电机的驱动芯片。L298N的引脚图如图 3.2所示。L298N的引脚说明如表3.2所示:图3.2 L298N引脚图 表 3.2 L298引脚说明表 引脚符号功能115SENSING ASENSING
15、B此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号23OUT 1OUT 2此两脚是全桥式驱动器A的两个输出端,用来连接负载4Vs电机驱动电源输入端57IN 1IN 2输入标准的TTL逻辑电平信号,用来控制全桥式驱动器A的开关611ENABLE AENABLE B使能控制端.输入标准TTL逻辑电平信号;低电平时全桥式驱动器禁止工作。8GND接地端,芯片本身的散热片与8脚相通9Vss逻辑控制部分的电源输人端口1012IN 3IN 4输入标准的TTL逻辑电平信号,用来控制全桥式驱动器B的开关1314OUT 3OUT 4此两脚是全桥式驱动器B的两个输出端,用来连接负载3.3 时间与里程显示模块
16、中的硬件的选择3.3.1 显示器的选择在日常生活中,我们对显示器并不陌生。通常用的显示方式有三种:发光管、LED数码管,液晶显示器。由于液晶显示质量高、重量轻、体积小、功耗低所以本设计选用的显示器为液晶显示器。其型号为LCD1602。如图3.3所示 图3.3 LCD1602引脚图LCD1602可以显示2行16个字符,有8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.3所示: 表 3.3 LCD1602引脚说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D
17、2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极引脚接口说明:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚、第4脚和第5脚的说明如表3.4所示。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。 表 3.4 RS、R/W和E功能表RSR/WE功能00下降沿写数据或者指令参数01高电平读数据10下降沿写指令码11高电平读忙
18、标志位LCD1602的读写操作时序如图3.4所示。图3.4 LCD1602读写操作时序图3.3.2 时钟芯片的选择DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318字节的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源和双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。图3.5为D
19、S1302的引脚排列,其中Vcc2为后备电源,Vcc1为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc1大于Vcc20.2V时,Vcc1给DS1302供电。当Vcc1小于Vcc2时,DS1302由Vcc2供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作
20、。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。 I/O为串行数据输入输出端(双向)。DS1302的引脚及内部结构如图3.5所示:表3.5 DS1302引脚功能表引脚号引脚名称功 能1Vcc2后备电源2.3X1.X2振荡源,外接32768Hz晶振4GND地线5TST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行数据输入端8Voc1主电源引脚号引脚名称功 能图3.5 DS1302管脚图及内部结构图DS1302的所有功能都是通过对其内部地址进行操
21、作实现的。其内部存储空间分为2部分:80H91H为功能控制单元,C0HFDH为普通存储单元;所有单元地址中最低位为0表示将对其进行写数据操作,最低位为1表示将对其进行读数据操作。普通存储单元是提供给用户的存储空间,而特殊存储单元存放DS1302的时间相关的数据,用户不能用来存放自己的数据。其内部储存空间如表3.6所示。表3.6 DS1302的日历、时钟寄存器及控制字寄存器名命令字节范围位内容读写D7D6D5D4D3D2D1D0秒81H80H0059CH秒的十位秒的个位分83H82H00590分的十位分的个位时85H84H0112或002312/240A/PHR小时的个位日87H86H01310
22、0日的十位日的个位月89H88H01120000/1月的个位星期8BH8AH010700000星期几年8DH8CH0099年的十位年的个位DS1302的操作方法:DS1302的操作可分为输入和输出两种。DS1302数据输入或输出方式可以是单字节传送也可以是多字节传送。每个传送过程可分为启动传送、发送命令、传送数据3各阶段。下面具体介绍DS1302的数据传送过程。(1) 启动传送 在DS1302写入数据或从其中读取数据时,需要RST置为高电平来启动数据传送。首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器。其次RST还提供了中止单字节或多字节数据传送命令。(2) 发送命令命令字节格式如
23、表3.7所示,每个数据传送由命令字节初始化。其中,最高有效位MSB(位7)必须为逻辑“1”,如果它是“0”,则禁止写DS1302。位6为逻辑“0”指定时钟/日历数据;为逻辑1指定的RAM数据。位15指定数据输入或者输出的特定寄存器,最低有效位LSB(位0)为逻辑“0”时,指定进行写操作(输入 );为逻辑“1”时,指定进行读操作(输出)。写命令字节总是从最低有效位LSB(位0)开始输入。命令字节是在每个SCLK的上升沿输入至DS1302的。表3.7 DS1302地址/命令字节格式位7位6位5位4位3位2位1位01A4A3A2A1A0(3) 传输数据按照数据的传输方向,可以分为数据输入和数据输出两
24、种。当数据输入时,写入数据跟随命令字节的8个SLCK周期之后,在下8个SLCK周期的上升沿输入数据字节。数据传送从低位开始。当数据输出时,输出数据也是跟随命令字节的8个SLCK周期之后,在下8个SLCK周期的下降沿输入数据字节。DS1302数据传输方式可以分为单字节传送和多字节传送两种。单字节传送时序如图3.6所示。发送完命令字节后,在下8个SLCK周期时就可以接受或者读取数据了。图 图3.6 DS1302单字节传送时序图多字节传送时序图如图3.7所示。同上面介绍的内容一样,地址命令位6选择时钟或者RAM,位0用于选择多或者写数据。在多字节读写操作中,从地址位0的位开始。图3.7 DS1302
25、多字节传送时序图DS1302是与单片机连接起来的,其连接图如图3.8所示。图 3.8 DS1302与单片机连接图3.3.3 里程检测元件的选择脉冲计数法是智能测速与智能测里程系统中常用的方法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入微处理器中进行计数,即可获得转速或里程的信息。可以有多种方式来获得脉冲信号。将光电传感器安装在转轴上,当扇叶经过时,可产生脉冲信号。但是光电传感器对灰尘、油污等比较敏感,因此不适宜安装在车轮上。光电编码器和霍尔传感器都不怕灰尘和油污,且都广泛应用于工业现场。但是光电编码器价格较昂贵,霍尔传感器价格便宜且具有许多优点,它们的结构牢固,体积小,重量轻,
26、安装方便,功耗小,功率高(可达1MHz),耐振动,不怕灰尘、油污、水汽及盐雾等的污染和腐蚀。霍尔线性器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。对于设置了一定保护措施的霍尔器件其工作温度范围可达-55150。按照霍尔器件的功能可将它们分为:霍尔线性器件和霍尔开关器件。前者为输出模拟量,后者输出数字量。本次设计运用的就是后者霍尔开关器件。按被检测的对象的性质可将它们的应用分为:直接应用和间接应用。前者是直接检测出受监测对象本身的磁场或磁性,后者是检测手机按对象人为设置的磁场,用这个磁场来作为被检测的信息的载体,通过它,将许多非电、非磁的物理量
27、,例如力、力矩、应力、位置、位移、速度、加速度、角度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。霍尔开关电路又称霍尔数字电路,由稳压器、霍尔片、差分放大器,斯密特发触发器和输出级组成。在外磁场的作用下,当磁感应强度超过导通阀值时,霍尔电路输出导通,输出低电平,之后,强度增加仍然保持通态。若外加磁场磁感应强度低于导通阀阀值时,输出截止,输出高电平。A44E接线如图3.9所示,A44E放置位置如图3.10所示:图3.9 霍尔A44接线图图3.10 A44E放置位置图3.4 声光报警模块中的硬件的选择声光报警运用扬声器与三色LED进行声光报警。当单片机接收到传感器的信号时,
28、相应的音乐进行演奏,同时相应色彩的LED发光。本设计选用三种颜色的LED灯分别是:红色、黄色、蓝色。LED 是英文 light emitting diode (发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以 LED 的抗震性能好。LED 光源的特点:1.电压:LED 使用低压电源,供电电压一般低于24V,根据产品不同而异,所以它是一个比使用高压电源更安全的电源,特别适用于公共场所。2.效能:消耗能量较同光效的白炽灯减少80%。3.适用性:很小,每个单元LED小片是 3-5mm 的正方形,所以可以制备成各种
29、形状的器件,并且适合于易变的环境。4.稳定性:10 万小时,光衰为初始的50%。5.响应时间:其白炽灯的响应时间为毫秒级, LED灯的响应时间为纳秒级。6.对环境污染:无有害金属汞7.颜色:改变电流可以变色,发光二极管方便地通过化学修饰方法,调整材料的能带结构和带隙,实现红黄 8.价格:LED的价格比较昂贵,较之于白炽灯,几只LED的价格就可以与一只白炽灯的价格相当。本设计采用东阳市横店吉利来电子厂的36mm-40mm的塑壳内磁扬声器来播放音乐。在这里我们对单片机产生音乐做一个简单的介绍:音乐作为一种物理现象,由于物体振动而产生,震动的声波作用于人耳,听觉系统将神经冲动传达给大脑,进而产生听觉
30、。人耳听到的声音频率大约为11200000Hz,而音乐中使用的音一般在274100Hz。音乐体系中各音级的的名称叫做音名。音乐体系中高音关系的最小计量单位叫做半音,两个半音构成一个全音。音乐中有几十个高低不同的音,但是最基本的只有七个音,其他高,低的音名都是在这个基础上变化出来的。在乐谱表上用来表示正在进行的音的长短的符号叫做音符。不同的音符代表不同的长度。音符有以下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、四十六分音符。此外,还有一种浮点音符,它就是指带附点的音符,所谓附点就是记在音符右边的小圆点,表示增加前面音符时值的一半。音持续的长短即时值,一般用拍数表示,休
31、止符表示暂停发音。一首音乐就是由许多不同的音符组成的,而每一个音符对应着不同的频率,这样就可以利用不同的频率组合,加以节拍数对应的延时来构成不同的音乐。3.5 障碍检测模块中硬件的选择本设计所选用超声波传感器进行障碍检测。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。而且超声波在传播时,方向性强,能量易于集中,且可传播足够远的距离。因此超声波传感器在避障的设计中被广泛应用。所选择的深圳金瓷科技有限公司生产的防水型超声波传感器,型号为:NU40A18TR-2;方向角为3565;工作温度为-40+80;检测范围为0.2-2m。共用两个超声波传
32、感器,分别放置在小车车头的左边和右边。如图3.11所示:图3.11 传感器位置图3.6 单片机的选择与简介本次设计所选用的是AT89C51单片机。AT89C51是一个低电压,高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。功能特性:AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2
33、个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。引脚描述:VCC:电源电压 GND:地P0口:P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个TTL电路。当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。P0口还能够在访问外部数据
34、存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。P1口:P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和程序校验时,P1口接收低8位地址。P2口:P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。因为内部有电阻,某个引脚被外部信号拉
35、低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。闪烁编程或校验时,P2口接收高位地址和其它控制信号。P3口:P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表3.8所示:表3.8 P3口引脚第二功能端口引脚 第二功能P3.0 FDPXD(串行输入口)P3.1 TXD(串行输出口)P
36、3.2(外中断0)P3.3 (外中断1)P3.4T0(定时/计数器0外部输入)P3.5T1(定时/计数器1外部输入)P3.6(外部数据存储写选通)P3.7(外部数据存储读选通)P3口还接收一些用于闪烁存储器编程和程序校验的控制信号。RST:复位输入。当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。ALE/ :当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引
37、脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。这个位置后只有一条MOVX和MOVC指令ALE才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的PSEN 信号不出现。EA/VPP:外部访问允许。欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。需要注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平,C
38、PU则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:震荡器反相放大器及内部时钟发生器的输入端。XTAL2:震荡器反相放大器的输出端。4 设计所用软件以及模块程序设计4.1 所用软件的简单介绍 4.1.1 Keil简介目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为(通常称为2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在
39、内的完整开发方案,由以下几部分组成:Vision IDE集成开发环境(包括工程管理器、源程序编辑器、程序调试器,见图2)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并添加源文件设置工程编译/汇编、连接,产生目标文件程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New,在源程序
40、编辑器中输入汇编语言或C语言源程序(或选择File-Open,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,出现一个对话框,要求寻找并加
41、入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for TargetTarget1(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默
42、认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。 成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly),不必执行先退出调试环境、修改源程序
43、、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints等)。在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。Keil软件Eval版(免费产品)的功能与商业版相同,只是程序的最大代码量不得超过2kB,但对初学者而言已是足够,目前大多使用者所用的多用的都是这款。Keil软件由于其强大的软件仿真功能,友好的用户界面以及易于掌握的特点而
44、受到工程技术人员的欢迎,有人甚至认为Keil是目前最好的51单片机开发应用软件。4.1.2 Proteus简介Protues软件是英国Lab center electronics公司出版的EDA(电子设计自动化)工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真。支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、
45、68000系列等。软件仿真功能如下:1)提供软件调试功能 2)提供丰富的外围接口器件及其仿真RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。3)提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。4)具有强大的原理图绘制功能。电路功能仿真特点如下:在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。PROTUES 是单片机课堂教学的先进助手。Proteus不仅可将
46、许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的
47、前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中Proteus也能获得愈来愈广泛的应用。软件缺点:器件库不全,库中一些很多重要芯片,在一定程度上会使电路仿真软件出错或乱码,此时仿真效果不及硬件仿真。4.2 主程序设计流程图图4.1 主流程图流程描述:当接通电源后,调用显示程序,显示时间里程;之后调用小车控制程序和声光报警程序进行相应的运动和声光报警。4.3 电机控制程序设计流程图图4.2 电机控制流程图流程描述:当接通电源后,超声波进行检测如果左右传感器均无信号那么小车全速前进;当并非左右均无信号时,如果左
48、右传感器均有信号那么小车减速后退;当并非左右传感器均有信号时,如果右边传感器有信号而左边传感器无信号,那么小车减速左转前进;当并非右边传感器有信号而左边传感器没有信号时,如果左边传感器有信号而右边传感器无信号,那么小车减速右转前进。当小车运动到它的传感器与所做运动不相符时进行下一次循环。4.4 声光报警程序设计流程图:图4.3 声光报警程序流程图流程描述:当接通电源后,超声波进行检测如果左右传感器均无信号那么无声光报警;当并非左右均无信号时,如果左右传感器均有信号那么小车播放挥着翅膀的女孩,同时红色LED灯亮;当并非左右传感器均有信号时,如果右边传感器有信号而左边传感器无信号,那么小车播放同一
49、首歌,同时黄色LED灯亮;当并非右边传感器有信号而左边传感器没有信号时,如果左边传感器有信号而右边传感器无信号,那么小车播放两只蝴蝶,同时蓝色LED灯亮。当的传感器信号改变时则声光报警进行下一次循环。4.5 显示程序设计显示程序主程序流程图:图4.4 显示程序流程图 流程描述:当接通电源后,液晶显示屏LCD1602进行初始化,之后延时消除抖动,然后设置第一行显示位置,在第一行显示小车所走过的路程,再然后设置第二行位置,并在第二行位置上显示日期和时间。显示程序中的DS1302程序流程图图4.5 DS1302程序流程图流程描述:当接通电源后,DS1302初始化,接着复位产生一个高电平,写DS130
50、2地址,然后向该地址写数据,地址增加,之后检查数据写完了吗,如果没完返回继续写DS1302地址,如果写完了再次复位产生一个高电平,写DS1302地址,之后将该地址数据读出,地址增加,检查数据读完了吗,如果没有读完则返回继续写DS1302地址,如果数据读完了则显示数据。结论根据本次设计要求,并通过认真的分析设计课题的需求,并学习了单片机的工作原理及其使用方法,从而独自设计智能小车的整个项目。经过很多次的查找和比对,终于选择了所要用的元器件,最终模拟出了整个小车的硬件系统,然后结合课题任务和小车硬件进行了程序的编制,并对相应的元件进行了改换,最终通过了系统软硬件的联机调试,成功实现设计任务所要求的
51、液晶显示、声光报警和智能避障三大功能。通过本次毕业设计,不仅是对我大学四年所学知识的考查,更是对我的自学能力和收集资料能力以及动手能力的考验。本次毕业设计使我对一个项目的整体设计有了初步认识,还认识了几种传感器,并能独立设计出其接口电路,再有对电路板的制作有了一定的了解,并学会了使用Proteus设计电路。本次毕业设计还使我意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。还有以前对程序只是一个很模糊的概念,通过这次的毕业设计使我对程序完全有了一个新的认识,并能使用C语言熟练的进行编程了。通过本次毕业设计,极大的锻炼了我思考和分析问题的能力,并
52、对机电一体化有了一个更深的认识。致谢值此毕业论文完成之际,谨向给予我指导的 老师表示诚挚的感谢!从论文的开题,到系统的分析、设计、编码实现,以至论文的成稿, 老师给了我诸多的帮助和悉心的指导,其严谨的作风和认真的分析态度感染了我,使我认识到,学习不仅要注重方法,更要有严谨、主动的态度,这将对我以后的工作学习产生深远的影响!再次向我的指导老师 老师致以最诚挚的谢意!另外,我还要感谢所有在我毕业设计期间给予我帮助的我的家人和 同学以及 同学。最后我要感谢 大学,我为能成为这所学校的学生感到自豪和骄傲!而我也要尽我所能将我从母校学到的知识应用于实际工作当中。衷心的感谢所有帮助我的指导老师和同学!由于
53、自己的水平有限,论文中存有诸多不足,恳请老师、同学批评指正。参考文献1 王文华.基于80 C5 1单片机的智能小车设计.山西电子技术.2010,第4期2 董涛,刘进英,蒋苏. 基于单片机的智能小车的设计与制作.计算机测量与控 制.2010第2期3 陈永真,宁武,蓝和慧.新编全国大学生电子设计竞赛试题精选.第一版.电子工 业出版社,20094 高吉祥,唐朝京.全国大学生电子设计竞赛系列教程数字系统与自动控制系统 设计第一版.电子工业出版社,20075 郑峰,王巧芝,陈绘兵.51单片机应用系统典型模块开发大全.第一版.中国铁 道出版社.2010:433-433,446-4466 上海慧烁信息科技发展有限公司.直流电动机的控制.:1-17 叶斌电力电子应用技术第一版.清华大学出版社,20068 沈建良,赵文宏,贾玉坤ATmega128单片机入门与提高面临的挑战第一版. 北京航空航天大学出版社,2009:433-4349 宋戈,黄鹤松,袁玉良51单片机应用开发范例大全第一版.人民邮电出版 社,2010:274-27510 求是科技.单片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国电动螺丝枪行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国珠光色素粒子行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国热收缩机行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国温控药品包装行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国混合现实行业市场现状供需分析及投资评估规划分析研究报告
- 职业转型培训保证金协议
- 2025至2030年中国男式高档袜市场分析及竞争策略研究报告
- 文化机构心理健康教育项目计划
- 智慧城市项目施工组织设计计划
- 2025至2030年中国油皮沙发市场分析及竞争策略研究报告
- 房建监理投标文件技术部分
- 新厂规划方案
- 门窗知识讲解课件
- 室速的护理措施
- 镇痛药物在糖尿病足疼痛治疗中的效果评估
- 北京南站流线分析报告
- 洼田饮水试验操作指引
- 咖啡品鉴大全
- 狂犬病暴露预防处置工作规范(2023年版)课件
- 执业医师X线读片教学课件
- 古文英译重点篇目@喵大翻译
评论
0/150
提交评论