标题:
注释详细的单片机流水灯源程序
[打印本页]
作者:
爱你~一生
时间:
2018-7-26 08:43
标题:
注释详细的单片机流水灯源程序
#include<reg52.h> //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
#define Self_Define_ISP_Download_Command 0x3D // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
sfr IAP_CONTR=0xE7; // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
/* 函数申明 -----------------------------------------------*/
void delay(uint z);
void Init_Com(void) ; // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
void main()
{
uchar num,dat1,dat2; // 相关变量定义
Init_Com(); // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
while(1)
{
dat1=0xfe;
dat2=0x7f;
for(num=0;num<7;num++) // led灯从上往下依次点亮
{
P1=dat1; //初始化赋值
dat1=dat1<<1; //右移一位
delay(500); //延时
}
for(num=0;num<7;num++) // led灯从下往上依次点亮
{
P1=dat2; //初始化赋值
dat2=dat2>>1; //右移一位
delay(500); //延时
}
}
}
/*
********************************************************************************
** 函数名称 : delay(uint z)
** 函数功能 : 延时函数
********************************************************************************
*/
void delay(uint z)
{
uchar j;
for(z;z>0;z--)
for(j=200;j>0;j--);
}
void Init_Com(void) // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
{
TMOD = 0x20;
SM0=0;
SM1=1;
REN=1;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
EA=1;
ES=1;
}
void UART_Interrupt_Receive(void) interrupt 4 // 与不断电下载有关,与本程序无关,直接复制到自己的程序中
{
unsigned char k=0;
unsigned int a,b;
if(RI==1)
{
RI=0;
k=SBUF;
if(k==Self_Define_ISP_Download_Command)
{
for(a=1000;a>0;a--)
for(b=100;b>0;b--);
IAP_CONTR = 0x60;
}
}
else
{
TI=0;
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1