您的位置 首页 方案

单片机学习之七:根本I/O口实验三-左右跑马灯

一、 试验现象:二极管从左至右,然后从右至左作跑马灯变换,灯光变换的间隔时间是1s。二、 试验目的掌握带进位左、右环移指令rlc,rrc的应用进一步熟悉延时程序

  一、 实验现象:

  二极管从左至右,然后从右至左作跑马灯改换,灯火改换的间隔时间是1s。

  二、 实验意图

   把握带进位左、右环移指令rlc,rrc的使用

   进一步了解延时程序的使用

  三、 实验任务剖析:

  依照上一个实验的思路,该程序的编写思路如下:先作左跑马灯,然后再作右跑马灯,然后让程序不断循环即可。在这个实验里,咱们给咱们介绍其他两个左、右移指令,先看程序吧。

  四、 实验程序如下:

  org 0000h

  clr p1.5

  start: mov a,#0ffh ;(1)

  clr c ;(2)

  mov r2,#08h ;(3)

  loop1: rlc a ;(4)

  mov p0,a

  call del1s ;调用1s延时子程序

  djnz r2,loop1 ;假如左移8次,则开端右移,不然,持续左移

  mov r2,#06h ;(6)

  loop2: rrc a ;(7)

  mov p0,a

  call del1s

  djnz r2,loop2 ;

  ljmp start

  ;以下是延时1s的子程序

  del1s: mov r7,#100

  del1: mov r6,#20h

  del2: mov r5,#0ffh

  del3: djnz r5,del3

  djnz r6,del2

  djnz r7,del1

  ret

  end

  五、注释

  1、 先看看(4)句子,它的意思是累加器A经过C进行左环移,图示如下:

  

 

  可见,咱们假如想让灯从左置右发光,就需要给a赋值0ffh,cy清零,然后左环移8次即可。这便是(1)、(2)句子的意义。

  Cy咱们曾经没有触摸过,它又是什么呢?

  还记得实验二中,咱们说到程序状态字psw吧,它的各位图示如下:可见cy是psw的最高位,是进位标志,表明运算成果是否有进位(或许借位)。假如操作成果在最高位有进位(加法时),或许有借位(减法时),该位为“1”,不然为“0”。

  2、 依据上面的剖析,可知(3)句子便是左移的次数

  3、 (6)(7)句子的意义自己剖析吧。

  六、课后作业:

  试着用其他办法,完结相同的功用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/299107.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部