单片机
返回首页

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

2016-09-09 来源:eefocus

一、 试验现象:

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

 

二、 试验目的
l 掌握带进位左、右环移指令rlc,rrc的应用
l 进一步熟悉延时程序的应用

 

三、 试验任务分析:
按照上一个试验的思路,该程序的编写思路如下:先作左跑马灯,然后再作右跑马灯,然后让程序不断循环即可。在这个试验里,我们给大家介绍另外两个左、右移指令,先看程序吧。

 

四、 试验程序如下:

 

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进行左环移,图示如下:

单片机学习之七:基本I/O口试验三-左右跑马灯 - 北极星 - 要做一粒好的种子

 

可见,我们如果想让灯从左置右发光,就需要给a赋值0ffh,cy清零,然后左环移8次即可。这就是(1)、(2)语句的含义。
Cy我们以前没有接触过,它又是什么呢?
还记得试验二中,我们提到程序状态字psw吧,它的各位图示如下:可见cy是psw的最高位,是进位标志,表示运算结果是否有进位(或者借位)。如果操作结果在最高位有进位(加法时),或者有借位(减法时),该位为“1”,否则为“0”。
 2、 根据上面的分析,可知(3)语句就是左移的次数
3、 (6)(7)语句的含义自己分析吧。

 

六、课后作业:
试着用别的方法,完成同样的功能。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 开关电源的基本组成及工作原理

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章