51单片机日记:从最简单的点小灯开始

 

对于P0 P1 P2 P3的端口的写,直接送数即可。虽然可以查到这些端口的地址,但是是无法直接写数到地址的。所以也就不需要记住他们的地址鸟,直接往端口送数即可。如果想直接操作P2.0 P2.1这样的端口,用位操作即可。延时程序嘛就是给单片机一些数让它去循环,时间是循环次数*指令的周期/机器周期的结果。

 

  1.         ORG             000H 
  2.         LJMP            MAIN 
  3.         ORG             030H 
  4. MAIN:   MOV             P2,     #00H 
  5.         LCALL           DELAY 
  6.         SETB            P2.0 
  7.         LCALL           DELAY 
  8.         SETB            P2.1 
  9.         LCALL           DELAY 
  10.         SETB            P2.2 
  11.         LCALL           DELAY 
  12.         SETB            P2.3 
  13.         LCALL           DELAY 
  14.         SETB            P2.4 
  15.         LCALL           DELAY 
  16.         SETB            P2.5 
  17.         LCALL           DELAY 
  18.         SETB            P2.6 
  19.         LCALL           DELAY 
  20.         SETB            P2.7 
  21.         LCALL           DELAY 
  22.         LCALL           MAIN 
  23.  
  24. DELAY:  MOV             R5,     #04H 
  25. F3:     MOV             R6,     #0FFH 
  26. F2:     MOV             R7,     #0FFH 
  27. F1:     DJNZ            R7, F1           
  28.         DJNZ            R6, F2 
  29.         DJNZ            R5, F3 
  30.         RET 
  31.         END 

 
呃,其实自己也觉得代码有点儿傻,记录吧,一点点儿来~~~

 

5 thoughts on “51单片机日记:从最简单的点小灯开始

  1. 奶牛呀,你直接用汇编玩呀,膜拜哦。如果不是学科要求的话,直接C呀,要快速搭接项目的话,用 arduino,会轻松很多。

Comments are closed.