^_^,太简单了
用P0,P2做输出口,高电平亮P0。0为最低位
MOV 30H,#00H;
MOV 31H,#01H
LP:
MOV P0,30H
MOV P2 31H
LCALL d_250
LCALL d_250
CLR C
MOV A,30H
RL A
JC LP1
MOV A,31H
JC LP2
JMP LP
LP1:MOV 31H,#01H
MOV 30H,#00H
JMP LP
LP2:MOV 30H,#01H
MOV 31H,#00H
JMP LP
d_250: mov r6,#250 ; 250 ms
sjmp dly
d_100: mov r6,#100 ; 100 ms
sjmp dly
d_50: mov r6,#50 ; 50 ms
sjmp dly
d_10: mov r6,#10 ; 10 ms
sjmp dly
d_5: mov r6,#5 ; 5 ms
sjmp dly
d_2: mov r6,#2 ; 2 ms
sjmp dly
d_1: mov r6,#1 ; 1 ms
sjmp dly
dly: mov r7,#231 ; 1 ms(for 110592M)
djnz r7,$
djnz r7,$
djnz r6,dly
ret
用的是51系列单片机么~试试这个代码
主程序里就这些就行
mov a,#80h
setb ea
setb it1
setb ie1
sjmp $
中断服务子程序
rr a
mov p1,a
reti
自己把框架补上,就这些应该没问题
闪烁5次再移位,可以用循环来实现。程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FCH ;LED灯初值,两个灯点亮
LOOP:
MOV R2,#5 ;5次闪烁循环次数
LOOP1:
MOV P0,A ;P0口送控制值
LCALL DELAY ;延时
MOV P0,#0FFH ;关闭显示,实现闪烁效果
LCALL DELAY
DJNZ R2,LOOP1 ;该循环执行5次闪烁
RL A ;闪烁之后移位
SJMP LOOP
DELAY:
MOV R3,#200 ;延时大概100毫秒
DLY:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY
RET
END
C51系列单片机中_crol_指令是循环左移函数,_cror_是循环右移函数,这是51中特有的指令,别的类型单片机就不能使用了。易于程序的移植和通用性考虑个人比较推荐用<< 左移, 右移>>这两个C中的移位符号。
简单,你向一个寄存器写入数据时,数据总线的值会发生变化。8位的循环只需一个字节即可搞定。在一个时间循环里,加上句写入指令就行了,如:MOV
AX,1。然后后面接一个时间循环,里面一句写入0,如:MOV,BX,0移位指令自己查吧。从数据总线连接输入指示灯,功率不足,可以在输入端接入两次非门(实际应用时常这么办);如果功率要求不高的话,可以采用灌电流负载,写入数据11111110(教学程序常用);当然如果能直接点亮LED灯,上面两项不用也可时间控制调时间循环里次数,可以先写个大数,用秒表掐出来,然后估下一秒的值。
可使用移位指令向左或向右逐位移动输入 IN 的内容(另请参阅 CPU 寄存器)。向左移动 n 位相当于将输入端 IN 的内容乘以 2 的 n 次幂(2 n);向右移动 n 位则相当于将输入端 IN 的内容除以 2 的 n 次幂(2n)。例如,如果将等价于十进制值 3 的二进制数左移 3 位,将得到等价于十进制值 24 的二进制数。
如果将等价于十进制值 16 的二进制数右移 2 位,则会得到等价于十进制值 4 的二进制数。可提供给输入参数 N 的数值决定了移动相应值的位数。移位指令产生的空位将用零或符号位的信号状态(0 表示正,1 表示负)来填补。最后移动的位的信号状态将装入状态字的 CC1 位中。状态字的 CC0 和 OV 位将复位为 0。您可以使用跳转指令判断 CC1 位。
西门子PLC 移位指令根据不同参数调整以及数据类型,可用于SHR_I(整数右移)、SHR_DI(长整数右移)、SHL_W(字左移)、SHR_W(字右移)、SHL_DW(双字左移)以及SHR_DW(双字右移)。
扩展资料:
西门子公司的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400、S7-1500等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。
可编程控制器是由现代化生产的需要而产生的,可编程序控制器的分类也必然要符合现代化生产的需求。一般来说可以从三个角度对可编程序控制器进行分类。其一是从可编程序控制器的控制规模大小去分类,其二是从可编程序控制器的性能高低去分类,其三是从可编程序控制器的结构特点去分类。
以上就是关于用51单片机控制16个流水灯,依次左移点亮,。高分全部的内容,包括:用51单片机控制16个流水灯,依次左移点亮,。高分、中断请求信号由INT1输入,要求每中断一次,由P1口控制8个LED指示灯循环移位点亮下一个灯。、在p0口接上8个led灯,每次亮两个灯的流水灯,如何实现led灯各闪烁5次再实现移位功能(汇编)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)