微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STC单片机I/O口控制程序(两个不同的跑马灯效果)

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

时间: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 ;结束

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top