100分求个简单的单片机程序

来源:百度知道 编辑:UC知道 时间:2024/09/28 06:52:11
题目:让P2口上8个灯每灯亮两秒,循环。谢谢啊,答对加八十分

#include "reg51.h"
#define uint unsigned int
#define uchar unsigned char

uchar temp;

void initTimer(void)
{
TMOD=0x1;
TH0=0x4c;
TL0=0xf7;
}

void timer0(void) interrupt 1
{
TH0=0x4c;
TL0=0xf7;
temp++;
if(temp==40) //延时2秒
{
temp=0;
P2=~P2;
}

}

void main(void)
{
initTimer();
TR0=1;
ET0=1;
EA=1;
while(1)
}

写一个定时器中断响应不就行了嘛

这么简单都不会 鄙视

#include<reg51.h> //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;

while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P2=~temp;
delay(100); //调用延时函数
temp<<=1;
}

temp=0x80;
for(i=0