微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 跑马灯电路图

跑马灯电路图

时间:10-02 整理:3721RD 点击:
跑马灯电路图




本例实验主要用到了延时子程序,clr,lcall,ajmp 指令, 通过轮流点亮p1.0 …..P1.7 实现效果。用户可以通过此程序的学习, 初步掌握单片机的IO端口操作。

参考程序:  

  ;实验1最简单的8路跑马灯。用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32
  ;可以看到8路灯轮流闪烁
  org 0000h ;开始
  ajmp loop
  org 0030h ;到0030h处避开00-30的敏感地址
  loop:
  mov p1,#0ffh;关闭所有灯
  clr p1.0 ;点亮灯p1.0
  lcall delay ;延时一段时间?
  clr p1.1 ;点亮灯p1.1
  lcall delay
  clr p1.2 ;点亮灯p1.2
  lcall delay
  clr p1.3 ;点亮灯p1.3
  lcall delay
  clr p1.4 ;点亮灯p1.4
  lcall delay
  clr p1.5 ;点亮灯p1.5
  lcall delay
  clr p1.6 ;点亮灯p1.6
  lcall delay
  clr p1.7 ;点亮灯p1.7
  lcall delay
  AJMP LOOP;到最开始loop处重新运行
  delay: mov r5,#20 ;延时。
  d1: mov r6,#40
  d2: mov r7,#248
  djnz r7,$
  djnz r6,d2
  djnz r5,d1
  ret
  end

用的单片机为AT89S51 ,89S51.

希望再接再厉

用了一下代码,这个地方的延时好玩

看我的定时中断编的程序,可以定为1s的亮时间
org 0000h
ljmp main
org 0033h
ljmp intt0
main: mov tmod ,#01h
mov th0,# 3c h
mov tl0,# b0 h
mov r2,#00h
setb ea
setb et0
setb tr0
sjmp$
intt0: mov th0,# 3c  h
       mov tl0,# b0  h
inc r2
cjne r2,#0ah,tab1
setb p1.7
cpl p1.0
tab1: cjne r2,#14h,tab2
   cpl p1.1
cpl p1.0
tab2: cjne r2,#1eh,tab3
   cpl p1.2
cpl p1.1
tab3: cjne r2,#28h,tab4
   cpl p1.3
cpl p1.2
tab4: cjne r2,#32h,tab5
        cpl p1.4
cpl p1.3
tab5: cjne r2,#3ch,tab6
        cpl p1.5
        cpl p1.4
tab6: cjne r2,#46h,tab7
     cpl p1.6
        cpl p1.5
tab7: cjne r2, #50h,next
     cpl p1.7
cpl p1.6
mov r2,#00h
next :reti
end

很厉害呀,要好好学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top