您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第2讲:第一章--C51单片机编程环境与机器人智能
Slide1C51单片机与机器人大脑第一章Slide2课件使用说明本课件是《中级机器人制作与编程》的补充配套材料,使用时必须注意:1.不能用该课件代替教材,只列出程序片断2.重要的概念着重强调3.可能会增加一些教材中没有的补充材料Slide3本讲摘要★单片机与C51系列单片机★编程软件及下载软件的获取及安装★教学板与PC机的连接★你的第一个程序Slide4单片机与C51系列单片机什么是单片机?计算机一般组成部分:CPU(CentralProcessingUnit:进行运算、控制)RAM(RandomAccessMemory:数据存储)ROM(ReadOnlyMemory:程序存储)输入/输出设备(串行口、并行口等)单片机:将以上部分全部做在一块芯片上。Slide5单片机与C51系列单片机学习单片机的必要性与常用个人计算机比起来,单片机功能无疑是弱小的,有必要学习吗?现实中,经常会见到单片机的应用:(体积小、质量轻、价格便宜…)Slide6单片机与C51系列单片机AT89S52外形C51系列单片机MCS51、8051、C51、AT89S52之间的关系:MCS51是指由美国INTEL公司生产的一系列单片机的总称。8051是这一系列单片机中最典型产品。AT89C51由美国ATMEL公司以8051为内核开发生产。AT89S52:以此为基础改进Slide7单片机与C51系列单片机AT89S52的特点1.高性能、低功耗的8位单片机2.内含8k字节ISP(In-systemProgrammable)的可反复擦写1000次的FLASH只读程序存储器3.采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构单片机的位数:CPU能一次处理的数据的最大长度ISP(In-systemProgrammable,系统在线编程):用户可把已编译好的程序代码通过一条“下载线”直接写入到器件的编程(烧录)方法,已经编程的器件也可以用ISP方式擦除或再编程。Slide8机器人与C51单片机为了方便单片机微控制器与电源、下载电缆、串口线以及各种传感器和电机的连接,需要制作一个电路板,并将单片机插在教学板上,如左图所示。采用单片机AT89S52的教学底板Slide9机器人与C51单片机1.如何安装传感器以探测周边环境2.如何基于传感器信息做出决策3.如何控制机器人运动(通过操作带动轮子旋转的电机)4.如何与用户交换信息采用C51单片机的教育机器人Slide10获得并安装软件1.KeiluVision2IDE——开发环境,生成可执行文件2.SLISP——将可执行文件下载到单片机3.串口调试终端——显示单片机与PC机交互信息Slide11硬件安装1.串口线2.ISP下载线3.电源单片机教学板4.通电检查关闭状态通电状态①②③④Slide12实验过程第一步:建立项目(KeiluVision2IDE)1.新建工程2.芯片选型3.添加源程序(新建、保存、添加)4.生成执行文件第二步:将执行文件输入单片机(SLISP)1.参数选择2.选择执行文件3.下载第三步:查看单片机输出信息(串口调试终端)1.串口选择2.打开串口Slide13双击uVision图标,启动KeiluVision2IDE你的第一个程序1.新建工程一:建立项目Slide14你的第一个程序新建项目工程1.新建工程一:建立项目Slide15你的第一个程序1.选择保存路径2.工程文件名3.点击“保存”1.新建工程一:建立项目Slide16你的第一个程序芯片生产公司2.芯片选型一:建立项目Slide17你的第一个程序芯片型号2.芯片选型一:建立项目Slide18你的第一个程序2.芯片选型一:建立项目Slide19你的第一个程序3.1新建源程序一:建立项目Slide20你的第一个程序3.1新建源程序一:建立项目Slide21你的第一个程序编程区域3.1新建源程序一:建立项目Slide22你的第一个程序3.2保存源程序一:建立项目Slide23你的第一个程序3.2保存源程序一:建立项目Slide24你的第一个程序文件名,注意后缀3.2保存源程序一:建立项目Slide25你的第一个程序添加文件到工程项目3.3添加源程序一:建立项目Slide26你的第一个程序2.完成后按关闭窗口1.添加程序文件3.3添加源程序一:建立项目Slide27你的第一个程序3.3添加源程序一:建立项目Slide28你的第一个程序工程项目选项4.生成执行文件一:建立项目Slide29你的第一个程序生成十六进制文件4.生成执行文件一:建立项目Slide30你的第一个程序1.编译文件4.生成执行文件一:建立项目Slide31你的第一个程序2.连接文件4.生成执行文件一:建立项目Slide32你的第一个程序连接多个文件(若有多个文件)在目标文件夹下,生成了HelloRoBot.hex文件4.生成执行文件一:建立项目Slide33双击图标,启动ISP下载程序。你的第一个程序接口选择窗口下载速度选择窗口芯片型号选择窗口1.参数选择二:将执行文件输入单片机(SLISP)Slide34你的第一个程序2.选择执行文件二:将执行文件输入单片机(SLISP)Slide35你的第一个程序3.下载二:将执行文件输入单片机(SLISP)Slide36你的第一个程序3.下载二:将执行文件输入单片机(SLISP)Slide37你的第一个程序3.下载二:将执行文件输入单片机(SLISP)Slide38你的第一个程序双击图标,启动串口调试终端。1.串口选择三:查看单片机输出信息(串口调试终端)Slide39你的第一个程序1.串口选择三:查看单片机输出信息(串口调试终端)Slide40你的第一个程序2.打开串口三:查看单片机输出信息(串口调试终端)Slide41你的第一个程序按教学板上“Reset”键,重新启动程序。2.打开串口三:查看单片机输出信息(串口调试终端)Slide42你的第一个程序2.打开串口三:查看单片机输出信息(串口调试终端)Slide43程序HelloRoBot.c是如何工作的#includeuart.hintmain(void){uart_Init();//串口初始化printf(Hello,thisisamessagefromyourRobot\n);while(1);}#includeuart.h头文件的作用:包含程序中需要用到的标准数据类型、标准函数和自定义函数等信息。uart.h的作用:函数uart_Init()的定义和实现。Slide44程序HelloRoBot.c是如何工作的什么是函数?一个较大的C语言程序一般分成若干个模块,每个模块实现一定的功能,我们称之为函数。任何一个C语言程序本身就是一个函数,该函数必须以main函数作为程序的起点,通常称之为主函数。主函数可以调用任何子函数,子函数之间也可以相互调用(但是不可以调用主函数)。函数定义的一般格式为:函数返回值的类型函数名(形式参数1,形式参数2………..)intmain(void){……}main前面的int是指定main的函数返回值类型为整数类型,括号中void或无内容表示没有形式参数。每个函数的主体都要用{}括起来。Slide45程序HelloRoBot.c是如何工作的uart_Init();//串口初始化串口初始化函数,用来规定单片机串口是如何与PC通信的。“//”是注释。注释是一行会被编译器忽视的文字,因为注释是为了给人阅读。printf(Hello,thisisamessagefromyourRobot\n);“printf”函数C语言提供的标准输入输出函数,定义在C语言的标准函数库中。要使用它,必须包括定义标准函数库的头文件stdio.h。由于在uart.h头文件中包括了stdio.h,因此本例程无需另外包括该头文件。“\n”是一个向调试终端发送回车命令的控制符。控制符“\n”之后的文本或数值会显示在原有文本的下一行。Slide46程序HelloRoBot.c是如何工作的printf函数printf函数称为格式输出函数,字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示输出。它的一般形式为:printf(“格式控制字符串”,输出表列);格式控制字符串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串;输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。非格式字符串在输出时原样照印。printf(Hello,thisisamessagefromyourRobot\n);Hello,thisisamessagefromyourRobotSlide47程序HelloRoBot.c是如何工作的…………………………………………printf(…)while(1);的作用while是C语言里的循环控制语句(具体语法将在第二章里介绍)。FLASH存储示意}}程序代码区未知区域while(1);让程序停在此处,防止程序跑飞Slide48例程:HelloRoBotYourTurn.c该你了●更改printf为以下几句:inti;i=7*11;printf(What's7X11?\n);printf(Theansweris:%d\n,i);●重新运行程序,查看终端显示结果:Slide49例程:HelloRoBotYourTurn.cC语言5种基本数据类型字符(char)、整型(int)、单精度实型(float)、双精度实型(double)和空类型(void)标识符标识符是对变量、函数名和其他各种用户定义对象的命名。标识符的长度可以是一个或多个字符,第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线。常量与变量1.无法修改的量称为常量,如:‘a’、‘9’、342.可以改变的量称为变量,定义变量的一般形式:typevariable_list;type必须是有效的C数据类型,variable_list(变量表)可以由一个或多个由逗号分隔的多个标识符名构成,如:intx,y,z;Slide50例程:HelloRoBotYourTurn.c3大运算符:算术、关系与逻辑、位操作算术运算符:“+”、“-”、“*”和“/”表达式:由运算符、常量及变量构成inti;uart_Init();i=7*11;printf(What's7X11?\n);printf(Theansweris:%d\n,i);while(1);//定义整型变量i(数据类型、变量、标识符)//串口初始化//给变量赋值(常量、运算符、表达式)//输出“What‘s7X11?”,光标换行//防止程序跑飞//格式输出,%d表示输出十进制整数Theansweris:77Slide51本章小结1.单片机与C51系列单片机简介2.KeiluVisionIDE和ISP软件的下载和安装3.在集成开发环境中创建目标工程文件,添加和编辑C语言源程序4.C语言程序的编译和下载5.串口调试终端的使用6.C语言基本知识:基本数据类型、常量、变量、运算符、表达式;7.printf格式输出函数的使用
本文标题:第2讲:第一章--C51单片机编程环境与机器人智能
链接地址:https://www.777doc.com/doc-3987853 .html