祝孩子们天天健康快乐!

 找回密码
 注册

搜索
热搜: 儿童 教育 英语
查看: 2540|回复: 3
打印 上一主题 下一主题

[原创]少儿单片机教育之指令、地址篇

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-18 00:55:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,好久没有发帖了,实在是因为工作比教繁忙。北京这边的单片机教学实在是比较火热。
但是,再忙还是要坚持发帖,因为实在是想把这个好东西和各位老师分享。
少儿单片机的新学习对象从小学四年级就可以开始,一般是学习DP801单片机,再往上初中学生可以学习DP811,这个是16进制的,再往上可以学习DP831,这个设计到C语言,可以让高中生学习。在北京,这样的分层教学模式已经很稳定了。如果哪位老师感兴趣,可以和我联系,我是北京市单片机协会的会员,并在多所小学任教,我的手机号是13371632388。
以下是我在《中小学创新杂志》发表的第二期内容,图片看不见,我在后面会粘贴附件,供各位老师下载。不过,回复后才可以看见附件。
神奇的单片机DP801之认识篇——请你来当我的指挥官

同学们,我们又见面了。在上一期中我对自己作了一个简单的介绍,现在我们一起来回顾一下上期的知识点:
①DP801单片机的组成:
我由输入部分、主机部分和输出部分组成。输入部分主要包括按键和触点,主机部分主要由中央处理器和存储器组成,输出部分主要包括数码管、小灯和外接喇叭的插座。
②指令的含义:
指令就是告诉我每一步应该做什么的“命令”。它分为两部分,操作码和操作数。操作码表示进行什么操作,操作数说明对谁进行操作。

任务一:进一步学习指令,理解指令和程序的关系;
任务二:认识我的存储器,理解地址的含义;
任务三:学会向单片机输入指令;

通过上一期的学习,同学们已经对指令有了一个大体的认识。要想成为我的指挥官可全靠它了!在这一期里要深入地学习指令。
【任务一】进一步学习指令,理解指令和程序的关系
1.指令的结构
指令从结构上看,分为两大部分:操作码和操作数。


为了便于理解指令的操作码和操作数,我在这里先介绍2条基本指令:
①00 N(00~05):00是操作码,表示进行接通操作,N是操作数,范围是从00到05,指的是我的00号小灯到05号小灯。如果是00 01就是接通我的01号小灯。
②01 N(00~05):01是操作码,表示进行断开操作,N是操作数,范围是从00到05,指的是我的00号小灯到05号小灯。如果是01 01就是断开我的01号小灯。
这只是很简单的两条指令,可以控制我的指令多达将17条。在日后的学习中它们会一一亮相,到时候你们就可以通过它们来使我完成更多更复杂的任务了!
2.指令和程序的关系
现在,大家已经对指令有了一定的认识,我来介绍一个和指令密切相关的新名词——程序。
程序是解决某一问题的一串有序的指令。指令和程序的关系就像句子和文章的关系,一篇文章是由很多个句子组成的,一段程序是由很多条指令组成的。下面这张图说明了指令和程序的关系:


这段程序是由00 00,00 01和00 02这三条指令组成的。执行的时候也是按照这个顺序,我先执行00 00,之后执行00 01,最后执行00 02。


【任务二】认识我的存储器,理解地址的含义
通过上一期的学习,同学们已经知道了向单片机中输入的指令都存储在存储器中,但是大家可能还不太清楚存储器的内部是什么样子的,下图就为你们展示了存储器的内部结构。



0.0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9.
1.0. 1.1. 1.2.
1.3.
     
   
…   
       …  
9.0. 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. 9.7. 9.8. 9.9.


从上图中可以看出我的存储器的内部被分成了许多小单元,一个小单元的大小为一个字节。字节是一个新名词,我们通过例子来理解它,比如00 01这条指令就要占两个字节,00占一个字节,01占一个字节。所以,这条指令要占去存储器中的两个小单元。
每个小单元的中间都有一个编号,用两个加了“.”的数字表示,这就叫做地址。比如,0.0.和0.1.分别代表两个不同的小单元的地址。地址从0.0.开始,按顺序向上递增。0.0.之后是0.1.,0.1.之后是0.2.,接着是0.3.、0.4.、0.5.、0.6.……,以此类推。地址只是一个编号,就像家里的门牌号码一样。它的作用是标识不同的存储单元,但是它本身并不存储在小单元中,真正存储在小单元中的是指令,那么指令是如何存储在这些小单元中的呢?下面,我将通过一个例子向你们展示。
例如:指令00 01占两个字节,这条指令在存储器中是这样存储的:
  0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9.
1.0. 1.1. 1.2. …      
     …   
9.0. 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. 9.7. 9.8. 9.9.


从这张图中,大家可以清楚地看到00 01这条指令在存储器中的存储情况。00占了地址为0.0.的一个小单元,01占了地址为0.1.的一个小单元。
现在同学们已经知道00 01这条指令在存储器中的存储情况了,如果是多条指令在存储器中的存储情况又是什么样子呢?比如下面一段程序:

00 00
00 01
00 02



0.6. 0.7. 0.8. 0.9.
1.0. 1.1. 1.2. …      


…   
       …  
9.0. 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. 9.7. 9.8. 9.9.



上图展示了这段程序在存储器中的存储情况,它们是按顺序排列在小单元中的。00 00这条指令占了0.0.和0.1.号地址;00 01这条指令占了0.2.和0.3.号地址;00 02这条指令占了0.4.和0.5.号地址。
【任务三】学会向单片机输入指令
通过上面的学习,大家已经理解了指令和地址的含义,这就为学习如何把指令输入到单片机中打好了基础。要想向单片机中输入指令请记住下面这句话:
要输入,找地址,找到后,写指令。
这句简单又好记的话说明了向单片机中输入指令的方法,那么怎么来理解它呢?就是要先找到地址再向其中输入指令。通过任务二的学习,大家已经非常清楚指令在存储器中的存储情况了,下面就是怎么具体操作了,你们要通过按键来向我输入指令。请看下面这张DP801单片机的按键图:

按键是我的输入部分,一共有五个,我将一一介绍它们:
RES键:也可以称之为复位键,它的作用是使单片机恢复到初始状态。
D/A键:D在这里的意思是数据,A在这里的意思是地址。按住这个键,数码管上显示的是两个加了“.”的数字,也就是地址;松开这个键,数码管上显示的是两个不带“.”的数字,也就是数据。D/A键就是数据和地址的转换键。
+1键和-1键:+1键和-1键的作用是和D/A键直接关联的。刚才讲过按下D/A键后,数码管上显示的数字代表地址,这时候再按+1键或-1键,就是地址的+1或-1。比如,按下D/A键后,数码管上显示的数字是0.1.,那么再按下-1键显示的地址就变成了0.0.,如果按下+1键,则显示的是地址是0.2.;松开D/A键后,数码管上显示的数字代表指令,这时候再按+1键或-1键,就是数据的+1或-1。
WRI键:WRI键在这里可以理解为“确定输入”。因为在按下WRI键之前指令可以通过+1键或-1键进行调整,如果按下WRI键指令就被真正存储在存储器中了。比如,你想在0.0.地址输入00这个指令,那么你首先要D/A键找到0.0.地址,然后松开D/A键,输入00,这个时候00并没有被真正写入到存储器中,只有按下WRI键后00才真正被存储在存储器中。
说了这么多,我将用一段程序向你们演示一下具体的输入过程:
要输入的程序:
00 01
00 02
00 03
输入的具体方法:
第一步:按下D/A键,通过调整+1或-1键找到0.0.地址。(因为我每次都从0.0.地址开始执行程序,所以要先找到0.0.地址)
第二步:然后松开D/A键,输入第一条指令中的“00”。(在0.0.地址松开D/A键,输入的指令就存储在0.0.地址中;在0.1.地址松开D/A键,接着输入的指令就存储在0.0.地址中,以此类推)
第三步:按WRI键,把指令输入到对应的地址中去。
这样,第一条指令的“00”就被输入到0.0.地址中去了。接着,要输入第一条指令中的“01”了,方法是:先按住D/A键,找到0.1.地址,松开D/A键,把数码管上的数字调整到“01”。最后,再按下WRI键,这样就把“01”存储到0.1.地址中去了,以此类推,把剩下的指令分别存储到0.2.,0.3.,0.4.,0.5.号地址中去。这样,就完成了对这段程序的输入。
又要和你们说再见了,希望你们能认真阅读本期的内容,因为只有深入理解了指令的存储过程才能为日后的学习奠定一个良好的基础,下期见!

第二期 请你来当我的指挥官.rar

提示:如不能下载请穿越到老儿教
非老儿教一年级以上会员,请先申请帐号

105.16 KB, 下载次数: 20, 下载积分: 金币 -1

评分

参与人数 1威望 +10 金币 +10 收起 理由
hq1966 + 10 + 10  谢谢你

查看全部评分

回复

使用道具 举报

2#
发表于 2008-1-18 20:52:40 | 只看该作者
小学生学单片机太早点了吧?
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2008-1-21 18:19:43 | 只看该作者
这个单片机和一般那种高级的单片机是不一样的,它是北京单片机协会开发的专门为了中、小学学生学习的教具,
用的是宏命令,比如:开00号灯的指令是00 00;
让00号小灯亮2秒的指令是:
0.0.    00 00
0.2.    02  02 01
0.5.    15
注:前面带点的表示地址。
这个孩子比较容易接受,而且输入指令后,马上就能让孩子看见效果,所以学生是很乐意学的。
在北京,已经有很多小学生学习了。
除此之外,DP801还有配套的车,学生自己输入指令控制车。现在的小学生都很聪明,我这边最小的才四年级。
现在全国都在大力发展科技,很多学校要开科技课,很多学校就选的是单片机,如果感兴趣的话,可以和我联系,
手机号:13371632388
回复 支持 反对

使用道具 举报

4#
发表于 2008-7-30 10:06:37 | 只看该作者

11

上面那些单片机教案谁发布的  能和我联系一下么 我也是一个学校的单片机老师 我联系方式是13601129524
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

601|

小黑屋|手机版|新儿教资料网-祝孩子们天天健康快乐! ( 闽ICP备19010693号-1|广告自助中心  

闽公网安备 35052502000123号

GMT+8, 2025-5-10 17:46 , Processed in 0.189430 second(s), 33 queries , Redis On.

Powered by etjy.com! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表