51单片机设计跑马灯的程序用(c语言)编写

51单片机设计跑马灯的程序用(c语言)编写,第1张

|P1口接8个发光二极管共阳

#include <AT89X51.H>

unsigned char i

unsigned char temp

unsigned char a,b

void delay(void)

{

unsigned char m,n,s

for(m=20m>0m--)

for(n=20n>0n--)

for(s=248s>0s--)

}

void main(void)

{

while(1)

{

temp=0xfe

P1=temp

delay()

for(i=1i<8i++)

{

a=temp<<i

b=temp>>(8-i)

P1=a|b

delay()

}

for(i=1i<8i++)

{

a=temp>>i

b=temp<<(8-i)

P1=a|b

delay()

}

}

}

扩展资料:

Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。

参考资料来源:百度百科-51单片机

//假设晶振12MHZ,P1控制8个LED低电平亮

#include "reg51.h"

unsigned int YSJS=0

signed char LED=0XFE

void main(void)

{

TMOD |= 0X10 //定时器1工作于方式1,16位定时器

TH1 = 0XFE //定时器1定时时间=500uS

TL1 = 0X0C

ET1 = 1//使能定时器1中断

TR1 =1

EA =1 //开总中断

while(1)

{

}

}

void TIMER1(void) interrupt 3//定时器1中断函数使用默认寄存器组

{

TH1 = 0XFE //定时器1定时时间=500us

TL1 = 0X0C

YSJS++

if(YSJS==2000) //500uS*2000=1000000uS=1S

{

P1 = LED

LED=LED<<1

LED=LED | 1

if(LED==0XFF)LED=0XFE

YSJS = 0

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7692963.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存