注册 登录
编程论坛 单片机编程

新手请教

王者自谦1992 发布于 2012-11-15 22:35, 4302 次点击
最近在学单片机,但是在学习时有个问题请教一下:
一到编程:要求P3.0、P3、1为00,01,10,11是跳转,
但是用CJNZ时是等于继续,不等于时才跳转,这个怎么解决啊 ,说个解决办法呗0.0
7 回复
#2
王者自谦19922012-11-15 22:39
问题补充:
要求,用P3、0,P3、1控制流水灯的变化
=00, 灯全灭
=01, 单灯左循环
=10   单灯右循环
=11   双灯亮左循环
用汇编语言,C语言会,P1口控制灯
#3
青春无限2012-11-15 22:48
lu
#4
于祥2012-11-16 14:34
sbit s1 = P3.0;
sbit s2 = P3.1;


if (s1==0 && s2==0)
{
    灯全灭
}
else if (s1==0 && s2==1)
{
    单灯左循环
}
else if (s1==1 && s2==0)
{
   单灯右循环
}
else
{
  双灯亮左循环
}


c语言的
#5
王者自谦19922012-11-16 21:24
回复 4楼 于祥
好吧,C语言会,但是汇编的求解啊0.0
#6
于祥2012-11-17 09:51
回复 5楼 王者自谦1992
这个。。。。。
#7
于祥2012-11-17 10:07
cjne  p3.0,#0,aa
      cjne  p3.1,#0,bb
      灯全灭                ;p3.0=0,p3.1=0
bb:  单灯左循环          ;p3.0=0,p3.1=1
aa:  cjne  p3.1,#0,cc
     单灯右循环          ;p3.0=1,p3.1=0
cc:  双灯亮左循环       ;p3.0=1,p3.1=1

很久没看过汇编的了,不知道行不行
#8
zh06242012-11-20 22:04
mov        a, p3
anl        a, #0FCh

mov        b, #3
mul        ab

mov        dptr, #moshi
jmp        @a+dptr

moshi:
    ljmp        moshi1
    ljmp        moshi2
    ljmp        moshi3
    ljmp        moshi4


moshi1:单灯左
moshi2:单灯右
moshi3:双灯左
moshi4:全灭

    end
1