LED 跟继电器的单片机程序C51与汇编
#include
void delay(unsigned int i); //声明延时函数
char LED;
main()
{
unsigned char i;
while (1)
{ LED = 0xfe;
for (i = 0 ;i < 8 ; i++)
{
P2 = LED;
delay(500);
LED = LED << 1; // 左移
LED = LED | 0x01; // 移位后,后面的位为高电平
if (LED == 0x7f) break; //提前退出 FOR 循环
}
for (i = 0 ;i < 8 ; i++)
{
P2 = LED;
delay(500);
LED = LED >> 1; // 右移
LED = LED | 0x80; // 移位后,后面的位为高电平
}
}
}
/*******延时函数*************/ void delay(unsigned int i) {
unsigned char j;
for(i; i > 0; i--)
for(j = 255; j > 0; j--);
}//////////////////////c程序比汇编的延时程序好看很多 也比较容易修改时间
以上为跑马灯
ORG 0000h
AJMP MAIN
ORG 0030H MAIN:
MOV P2, #0FFH //做读数据时,先初始端口至高电平
MOV A , P2
CJNE A , #0FFH, GO //不等于时跳转到GO
SETB P1.4 //置位
AJMP MAIN
GO: CLR P1.4 //清零
END ///////// 继电器控制
LED闪烁灯
、
ORG 0000H ;程序从此地址开始运行
LJMP MAIN ;跳转到 MAIN 程序处
ORG 030H ;MAIN 从030H处开始 MAIN:
MOV P2 ,#00H ;P2为低电平 LED 灯亮
ACALL DELAY ;调用延时子程序
MOV P2 ,#0FFH
ACALL DELAY
AJMP MAIN ;跳转到主程序处
DELAY: MOV R5,#04H ;将立即数传给寄存器R5 F3: MOV R6,#0FFH
F2: MOV R7,#0FFH
F1: DJNZ R7,F1 ;若为0程序向下执行,若不为0程序跳转到
DJNZ R6,F2
DJNZ R5,F3
RET
END
本文档为【LED 跟继电器的单片机程序C51与汇编】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。