位条件转移指令 判CY转移指令 JC rel JNC rel 第一条指令的功能是如果CY等于1就转移,如果不等于1就次序执行。那么转移到什么地方去呢?我们能这样理解:JC 标号,如果等于1就转到标号处执行。这条指令我们在上节课中已讲到,不再重复。 第二条指令则和第一条指令相反,即如果CY=0就转移,不等于0就次序执行,当然,我们也同样理解: JNC 标号 判位变量转移指令 JB bit,rel JNB bit,rel 第一条指令是如果指定的bit位中的值是1,则转移,不然次序执行。同样,我们能这样理解这条指令:JB bit,标号 第二条指令请大家先自行分析 下面我们举个例程说明: ORG 0000H LJMP START ORG 30H START:MOV SP,#5FH MOV P1,#0FFH MOV P3,#0FFH L1: JNB P3.2,L2 ;P3.2上接有一只按钮,它按下时,P3.2=0 JNB P3.3,L3 ;P3.3上接有一只按钮,它按下时,P3.3=0 LJM P L1 L2: MOV P1,#00H LJMP L1 L3: MOV P1,#0FFH LJMP L1 END 把上面的例程写入片子,看看有什么现象……… 按下接在P3.2上的按钮,P1口的灯全亮了,松开或再按,灯并不熄灭,然后按下接在P3.3上的按钮,灯就全灭了。这像什么?这不就是工业现场经常用到的“启动”、“停止”的功能吗? 怎么做到的呢?一开始,将0FFH送入P3口,这样,P3的所有引线都处于高电平,然后执行L1,如果P3.2是高电平(键没有按下),则次序执行JNB P3.3,L3语句,同样,如果P3.3是高电平(键没有按下),则次序执行LJMP L1语句。这样就不停地检测P3.2、P3.3,如果有一次P3.2上的按钮按下去了,则转移到L2,执行MOV P1,#00H,使灯全亮,然后又转去L1,再次循环,直到检测到P3.3为0,则转L3,执行MOV P1,#0FFH,例灯全灭,再转去L1,如此循环不已。大家能否稍加改动,将本程序用JB指令改写?
stc89c52单片机使用外部中断0时,ET1我用protues仿真,发现,我用外部中断0的时候,同时打开定时器1的溢出中断(ET1=1)就不会触发外部中断,只能置0,而定时器0的溢出中断(ET0=1)就可以,请问有大神知道为什么吗?照理来说各中断 [开关电源]APFC 有用单片机编程实主动功率矫正,我看很多都是用的芯片实现。
用单片机应该也能够实现吧?
代价太大。
戈卫东发表于2017-7-2217:50
代价太大。
什么代价太大?哪一种?APFC其实就是实现了指定的电流- 在线咨询单片机按键扫描程序p2.0,p2.1,p2.2,p2.3分别是设置,加,减,开始4个独立按键功能是:按设置键一次后后,显示设置界面,再按设置键后,光标在35,上限处闪烁,此时,加减键功能可用,可调节上限值。再按设置键后,光标 励恒电子的环形电感引领整行业 在电子信息产业链中,电子元器件无处不在。不论是日常的消费电子产品还是工业用电子设备,都由基本的电子元器件构成。因此电子元器件行业成为电子信息产业的基础支撑产业。随
4/5 首页 上一页 2 3 4 5 下一页 尾页 |