欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    01实验一C51单片机编程环境以及宝贝车电路板Word文件下载.docx

    • 资源ID:8365396       资源大小:346.55KB        全文页数:20页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    01实验一C51单片机编程环境以及宝贝车电路板Word文件下载.docx

    1、与我们经常使用的个人计算机、笔记本电脑相比,单片机的功能是很小的,那学它干啥吗?实际生活中并不是任何需要计算机的场合都要求计算机有很高的性能,比如空调温度的控制,冰箱温度的控制等都不需要很复杂高级的计算机。应用的关键是看是否够用,是否有很好的性能价格比。单片机凭借体积小、质量轻、价格便宜等优势,已经渗透到我们生活的各个领域:导弹的导航装置、飞机上各种仪表的控制、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录象机、摄象机、全自动洗衣机、程控玩具、电子宠物等等。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批

    2、计算机应用、嵌入式系统设计与智能化控制的科学家、工程师,同时,学习使用单片机也是了解通用计算机原理与结构的最佳选择。C51系列单片机一提到单片机,你就会经常听到这样一些名词:MCS51、8051、C51等等,它们之间究竟是什么关系呢?MCS51是指由美国INTEL公司生产的一系列单片机的总称。这一系列单片机包括了好些品种,如8031,8051,8751等,其中8051是最典型的产品,该系列单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片

    3、机,当然,功能或多或少有些改变,以满足不同的需求。实验使用的P89V51RD2单片机是在80C51基础上改进而来,也可认为是增强型51单片机。P89V51RB2/RC2/RD2是一款80C51微控制器,包含16/32/64kB Flash和1024字节的数据RAM。Flash程序存储器支持并行和串行在系统编程(ISP)。并行编程方式提供了高速的分组编程(页编程)方式,可节省编程成本和上市时间。ISP允许在软件控制下对成品中的器件进行重复编程(反复擦写10000次),应用固件的产生/更新能力实现了ISP的大范围应用。P89V51RB2/RC2/RD2也可采用在应用中编程(IAP),允许随时对Fl

    4、ash程序存储器重新配置,即使是应用程序正在运行也不例外。什么是单片机的位数?现在市场上闹得沸沸扬扬的微软新推出的系统VISTA是64位操作系统;大家常用的系统,如WINDOWS XP、WINDOWS 2003等,是32位操作系统;这里你将用到的单片机AT89S52是8位的,而有些厂家生产的单片机则是16位的。那么,这些位数:64、32、16、8代表什么意义呢?简单地说,这些位数指的是CPU能一次处理的数据的最大长度。当然,这里的位是指二进制的位,而非十进制的位。AT89S52是8位的单片机,意味着它如果要处理16位数据的话就应该分两次处理。嵌入式系统嵌入式系统是指嵌入到工程对象中能够完成某些

    5、相对简单或者某些特定功能的计算机系统。与从8位机迅速向16位、32位、64位过渡的通用计算机系统相比,嵌入式系统有其功能的特殊要求和成本的特殊考虑,从而决定了嵌入式系统在高、中、低端系统三个层次共存的局面。在低端嵌入式系统中,8位单片机从20世纪70年代初期诞生至今还一直在工业生产和日常生活中广泛使用。嵌入式系统嵌入到对象系统中,并在对象环境下运行。与对象领域相关的操作主要是对外界物理参数进行采集、处理,对对象实现控制,并与操作者进行人机交互等。鉴于嵌入式低端应用对象的有限响应要求、嵌入式系统低端应用的巨大市场以及8位机具有的计算能力,可以预测在未来相当长的时间内,8位机仍然是嵌入式应用中的主

    6、流机型。早期的单片机应用程序开发通常需要仿真机、编程机等配套工具,要配置这些工具需要一笔不小的投资。本教材采用的P89V51RD2,不需要仿真机和编程机,只需运用串行数据线就可以对单片机的FLASH反复擦写10000次以上,因此使用起来特别方便简单,尤其适合初学者使用,而且配置十分灵活,可扩展性特别强。In-system Programmable(ISP,系统在线编程)In-system programmable是指用户可把已编译好的程序代码通过一条“下载线”直接写入到器件的编程(烧录)方法,已经编程的器件也可以用ISP方式擦除或再编程。ISP所用的“下载线”并非不需要成本,但相对于传统的“编

    7、程器”成本已经大大下降了。通常FLASH型芯片会具备ISP下载能力。下面的一些列实验将引导你运用P89V51RD2作为机器人的大脑制作一款教育机器人,并采用C语言对单片机进行编程,使机器人实现下述四个基本智能任务:1安装传感器以探测周边环境;2基于传感器信息做出决策;3控制机器人运动(通过操作带动轮子旋转的电机);4与用户交换信息;通过参与这些任务,你有机会接触和了解C51单片机原理与应用开发技术,以及C语言程序设计技术,对身边的形形色色的电子产品的实现原理有所了解,如果感兴趣,初步了解后可以进一步的进行深入的学习研究。为了方便单片机微控制器与电源、ISP下载电缆、串口线以及各种传感器和电机的

    8、连接,需要制作一个电路板,并将单片机插在教学板上,如图1-1所示。图1-1 C51单片机教学板(二)机器人与C51单片机图1-2所示的是实验的机器人工程对象,它采用P89V51(或AT89S52)单片机作为大脑,通过教学板安装在机器人底盘上。后面的实验将以此机器人作为典型工程对象,完成上节提到的机器人所需具备的四种基本能力,使机器人具有基本的智能。图1-2 采用C51单片机的机器人首先通过以下步骤告诉你如何安装和使用C51单片机的C语言编程开发环境,如何开发第一个简单机器人程序,并在机器人上如何运行你写的这个程序。实验的的具体任务包括: 寻找并安装开发编程软件 连接机器人到电池或者供电的电源

    9、连接单片机教学板ISP接口到计算机,以便编程 连接单片机教学板串行接口到计算机,以便调试和交互 运用C语言初次编写少量的程序,运用编译器编译生成可执行文件,然后下载到单片机上,通过串口观察机器人上的单片机教学板的执行结果 完成后断开电源任务一 获得软件在本课程的学习中,你将反复用到三款软件:Keil uVision3 IDE集成开发环境、Flash Magic下载软件、串口调试软件等。1Keil uVision3 IDE集成开发环境该软件是德国KEIL公司出品的51系列单片机C语言集成开发系统。如果你已经学习过基础机器人制作与编程,并掌握了PBASIC语言编程思想和基本技能,你将会发现,C语言

    10、在语法结构上更加灵活,功能更加强大,但同时学习和理解起来也稍困难些。你可以在KEIL公司的网站上获得该软件的安装包。2Flash Magic下载工具该软件是专门面向Philips公司(NXP)生产的单片机产品的程序烧录软件,使用该软件你可以将可执行文件下载到你的机器人单片机上。该软件的使用需要你的计算机有串口。你可以在网站上找到这个软件(我们用3.12版本或低于3.12的版本,高版本会出现问题)。3串口调试软件此软件是用来显示单片机与计算机的交互信息的。在硬件上,你的计算机至少要有串口或USB接口来与单片机教学板的串口连接(用USB需要有USB-UART的下载线)。任务二 安装软件软件的安装很

    11、简单,与你安装的其他软件过程一样。安装Keil uVision 31. 执行Keil uVision 3安装程序,选择安装Eval Version版进行安装2. 在后续出现的窗口中全部选择Next按钮,将程序默认安装在C:Program FilesKeil文件目录下3. 将头文件“Boebot.h”和“uart.h”拷贝到C:Program FilesKeilC51INC文件夹里Keil uVision IDE软件安装到你的电脑上的同时,会在你的计算机桌面建立一个快捷方式。安装Flash Magic下载软件与此类似。任务三 硬件连接C51教学板(或者说机器人大脑)需要连接电源以便运行,同时也需

    12、要连接到PC机(或笔记本电脑)以便编程和交互。以上接线完成后,你就可以用编辑器软件来对系统进行测试。下面将告诉你如何完成上述硬件连接任务。串口的连接图1-3 串口与串行数据线机器人教学板通过串口电缆(如图1-3)连接到PC机(或笔记本电脑)上以便与用户交互。如果你的计算机有串行接口,直接使用串口连接电缆。如果没有,此时需要使用USB转串口适配器,如图1-4所示。你只需将该串口线一端的串口连接到你的机器人教学板,而另一端连接到计算的USB口上。需要安装专门的驱动程序。 电源可以采用四节五号碱性电池给机器人电机和教学板供电,也可以用外接的电源适配器,产生6.5V-9V的直流电压输入到教学板的电源接

    13、口。给教学板和单片机进行通电检查教学底板上有一个三位开关(见图1-5),当开关拨到“0”位断开教学底板电源。无论你是否将电池组或者其它电源连接到教学底板上,只要三位开关位于“0”位,那么设备就处于关闭状态。现在将三位开关由“0”位拨至“1”位,打开教学板电源,如图1-6所示。检查教学底板上标有“Pwr”的绿色(或红色)LED电源指示灯是否变亮。如果没有,检查电池盒里的电池和电池盒的接头是否已经插到教学板的电源插座上。注意,在不需要驱动电机的实验中,你只需要将开关拨在“1”位置。开关“2”你将会在后续章节中用到。将开关拨至“2”后,电源不仅要结教学板供电,同时还会给机器人的执行机构伺服电机供电,

    14、同样的,此时绿色LED电源指示灯仍然会变亮。任务四 你的第一个程序你编写和测试的第一个C语言程序将告诉P89V51RD2单片机控制器,让它在执行程序时发送一条信息给PC机(或笔记本电脑)。创建与编辑你的第一个程序双击Keil uVision IDE的图标,启动Keil uVision IDE程序,你会得到图1-7所示的Keil uVision3 IDE的主界面。通过用Project菜单中的New Project命令建立项目文件,过程如下:图1-7 Keil uVision IDE的主界面1. 点击Project,会出现图1-8所示的菜单画面,然后选择“New Project”,将出现图1-9所

    15、示对话框。图1-8 Project菜单画面 图1-9 Create New Project对话框2. 按照你的习惯,在存放程序等学习文档的盘里或文件夹里,新建一个存放该工程文件的文件夹,建议一个文件夹只存放一个工程文件,这样比较有条理。然后给工程命名,最好看到名字能够知道这个工程是做什么的。如:在文件名中输入如“HelloRoBot”,保存在你想保存的位置(如D:中级机器人制作与编程程序Chapter 1),可不用加后缀名,点击“保存”,后会出现图1-10所示的窗口。3. 这里要求我们选择芯片的类型,Keil uVision3 IDE几乎支持所有的51核心单片机,并以列表的形式给出。本实验使用

    16、的是Philips(或NXP)公司的P89V51RD2,在Keil uVision3 IDE提供的数据库(Data base)列表中找到此款芯片,然后点击确定,会出现图1-11所示的窗口,询问你是否加载8051启动代码,在这里我们选择“否”,不加载。(如果你选择“是”,对你的程序没有任何影响。若你感兴趣,可选择“是”,看看编译器加载了哪些代码。)之后会出现图1-12画面,此时即得到了项目文件。图1-10 单片机型号选择窗口图1-11 是否加载8051启动代码提示窗口 图1-12 目标工程窗口项目文件创建后,这时只有一个框架,紧接着需要向项目文件中添加程序文件。Keil uVision3 支持C

    17、语言程序。可以是已经建立好的程序文件,也可以是新建的程序文件。如果是建立好了的程序文件,则直接用后面的方法添加;如果是新建立的程序文件,则先将程序文件.c存盘后再添加。图1-13 C语言源文件保存对话框点击按钮(或通过 “File-New”操作)为该项目新建一个C语言程序文件,保存后弹出图1-13所示的对话窗口,默认将文件保存在项目文件夹中。在文件类型中填写.C,或者文件名后加上后缀.C(一定要加。这里.C为文件扩展名,表示此文件类型为C语言源文件),因为你下面将采用C语言编写第一个程序。例程:HelloRoBot.c#includeint main(void)uart_Init(); /串口

    18、初始化 printf(Hello,this is a message from your Robotn); while(1);将该例程键入Keil uVision IDE的编辑器,并以文件名HelloRoBot.c保存。下一步就是添加该文件到目标工程项目了,其具体添加过程如下:1. 单击图1-12中的“+”,将出现图1-14所示的列表;2. 然后右键点击“Source Group 1”,在出现的菜单下选择“Add File To Group “Source Group 1”, 出现Add Files to Group Source Group1对话框。在该对话框中选择需要添加的程序文件,如刚才

    19、建立HelloRoBot.c,单击Add按钮,把所选文件添加到项目文件中。一次可添加多个文件。然后点击Close。3. 程序文件添加到项目文件中去后,这时上图中“Source Group 1”的前面将出现一个“+”号;单击它将出现刚才添加的源文件名,如图1-15所示(注意:图中显示的文件名是刚才输入的文件名)。图1-14 添加C语言文件到目标工程 图1-15 添加了C语言文件的目标工程双击源文件即可显示源文件的编辑界面。下面来产生下载需要的可执行文件。要产生可执行的.Hex文件,需要对目标工程“Target 1”进行编译设置。右键点击“Target 1”,选择“Option for targe

    20、t Target 1”。对于简单的应用,我们只需要做三处修改(前三个标签:Device,Target,Output):一, 建立工程文件时已经做了,就是芯片的选择,现在如果需要,可以重新选择;二, 点击“Target”,修改晶振频率,默认是40MHz,要参照教学板上的晶振频率,和其一致(11.0592)。三, 然后点击“output”,选择其中的“Create HEX File”,如图1-16所示,点击确定关闭设置窗口。然后点击Keil uVision IDE快捷工具栏中的(编译),Keil的C编译器开始根据要生成的目标文件类型对目标工程项目中的C语言源文件进行编译。编译过程中,可以观察到源文

    21、件中有没有错误产生。如果没有错误产生,然后点击(Build Target,编译+链接),或者(Rebuild all target files)。在IDE主窗口的下面出现如图1-17的提示信息,表明已成功生成了可执行文件,并存储在C语言源程序存储的目录中,文件名就是HelloRoBot.Hex。图1-16 设置目标工程的编译输出文件类型图1-17 编译过程的输出提示信息下载可执行文件到单片机点击Flash Magic下载软件图标,打开Flash MagicS下载软件窗口如图1-18所示,并将通信参数设置成图中所示的参数。请参考P89V51 系列单片机ISP 下载简明操作步骤.pdf。 如何快速

    22、地认识新的软件? 面对一款新的软件,你可能有一种无从下手的感觉:这个是干嘛的?那个又是干嘛的?其实,软件本身就提供了问题的答案。 每一款软件都提供了帮助文档(help)。单击它就弹出一系列的选项,这些选项就对该款软件做出了大致的解释,有助你快速掌握软件的使用。点击“Browse”,选择要下载的可执行HEX文件HelloRoBot.Hex,选择后点击Start开始下载。右下角有蓝色进度条提示程序烧写的进程,如果下载成功,则下面显示“Finish”。图1-18 Flash Magic软件下载窗口用串口调试软件查看单片机输出信息打开串口调试终端,选择串口“COM1”后点击“打开串口”,在“接收区”内

    23、你看到了什么?什么也没有!为什么呢?因为从你把执行文件成功下载到单片机的那个时刻开始,程序就开始运行了:单片机已经向PC机发送了信息。你错过了接收。怎么办呢?在机器人教学板上给你提供了“Reset”按钮,它可以让下载到单片机内的程序重新运行一次。按下“Reset”按钮,是不是出现如图1-19所示画面呢?图1-19 串口调试终端HelloRoBot.c是如何工作的?例程中第一行代码是HelloRoBot.c所包含的头文件。该头文件在编译过程中用来将下面程序中需要用到的标准数据类型和由C语言编译器提供的一些标准输入/输出函数、中断服务函数等包括进来,生成可执行代码。头文件中可以嵌套头文件,同时也可

    24、以直接定义一些常用的功能函数。本例程中的头文件uart.h在本教材的后续任务中都要用到,它其中就包含了本例程中以及后面例程中都要用到的uart_Init()函数的定义和实现。(三)C语言的一些基础知识下面先讲一下函数的概念。一个较大的C语言程序一般分成若干个模块,每个模块实现一定的功能,我们称之为函数。任何一个C语言程序本身就是一个函数,该函数必须以main函数作为程序的起点,通常称之为主函数。主函数可以调用任何子函数,子函数之间也可以相互调用(但是不可以调用主函数)。函数定义的一般格式为:函数返回值的类型 函数名(形式参数1,形式参数2.)第二行就是程序的入口main函数。main前面的in

    25、t是指定main的函数返回值类型为整数类型,括号中void或无内容表示没有形式参数。每个函数的主体都要用“ ”括起来(反思一下同PBASIC语言编程的区别)。 函数的具体讲解将在第三章。main函数主体中有两行语句:第一行是串口初始化函数uart_Init( ),用来规定单片机串口是如何与PC通信的。有兴趣的读者可以打开uart.h头文件,看看该函数是如何实现的,如果其中有很多内容不懂,不要紧,记住这个函数的功能就行,以后慢慢学习和理解。这行语句中“/”后的是注释。注释是一行会被编译器忽视的文字,因为注释是为了给人阅读。函数体中的第二行语句printf命令是单片机通过串口向PC机发送一条信息。

    26、printf函数printf函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示输出。该函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio.h。由于在uart.h头文件中包括了stdio.h,因此本例程无需另外包括该头文件。printf函数的一般形式为:printf(“格式控制字符串”,输出列表);格式控制字符串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串;输出表列在格式输出时才用到,它给出了各个输出项,要求与格式字符串在数量和类型上一一对应。非格式字符串在输出时原样输出,在显示中起提示作用。例程中用

    27、到的就是非格式字符串。“n”是一个向调试终端发送回车命令的控制符。也就是说,当你按下“Reset”按钮再次运行程序时,将在下一行显示“Hello,this is a message from your Robot”;如果没有“n”,则会在上一语句中的结尾,即“Robot” 后面接着显示。while(1);的作用while是C语言里的循环控制语句,它的具体语法将在第二章里介绍,这里向你讲解为何要加上这个循环。HEX文件是加载在单片机FLASH存储器上的,并且是从头开始往下加载。当你把HEX文件加载上去的时候,填满了整个FLASH空间吗?当然没有!那么,当程序执行完printf函数之后,它将还后向

    28、下执行,但后面的空间并没有存放程序代码,这时程序后会乱运行,也就发生了跑飞现象。加上while(1);语句,让程序一直停止在这里,就是为了防止程序跑飞。该你了例程:HelloRoBotYourTurn.c int i;i=7*11;printf(Whats 7 X 11?nThe answer is :%dn,i);按照上述方法建立新的项目,输入程序HelloRoBotYourTurn.c,运行,查看输出结果,是否与图1-20一样?图1-20 例程HelloRoBotYourTurn.c输出结果HelloRoBotYourTurn.c是如何工作的?在介绍main函数内容之前,先向你讲解一下C语

    29、言的一些基本知识。C语言数据类型C语言有5种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。这些数据类型的长度和范围会因处理器的类型和C语言编译程序的实现而有所不同,对于KEIL51产生的目标文件,表1-1给出了两种教材中常用的数据长度和范围。表1-1 常用数据类型的长度和范围类型长度(单位bit)范围char8-128+127即-27(27-1)int16-32768+32767即-215(215-1)float32-3.4X10-383.4X1038标识符 在C语言中,标识符是对变量、函数名和其他各种用户定义对象的命名。标识符的长度可以是一个或多个字符。绝大多数情况下,标识符的第一个字符必须是字母或下划线,随后的字符


    注意事项

    本文(01实验一C51单片机编程环境以及宝贝车电路板Word文件下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开