《单片机的原理与应用》节日彩灯的设计要求用单片机控制8只小彩灯(发光二级管),使小彩灯按照其要求亮灭.第一秒:二极管D1、D3亮,其他灭;第二秒钟二级管D2、D4亮,其他灭;第三秒D5、D

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/20 02:01:07

《单片机的原理与应用》节日彩灯的设计要求用单片机控制8只小彩灯(发光二级管),使小彩灯按照其要求亮灭.第一秒:二极管D1、D3亮,其他灭;第二秒钟二级管D2、D4亮,其他灭;第三秒D5、D
《单片机的原理与应用》节日彩灯的设计
要求用单片机控制8只小彩灯(发光二级管),使小彩灯按照其要求亮灭.第一秒:二极管D1、D3亮,其他灭;第二秒钟二级管D2、D4亮,其他灭;第三秒D5、D7亮,其他灭;第四秒D6、D7亮,其他灭;第五秒D1、D3、D5、D7亮,其他灭;第六秒D2、D4、D6、D8、亮,其他灭;第七秒全亮;第八秒全灭,如此循环.
我到现在还没弄出来 再做不完我就要留校了

《单片机的原理与应用》节日彩灯的设计要求用单片机控制8只小彩灯(发光二级管),使小彩灯按照其要求亮灭.第一秒:二极管D1、D3亮,其他灭;第二秒钟二级管D2、D4亮,其他灭;第三秒D5、D
程序如下,P0口改为P1、P2或P3口可以省略电路图中的上拉电阻.
注意:无论选择哪组I/O,每个LED都要串联一个220Ω或470Ω的电阻.
#include "reg51.h"
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xfa,0xf5,0xaf,0x5f,0xaa,0x55,0x00,0xff};//分别为1和3亮、2和4亮、5和7亮、6和8亮、奇数位亮、偶数位亮、全亮、全灭
uchar t,num;
void InitUART  (void)
{
TMOD=0x01; //定时器0 工作方式1即16位定时
TH0=0x3c; //装入初值,定时50ms
TL0=0xb0;
TR0=1;
ET0=1;                     
    EA    = 1;                  //打开总中断
}
main()
{
InitUART  ();
P0=tab[num];   //先让等处于第一种状态
while(1)
{;}
}
Timer0() interrupt 1
{
TH0=0x3c;   //手动重装初值,定时50ms
TL0=0xb0;
t++;
if(t==20)

t=0;  //够20次,即计数时间为20*50ms=1s.计时次数清零,准备下一秒的计时
num++;  //num指向下一种状态
if(num==8) num=0;
P0=tab[num];  //则切换至相应的状态
}
}



纯手打,望采纳···