专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

花样灯c程序(Ⅱ)

作者:佚名   来源:本站原创   点击数:  更新时间:2010年09月16日   【字体:
/*-----------------------------------------------------------
  名称:花样灯Ⅱ

  作者:fei yu

  日期:2010-5-15

  内容:花样灯的两种实现方法:

              Ⅰ:程序循环执行         Ⅱ:查表法

------------------------------------------------------------*/
#include<reg52.h>

#define uchar unsigned char 

uchar code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
                                 0xff,0xff,0x00,   0,0x55,0x55,0xaa,0xaa};

 

/*---------------------------------------------------------------

     花样表格,其中rom允许情况可以无限添加

--------------------------------------------------------------*/    


void delay(unsigned int cnt)//简易延时
{
        while(--cnt);
}

main()
{
        unsigned char i;
        while(1)
        {
                P1=0xFE;    //第一个LED亮
                for(i=0;i<8;i++)
                {
                        delay(10000);
                        P1 <<=1;
                }
                P1=0x7F;    //第七个LED灯亮
                for(i=0;i<8;i++)
                {
                        delay(10000);
                        P1 >>=1;
                }
                P1=0xFE;    //第一个LED灯亮
                for(i=0;i<8;i++)
                {
                        delay(10000);
                        P1 <<=1;
                        P1 |=0x01;
                }
                P1=0x7F;                  //第七个LED灯亮
                for(i=0;i<8;i++)
                {
                        delay(10000);
                        P1 >>=1;
                        P1 |=0x80;
                }
                /*下面通过查表方法获得花样参数*/
                for(i=0;i<16;i++)    //查表可以简单的显示各种花样  实用性更强
                {
                        delay(20000);
                        P1=seg[i];
                }
        }

}

 

注解:查表法通过循环,将已经定义好的样式显示出来,
也可定义循环移动闪烁,比较方便直观。
关闭窗口

相关文章