新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STC单片机I/O口控制程序(两个不同的跑马灯效果)

STC单片机I/O口控制程序(两个不同的跑马灯效果)

作者: 时间:2016-12-01 来源:网络 收藏
STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强.控制灵活!且价格便宜!也就几块钱吧!但你让她发挥出了性能,就不止几块钱了哦!单片机叫什么?o(∩_∩)o...微型计算机···
ORG 000H ;起始地址
START: ;开始
MOV R2,#10;设置循环次数
D0:
MOV R0,#8 ;设置左移次数
MOV A,#07FH;向A寄存器输入初始值
D2: RL A;将A中数据向左移一位
CALL DL;调入延时
MOV P1,A;输出到P1口
DJNZ R0,D2;检测是否左移八次,否则继续执行左移命令
MOV R1,#7;设置右移次数
D3: RR A;将A中数据向右移一位
CALL DL;调入延时
MOV P1,A;将A中数据输出到P1口
MOV P0,A;并联输出至P0口
DJNZ R1,D3;检测是否右移了七次,否则继续执行右移命令
DJNZ R2,D0;检测是否循环了十次,否则继续循环
MOV A,#0FFH;向A中载入新数据
D4:SUBB A,#01;执行减法运算
CALL DL1;调入延时程序1
MOV R3,A;将A中数据传送给R3
MOV P1,R3;将R3(寄存器)中数据输出至P1口
DJNZ R3,D4;检测R3是否为零,否则继续执行减法运算
JMP START;跳到开始执行
DL1: MOV R7,#90;延时程序1
L4: MOV R6,#20
L3: MOV R5,#50
DJNZ R5,$
DJNZ R6,L3
DJNZ R7,L4
RET ;子程序返回
DL: ;延时程序
MOV R3,#20
L1:MOV R4,#15
L2:MOV R5,#50
DJNZ R5,$
DJNZ R4,L2
DJNZ R3,L1
RET ;子程序返回
END ;结束


评论


技术专区

关闭