如题:假定80c51晶振频率为6Mhz,设计延时10秒的子程序,使5个小灯循环点亮,时间间隔为10秒

有没有大神会的呢?而且需要汇编的
2024-12-05 11:39:44
推荐回答(1个)
回答1:

#include 
void d10s(void)   //延时10秒
{
   unsigned char a,b,c,d;
   for(d=0;d<10;d++)
     for(c=205;c>0;c--)
        for(b=116;b>0;b--)
           for(a=9;a>0;a--);
}
main()
{
      P1=0xfe;           //给初始化值,P1:1111 1110
      while(1)
     {
        d10s();//延时程序
        P1<<=1;      //左移一位
        P1|=0x01;    //最后一位补1
        if(P1==0xef) //检测是否移到最左端?
        P1=oxfe;
      }
 }