尘封的旧机器人任务的任务怎么完成

当前位置:
主题:623051 ┆
帖子:4910114
今日新帖:1007
昨日帖数:1189 ┆
历史最高帖数:2607
(日)在线用户:4921人
初学者进.如何进入机器人的世界
给TA发消息
加TA为好友 发表于: 19:15:29 楼主
初学者进.如何进入机器人的世界大家好!我是Lamp,机器人爱好者中的一员。 我在ROBOTDIY上发表过一篇《机器人DIY》后收到很多网友来信,希望我能教大家 制作机器人,本人由于有工作在身兼又有一些开发任务,所以不能一一回信望大家 原谅!为了弥补我的错误,我决定重新写一本通俗易懂的《机器人DIY》. 好开始讲课,本人随想随写,不到之处请大家原谅! 第一课 制作机器人的基础 在论坛上经常可以看到有人说:“我是菜鸟,制作机器人需要什么基础?”。其 实我可以回答大家:“基础就是你首先要学好数理化”,怎么样很意外吧!现在 我来给大家讲讲为什么这么说。机器人制作综合性很强,它涉及机械制造、计 算机、电子技术等很多领域,每一个领域都是以我们的数理化为基础的,还有就 是要充分利用互联网的资源自我学习。 以下是我在论坛发过的一篇贴子,希望大家用心体会。 高手的秘诀 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来 再参考别人的提示,你就知道自己和别人思路的差异。 2.别小家子气,买本书几十块都舍不得,你还学个P。为了省钱看电子书,浪费的时间绝对 超过书的价值。当然如果查资料,只能看PDF。 3.学习新的开发软件时,一定要看帮助手册。买的书不够全面。刚接触一个软件,什么都不 懂,就盲目的问东问西,让人看起来很幼稚。 4.不要蜻蜓点水,得过且过,细微之处往往体现实力。 5.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。 6.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。 .别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍。 7.多实践,去焊板子、调试,去写去调,只用软件模拟,是永远成不了高手的。 8.保存好你做过的所有的源程序、PCB、原理图等----那是你最好的积累之一。 9.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会 自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就 能找到很多相 关资料,别老是等待别人给你希望,看的出你平时一定也很懒! 10 到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就 有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回 的。 11,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你 总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的才有讨论的说 法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。 什么样的人是浮躁的人? 浮躁的人容易问:我到底该学什么; ----踏踏实实的学点基本的吧?单片机不知道是什么就想去学ARM? c语言不会想搞LINUX?别老是好高骛远。 浮躁的人容易问:谁有xxx源码?--(你给人家多少钱啊?自己的劳动白送你?) 浮躁的人容易说:跪求xxx ---(就算网络也要点尊严吧?) 浮躁的人容易说:紧急求救---(其实只是个简单的课程设计) 浮躁的人容易说:有没有xxx中文资料?---一个字:懒。别说别的。E文不行?谁不是从 ABC学起的啊? 浮躁的人容易说:求xxx,我的email是,然后消失 ---- 你以为你是大爷啊,人 家请你吃饭,还要喂到你口里不成? 浮躁的人容易问:做单片机有钱途吗----只是为了钱,搞不好技术的,你去抢银行好了。 浮躁的人容易说:哪里有xxx芯片资料?(其实大部分资料网络上都有,但是偏偏来找人 问,懒!) 浮躁的人分两种:只观望而不学的人;只学而不坚持的人; 浮躁的人永远不是一个高手。 lamp 看完后明白了吧,恭喜!你已经迈出了第一步。
给TA发消息
加TA为好友 发表于: 21:06:51 1楼
兴趣是最好的老师!!!!!!!!!!!!!!!
给TA发消息
加TA为好友 发表于: 08:46:12 2楼
第二课 机器人的组成 机器人一般是由以下模块组成: 1.语音模块 用于语音对话、语音控制。 2.灯光表达模块 用于机器人状态显示、感情表达(喜、怒、哀、乐) 3.控制模块 I/O+决策,即机器人的大脑,其控制能力及AI由编程者的水平决定。 4.传感器模块 对外界环境的的感知。 5.电源模块 为机器人提供能源,常用有3v、5v、6v、9v、12v。 6.减速电机 常用于机器人行走驱动,根据需要选择变比。 7.驱动模块 机器人的执行机构,常选用行模中的舵机。 8.视频模块 机器人的眼 9.机械模块 10.无线通讯模块 11.控制软件 一个简单的机器人是由单片机电路、红外传感器、减速电机+程序这是大多数人 认同的,但是我要向大家说这种认识是错误的,真正的机器人不是几片单机和 几台电脑就可以解决,关键就是‘机器人’中这个‘人’字,还需要我们一代代 的努力。 以上讲的有点简单,先写出。
给TA发消息
加TA为好友 发表于: 08:46:26 3楼
好了,看到这里,我说一句:你要真想修炼成机器人高手,那你必备的工具是少不了的.起码你得有点儿投入吧.清单:1,电烙铁,2,焊锡,3,钳子,4,面包板,5,空电路板(什么没有,买去吧).6,电阻,电线,电容,电感(没有,就拆吧,就当练手了.)7,各种塑料板,铁片,钳子,改锥,锤子.(没有,去收废品吧)8,游标卡尺,千分尺.直角尺(桂林广陆)精密工具,最好电子的吧.没有这东西,你能行吗?买吧9,万用表.电子的不是很贵.必须的.10,示波器.唉,这个淘个二手吧.用的着的,都说是研究必用.11,各种书籍.要这个你都舍不得买的话,转身出门吧.这个地方不适合你.d8更适合你.12,电脑,能上网的.好了,就说到这里吧,话说打字好累的.
给TA发消息
加TA为好友 发表于: 08:46:42 4楼
第三课 机器人的工作原理 机器人是机器有人的特点,我们可以从人自身出发就容易理解他的工作原理了. 简单的讲就是传感器将得到的信息送到处理器决策执行驱动器的动作。 就讲这么多,到后面有实例大家就明白了。 哈哈,这小子太^&%** 第四课 常用工具的使用 1.电源插座 电源插座买的时候要选插口多的那种,否则在以后的使用中你会发现插口不够用,把电烙铁和可调稳压电源的插头插上。 2.电烙铁的使用 电烙铁是进行无线电制作不可缺少的工具之一,电烙铁是用来焊锡的,为方便使用,通常做成“焊锡丝”,焊锡丝内一般都含有助焊的松香。松香是一种助焊剂,可以帮助焊接,可到药店购买。松香可以直接用,也可以配置成松香溶液,就是把松香碾碎,放入小瓶中,再加入酒精搅匀。注意酒精易挥发,用完后记得把瓶盖拧紧。瓶里可以放一小块棉花,用时就用镊子夹出来涂在印刷板上或元器件上。注意市面上有一种焊锡膏(有称焊油),这可是一种带有腐蚀性的东西,是用在工业上的,不适合电子制作使用。还有市面上的松香水,并不是我们这里用的松香溶液。新的电烙铁不能拿来就用,需要先给烙铁头镀上一层焊锡。方法:给电烙铁通电,待温度升高以后,再用焊锡丝融化在烙铁头上,使烙铁头上镀上一层焊锡,烙铁头镀上焊锡,不但能保护烙铁头不被氧化,而且使烙铁头传热快,吃锡容易,焊接质量也容易得到保证。电烙铁使用时间长了以后,烙铁头会变黑或变得不平,这时候可以用锉刀锉平,然后再镀上焊锡。最好买一个烙铁架,平时电烙铁不用时可以将电烙铁放在烙铁架上。使用烙铁时,烙铁的温度太低则熔化不了焊锡,或者使焊点未完全熔化而成不好看、不可靠的样子。太高又会使烙铁不能蘸上锡。 另外也要控制好焊接的时间,电烙铁停留的时间太短,焊锡不易完全熔化、接触好,形成“虚焊”,而焊接时间太长又容易损坏元器件,或使印刷电路板的铜箔翘起。一般一两秒内要焊好一个焊点,若没完成,宁愿等一会儿再焊一次。焊接时电烙铁不能移动,应该先选好接触焊点的位置,再用烙铁头的搪锡面去接触焊点。 3.万用表的使用 万用表的使用的注意事项 a在使用万用表之前,应先进行“机械调零”,即在没有被测电量时 ,使万用表指针指在零电压或零电流的位置上。   (2)在使用万用表过程中,不能用手去接触表笔的金属部分 ,这样一方面可以保证测量的准确,另一方面也可以保证人身安全。   (3)在测量某一电量时,不能在测量的同时换档,尤其是在测量高电压或大电流时 ,更应注意。否则,会使万用表毁坏。如需换挡,应先断开表笔,换挡后再去测量。   (4)万用表在使用时,必须水平放置,以免造成误差。同时, 还要注意到避免外界磁场对万用表的影响。   (5)万用表使用完毕,应将转换开关置于交流电压的最大挡。如果长期不使用 ,还应将万用表内部的电池取出来,以免电池腐蚀表内其它器件。 欧姆挡的使用   一、选择合适的倍率。在欧姆表测量电阻时,应选适当的倍率,使指针指示在中值附近。最好不使用刻度左边三分之一的部分,这部分刻度密集很差。   二、使用前要调零。   三、不能带电测量。   四、被测电阻不能有并联支路。   五、测量晶体管、电解电容等有极性元件的等效电阻时,必须注意两支笔的极性。   六、用万用表不同倍率的欧姆挡测量非线性元件的等效电阻时,测出电阻值是不相同的。这是由于各挡位的中值电阻和满度电流各不相同所造成的,机械表中,一般倍率越小,测出的阻值越小。   万用表测直流时   一、进行机械调零。   二、选择合适的量程档位。   三、使用万用表电流挡测量电流时,应将万用表串联在被子测电路中,因为只有串连接才能使流过电流表的电流与被测支路电流相同 。测量时,应断开被测支路 ,将万用表红、黑表笔串接在被断开的两点之间 。特别应注意电流表不能并联接在被子测电路中 ,这样做是很危险的,极易使万表烧毁。   四、注意被测电量极性。   五、正确使用刻度和读数。   六、当选取用直流电流的2.5A挡时,万用表红表笔应插在2.5A测量插孔内 ,量程开关可以置于直流电流挡的任意量程上。   七、如果被子测的直流电流大于2.5A,则可将2.5A挡扩展为5A挡 。方法很简单,使用者可以在“2.5A”插孔和黑表笔插孔之间接入一支0.24欧姆的电阻 ,这样该挡位就变成了5A电流挡了。接入的0.24A电阻应选取用2W以上的线绕电阻 ,如果功率太小会使之烧毁。_________________
给TA发消息
加TA为好友 发表于: 08:47:04 5楼
第五课 单片机 今天给大家讲讲单片机,跟上几课一样比较枯燥但打基础就是这样,偷不的懒。 对一个初学单片机的人来说,学习的方法和途径非常重要。如果按教科书式的学 法,上来就是指令,名词,学了半天也搞不懂,用不了几天就半途而废,本讲座 学习与实验结合实际,边学,边练,让你轻松进入单片机世界。本讲座以80C51为 主,主要以练为主,采用跟我学,学习单片机的基础知识,结构,指令,及开发 的一般方发。跟我练,学习I/O口应用,中断,定时,串行口,数/模转换,的练 习。跟我用讲实用的单片机设计。
给TA发消息
加TA为好友 发表于: 08:47:27 6楼
初学单片机必备设备,初学者不可不备的工具及软件 一.学单片机需要的设备 这是一个很多想学单片机的人都比较关心的问题,我不希望花很多钱的代价学单片 机 1,要有一台电脑,最好在486或者586以上 2,要有一个编程器,最好Windows界面,用来把编译好的程序写入单片机的 ROM里面,把写好后的芯片插到试验板上面进行试验。 本站可提供:AT51串口编程器, AT51pro编程器能够对ATMEL公司的 AT89c52/51/单片机进行全面的编程操作,包括写入、擦除、等。编程 器采用串口与PC联接,安装简便。只要你将编程器用串口电缆联到PC的COM1或 COM2端口,无需什么设置。操作软件为Windows中文,可以工作在 Windows95/97/98/98se/98me/xp/2k操作系统;适合单片机开发、学习、产品生产 使用。 3,要有一个硬件单片机试验板,作为单片机的试验 4,要有几个用来试验的单片机芯片,比如应用的比较广泛的89C51,2051 5 由于AT89C单片机具有可反复烧写的特点,在设计程序时可反复修改原程序、 编译、并烧写到单片机,若程序稍复杂点再配合软件仿真排错,直至完成设计, 完全没必要再使用昂贵的仿真器。
给TA发消息
加TA为好友 发表于: 08:48:45 7楼
二、软件准备:一些常用软件是必须具备的。 51单片机集成开发系统MedWin 见软件讲座 c51eva c51eva是keil的c51开发环境,我们经常会在网上见到这个软件。其实 他同样可以用汇编以及PL/M等语言进行开发。见软件讲座 软件仿真8051debug适应于与8051完全兼容的单片机,如AT89C51系列。 51 Hex--bin转换工具 51 bin--Hex转化工具 51波特率初值设定软件 LED--encode数码管编码器 绘图用的protel99 目前开发单片机的应用软件比较杂乱,使初学者无所适从;这里我们推荐万利公 司的Medwin或Keil公司的c51eval,这两个均为集成系统,所谓集成,是指将原程 序编写、汇编/编译/连接、调试等开发单片机所要用到的程序集合到一个软件中 。目前Medwin有免费中文版,很适合初学者使用。
给TA发消息
加TA为好友 发表于: 08:49:10 8楼
单片机的组成 单片机要自动完成计算,它应该具有哪些最重要的部分呢? 我们以打算盘为例计算一道算术题。例:36+163×156-166÷34。现在要 进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问题记录下来, 然后第一步先算163×156,把它与36相加的结果记在纸上,然后计算166÷34,再 把它从上一次结果中减去,就得到最后的结果。   现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算 的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原 始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种 命令。这类器件就称为“存贮器”。此外,还需要有能代替人作用的控制器,它 能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。但 是光有这三部分还不够,原始的数据与命令要输入,计算的结果要输出,都需要 按先后顺序进行,有时还需等待。如上例中,当在计算163×156时,数字36就不 能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行动作的“门 ”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将 此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输出数据进行 一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有 三类信息在流动,一类是数据,即各种原始数据(如上例中的36、163等)、中间 结果(如166÷34所得的商4、余数30等)、程序(命令的集合)等。这样要由外 部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从 存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器 经“出入口”输出。用户要单片机执行的各种命令(程序)也以数据的形式由存 贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、 减、乘、除等功能的各种命令。所以,这一类信息就称为控制命令,即由控制器 去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写( 存入数据)等。第三类信息是地址信息,其作用是告诉运算器和控制器在何处去 取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。
给TA发消息
加TA为好友 发表于: 08:49:37 9楼
存贮器又分为只读存贮器和读写存贮器两种,前者存放调试好的固定程序和 常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据 存入,就只能读出,不能更改(EPROM、E2PROM等类型的ROM可通过一定的方法来 更改、写入数据——编者注)。而读写存贮器可随时存入或读出数据。   实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。单片机 除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机 中就设置有定时器兼计数器,其基本结构与本连载之(二)中的举例类似。到这 里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即CPU中 的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存 贮器通常表示为RAM)、输入/输出口(又分为并行口和串行口,表示为I/O口)等 等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运算和控制时, 都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的 作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传 达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。   现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连 接成相互关联的整体呢?实际上,单片机内部有一条将它们连接起来的“纽带” ,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、 I/O口、中断系统等就分布在此“总线”的两旁,并和它连通。从而,一切指令、 数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。 
给TA发消息
加TA为好友 发表于: 08:50:02 10楼
单片机指令系统与汇编语言程序 前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。所 谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还 只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还 必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的 程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需 要运算的数已存入存贮器后,还需要进行以下几步: 第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。 第二步:把第二个数从它所在的存贮单元中取出来,送至运算器; 第三步:相加; 第四步:把相加完的结果,送至存贮器中指定的单元。 所有这些取数、送数、相加、存数等等都是一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令,就是该单片 机的指令系统(Iustruction Set),不同种类的单片机,其指令系统亦不同。 使用单片机时,事先应当把要解决的问题编成一系列指令。这些指令必须是 选定的单片机能识别和执行的指令。单片机用户为解决自己的问题所编的指令程 序,称为源程序(Source Program)。指令通常分为操作码(Opcode)和操作数 (Operand)两大部分。操作码表示计算机执行什么操作,即指令的功能;操作数 表示参加操作的数或操作数所在的地址(即操作数所存放的地方编号)。因为单 片机是一种可编程器件,只“认得”二进码(0、1)。要单片机运作,单片机系 统中的所有指令,都必须以二进制编码的形式来表示。例如,在Intel公司的MCS -51系列单片机中,从存贮器中取出一数到CPU中的累加器(在运算器中,参与运 算、存放运算结果的专用寄存器)的指令代码为74H,累加器内容加立即数的代码 为24H,再加上立即数代码,累加器送数到内部RAM存贮器的代码为F6H~F7H等。 这些指令是用十六进制表示二进制的机器码。MCS-51单片机的字长为8位,有时 ,要完成某些操作用一个字节尚不能充分表达。所以,在指令系统中有单字节指 令,也有多字节指令。机器码是由一连串的0和1组成,没有明显的特征,不好记 忆,不易理解,易出错。所以,直接用它来编写程序十分困难。因而,人们就用 一些助记符(Mue monic)——通常是指令功能的英文缩写来代替操作码,如MCS -51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助 记符。这样,每条指令有明显的动作特征,易于记忆和理解,也不容易出错。用 助记符来编写的程序称为汇编语言程序。但是,助记符编写的程序便于人理解, 可单片机却只认识二进制机器代码,因此,为了让单片机能“读懂”汇编语言程 序必须再转换成由二进制机器码构成的程序,这种转换过程,就称为“汇编”.汇编可借助于人工查表法来实现,也可借助PC机通过所谓“交叉汇编程序”来完成。由机器码构成的用户程序一旦“进入”了单片机,再“启动”单片机,就可让它执行输入程序所规定的任务。
给TA发消息
加TA为好友 发表于: 08:50:27 11楼
MCU--51 CPU和存储器单片机8051的CPU由运算器和控制器组成。   一、运算器 运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往 往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和) 。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来 存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。 PSW CY AC FO RS1 RS0 OV - P对用户来讲,最关心的是以下四位。 1进位标志CY(PSW7)。它表示了运算是否有进位(或借位)。如果操作 结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。 2辅助进位标志AC。又称半进位标志,它反映了两个八位数运算低四位是否 有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。 3溢出标志位OV。MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。 4奇偶标志P。反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如B,其中有4个1),则P为0,否则,P=1.PSW的其它位,将在以后再介绍。由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。其功能在介绍位指令时再说明。   二、控制器   控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器.地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时(后面将介绍),PC才转到所需要的地方去。8051 CPU碢C指定的地址,从ROM相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。
给TA发消息
加TA为好友 发表于: 08:50:44 12楼
三、存储器 存储器是单片机的又一个重要组成部分,图6给出了一种存储容量为256个单 元的存储器结构示意图。其中每个存储单元对应一个地址,256个单元共有256个 地址,用两位16进制数表示,即存储器的地址(00H~FFH)。存储器中每个存储 单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的 内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。 一、程序存储器 程序是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构 成的机器指令。如前述用助记符编写的命令MOV A,#20H,换成机器认识的代码 74H、20H:(写成二进制就是B和B)。在单片机处理问题之前 必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中, 该存储器称为程序存储器。程序存储器可以放在片内或片外,亦可片内片外同时 设置。由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此, 内外存储器的地址最大可从0000H到FFFFH。8051内部有4k字节的ROM,就占用了由 0000H~0FFFH的最低4k个字节,这时片外扩充的程序存储器地址编号应由1000H开 始,如果将8051当做8031使用,不想利用片内4kROM,全用片外存储器,则地址编 号仍可由0000H开始。不过,这时应使8051的第{31}脚(即EA脚)保持低电平。当 EA为高电平时,用户在0000H至0FFFH范围内使用内部ROM,大于0FFFH后,单片机 CPU自动访问外部程序存储器。
给TA发消息
加TA为好友 发表于: 08:51:33 13楼
二、数据存储器   单片机的数据存储器由读写存储器RAM组成。其最大容量可扩展到64k,用于 存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00H~7FH为 内部随机存储器RAM,80H~FFH为专用寄存器区。实际使用时应首先充分利用内部 存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。 因为将来在学习指令系统和程序设计时会经常用到它们。8051内部数据存储器地 址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据 RAM的地址为00H~7FH(即0~127)。而用做特殊功能寄存器的地址为80H~FFH。 在此256个字节中,还开辟有一个所谓“位地址”区,该区域内不但可按字节寻址 ,还可按“位(bit)”寻址。对于那些需要进行位操作的数据,可以存放到这个 区域。从00H到1FH安排了四组工作寄存器,每组占用8个RAM字节,记为R0~R7。 究竟选用那一组寄存器,由前述标志寄存器中的RS1和RS0来选用。在这两位上放 入不同的二进制数,即可选用不同的寄存器组,如附表1所示。
给TA发消息
加TA为好友 发表于: 08:52:07 14楼
三、特殊功能寄存器   特殊功能寄存器(SFR)的地址范围为80H~FFH。在MCS-51中,除程序计数 器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。其中5个 是双字节寄存器,它们共占用了26个字节。各特殊功能寄存器的符号和地址见附 表2。其中带*号的可位寻址。特殊功能寄存器反映了8051的状态,实际上是8051 的状态字及控制字寄存器。用于CPU PSW便是典型一例。这些特殊功能寄存器大体 上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。与芯片引脚 有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个 ),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。MCS -51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且 大都有第二功能。其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数 据指针DPTR等的功能前已提及,而另一些寄存器的功能在后面有关部分再作进一 步介绍
给TA发消息
加TA为好友 发表于: 08:52:27 15楼
单片机的指令系统和寻址方式 单片机要正常运作,事先需编制程序,再把程序放入存贮器中,然后由CPU执行该程序。程序是由指令组成的,指令的基本组成是操作码和操作数。单片机的品种很多,设计时怎样表示操作码和操作数,都有各自的规定,再有指令代码也各不相同,因此,必须对所选单片机的全部指令,也就是所谓“指令系统”,有足够的了解。各个系列的单片机虽然有不同的指令系统,但也有其共同性。掌握一种单片机的指令系统,对其它系列单片机可以起到触类旁通的作用。MCS-51单片机应用广泛,派生品种多,具有代表性,所以,这里以MCS-51系列的指令系统为例 说明“指令”的组成和应用。   1、MOV A,#20H 这条指令表示把20H这个数送入累加器A中(一个特殊功能寄存器)。 2、ADD A,70H 这条指令表示把累加器A中的内容(在上例中送入的#20H)和存贮器中地址为70H单元中的内容(也是一个数字),通过算术逻辑单元(英文缩写为ALU)相加,并将结果保留在A中。这里MOV、ADD等称为操作码,而A、#20H、70H等均称为操作数。在汇编语言程序中,操作码通常由英文单词缩写而成,这样有助于记忆,所以又称助记符。如MOV就是英文单词MOVE的缩写,含有搬移的意思;而ADD即为英文单词,其意为相加。因此,对于略懂英语的用户,掌握单片机指令的含意是较为方便的。操作数有多种表示法,如以上的#20H称为立即数,即20H就是真正的操作数。而70H是存贮器中某个单元的地址,在该单元中,放着操作数(比如说是3AH),ADD A,70H不是将70H和A中的内容相加,而是从存贮器70H单元中将3AH取出和A中的内容相加。由上可知,要找到实际操作数,有时就要转个弯,甚至转几个弯,这个过程称为寻址,MCS-51共有7种寻址方式,现介绍如下: 一、立即寻址:操作数就写在指令中,和操作码一起放在程序存贮器中。把“#”号放在立即数前面,以表示该寻址方式为立即寻址,如#20H。 二、寄存器寻址:操作数放在寄存器中,在指令中直接以寄存器的名字来表示操作数的地址。例如MOV A,R0就属于寄存器寻址,即将R0寄存器的内容送到累加器A中。 三、直接寻址:操作数放在单片机的内部RAM某单元中,在指令中直接写出该单元的地址。如前例的ADD A,70H中的70H。 四、寄存器间接寻址:操作数放在RAM某个单元中,该单元的地址又放在寄存器R0或R1中。 如果RAM的地址大于256,则该地址存放在16位寄存器DPTR(数据指针)中,此时在寄存器名前加@符号来表示这种间接寻址。如MOV A,@ R0。其它还有变址寻址、相对寻址、位寻址等,待以后再详细介绍。可能有人会问,在指令中直接给出实际操作数,不是简单、明了吗?为什么还要用其它几种寻址方式呢?这是因为在编制程序时很难一下子就给出操作数。如用单片机控制温度时,时时需要将给定的控制温度(如20℃)减去环境温度,而环境温度时时有变化,显然无法在程序指令中给出,只有通过一定方式,将其送入某个输入/输出口,再存放在某个寄存器中,这就必须用到寄存器寻址。又如要进行算术运算,要计算每班学员各科成绩的平均值,如果把每个学员的各科都编一个程序,在程序中直接给出该学员各科成绩,再求平均值,显然太麻烦。这里可以编一个求平均成绩的通用程序,把每位学员的成绩送入存贮器的各个单元中,这时可采取直接寻址,一个程序可供每个学员用,不是更方便吗?所以,寻址方式越多,编制程序就越方便、灵活,适用范围就越广。寻址有如找人,如被找的人有手机、BP机、座机电话等多种联系方式则就容易找到他,单片机也是如此,寻址方式越多,找操作数越方便,单片机的功能就越强。前面介绍51系列单片机的寻址方式时,常遇到单片机内部的一些寄存器、累加器A、通用寄存器R0~R7、数据指针DPTR和存贮器等。在以后介绍指令时,数据就要在这些寄存器、存贮器之间传送,或者进行运算。因此,编制程序就需熟悉单片机的内部结构。 8051单片机的内部总体结构其基本特性如下: 8位CPU、片内振荡器 4k字节ROM、128字节RAM 21个特殊功能寄存器 32根I/O线 可寻址的64k字节外部数据、程序存贮空间 2个16位定时器、计数器 中断结构:具有二个优先级、五个中断源 一个全双口串行口 位寻址(即可寻找某位的内容)功能,适于按位进行逻辑运算的位处理器。除128字节RAM、4k字节ROM和中断、串行口及定时器模块外,还有4组I/O口P0~P3,余下的就是CPU的全部组成。把4kROM换为EPROM就是8751的结构,如去掉ROM/EPROM部分即为8031的框图,如果将ROM置换为Flash存贮器或EEPROM,或再省去某些I/O,即可得到51系列的派生品种,如89C51、AT89C2051等单片机的框图。 单片机各部分是通过内部的总线有机地连接起来的
给TA发消息
加TA为好友 发表于: 08:52:48 16楼
单片机MCS-51系列指令快速记忆法 随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。学习、使用单片机的人越来越多,而生产单片机的厂家很多,单片机种类繁杂,不知如何选择。据统计,八位单片机占全球单片机销量的65%。在八位单片机中,Intel公司的8051单片机内核已成为8位单片机事实上的标准。因此,对初学者而言,选择8051单片机来学习不失为明智的选择。学习单片机,除了搞清单片机内部功能、存储空间分配及I/O接口外,还应掌握其指令系统。MCS-51共有111条指令,现介绍我们总结出的快速记忆MCS-51指令的方法,供大家参考。  大家都知道,汇编语言指令由操作码、操作数两部分组成。MCS-51使用汇编语言指 令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等。这里先介绍指令助记符及其相关符号的记忆方法。   一、助记符号的记忆方法   1表格列举法   把44个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。   2英文还原法   单片机的操作码助记符是该指令功能的英文缩写,将缩写还原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如: 增量 INC-Incremect  减量 DNC-Decrement 短转移 SJMP-Short jump  长转移 LJMP-Long jump 比较转移 CJNE-Compare jump not equality  绝对转移 AJMP-Absolute jump 空操作 NOP-No operation 交换 XCH-Exchange    加法 ADD-Addition 乘法 MUL-Multiplication  除法 DIV-Division 左环移 RL-Rotate left  进位左环移 RLC-Rotate left carry 右环移 RR-Rotate right  进位右环移RRC-Rotate right carry   3功能模块记忆法   单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原则为2~3组。这样,化整为零,各个击破,实现快速记忆。   1)数据传送组。      2)加减运算组    MOV 内部数据传送    ADD 加法    MOVC 程序存储器传送   ADDC 带进位加法    MOVX 外部数据传送    SUBB 带进位减法   3)逻辑运算组。      4)子程序调用组。    ANL 逻辑与         LCALL 长调用    ORL 逻辑或       ALALL 绝对调用    XRL 逻辑异或       RET 子程序返回
给TA发消息
加TA为好友 发表于: 08:53:09 17楼
二、指令的记忆方法   1指令操作数的有关符号   MCS-51的寻址方式共有六种:立即数寻址、直接寻址、寄存器寻址、寄存器间址、变址寻址、相对寻址。我们必须掌握其表示的方法。   1)立即数与直接地址。  。ata表示八位立即数,#data16表示是十六位立即数,data或direct表示直接地址。   2)Rn(n=0-7)、A、B、CY、DPTR寄存器寻址变量。   3)@R0、@R1、@DPTR、SP表示寄存器间址变量。   4)DPTR+A、PC+A表示变址寻址的变量。   5)PC+rel(相对量)表示相对寻址变量。   记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了基础。MCS-51指令虽多,但按功能可分为五类,其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作类17条。在每类指令里,根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。 我们约定,可能的目的操作数按(#data/direct/A/Rn/@Ri)顺序表示。   对于MOV指令,其目的操作数按A、Rn、direct、@Ri的顺序书写,则可以记住MOV的15条指令。例如以累加器A为目的操作数,可写出如下4条指令。   MOV A,#data/direct/A/Rn/@Ri   以此类推,写出其它指令。   MOV Rn,#data/direct/A   MOV direct,#data/direct/A/Rn/@Ri   MOV @Ri,#data/direct/A   2指令图示记忆法   图示记忆法是把操作功能相同或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符MOV、MOVX、MOVC组成的送数组指令,可以用图1、2帮助记忆。   由助记符CJNE形成的四条指令,也可以用图示法表示,如图3。 CJNE A,#data,rel   CJNE A,direct,rel CJNE @Rn,#data,rel CJNE @Ri,#data,rel   另外,对于由(ANL、ORL、ARL)形成的18条逻辑操作指令,有关A的四条环移指令 ,也可以用图示法表示,请读者自行画出记忆。   3相似功能归类法   在MCS-51指令中,我们发现部分指令其操作码不同,但功能相似,而操作数则完全一样。相似功能归类法就是把具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。   ADD/ADDC/SUBB A,#data/direct/Rn/@Ri   ANL/ORL/XRL A,#data/direct/Rn/@Ri   ANL/ORL/XRL direct,#data/a   上述每一排指令,功能相似,其操作数都相同。其它的如加1(INC)、减1 (DEC)指令也可照此。   4口诀记忆法   对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。如PUSH direct和POP direct这两条指令。初学者常常分不清堆栈SP的变化情况,为此编成这样一句话:(SP的内容)加1(direct的内容)再入栈,(SP的内容)弹出(到direct单元)SP才减1。又如乘法指令中积的存放,除法指令中被除数和除数以及商的存放,都可以编成口诀记忆如下。   MUL AB  高位积(存于)B,低位积(存于)A。   DIV AB  A除以B,商(存于)A余(下)B。   上面介绍了几种快速记忆单片机指令的方法,希望能起到抛砖引玉的作用,相信读者在学习单片机的过程中能找到适合自己的方法来记忆。但是,有了好的方法还不够,还需要实践,即多读书上的例题和别人编写的程序,自己再结合实际编写一些程序。只有这样,才能更好更快地掌握单片机指令系统。
给TA发消息
加TA为好友 发表于: 08:53:28 18楼
单片机自学教材之用单片机做流水灯(一) 第一节 第一步:制作硬件电路 流水灯电原理图如下图,图中用一片AT89C2051单片机及少量外围元件组成。 图中,R1~R8为LED1~8的限流电阻;R9、C3为单片机的简易上电复位电路;C1、C2、T1组成单片机的时钟电路; 工作原理:在上电后由于C3、R9的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C1、C2、T1以及单片机内部时钟电路的作用下,单片机依程序将P1.0~P1.7引脚拉低或抬高;拉低的引脚对应的LED点亮,抬高的引脚对应的LED熄灭。电路制作时,AT89C2051的位置应安装20脚的IC座,以便使单片机可以从电路板中拿下去烧写程序。电路中的元件无太苛刻的要求,若LED为高亮度的,R1~R8可加大到1k;C3漏电不要太大;否则会造成单片机无法复位。 下一步的准备:1、下载汇编编译器 ASM51 ,这里先以DOS下的ASM51为例,因为它编译汇编程序时不产生辅助代码,所以较适合初学理解其产生的代码。2、准备一片AT89C2051或AT89C1051;一般电子商场即可购到,当然,如果有旧片只要是好的也行3、准备一台可以烧写AT89C2051和 1051的编程器;4、电脑一台;噢对啦!你现在正使用的这台就行。第二步:软件的编写现在,我们假设单片机可以听懂我们的汉语,那么想让LED1点亮,就说“P1.0变低”;(单片机在上电初始后,其各端口输出为高电平)LED1就点亮啦!想让LED1灭,LED2亮,就说“P1.0升高,P1.1变低”;LED1就熄灭LED2随后既点亮 若用汉语编写的流水灯程序应该是:程序部分 ;解释部分用“;”分号与程序部分隔开开始: ;“开始:”为标号P1.0低 P1.0高 P1.1低 P1.1高 P1.2低 P1.2高 P1.3低 P1.3高 P1.4低 P1.4高 P1.5低 P1.5高 P1.6低 P1.6高 P1.7低 P1.7高 返回到开始 ;返回到“开始:”处继续循环结束 ;说明程序到此结束
给TA发消息
加TA为好友 发表于: 08:53:48 19楼
这样,LED1~LED8便会不停的流动点亮熄灭,从而产生流水效果。然而单片机听不懂汉语,只能接受二进制的“10......”代码,但要用二进制代码编写流水灯程序,其意思与上述的“汉语程序”基本相同,只是“汉语”改为二进制代码罢啦。为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编和C两种;“翻译”软件有好多种,一般依所使用的“程序语言”不同而不同,汇编语言用“宏汇编”,如上面让你下载的ASM51,C语言用FC或KC(以后会学到,现在你不必关心)。在这里我们所说的“翻译”软件,行话叫编译器,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。现在让我们将上面的“汉语”语言程序改写为汇编语言程序:“汉语”语言 汇编语言开始: star:P1.0低 clr p1.0P1.0高 setb p1.0 P1.1低 clr p1.1P1.1高 setb p1.1P1.2低 clr p1.2P1.2高 setb p1.2P1.3低 clr p1.3P1.3高 setb p1.3 P1.4低 clr p1.4 P1.4高 setb p1.4 P1.5低 clr p1.5 P1.5高 setb p1.5 P1.6低 clr p1.6 P1.6高 setb p1.6 P1.7低 clr p1.7 P1.7高 setb p1.7 返回到开始 ljmp star 结束 end 这里用到了四条汇编指令:clr、 setb、 ljmp 、end; clr 是将其后面指定的位清为0; setb 是将其后面指定的位置成1; ljmp 是无条件跳转指令,意思是:跳转到指定的标号处继续运行。 end 是一条告诉编译器:程序到此结束的伪指令。伪指令只告诉编译器此程序到此有何要求或条件,它不参与和影响程序的执行。 这里需要说明的是,按汇编语法要求,所编制的程序(下称源程序)之格式和书写要求必须依下列原则: 1、源程序必须为纯文本格式文件,如用Windows“附件”中的“记事本”编写的文本文件; 2、源程序的扩展名应是 *.ASM; 3、一行只能写一条语句,以回车作为本句的结束,每一语句行长度应少于80个字符(即40个汉字)。 4、每行的格式应为: 标号: 命令 参数 ;注释 即一行由四部份组成,各部份的顺序不能搞错,依实际要求可以缺省其中的一部份或几部份,甚至全部省去,即空白行。需要使用标号时标号后面必须有“:”(冒号),而命令语句和参数之间必须用空格分开,如果命令有多个参数,则参数与参数之间必须用“,”(逗号)分开,需要注释时注释前必须用“;”(分号),“;”后面的语句可以写任何字符,包括汉字用于解释前面的汇编语句,它将不参与汇编,不生成代码。由于汇编程序对我们还不直观,所以在编写源程序时,应当养成多写注释的习惯,这样有助于今后源程序的阅读和维护。 标号是标志程序中某一行的符号名,编译后标号的数值就是标号所在行代码的地址。在宏汇编ASM51中标号的长度不受限制,但标号中不能包含‘:’或其它的一些特殊符号,也不能用汉字,可以用数字作标号,但必须用字母开头。当标号作参数用(如标号作转移地址),在命令后面出现时,必须舍去‘:’(如上面程序中的 LJMP STAR中的 STAR 是不能再有:)。每行只能有一个标号,一个标号只能用在一处,如果有两行用了同一个标号,则汇编时就会出错。由于标号的长度没有限制,可以用有意义的英文或汉语拼音来说明行,使源程序读起来更方便。 源程序中的字母不区分大小写,也就是说 star 和 STAR 是一样的,请不要用大小写方式去区分不同的标号。 好拉!现在来看看前面我们编写的源程序该怎样处理,为便于以后叙述,也便于你对源程序的学习与管理,请在C盘下建立一个McuCai目录,将下载的MASM51和你编写的程序均放到这里。下面均认为你已建立了这个目录。编写源程序:先将上面的汇编源程序在Windows的记事本中依原样输入,之后保存为 Test.asm。由于ASM51为汉化版,需要中文环境,在进入DOS模式后请在命令行键入 pdos95回车 既进入中文环境;要退出中文环境,只要在命令行键入 quit 即可。 编译:在命令行键入: asm51 test.asm 回车 如果你编写的源程序有错误,编译时编译器会提示你那一句错啦;若想详细查看编译结果,可用“记事本”打开编译后产生的test.lst列表文件。我们最后需要的便是编译后产生的 test.hex 文件 烧写:回到Windows;将编程器与电脑连接好并接通电源(这里以本站介绍的AT51编程器为例),启动编程器程序,在“器件”菜单中选择“AT89C2051”;从“文件”菜单中“打开HEX文件”打开C:\McuCai\Test.hex文件;在编程器上装入AT89C2051芯片,先擦除,后写入。好拉,到此我们已将第一个流水灯程序编写、编译、烧写进行完啦,再下来就是将烧写好的AT89C2051从编程器上取下,安装到前面制作的电路板中通电让LED1~LED8“流水”。 说明:由于单片机的时钟高达12MHz,8个LED发光与熄灭的时间很短,实际实验结果凭我们的眼是看不到“流水”效果的!哪怎样才能让我们肉眼看到“流水”效果呢?请继续学习下节课.
给TA发消息
加TA为好友 发表于: 19:03:29 20楼
第二节&单片机自学教材之用单片机做流水灯(二)&第二节&上一节的实验最后没有得到“流水”效果,主要是单片机执行每条指令的时间&很短,我们肉眼无法看到LED的熄灭与点亮;&单片机内部能按部就班的自动工作,正是在系统时钟的作用下,内部各逻辑硬&件产生各种所需脉冲信号而实现的。这个时钟信号(既晶体振荡信号)的周期称&“振荡周期”。我们这个实验中晶体使用的是12MHZ.&在单片机中,要处理最短周期的一条指令需要由12个振荡周期(既晶振振荡周&期)组成的,这个叫“机器周期”。&8051核的单片机,大多数指令只用一个机器周期(既单周期),也有双周期和&四周期的指令。本实验中用到的SETB&P.x和CLR&P.x均属于单周期指令,也就是说&,执行一句&SETB&P.x&用时仅1uS(微秒),CLR&P.x&也是1uS;难怪我们前面的程&序不能看到流水效果。&现在,将程序改动一下,在每点亮一个LED后,让程序干点别的事,也就是让&它等一会再将该LED熄灭,继续执行下面的程序:
给TA发消息
加TA为好友 发表于: 19:03:51 21楼
star:&;程序开始&clr&p1.0&;LED1亮&acall&delay&;调用延时子程序&setb&p1.0&;LED1灭&clr&p1.1&;换灯,同上&acall&delay&setb&p1.1&clr&p1.2&acall&delay&setb&p1.2&clr&p1.3&acall&delay&setb&p1.3&clr&p1.4&acall&delay&setb&p1.4&clr&p1.5&acall&delay&setb&p1.5&clr&p1.6&acall&delay&setb&p1.6&clr&p1.7&acall&delay&setb&p1.7&ljmp&star&;返回到开始循环&delay:&;延时子程序&mov&r1,#50&del0:&mov&r2,#100&del1:&mov&r3,#100&djnz&r3,$&djnz&r2,del1&djnz&r1,del0&ret&;延时子程序结束,返回到调用处的下一句&end&请将上面的程序保存为&Test.asm,进行编译,并烧写到AT89C2051中,之后&将2051安装到实验板中实验,这回肯定“流水”啦!
给TA发消息
加TA为好友 发表于: 19:04:09 22楼
回过头,让我们看看延时子程序是怎样工作的:&单片机内部有不少寄存器,这些寄存器在单片机通电时,你可以给他写入数据&(是单片机按你程序要求写的数据,而不是编程器写的),当第二次给他写入新&数据时,前次的数据就被新数据覆盖;当然也可以从寄存器中读取数据。当单片机没有电源供给时,寄存器内部的数据也随即消失;这些寄存器人们叫他RAM,而用编程器将我们编写的程序烧写到单片机中的存储器叫ROM;现在,我们应该清楚:RAM是让程序去使用的,ROM是我们编写的程序存放的地方!&前面说过,单片机内部有不少RAM,本实验用的AT89C2051有多少寄存器?我们现在不必关心,现在只须知道单片机内部有名叫R0~R7&的这8个寄存器。这8个寄存器每个都由8个单独的位寄存器组成,最大存放数据为二进制的&,十六进制&=&FF,十进制&=&255。在使用时注意不要大于其有效范围。上面延时程序中,先用到&mov&r1,#50&,mov是移动的意思,该句是将50这个十进制数放到r1中;50是立即数,按汇编语言要求前面要加“#”号,汇编语言还规定,十六进制数后面要加“&H”,十六进制数的高位是字母时在字母前面还要加“0”,例如:#0F8H;二进制数后面加“B”,例如:#B。十进制不加,例如:#100&。延时程序的第二、三句为&mve&r2,#100&;mov&r3,#100&;这两句意思同前。&第四句中&djnz&r3,$&的意思是将&r3&里面的数减&1&后如果&r3&不等于&0&则跳&到后面指定的程序位置,这里的“$”既要跳转的程序位置,“$”代表当前语句&处,也就是说,r3不等于&0,程序返回再次执行本句。如果r3&减&1&后等于&0,&程序结束本句,继续执行下面的语句。&延时程序的最后一句是&ret&,意思是退出本子程序,返回到调用本子程序处的&下一句。&根据上面的解释,一进入延时子程序首先为&r1,&r2,&r3&寄存器装入我们需要&的数据,然后先对&r3&进行减数,每次减&1&,r3&减完后减&r2&,减&r2&时就费&事啦,因为&r2&每减&1&后不为&0&需要跳转到&del1&标号处执行下面的语句,此&时&r3&再次装入数据100,并且还要再次对&r3&进行减数......,r2&减完后减&r1&,减&r1的过程你研究研究看看。&每执行&djnz&rn,rel&(rn&指&r0~r7,rel&指转移地址)指令一次,需要2个机&器周期,单片机需耗时2uS(指本实验),若忽略装数等语句,延时子程序从开始&到结束,单片机共耗时100*100*50*2nS,既1000000uS=1秒!若加上装数等语句的&耗时,延时时间大于1秒。&到此,我们做的流水灯已成功,原理大致也明白啦,若你自认为这一课你完全&明白了,那请你将“流水灯”的流向改变一下,也可以改为两边向内流,内部向&外流......,我想你一定能用前面学到的方法实现这些功能。可能有些高手说,&前面的编程方法是最最笨的!,不错!但玩单片机初期不必讲究语言的简练,只&要能完成预先要求就好,这是初学者要知道的。那么还有更好的编程思路吗:有&!请继续学习
给TA发消息
加TA为好友 发表于: 19:04:27 23楼
单片机自学教材之用单片机做流水灯(三)&第三节&在上节课中让&LED&流水是去逐个控制P1端口的每个位来实现的,那么我们在&程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让&这个数据向高位移动不就实现“流水”效果啦?的确如此!&可惜,8051没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指&令,ACC是8051单片机内部算术逻辑单元中的一个“寄存器”(这里叫他寄存器是&不正确的,但你可以先这样理解,ACC在指令中常写为A),他在数据传输和数据&处理过程中作用十分重要,ACC为8位。他可与片内所有单字节寄存器交换数据,&实际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据&先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以&实现“流水”效果。&程序如下:&star:&;开始&mov&acc,#0feh&;ACC中先装入LED1熄灭的数据(即二进制的&)&mov&p1,acc&;将ACC的数据送P1口&mov&r0,#7&;因上句送到&p1口的数据就熄灭了一位,&;所以将数据再移动7次就完成一个8位流水过程&loop:&;数据移动循环&rl&a&;将ACC中的数据左移一位&mov&p1,a&;把ACC移动过的数据送p1口显示&acall&delay&;调用延时&djnz&r0,loop&;没有移动够7次继续移动&ljmp&star&;移动完7次后跳到开始重来,以达到循环流动效果&delay:&;延时子程序,就是上节课中的延时子程序&mov&r1,#50&del0:&mov&r2,#100&del1:&mov&r3,#100&djnz&r3,$&djnz&r2,del1&djnz&r1,del0&ret&;延时子程序结束,返回到调用处的下一句&end&;本汇编程序到此结束&接下来,将上述程序编译,并烧写到前面我们的实验芯片中,流水效果与第二&节课的一样。
给TA发消息
加TA为好友 发表于: 19:04:45 24楼
其实8051单片机有111条指令,这111条指令好比以前我们使用数字传呼机时的&“短语代码”一样,可以用几个“短语代码”去表示一句完整、通顺的语句段落&。有的指令常用,有的指令不常用,只要遵守语法规则,你可以用这些指令“组&合”成你想象到的任何程序。当然,有时一条指令可以替代很多条指令,这样会&使程序简捷,费码减少,在编写较大程序时可以让程序存储器放得下你需要的代&码。这也是单片机高手所追求的。当然,在程序存储器空间不成问题时,你不这&样做但也可以达到预期的功能,这也不算错。&单片机内部还有很多“部件”我们只是用到什么说什么,很不系统。但是我也&不想系统的介绍这些,因系统介绍单片机结构和指令的书很多,何况写的远比我&好,因此,希望你在看本讲座的过程中,还要结合正规的教材学习其更多的指令&和“部件”。&可惜,8051没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指令&,ACC是8051单片机内部算术逻辑单元中的一个“寄存器”(这里叫他寄存器是不&正确的,但你可以先这样理解,ACC在指令中常写为A),他在数据传输和数据处&理过程中作用十分重要,ACC为8位。他可与片内所有单字节寄存器交换数据,实&际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据先&放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实&现“流水”效果。程序如下:star:&;开始mov&acc,#0feh&;ACC中先装入LED1熄灭的数据(即二进制的&)mov&p1,acc&;将ACC的数据送P1口&mov&r0,#7&;因上句送到&p1口的数据就熄灭了一位,&;所以将数据再移动7次就完成一个8位流水过程&loop:&;数据移动循环&rl&a&;将ACC中的数据左移一位&mov&p1,a&;把ACC移动过的数据送p1口显示&acall&delay&;调用延时&djnz&r0,loop&;没有移动够7次继续移动&ljmp&star&;移动完7次后跳到开始重来,以达到循环流动效果&delay:&;延时子程序,就是上节课中的延时子程序&mov&r1,#50&del0:&mov&r2,#100&del1:&mov&r3,#100&djnz&r3,$&djnz&r2,del1&djnz&r1,del0&ret&;延时子程序结束,返回到调用处的下一句&end&;本汇编程序到此结束
给TA发消息
加TA为好友 发表于: 19:05:00 25楼
第六课&传感器&传感器是用于机器人对环境的感知就象人的眼睛有视觉、皮肤有知觉一样,然后&把得到的信息转变成电信号供处理系统分析处理。&传感器种类很多,你可以根据需要选择传感器比如用在方向就用方向传感器;用&在视觉就用视觉传感器。这里只是说说实际选择起来就不这么简单了,要根据要&求、参数进行选择.&工作忙也就是懒的代名词,我这人就是这样,先写下这么多,好了下节课见._________________
给TA发消息
加TA为好友 发表于: 19:05:24 26楼
第七课&驱动器&驱动器的种类很多,我只讲两种比较常用的驱动器。&1。减速电机(我们常在电动玩具中拆下的带齿轮箱的小马达,就是减速电机)&由拖动电动机与齿轮减速装置耦合而成,&减速装置的作用用一句话概括,就叫做&变速变扭,即增速减扭或减速增扭。为什么减速可以增扭,而增速又要减扭呢?&设电机输出的功率不变,功率可以表示为&N&=&wT,其中w是转动的角速度,T是扭&距。当N固定的时候,w与T是成反比的。所以增速必减扭,减速必增扭。&减速电机一般用做机器人的动力驱动,也就是机器人的腿.&2.伺服电机&微型的伺服电机在无线电业余爱好者的航模活动中使用已有很长一段历史,而且&应用最为广泛,国内亦称之为“舵机”,含义为:“掌舵人操纵的机器”。可见&,微型伺服电机主要用作运动方向的控制部件。伺服电机本质上是可定位的电机&。当伺服电机接受到一个位置指令,它就会运动到指定的位置。因此,个人机器&人模型中也常用到它作为可控的运动关节,这些活动关节我们也常称它为自由度&.2.伺服电机的优点:&大扭力、控制简单、装配灵活、相对经济,但它亦有着先天的不足:首先它是一&个精细的机械部件,超出它承受范围的外力会导致其损坏,其次它内藏电子控制&线路,不正确的电子连接也会对它造成损毁,因此,很有必要在使用前先了解伺&服电机的工作原理,以免造成不必要的损失。&3.伺服电机内部结构:&一个伺服电机内部包括了一个直流电机;一组变速齿轮组;一个反馈可调电位器&;及一块电子控制板。其中,高速转动的直流电机提供了原始动力,带动变速(&减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服电机的输出&扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。&4.伺服电机的工作原理:&一伺服电机是一个典型闭环反馈系统,其原理可由下图表示:&减速齿轮组由电机驱动,其终端(输出端)带动一个线性的比例电位器作位置检&测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其&与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或反向地转动,使&齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服电机精确&定位的目的。&5.伺服电机的控制:&标准的伺服电机有三条控制线,分别为:电源、地及控制。电源线与地线用于提&供内部的直流电机及控制线路所需的能源,电压通常介于4V—6V之间,该电源应&尽可能与处理系统的电源隔离(因为伺服电机会产生噪音)。甚至小伺服电机在&重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输&入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—&2ms之间,而低电平时间应在5ms到20ms之间,并不很严格.&简单的说伺服电机用在控制精度要求比较高的地方(比如机器人的手)。
给TA发消息
加TA为好友 发表于: 19:05:40 27楼
第十课&机器DIY2&上课讲了IO的输出控制,大家一定会问怎么分别控制4个发光二极管的亮和灭?别急&这节课我就给大家讲讲怎么来做。&1。启动电脑进入WIN98后,进入DOS窗口输入DEBUG回车。&输入:&-O&387,1&你会发现D1亮了。&再输入:&-O&387,2&你会发现D2亮了。&再输入:&-O&387,3&你会发现D3亮了。&再输入:&-O&387,4&你会发现D4亮了。&通过上述方法,你可以任意安排LED的显示方式。&以上只能手动控制LED的显示方式,现在我教大家怎么通过BASIC编程来控制LED的&显示。&请先下载basic编程软件(189k):&http://wwwxuan.nease.net/diy/QBASIC.EXE&下载后运行QBASIC.EXE,进入界面按一下ESC键后输入:&10&cls&20&OUT&&h378,&1&21&for&a=1&to&100000:next&a&30&OUT&&h378,&2&31&for&a=1&to&100000:next&a&40&OUT&&h378,&3&41&for&a=1&to&100000:next&a&50&OUT&&h378,&4&51&for&a=1&to&100000:next&a&60&OUT&&h378,&0&61&for&a=1&to&100000:next&a&70&end&输完后按F5键你就可以看到DEL依此闪亮。&解释一下:&10&cls&‘10是行号,CLS是清屏命令&OUT&&h378,&1&‘点亮d1&for&a=1&to&100000:next&a&'延迟语句&end&‘结束命令&好了大家自己试一下吧,下节课我来教大家IO的输入控制._________________
给TA发消息
加TA为好友 发表于: 19:06:33 28楼
第十三课&控制电机正反转&控制电机正反转是机器人制作中不可缺少的一项,今天我来制作一个电机正反转&电路.&以下是需要的材料:&1.玩具电机一只(电动玩具中都有)&2。5v继电器2个(电子商店有卖2元/个)&3。4N25光隔2个(电子商店有卖5元/个)&4。四节1.5V电池(0.5元/个)&先来做个电机正反转的实验。&电机尾部有两条引线分别把线接在电池正负极上,电机转了注意一下它的旋转方向&,然后再把电池极性换一下观察电机的旋转方向,电机反方向旋转了。&控制电机正反转的秘诀就是:电源互换极性.&明白了以上的道理,下面我们来按图把电路焊好。&&运行QBASIC.EXE,进入界面按一下ESC键后输入:&10&cls&20&IF&(INP(&h379)&and&8&)&/8=0&then&OUT&&h378,&1&30&IF&(INP(&h379)&and&16&)&/16=0&then&OUT&&h378,&2&40&goto&20输完后按F5键后,按下K1或K2你就可以控制电机正反转了。&下节课在此基础上教大家做个自动避障小车._________________第十四课&自动避障小车&课上到这,大家是不是觉得越来越有意思了,如果我讲的好大家就顶一下,不然我&就没有继续写的动力了。&上节课我们只讲了控制一只电机还有D3、D4没有用上,是的我是有意留给大家自&己去做,你再焊一块同样的板子接到D3、D4就可以了。&把K1、K2换成触碰开关,一个自动避障小车就有了。&下面我们来看小车工作的程序.&运行QBASIC.EXE,进入界面按一下ESC键后输入:&10&cls&20&IF&(INP(&h379)&and&8&)&/8=0&and&IF&(INP(&h379)&and&16&)&/16=0&then&OUT&&h378,&530&IF&(INP(&h379)&and&8&)&/8=1&then&OUT&&h378,&1&40&IF&(INP(&h379)&and&16&)&/16=1&then&OUT&&h378,&8&60&goto&20&输完后按F5键小车就跑起来了。&程序说明:&1。K1、K2同时打开左右电机一起旋转。&2。K1打开左转右停.&3.K2打开右转左停.&我就教这么多剩下的就靠你自己去发挥了。_________________由简单到复杂&由有线到无线&由分散到集中&共同努力&成就未来
给TA发消息
加TA为好友 发表于: 19:07:04 29楼
第十五课&编程入门看完以前的课程你已经可以制作一个简单的自动避障机器人,但是你会发现硬件比较容易制作软件就不那么容易了。发现问题就好,答案:你要开始学习编程.编程的书很多,我也就不教了。这里只教初学者一个秘诀:你需要什么命令就去找这个命令.下面用BASIC编程给大家讲一个编程实例:1.编程要求:a.在屏幕上显示&欢迎进入机器人控制系统&(找到命令为print)b.点亮D1(找到命令为OUT)C。延时(FOR&。。。TO。。)C.清屏(找到命令为CLS)2.运行QBASIC.EXE,进入界面按一下ESC键后输入:10&PRINT&&欢迎进入机器人控制系统&20&OUT&&h378,&121&FOR&A=1&TO&100000:NEXT&A30&CLS输完后按F5键运行。通过以上,我们可以看出编程最基本的就是学会找到要使用的命令和学会命令的用法。第十六课&机器人基础知识(补)1.机器人的手机器人要模仿动物的一部分行为特征,自然应该具有动物脑的一部分功能。机器人的大脑就是我们所熟悉的电脑。但是光有电脑发号施令还不行,最基本的还得给机器人装上各种感觉器官。我们在这里着重介绍一下机器人的“手”和“脚”。机器人必须有“手”和“脚”,这样它才能根据电脑发出的“命令”动作。“手”和“脚”不仅是一个执行命令的机构,它还应该具有识别的功能,这就是我们通常所说的“触觉”。由于动物和人的听觉器官和视觉器官并不能感受所有的自然信息,所以触觉器官就得以存在和发展。动物对物体的软,硬,冷,热等的感觉就是靠的触觉器官。在黑暗中看不清物体的时候,往往要用手去摸一下,才能弄清楚。大脑要控制手,脚去完成指定的任务,也需要由手和脚的触觉所获得的信息反馈到大脑里,以调节动作,使动作适当。因此,我们给机器人装上的手应该是一双会“摸”的、有识别能力的灵巧的“手”。   机器人的手一般由方形的手掌和节状的手指组成。为了使它具有触觉,在手掌和手指上都装有带有弹触点的触敏元件(如灵敏的弹簧测力计)。如果要感知冷暖,还可以装上热敏元件。当触及物体时,触敏元件发出接触信号,否则就不发出信号。在各指节的连接轴上装有精巧的电位器(一种利用转动来改变电路的电阻因而输出电流信号的元件),它能把手指的弯曲角度转换成“外形弯曲信息”。把外形弯曲信息和各指节产生的“接触信息”一起送入电子计算机,通过计算就能迅速判断机械手所抓的物体的形状和大小。   &现在,机器人的手已经具有了灵巧的指,腕,肘和肩胛关节,能灵活自如的伸缩摆动,手腕也会转动弯曲。通过手指上的传感器还能感觉出抓握的东西的重量,可以说已经具备了人手的许多功能。  &在实际情况中有许多时候并不一定需要这样复杂的多节人工指,而只需要能从各种不同的角度触及并搬动物体的钳形指。1966年,美国海军就是用装有钳形人工指的机器人“科沃”把因飞机失事掉入西班牙近海的一颗氢弹从七百五十米深的海底捞上来。1967年,美国飞船“探测者三号”就把一台遥控操作的机器人送上月球。它在地球上的人的控制下,可以在两平方米左右的范围里挖掘月球表面四十厘米深处的土壤样品,并且放在规定的位置,还能对样品进行初步分析,如确定土壤的硬度,重量等。它为“阿波罗”载人飞船登月当了开路先锋。2.机器人的眼睛人的眼睛是感觉之窗,人有80%以上的信息是靠视觉获取,能否造出“人工眼”让机器也能象人那样识文断字,看东西,这是智能自动化的重要课题。关于机器识别的理论,方法和技术,称为模式识别。所谓模式是指被判别的事件或过程,它可以是物理实体,如文字,图片等,也可以是抽象的虚体,如气候等。机器识别系统与人的视觉系统类似,由信息获取,信息处理与特征抽取,判决分类等部分组成。机器认字大家知道,信件投入邮筒需经过邮局工人分拣后才能发往各地。一人一天只能分拣2-3千封信,现在采用机器分拣,可以提高效率十多倍。机器认字的原理与人认字的过程大体相似。先对输入的邮政编码进行分析,并抽取特征,若输入的是个6字,其特征是底下有个圈,左上部有一直道或带拐弯。其次是对比,即把这些特征与机器里原先规定的0到9这十个符号的特征进行比较,与哪个数字的特征最相似,就是哪个数字。这一类型的识别,实质上叫分类,在模式识别理论中,这种方法叫做统计识别法。 机器人认字的研究成果除了用于邮政系统外,还可用于手写程序直接输入,政府办公自动化,银行合计,统计,自动排版等方面。机器识图现有的机床加工零件完全靠操作者看图纸来完成。能否让机器人来识别图纸呢?这就是机器识图问题。机器识图的方法除了上述的统计方法外,还有语言法,它是基于人认识过程中视觉和语言的联系而建立的。把图像分解成一些直线、斜线、折线、点、弧等基本元素,研究它们是按照怎样的规则构成图像的,即从结构入手,检查待识别图像是属于哪一类“句型”,是否符合事先规定的句法。按这个原则,若句法正确就能识别出来。 机器识图具有广泛的应用领域,在现代的工业,农业,国防,科学实验和医疗中,涉及到大量的图象处理与识别问题。机器识别物体机器识别物体即三维识别系统。一般是以电视摄像机作为信息输入系统。根据人识别景物主要靠明暗信息,颜色信息,距离信息等原理,机器识别物体的系统也是输入这三种信息,只是其方法有所不同罢了。由于电视摄像机所拍摄的方向不同,可得各种图形,如抽取出棱数,顶点数,平行线组数等立方体的共同特征,参照事先存储在计算机中的物体特征表,便可以识别立方体了。 目前,机器可以识别简单形状的物体。对于曲面物体,电子部件等复杂形状的物体识别及室外景物识别等研究工作,也有所进展。物体识别主要用于工业产品外观检查,工件的分选和装配等方面。3.机器人的鼻子人能够嗅出物质的气味,分辨出周围物质的化学成分,这全是由上鼻道的粘模部分实现的。在人体鼻子的这个区域,在只有五平方厘米的面积上却分布有五百万个嗅觉细胞。嗅觉细胞受到物质的刺激,产生神经脉冲传送到大脑,就产生了嗅觉。人的鼻子实际上就是一部十分精密的气体分析仪。人的鼻子是相当灵敏的,就算在一升水中放进二百五十亿分之一的乙硫醇(就是一种特殊的具有异常臭味的化学物质),人的鼻子也能够闻出来。 机器人的鼻子也就是用气体自动分析仪做成的。我国已经研制成功了一种嗅敏仪,这种气体分析仪不仅能嗅出丙酮、氯仿等四十多种气体,还能够嗅出人闻不出来但是却可以导致人死亡的一氧化碳(也就是我们通常所用的煤气)。这种嗅敏仪有一个由二氧化锡,氯化钯等物质烧结而成的探头(相当于鼻粘模)。当它遇到某些种类气体的时候,它的电阻就发生变化,这样就可以通过电子线路做出相应的显示,用光或者用声音报警。同时,用这种嗅敏仪还可以查出埋在地下的管道漏气的位置。 现在利用各种原理制成的气体自动分析仪已经有很多种类,广泛应用于检测毒气,分析宇宙飞船座舱里的气体成分,监察环境等方面。这些气体分析仪,原理和显示都和电现象有关,所以人们把它叫做电子鼻。把电子鼻和电子计算机组合起来,就可以做成机器人的嗅觉系统了。4.机器人的耳朵人的耳朵是仅次于眼睛的感觉器官,声波扣击耳膜,引起听觉神经的冲动,冲动传给大脑的听觉区,因而引起人的听觉。机器人的耳朵通常是用“微音器”或录音机来做的。被送到太空去的遥控机器人,它的耳朵本身就是一架无线电接收机。 人的耳朵是十分灵敏的。我们能听到的最微弱的声音,它对耳膜的压强是每平方厘米只有一百亿分之几公斤。这个压强的大小只是大气压强的一百亿分之几。可是用一种叫做钛酸钡的压电材料做成的“耳朵”比人的耳朵更为灵敏,即使是火柴棍那样细小的东西反射回来的声波也能被它“听”的清清楚楚。如果用这样的耳朵来监听粮库,那么在二到三公斤的粮食里的一条小虫爬动的声音也能被它准确地“听”出来。 用压电材料做成的“耳朵”之所以能够听到声音,其原因就是压电材料在受到拉力或者压力作用的时候能产生电压,这种电压能使电路发生变化。这种特就叫做压电效应。当它在声波的作用下不断被拉伸或压缩的时候,就产生了随声音信号变化而变化的电流,这种电流经过放大器放大后送入电子计算机(相当于人大脑的听区)进行处理,机器人就能听到声音了。 但是能听到声音只是做到了第一步,更重要的是要能识别不同的声音。目前人们已经研制成功了能识别连续话音的装置,它能够以百分之九十九的比率,识别不是特别指定的人所发出的声音,这项技术就使得电子计算机能开始“听话”了。这将大大降低对电子计算机操作人员的特殊要求。操作人员可以用嘴直接向电子计算机发布指令,改变了人在操作机器的时候手和眼睛忙个不停而与此同时嘴巴和耳朵却是闲着的状况。一个人可以用声音同时控制四面八方的机器,还可以对楼上楼下的机器同时发出指令,而且并不需要照明,这样就很适宜于在夜间或地下工作。这项技术也大大加速了电话的自动回答,车票的预定以及资料查找等服务工作的自动化实现的进程。 现在人们还在研究使机器人能通过声音来鉴别人的心理状态,人们希望未来的机器人不光能够听懂人说的话,还能够理解人的喜悦,愤怒,惊讶,犹豫和暧昧等情绪。这些都会给机器人的应用带来极大的发展空间。
给TA发消息
加TA为好友 发表于: 19:57:09 30楼
学习了!&&&&&&&&&&&&
给TA发消息
加TA为好友 发表于: 12:17:17 31楼
学习学习,谢谢楼主,希望能发些图片
给TA发消息
加TA为好友 发表于: 22:42:22 32楼
受教了,楼主辛苦了&&慢慢研读&好好学习
给TA发消息
加TA为好友 发表于: 15:55:33 33楼
努力学习,谢谢楼主的肺腑之言
给TA发消息
加TA为好友 发表于: 09:48:28 34楼
受教了,感谢楼主肺腑之言
给TA发消息
加TA为好友 发表于: 11:09:03 35楼
多谢楼主,受教了楼主的指导
给TA发消息
加TA为好友 发表于: 00:31:57 36楼
多谢楼主,受教了楼主的指导
周点击排行周回复排行
[210] [137] [114] [106] [104] [89] [68] [66] [57] [53]
[26] [8] [6] [6] [5] [5] [5] [5] [4] [4]最新求助
[1] [1] [4] [0] [2] [3] [1] [13] [22] [2]

我要回帖

更多关于 机器人任务 的文章

 

随机推荐