新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用单片机控制的流水灯设计

用单片机控制的流水灯设计

作者:时间:2013-01-18来源:网络收藏

  ORG 0000H ;单片机上电后从0000H地址执行

  AJMP START ;跳转到主程序存放地址处

  ORG 0030H ;设置主程序开始地址

  START:MOV SP,#60H ;设置堆栈起始地址为60H

  MOV DPTR,# TAB ;流水花样表首地址送DPTR

  LOOP: CLR A ;累加器清零

  MOVC A,@A+DPTR ;取数据表中的值

  CJNE A,#0FFH,SHOW;检查流水结束标志

  AJMP START ;所有花样流完,则从头开始重复流

  SHOW: MOV P1,A ;将数据送到P1口

  ACALL DELAY ;调用延时子程序

  INC DPTR ;取数据表指针指向下一数据

  AJMP LOOP ;继续查表取数据

  DELAY:  ;延时子程序

  MOV R0,#255   ;延时一段时间

  D1: MOV R1,#255

  DJNZ R1,$

  DJNZ R0,D1

  RET nbsp; ;子程序返回

  TAB:     ;下面是流水花样数据表,用户可据要求任意编写

  DB 11111110B ;二进制表示的流水花样数据,从低到高左移

  DB 11111101B

  DB 11111011B

  DB 11110111B

  DB 11101111B

  DB 11011111B

  DB 10111111B

  DB 01111111B

  DB 01111111B ;二进制表示的流水花样数据,从高到低右移

  DB 10111111B

  DB 11011111B

  DB 11101111B

  DB 11110111B

  DB 11111011B

  DB 11111101B

  DB 11111110B

  DB 0FEH,0FDH,0FBH,0F7H ;十六进制表示的流水花样数据

  DB 0EFH,0DFH,0BFH,7FH

  DB 7FH,0BFH,0DFH,0EFH

  DB 0F7H,0FBH,0FDH,0FEH

  ……

  DB 0FFH ;流水花样结束标志0FFH

  END ;程序结束

  4.结语

  当上述程序之一编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到AT89C51单片机中,最后连接好电路通电,我们就看到LED1~LED8的“流水”效果了。本文所给程序实现的功能比较简单,旨在抛砖引玉,用户可以自己在此基础上扩展更复杂的控制,比如键盘控制流水花样、控制显示数字或图案等等。

  参考文献:

  [1]徐煜明,韩雁.单片机原理及接口技术[M].北京:电子工业出版社,2005.1

  [2]万光毅,严义,邢春香.单片机实验与实践教程[M].北京:北京航空航天大学出版社,2006.4

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理



上一页 1 2 3 下一页

关键词: 单片机控制 流水灯

评论


相关推荐

技术专区

关闭