网站大量收购独家精品文档,联系QQ:2885784924

单片机教案(第二学期).doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机教案(第二学期)

DP801 单片机教学活动 校本课程(2011——2012第二学期) 海淀区第二实验小学 2012.3 第一课 重复与调用 活动:让0号灯闪5次。 方法一: 15 这种方法简单,但使得程序冗长,浪费时间。如果闪的次数更多,实现起来困难。 方法二:用调用子程序的方法(33) 指令名称 机器码 助记符 操作码 操作数 操作码 操作数 调用 12 00~99(地址) DY N 返回 13 --- FH 调用指令功能:用于调用子程序。把程序中需要多次重复的一段程序作为子程序,需要的时候只要用调用指令就可以了。 返回指令功能:由子程序返回到主程序中调用指令的下一条去执行。是子程序结束的标志。 将方法一中需要重复的程序(0号灯闪1次)作为子程序,写在主程序的后面,在主程序中连续调用5次,即可以实现让0号灯闪5次的效果,大大简化了程序。如下图所示: 主程序一定从起始单元地址输入,然后再输入子程序。主程序与子程序之间可以空若干个单元,主程序以15为结束标志,子程序以13为结束标志。这种方法可以大大简化程序。 【练习】 1.让4号灯闪5次。 2.让2号灯与3号灯交替闪4次。 3.让6个发光二极管由前向后,再由后向前来回跑3次。 4.顺序点亮0至5号发光二极管,再逆序关闭这6个发光二极管,循环6次。 第二课 多子程序调用 活动:让0号灯闪3次,然后1号灯闪3次,再让2号灯闪3次。 当程序中出现多个子程序时,主程序从起始单元地址输入,然后输入子程序,多个子程序之间没有先后次序,执行的顺序由主程序来决定,每个子程序都以13为结束标志。 【练习】 1.让0号灯闪1次,让1号闪2次,让2号闪3次,让3号闪4次,让4号闪5次,让5号闪6次。 2.让0、3号灯交替闪3次,然后1、4号交替闪3次,再2、5号交替闪3次,大循环。 第三课 数码管的显示 1.显示指令(55) 指令名称 机器码 助记符 操作码 操作数 操作码 操作数 显示 05 00~01 XS N 显示指令功能:可以开关数码管。N为00表示关闭;N为01表示打开。当执行关数码管指令后,尽管看不到,但送给数码管的数都是有效的,当再执行开数码管指令后,数码管显示最后一次送给它的数。这条指令是为了节省电源而设置的。 【例1】关闭数码管5秒钟。 0.0. 05 00 02 05 01 15 【例2】让数码管亮5秒钟,灭5秒钟,循环3次。 0.0. 12 10 12 10 12 10 15 1.0. 05 01 02 05 01 05 00 02 05 01 13 试一试:例1与例2中,用奏乐指令来代替延时可以吗?(不可以) 【例3】将0号灯点亮5秒钟,同时关闭数码管。 0.0. 05 00 00 00 02 05 01 15 试一试:此例题用奏乐指令来代替延时可以吗?(可以)说明,奏乐指令不能直接与显示指令搭配使用。 2.送数指令(44) 指令名称 机器码 助记符 操作码 操作数 操作码 操作数 送数 04 00~99 SS N 送数指令功能:将数送到数码管上显示。在DP—801单片机中,只有一个存放数据的单元,就是数码管,因此所有数的操作都是对数码管进行的。 【例4】将30送到数码管上显示5秒钟。 0.0. 04 30 02 05 01 15 问题1:执行此程序后,数码管上不显示30,而是显示时间倒计时。因为延时指令有占用数码管的优先权,此时要想达到延时的效果,只能用奏乐指令。 【例5】将30送到数码管上显示5秒钟后,关闭数码管。 0.0. 04 30 03 00 09 0.5. 05 00 03 00 09 10 05 15 问题2:数码管一直显示30,不执行关闭数码管指令,显然此时用奏乐指令不行,还得用延时指令。 0.0. 04 30 03 00 09 0.5. 05 00 02 05 01 10 05 15 结论:通过此例题说明,当使用送数指令时,不能用延时指令,因为数码管会被占用进行倒计时,此时需要用奏乐指令来延时。 【练习】 1.设计一个十进制和四位二进制对照程序,数码管上显示十进制数,用0、1、2、3这四个灯表示二进制数,灯亮表示“1”,灯灭表示“0”。 十进制数 二进制数 00 0000 01 0001 02 0010 03 0011 04 0100 05 0101 06 0110 07 0111 08 1000 09 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 2.让0号灯亮0.4秒,然后让1号灯亮0.6秒

文档评论(0)

ayangjiayu4 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档