- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器人高级运用编程
基于软件仿真平台下的简易机器人编程教学
湖北省黄石二中 李志
摘要:21世纪被人们誉为智能机器人的世纪,《普通高中技术课程标准(实验)》将《简易机器人制作》作为选修模块引入中学,由于缺乏硬件,机器人教学几乎无法开展。笔者在实践过程中,将Proteus仿真软件引入到简易机器人编程实践的教学中,既解决了机器人教学的开展问题,又将程序设计教学和机器人制作结合起来,大大提高了学生对选修模块的兴趣,同时培养了学生实验能力、实验设计等各方面的能力。
?
关键字:仿真 简易机器人 单片机 Proteus
?
一、引言
?
1.在高中开展机器人教学的必要性和必然性
?
随着智能技术的发展,智能机器人教育走进我们的课堂已经成为必然趋势,智能机器人技术融合了机械造型、电子传感器、计算机软硬件和人工智能等众多先进技术,而这些充分体现了当代信息技术多个领域的重要内容,更是智能技术的结晶。智能机器人作为培养学生能力和素质的智能平台之一,必将承载起信息技术教学新载体的任务,给信息技术基础教育带来新的活力。
?
2.高中开展机器人教学的现状
?
在经济不发达地区,即便是一些条件相对较好的学校,机器人教学也几乎还是空白,咎其原因主要有:硬件条件跟不上,教师也缺乏这方面的培训。因此机器人教学的开展举步维艰。
?
在学习《简易机器人制作》这个模块时,笔者所在学校使用的是由华中科技大学出版社编写的教材。教材简要介绍了简易机器人的“大脑”──AT89S51芯片、简易机器人的编程环境及语言、简易机器人的编程实践等内容。由于没有硬件实验平台,在实际教学中学生对教学内容缺乏实践,因而对用程序控制C51单片机很难理解。
?
3.如何开展机器人教学工作
?
在硬件条件不允许的情况下如何开展机器人教学?笔者在实际教学中,引入Proteus软件,用软件仿真的方法,通过软件仿真的直观效果,让学生轻松的了解程序与硬件的关系,激发了学生学习的兴趣,取得了较好的教学效果。
?
二、基本软件的介绍
?
在整个教学实践中,用到了两个软件:Keil uVision3和Proteus 7 Professional,现介绍如下:
?
1.Keil uVision3:用C语言为89S51系列单片机编写程序,需要有专门的单片机C语言编译器,Keil uVision3就是一个较好的编译软件,用个这个软件,我们可以将C语言程序编译为一个hex文件,烧入到51单片机后,单片机即简易机器人的“大脑”就可以根据程序完成指定的控制。
?
2.Proteus:Proteus软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件。Proteus可以对Keil uVision3等开发工具的程序进行调试。
?
正是基于这个原因,笔者将Proteus引入到机器人教学中。
?
三、教学实例
?
在教材《简易机器人制作》(华中科技大学出版社编写)的第四章,教材简要介绍了简易机器人的硬件实验板,并以单片机控制LED为例,介绍了用C语言控制单片机的实践方法。在教学中,由于没有硬件试验板,学生无法直接看到程序控制单片机的实际效果,因而理解上比较困难。
?
笔者在实际讲授过程中,引入Proteus软件平台很好的解决了实验效果的模拟演示。鉴于刚开始学生对Proteus软件比较陌生,笔者帮助学生搭建好电路,让学生将注意力集中在编写C语言程序编程控制单片机上。以单片机控制单个LED闪烁为例,笔者教学过程如下:
?
教师提前在Proteus中搭建好电路(电路图如下),上课时提出实验任务:编写程序控制连接在P1.0端口上的D1(LED灯),让其闪烁。
?
?
引导学生分析如下C语言程序:
?
#include REG51.H
?
sbit p=P1^0;
?
void delay(void)
?
{
?
? unsigned int i,j,k;
?
? for(i=20;i0;i--)
?
? ???for(j=20;j0;j--)
?
? ?????for(k=248;k0;k--);
?
}
?
Void main( ?)
?
{
?
?? while(1)
?
?? {
?
? ????p=0;
?
?? ???delay( );
?
? ????p=1;
?
? ????delay(? );
?
?? }
?
}
程序分析:
?
(1)void delay( void)自定义函数的功能:实现延时。
?
?
?
?
?
?
?
?
?
?
?
(2) void main( ),程序的主程序。①p=0,给p1.0端口一个低电平,此时LED等亮,然后调
文档评论(0)