DP811程序总览_第1页
DP811程序总览_第2页
DP811程序总览_第3页
DP811程序总览_第4页
DP811程序总览_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DP-811 简介   DP-811 简介  DP811智能试验器的特点:(参见照片:DP-811和811应用)                 1、它以“技术分身三点通”明确的目标指导试验,是“先总体把握,后分别深入”的学习模式,更适合少年儿童。      2、化解了“编程序”和“器件连接”方面的拦路虎,又提供生动、直观的、原理性的学习、试验环境。在主机板

2、上就能完成:编程、开灯、关灯、写字、奏乐、碰撞等实验。      3、扩展性好。容易与玩具、家电连接,实用价值大,是支撑创新思维的好环境。  DP-811的配置1)  主板对8条I/O口线(AT89C2051的P1口)可以进行位操作和字节操作;加上扩展板可以完成对32条输入输出口线的“位”操作或分为4组的“字节”操作。2)  有256字节的程序存储器,可以编写较大的应用程序。3)  有8个工作寄存器,都可以用作256以内的加法、数字比较转移、减1不等于0转移等操作。其内容还可以分别显示在数码管上

3、。4)  21条宏指令可以编写顺序程序、分支程序、多重循环程序、子程序等多种程序。5)  有0.1秒、1秒、分、小时的延时指令和高、中、低3个8度音乐指令,消除了孩子们编写程序的拦路虎。6)  DP-811主板上多处留有跳线口,便于做各种原理性实验。例如:点灯、发声、写字、碰撞的基本原理实验。7)  配件丰富。有:单三极管驱动器、六三极管驱动器、双继电器驱动器、变光演示器、碰触开关、红外开关、红外探测器、交流电源控制插座、步进电机控制板、语音录放控制板、双向无线通信收发部件等。都可以实际应用,例如设计机器人。口线扩展板还可以将DP-811的8条I/O口线

4、扩展为16条输入线和16条输出线。8)  器材连接方便,即扫除了硬件制作方面的拦路虎,还便于做原理讲解的演示。所有器件在整个DP-81系列中都可以应用。 可以支持小学生参加“制作机器人”的活动。给孩子们提供的学具满足了下列要求:1)   让孩子们在知道“机器人”的智慧是从哪里来的。是人将自己处理问题的思想智慧“数字化”,装到计算机里;中央处理器(CPU)按着人的想法一丝不苟地去做事情,人的思想在计算机里就“活”起来了。要求通过学具试验让学生知道:思想、智慧如何数字化,放到计算机的什么地方,它怎样才能“活”起来。2)计算机是用0、1代替人手开机器。通过学具

5、试验就要让学生知道:为什么要用0、1代替人手开机器;0、1为什么能开机器;它能开多么复杂的机器?3)  用“将外部信息转换成0、1数字”的方法,给机器安装眼睛、耳朵等感觉器官。通过学具试验就要学生学懂:机器碰到了障碍物, 碰撞怎样变成0、1?有光、没有光线是怎么转化成0、1的等等。4)  给孩子们提供的学具,要扫除软件、硬件方面的拦路虎。让孩子容易学、使用方便,能随意组合。还要便于讲述原理知识。5)  价格要低廉,才适合中国国情。6)  学具应该系列设计,要为深入学习软件和硬件方面的知识打好基础。    7)用这套器材参加机

6、器人设计竞赛,有四所学校获得北京市一等奖:西城外语学校(初中)、中古友谊小学、161中学(高中)、214中学(初中)DP-811指令表指令名称机器码助记符符号说明送零00(0007)SL    zhhzhh 输出针号送壹01(0007)SY    zhhzhh 输出针号延时02(00FF)(0003)YSH   shj  ,dwshj 数据;    dw 单位奏乐03(0027)(0109)ZY    yg  , ych yg 音高;&

7、#160;    ych 音长存数04(0007)(00FF)CSH   jch , shjjch寄存器号;shj 数据显示05(0007)(0001)XSH   jch , kgjch寄存器号;kg 开关加数06(0007)(00FF)JASH  jch ,shjjch寄存器号;shj 数据减一不等零转07(0007)(00FF)JBDZ  jch ,dzhjch寄存器号;dzh 地址号壹转08(0007)(00FF)YZH   zhh ,dzhzhh输入针号;dzh 地址号零转09

8、(0007)(00FF)LZH   zhh ,dzhzhh输入针号;dzh 地址号送数0A(0002)(0007)SSH   kh , jchKh输出口号;jch寄存器号取数0B(0007)(0002)QSH   jch ,khjch寄存器号;kh输入口号反相0C(0007)FX    jchjch寄存器号空操作0DKCZ 定时0E(00FF)(0003)DSH   shj ,dwshj 数据;    dw 单位结束0FJESH 无条件

9、转移10(00FF)ZHY   dzhdzh 地址号数等转11(00FF)(00FF)SHDZ  shj ,dzhshj 数据;    dzh 地址号调用子程序12(00FF)DY    dzhdzh 地址号返回13     FH   移位14(0007)(0001)YW  jch ,zy      jch寄存器号;zy 左右说明:助记符栏的左边一列是指令名称的汉语拼音缩写;右边两列由符

10、号说明栏注释。 四.指令说明指令是人给中央处理器(CPU)下的命令的一种书写方式,它有两种作用:一,让人好懂好用。二,也能让中央处理器懂得和执行。人看到这个指令就能知道这是让中央处理器去做什么事情;中央处理器取到这个指令也能知道应该去做什么。人认识文字,中央处理器只认识十六进制数。怎么把它统一起来呢?方法是一条指令用两种方式来书写。就是说每一条指令都有助记符形式和机器码形式。例如“延时3 秒”这条指令。“延时”的汉语拼音字符是yanshi,缩写后大写成YSH。“3” 是数据。“数据” 的汉语拼音的字符是shuju ,缩写后小写是 shj。“秒”是时间的单位。“单位” 的汉语拼音的字符

11、是danwei ,缩写后小写是dw。在指令表中助记符一栏中写成“YSH  shj ,dw ” ,这是“延时” “数据” ,“单位”的汉语拼音缩写形式,是给人看的;这条指令的机器码形式是:“02 ()()” 。 机器码与助记符的书写格式是一一对应的。02对应YSH,就是说02 是YSH的代号,中央处理器看到02就知道让它做延时。在这个位置上的数据(黑体字)称做操作码。两个()对应shj和dw,没有具体数据时就写上两个()占领位置。如果数据是3 ,就在左边的()处写上03,若单位是秒,就在右边的()处写上01 (01是秒的代号)。()处的数据称做操作数。有了数据和单位的指令的机器码就写成

12、“02  03  01” 。这种形式是给中央处理器用的。       1、指令名称机器码助记符送  零00  (0007)SL  zhh                              &#

13、160;                                说明:SL是“送零” 汉语拼音的缩写。zhh是“针号” 汉语拼音的缩写,代表的是Z1针座上,左侧标有P1.0  .P1.7编号的针。00就代表P1.0处这根针,07就代表P1.7处这根针。指令功能是:将“0”

14、 送到zhh所指的那条针处。此时的针是作为输出口来使用的。如果这根针与发光二极管电路相连接,发光二极管就被点亮。指令的操作码是 00 (黑体字符),操作数只有一个,是00 07中的一个。举例:若点亮D4发光二极管,助记符指令就写成:SL  04 。机器码形式就写成:00  04 。    2、指令名称机器码助记符送 壹01 (00-07)SY  zhh               

15、60;        说明:SY 是“送壹” 汉语拼音的缩写。zhh 是“针号”汉语拼音的缩写,代表的是Z1针座上,左侧标有P1.0  .P1.7的编号。00就代表P1.0处这根针,07就代表P1.7处这根针。指令功能是:将“1” 送到zhh所指的那条针处。如果这根针与发光二极管电路相连接,发光二极管已被点亮,这个“1”就将发光二极管关闭。指令的操作码是 01(黑体字符);操作数只有一个,是00 07中的一个。举例:若关闭D4发光二极管,助记符指令就写成:SY  04 。机器码形式就写成:01 

16、 04 。    3、     指令名称机器码助记符延 时02(00FF)(0003)YSH  shj  ,dw               说明:YSH 是“延时” 汉语拼音的缩写。Shj 是“数据” 汉语拼音的缩写,它的取值范围是00-FF(十六进制数)。dw是“单位” 汉语拼音的缩写,给延时单位规定的代号是:03 代表“小时”,02代表“分”,01代表“秒”。0

17、0代表“0.1秒”。例如:延时10分钟。助记符指令就写成YSH  0A ,02  。延时指令的操作码是02 。机器码指令就写成 02  0A  02 。指令功能是:令中央处理器停在那里,等10分钟。 4、指令名称机器码助记符奏 乐03 (0017)(0109)ZY  yg  ,Ych   说明:ZY 是“奏乐” 汉语拼音的缩写。               

18、                                                  

19、                                            yg是“音高” 汉语拼音的缩写,例如简谱上的“6”这个唱名,若6(上方有点)是高八度的音,代

20、号26。高八度音的代号范围是:21-27;若唱名6(下方有点),是低八度音,                                           

21、0;                                                  

22、60;                         代号是06。低八度音的代号范围是:01-07;若唱名6(上方、下方都不带点),是中八度音,代号是16。中八度音的代号范围是:11-17。休止符“0”的代号是00。Ych 是“音长” 汉语拼音的缩写。简谱的音长符号也规定了代号。代号规定如下:还用“6”这个音名为例,在它的下面或右边记有各种符号,有点、也有

23、横线。6 (唱                                                 

24、;                                                  

25、;            =     名下面有两条短横线),是16 分音符,代号是01;6(唱名下面有一条短横线),是8 分音符,代号是02;6  (唱名下边有一条短横线,右侧有一个点)是8分符点音符,代号是                 -   

26、          03;6 (只有唱名没有符号),是4 分音符,代号是04 ;6· (唱名右侧有一点),是四分符点音符,代号是05 ; 6 (唱名右侧有一条横线)是2分音符,代号是06 ;6 (唱名右侧有两条横线)代号是07;6 (音名右侧有三条横线)代号08 ;09是延长音。使用时将简谱的每一个唱名都换成音高、音长的代号。              &#

27、160;                           例如 :5 6    5 3                    

28、                                                   

29、;            助记符                     机器码ZY  15 ,06               03  1

30、5  06 ZY  16 ,04               03  16  04ZY  05 ,06               03  05  06ZY  23 ,04     

31、0;         03  23  04JESH                      0F  5、指令名称机器码助记符存 数04 (0007)(00FF)CSH  jch  shj     说明:助记符CSH j

32、ch ,shj 的含义是“存数” “寄存器号” “数据” 。功能是:将数据存放到寄存器号指定的寄存器中。DP811中共有8个寄存器,编号是从00-07。一条指令只能给一个寄存器存放数据。Jch 代表这8个编号中的1 个。Shj 的取值范围是00-FF。例如将数据7D存入02号寄存器。助记符写成:CSH  02 ,7D 。机器码写成:04  02  7D 。          6、指令名称机器码助记符显  示05 (0007)(0001)XSH  jch ,kg

33、60;              说明:XSH  jch ,kg  的含义是:“显示” “寄存器号” ,“开关”。Jch 的取值范围是:00-07  ,用来选择寄存器。Kg 代表两种状态:“开” 就是在数码管上显示,代号是01 ;“关” 就是关闭数码管,代号是00 。指令的功能有两个:一是选定寄存器;二是确定是否显示。例如:将0 号寄存器中的数据显示在数码管上。助记符形式是:XSH  00 ,01 。机器码形式是:05

34、0; 00  01 。为了节约电能关闭数码管,就写成 XSH  00 ,00 和05  00  00 。 7、指令名称机器码助记符加 数06 (0007)(00FF)JASH  jch ,shj    说明:助记符 JASH  jch ,shj  的含义是:“加数” “寄存器号” ,“数据” 。jch 的取值范围是:00-07 。shj 的取值范围是:00-FF 。指令功能是:将jch 指定的寄存器中的数据取出来,与指令中的数据相加,再放回到寄存器中去。例如,6号寄存器原先存有数据 ,

35、现在要给它加上05 。写成助记符形式是:JASH  06 ,05 ;写成机器码形式是:06  06  05 。   8、指令名称机器码助记符减一不等零转07 (0007)(00FF)JBDZ  jch ,dzh                        说明:助记符JBDZ  jch  ,dzh

36、 的含义是:“减一不等于零转移” “寄存器号” ,“地址号” 。功能是:先做减1,再做判断是否转移 。执行过程是:先将jch 寄存器中的数据减1 ,再判断余下的数据是否为0 ,若不为0 (条件成立),就转移到dzh去执行;若是为0 (条件不成立),就顺序执行。指令的机器码是:07 ()() 。应用举例:让D3 灯亮1 秒,灭1 秒,共做12次。  地址    机器码      助记符           &

37、#160;注释            00 -   04  01  0C    CSH  01 ,0C   ;在1号寄存器中存入12 (换成十六进制数是0C)  03-    00  03     L:SL  03       &

38、#160; ;点亮D3灯  05-    02  01  01    YSH  01 ,01   ;延时1 秒  08-    01  03         SY  03         ;关闭D3 灯  0A-   02

39、0; 01 01      YSH  01 ,01   ;延时1 秒  0D-   07  01  03    JBDZ  01 ,L   ;1号寄存器减1,若不等于0,就转移到标号L 去执行;  10-   0F             JESH 

40、          ;若等于0 ,就顺序执行结束指令。                           9、指令名称机器码助记符壹 转08 (0007)(00FF)YZH  zhh ,dzh     

41、60;      说明:助记符YZH  zhh  ,dzh 的含义是:“壹 转” “针号” ,“地址号” 。先说“转”移,中央处理器执行程序是按着地址号由小到大顺序进行的。这条指令使CPU执行的程序顺序产生了分支。就是说可能是顺序执行,也可能是转移到别处去执行。起决定性作用的是条件。条件成立就转移;条件不成立就顺序执行。“针号”的含义在送零指令中已做解释。此时的针是作为输入口来使用的。指令的功能是:外边将0 或1 信号送到zhh号针上,中央处理器检查针上的信息状态,如果是“1”(条件成立) 就转移到dzh 地址去执行;如果不是“1”(

42、条件不成立)就顺序执行。指令对应的机器码是:08 ()() 。 应用实例见附录2的例10:抢答器。                10、     指令名称机器码助记符零 转09 (0007)(00FF)LZH  zhh  ,dzh               

43、             说明:助记符LZH  zhh  ,dzh 的含义是:“零转” “针号” ,“地址号” 。解释与“壹转”相似,不同的是条件。Zhh号针收到的信息为0 就转移到dzh去执行;为1 就顺序执行。指令对应的机器码是:09 ()() 。例如:如果3 号针为0 就转移到3D号地址去执行。助记符形式写成:LZH  03 ,3D ;机器码形式写成:09  03  3D 。应用实例见附录2的例8:一键控制两盏灯。

44、60;        11、指令名称机器码助记符送 数0A (0002)(0007)SSH  kh ,jch                                 说明:助记符SSH  kh

45、 ,jch 的含义是“送数” “口号” ,“寄存器号” 。寄存器号仍是00-07之中的一个。“口号”指的是输入输出口(英语缩写是:I/O 口,含义是即可以做输入,也可以做输出)的编号,这里指得不是单个针的编号,而是8根针的集体的编号。在DP811板上P1.0-P1.7这8根针的编号是 00 。在扩展板上还有 01和02口。指令的功能是:将jch指定的寄存器中的数据,送到kh指定的输出口。机器码是:0A ()() 。应用举例:点亮4 只红色发光二极管。   地址     机器码     

46、 助记符         注释   00-    04  02  66   CSH  02  66  ;“66H”对应二进制是:01100110                     &#

47、160;                 将66存入2号寄存器   03-    0A  00  02   SSH  00  02  ;将2号寄存器中数据送00口,   06-    0F       

48、;    JESH         ;结束        12、 指令名称机器码助记符取 数  0B(0007)(0002)QSH  jch ,kh      说明:助记符QSH  kh ,jch 的含义是 “取数” “寄存器号” ,“口号” 。寄存器号仍是00-07之中的一个。“口号”指的是输入输出口的编号,不是单个针的编号,而是8根针

49、的集体的编号。在DP811板上P1.0-P1.7这8根针的编号是 00 。在扩展板上还有 01和02口。指令将8 根针都看成是输入口。功能是:将外界送到kh口的数据取进来,存放到jch 指定的寄存器中。例如:将00口的数据取来,放到5号寄存器中。助记符              机器码QSH  05,00        0B  05  00  &#

50、160;             13、指令名称机器码助记符反 相0C  (0007)FX  jch                       说明:助记符 FX  jch  的含义是:“反相” “寄存器号” 。指令的功能是:将

51、jch 指定的寄存器中的二进制数反相。例如,03号寄存器中保存的二进制数是 :01010101 (十六进制数是:55)。反相后的二进制数是:10101010 (十六进制数是:AA )。此例写成助记符形式是:FX  03 。写成机器码形式是:0C  03 。   14、指令名称机器码助记符空 操 作0D kcz 说明:助记符kcz的含义是空操作,CPU取这条指令后什么事情都不做就去下一条指令了。机器码只有操作码0D。   15、   指令名称机器码助记符定 时0E(00FF)(0003)DSH 

52、shj ,dw                         说明:助记符DSH  shj ,dw 的含义是“定时” “数据” ,“单位” 。本指令的shj和dw 与延时指令相同。与延时指令不同的是:中央处理器不用停在那里等待了,可以去做些别的工作。但是,要随时检查“08”这个“位”。因为定时未到“08”这个“位”是1 ;定时时间到了“08”这个“位”就变

53、为0 。只要及时检查到这个位为0 ,就知道“定时”的时间到了。“08”这个“位”是隐身的,只能用LZH(零转)指令检测它。机器码形式是:0E ()()。例如一分钟跳绳,令中央处理器负责计时和计数。一分钟未到就继续计数;一分钟时间到停止计数,点亮红灯。          机器码                 助记符   

54、0;      0E  01  02            DSH  01,0        ;设下一分钟定时           .    L:  处理计数   

55、60;      .          .       LZH 08,L             09  08  L     ;检查“08”是否为0 ,若不为0转移到L,继续处理计数;若为0 则顺序执行 

56、60;                                       SL  00          &#

57、160;   00  00           ; 点亮红灯        JESH                           &

58、#160;     ; 结束。应用实例见附录2的例15: 定时计数。   16、      令名称机器码助记符结束0FJESH    说明:助记符 JESH  的含义是:“结束” 。功能是令中央处理器停止执行程序 ,并且保持现场。按一下 +1 键才恢复到初始状态(显示JC )。只有操作码 0F 。             

59、60;    17、 指令名称机器码助记符无条件转移10  (000F)ZHY  dzh 说明:助记符 ZHY  dzh  的含义是: “转移” “地址号” 。功能是:无条件地转移到dzh指定的地址去执行 。这条指令阻止中央处理器继续顺序执行程序,也不产生分支,只是转移到dzh地址去。(注意:容易造成死循环)。机器码是:10 () 。例如:令中央处理器到00地址去执行 。书写方式是;     助记符      

60、60;      机器码            ZHY  00            10  00                 18、 指令名称机器码助记符数 等 转

61、11 (000F)(000F)SHDZ  shj ,dzh           说明:  助记符 SHDZ  shj ,dzh  的含义是:“数等转” “数据” “地址号” 。数据的取值范围是:00-FF;地址号的取值范围是:00-FF。指令的功能是告诉中央处理器执行指令的方法:先做两个数的比较判断,若两数相等就做转移的工作。从指令上看只有一个数,跟谁比?跟刚刚用过的寄存器中的数据比。这一点应特别注意。刚刚用过的寄存器中的数据与本指令中的数据相等,就转移到

62、地址号指定的地址去执行;若不相等,就顺序执行。例如:一个教室只有50 个座位,中央处理器负责统计人数和控制着门的开关。用0 号寄存器记录进入的人数。不满50人,就开着门做统计人数的工作;人数够了50(十六进制数是32H) ,就关上门。假定关门的程序在46H号地址。因为统计人数用的是0 号寄存器(没用过其他寄存器)。指令的助记符形式就写成:SHDZ  32 ,46 ;机器码形式就写成:11  32  46 。中央处理器执行这条指令时,就拿0 号寄存器中的数据和32 作比较,若相等就转移到46H地址执行程序;若不相等,就顺序执行程序。 19、指令名称机器码助记符调用子程序12  (000F)DY   dzh     说明:助记符DY  dzh 的含义是:“调用” “地址号” 。这个“地址号”是子程序的首地址号,“调用”也有转移的意思

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论