标题: 单片机广告灯汇编程序及原理图 [打印本页]

作者: bailey    时间: 2017-7-1 20:45
标题: 单片机广告灯汇编程序及原理图
     实验电路图及软件仿真图如下:



发光二极管每次P1输出的地址

  
P1.7
  
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
说明
  
D8
  
D7
D6
D5
D4
D3
D2
D1

  
1
  
1
1
1
1
1
1
0
D1亮
  
1
  
1
1
1
1
1
0
1
D2亮
  
1
  
1
1
1
1
0
1
1
D3亮
  
1
  
1
1
1
0
1
1
1
D4亮
  
1
  
1
1
0
1
1
1
1
D5亮
  
1
  
1
0
1
1
1
1
1
D6亮
  
1
  
0
1
1
1
1
1
1
D7亮
  
0
  
1
1
1
1
1
1
1
D8亮




单片机汇编语言程序:

ORG 30H             起始指令30H
   CYC1 EQU 200        给CYC1赋值200
   CYC2 EQU 125        给CYC2赋值125
   MOV A,#0FEH         给A赋值FE
   MOV P1,A            将控制字送至端口P1     
   MOV R2,#7           给工作寄存器R2赋值一个常数7
DOWN: RLA                将控制字循环左移FD
   ACALL DEL50         调用下面的DEL50,用于延时50ms
   MOV P1,A            把A输出P1,第二个灯亮
   DJNZ R2 ,DOWN       R2减1若不为0,则跳转到DOWN
   MOV R2,#7           给R2赋一个常数7
UP:    RR A               控制字循环右移7E
   ACALL DEL50         调用下面的DEL50
   MOV P1,A            把控制字送至端口P1
   DJNZ R2,UP          R2减1若不为0跳转到UP
   MOV R2,#7           把7赋给R2
   SJMP DOWN           相对跳转到上面的DOWN形成死循环
DEL50:MOV R7,#CYC1       延时50ms
DEL1:  MOV R3,#CYC2       延时1ms
DJNZ  R6,$                R6减1若不为0则原地踏步
DJNZ  R7,DEL1             R7减1若不为0则返回到DEL1
RET                       堆栈中
END                       结束






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1