原创 单片机学习笔记 1---散转

2009-8-12 16:22 2229 9 9 分类: MCU/ 嵌入式

来源 CEPARK网站http://www.cepark.com/Index.html  作者: hnrain


今天忘了把源程序考过来了,明天不上


~g7h|/O KP"k K&V42756 电子园51单片机学习网2h0[ K/Fr([-G


顺便求助一下,如何把protel 中的图纸贴到博客里,不要转成图片,不清楚电子园51单片机学习网$x ]3~Dy7sf Hi


aa5g%fX,]e42756;**************************************************************************电子园51单片机学习网#l;uQi%x
;程序名:散转程序试验
Rjn-F X!bZ*W42756;说明: 开使后led1亮,按下任何按键,寄存器r0从零加起,根据r0内容,程序散转到
1~ J8Z tj)L0D42756;相应处执行,以点亮不同的led
0yA^*]&j;Qn/}-t'G}42756;入口: p3.0--p3.3
+Q+H&P*[7r0m a-W.E42756;出口: P0电子园51单片机学习网vA9`F_b
;练习日期:2007--06--17     好心情电子园51单片机学习网3ke!lu!r


.^D;T$@;m dGu$Y8F42756;修正日期:2007--06--18    
#ml%I5GH42756;修正内容:将原来用ljmp的部分换为ajmp,将R0结束值改为08电子园51单片机学习网iMQ"KK-Y:p
;**************************************************************************
G#WC!p |F8G"o42756   org   0000h
(c'JYYCH!KH42756   ljmp   main
;wUG6s Em42756   org   0030h
5R,U2b'u7[{42756main:  mov   p0,    #07fh     ;初始化p0口,led1点亮
q V'XY ?w$h0y(L42756   mov   r0,    #00h     ;初始化R0,使R0置1
1p"S4l Sc ZQ42756;**********************按键检测********************************************
"P(Q2B5F.P-P42756st:  mov   P3,    #0Fh     ;设置P3口,为检测按键做准备,将p3低3位置0电子园51单片机学习网$L,xie7Wt2\m2X
   mov   a,     p3      ;读p3口状态
9g8ylW|E.mm}42756   cjne   a,     #0fh,   F1  ;判断是否有按键按下,若有则跳到F1 处(比较转移,比较a与#0fh的大小
LX1xdR'i2~42756                  ;若不相等,责转移,否则顺序往下执行,如果第一个数大于第二个数,则CY
q"_-m/Xw4@42756                  ;清零,否则置1,不影响其它操作位,3字节指令
,Q#?!uz!q%QJw42756   acall   del 电子园51单片机学习网+_9O|n#}TS/r3Gs
   ajmp   st电子园51单片机学习网'c8rrV6C:N"v2m
;**********************去抖动***********************************************电子园51单片机学习网C YpY$ppJ
F1:  acall   del          ;延时电子园51单片机学习网H7o.G-BF.G
   cjne   a,     #0fh,   f2  ;再次判断按键,若按下,则区按键处理程序,否则为干扰
"TeM;n+pr42756   ajmp   st
:xb!` N(I B$c42756;**********************按键处理*********************************************mov电子园51单片机学习网5z-q,aL?
F2:  inc   r0           ;r0加1
!`J eO\fc_42756   cjne   r0,    #08h,   F3  ;判断R0是否=8,若等于,则顺序执行并将R0,清0,否则跳转到散转程序电子园51单片机学习网t;\)`)ymf
   mov   r0,    #00h     ;R0清零电子园51单片机学习网Q|`1]6hu$~Uw
   ajmp   main
2I1{.m r+@(bp42756;**********************散转处理*********************************************电子园51单片机学习网m*Gc/y2Li
F3:  mov   DPTR,    #TAB     ;将数据表地址传送到DPTR电子园51单片机学习网3@@;n R2w3R5f `&?
   mov   a,     R0      ;将偏移量送入a
qC _F ezi42756   clr   c           ;清零进位位电子园51单片机学习网p z(hj t {!L6r
   rlc   a           ;累加器a内容左移,(相当于*2)
#n&a8w^(Z |Yt/CXe42756   jnc   nadd          ;若cy为零,则跳转到NADD,否则顺序执行
nK G\+g,H y42756   inc   dph          ;若cy为1时,DPH+1(因为DPTR为16位地址,a为8位,在此处加一,相当于DPTR低8位
`}f9_1DA(f5b+V(@s6V42756                  ;向高8位进位)修正地址
6lbRbP42756NADD:  jmp   @a+DPTR         ;散装指令,将a中的无符号数与数据指针DPTR的16位相加,相加之和做为下一条指令的
7|G"m#?LJ[gyL42756                  ;地址送入PC中,不改变a和dptr,也不影响标志位,采用变址方式实现无条件转移
3h*B%j;GpHJ r42756                  ;其特点时转移地址可以在程序中加以改变
X9tZG yO:H"o42756;***********************数据表************************************************电子园51单片机学习网RAe%\8l5z
TAB:  nop
jX4Ub4lP8@y#rrM42756   nop              ;空指令,修正地址电子园51单片机学习网,|OOp9}VnPQ|
   ajmp   pb1电子园51单片机学习网w S ZC9z"?%P!J
   ajmp   pb2
1\i @P4QzQ4oy @3T42756   ajmp   pb3
z1CJ0A)D_*[x42756   ajmp   pb4
/tn!|ZxO7g4q42756   ajmp   pb5电子园51单片机学习网"zCU#Uwd2i
   ajmp   pb6
|/yJp1F_42756   ajmp   pb7
Pt'e%RqjIN+Q42756   电子园51单片机学习网QzJ&t? J/o C?
   
5|)VC7lI9l42756;***********************延时***************************************************电子园51单片机学习网QGv;Ko#t%b
del:  mov   R1,   #014h
+lf lB.|"^}*A G42756d1:  mov   R2,   #0FFH电子园51单片机学习网_"Q#U qw1O
d2:  mov   r5,   #01fh
f9f}4H~,hx F,eU6x42756   djnz   R5,   $电子园51单片机学习网/h MZEA
   djnz   R2,   d2
I xw;ND M7P(A/g2@42756   djnz   R1,   d1电子园51单片机学习网 ]|^4A?!M R$yA+X
   ret电子园51单片机学习网Kquc4Be
;***********************显示**************************************************电子园51单片机学习网-PGY%k6dM[ D
pb1:  mov   p0,   #03fh电子园51单片机学习网U$D})m'G
   acall   del电子园51单片机学习网D:|r qC;}:z
   ljmp   st电子园51单片机学习网_ W&I)Hn9yi\
pb2:  mov   p0,   #01fh
-b8p&g^k ]XC:l42756   acall   del
)P[ c un42756   ljmp   st电子园51单片机学习网9_1H/r9W GA2e-h2MX
pb3:  mov   p0,   #0fh电子园51单片机学习网QR6s j(LobP4S
   acall   del电子园51单片机学习网5bU~,z$v!I.b
   ajmp   st
#t8u ~M3~1h wE$C42756pb4:  mov   p0,   #07h电子园51单片机学习网;x3F(XrZ`.N:`Sf
   acall   del电子园51单片机学习网q7O3BCxw N
   ajmp   st电子园51单片机学习网VBT;ln)?k:u*i \
pb5:  mov   p0,   #03h电子园51单片机学习网[no}4r @ BA1@9T
   acall   del电子园51单片机学习网^@j7OY
   ajmp   st电子园51单片机学习网(pN.ju7}n u~
pb6:  mov   p0,   #01h
]G3F&H7O e\&p42756   acall   del电子园51单片机学习网O6c5rl4YlHQ
   ajmp   st
7r3R}h,qN'DhFl42756pb7:  mov   p0,   #00h
9`r#B]:M7j2H'v1{ m.^42756   acall   del电子园51单片机学习网'mT6?h u{qV3z@
   ajmp   st
e4`4q9hy0cIE+SXp^42756   end电子园51单片机学习网)|N~)^,d*sh


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条