
|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
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)