标题: 求助 。。。。 [打印本页]

作者: jin    时间: 2009-6-10 08:19
标题: 求助 。。。。

  各位大侠,帮帮忙。。。。。。。。。。。
用P3.4   ,  P3.5的输入功能设计两个输入开关。  P1的输出功能来控制8个LED(低电平点亮)

        S1           S0            显示方式

       接2           接2           全亮 
       接2           接1           交叉亮
       接1           接2           低4位灯灭,高4位亮
       接1           接1           低4位亮,高4位灭

ORG  0000H
        MOV  P3,#0FFH
        MOV  A,P3
        ANL  A,#30H
        SWAP  A                           (交换了有什么用)
        RL  A                               (为什么说循环左移一位,A*2送给A)
        MOV  DPTA,#TAB
        JMP  @A+DPTR
ONE: MOV   P1,#00H
        SJMP  $                                     ($表示什么)
TWO:  MOV   P1,#55H
        SJMP  $
THREE:   MOV   P1,#0FH 
         SJMP  $
FOUR:  MOV   P1,#0F0H
         SJMP  $
TAB: AJMP    ONE

        AJMP    TWO
        AJMP    THREE
        AJMP     FOUR
        END

 

 

 

[此贴子已经被作者于2009-6-10 10:50:35编辑过]

作者: 铁牛单片机    时间: 2009-6-10 21:12
用C行不行.好久没用汇编了.都不太熟了.
作者: 耗子    时间: 2009-6-10 23:48
 S1           S0            显示方式

       接2           接2           全亮 
       接2           接1           交叉亮
       接1           接2           低4位灯灭,高4位亮
       接1           接1           低4位亮,高4位灭

       ORG  0000H
        MOV  P3,#0FFH        ; P3用作输入 ,所以先全置1
        MOV  A,P3               ; 读P3口状态送A
        ANL  A,#30H             ;  把A的值 和00110000 做 与运算 也就是只取P3.4 P3.5 这两个口的数据 其他全部取0
        SWAP  A                         ;  (交换了有什么用) SWAP 高低4位互换 把A中的 4 .5 位 换到 0 1 位 比如 pP3.4P3.5 都为1 那么 互换前是  
                                               ;00110000  换后则A为00000011          
        RL  A                              ; (为什么说循环左移一位,A*2送给A)   因为在下面的跳转指令  AJMP rel 占 2个字节 为了形成正确的目的地址所以。。。。
        MOV  DPTA,#TAB
        JMP  @A+DPTR
ONE: MOV   P1,#00H
        SJMP  $                                ;     ($表示什么)SJMP  $   原地踏步 。或者说模拟主程序 
TWO:  MOV   P1,#55H
        SJMP  $
THREE:   MOV   P1,#0FH 
         SJMP  $
FOUR:  MOV   P1,#0F0H
         SJMP  $
TAB: AJMP    ONE

        AJMP    TWO
        AJMP    THREE
        AJMP     FOUR
        END

应该能理解了吧 都是很基本的东西
 


作者: jin    时间: 2009-6-11 06:32

谢谢。懂了






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