⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 用AVR atmega16做的一个完整彩色LED控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0004           ; 
 0004           ; 
 0004           ; #define       MODE_NOMALE             1
 0004           ; #define       MODE_LENGHT             2
 0004           ; #define       MODE_KIND                       3
 0004           ; #define       MODE_PASSWORD   4
 0004           ; 
 0004           ; 
 0004           ; //#define     CLASSNUMBER             32
 0004           ; #define       CLASSNUMBER             4
 0004           ; 
 0004           ; //从前向后,正向。
 0004           ; #define       DIR0                    0x00
 0004           ; 
 0004           ; //从后向前,反向。
 0004           ; #define       DIR1                    0x04
 0004           ; 
 0004           ; //从中间向两边。
 0004           ; #define       DIR2                    0x08
 0004           ; 
 0004           ; //从两边向中间。
 0004           ; #define       DIR3                    0x0c
 0004           ; 
 0004           ; //整体
 0004           ; //#define     DIR4                    0x40
 0004           ; 
 0004           ; //全彩
 0004           ; #define       KIND0                   0x00
 0004           ; //慧星拖尾
 0004           ; #define       KIND1                   0x10
 0004           ; //红-青-红
 0004           ; #define       KIND2                   0x20
 0004           ; //六色刷色
 0004           ; #define       KIND3                   0x30
 0004           ; //混合色
 0004           ; #define       KIND4                   0x40
 0004           ; //三路交叠
 0004           ; #define       KIND5                   0x50
 0004           ; //多彩
 0004           ; #define       KIND6                   0x60
 0004           ; #define       KIND7                   0x70
 0004           ; 
 0004           ; #define       ALLBLACK                0x95    //10010101  
 0004           ; #define       UNLOCKDATA              0x15    //00010101  
 0004           ; 
 0004           ; #define       SPEED0                  0x00
 0004           ; #define       SPEED1                  0x01
 0004           ; #define       SPEED2                  0x02
 0004           ; #define       SPEED3                  0x03
 0004           ; 
 0004           ; #define       PASSWORDLENGHT  6
 0004           ; #define       PASS_DISABLE            0xff
 0004           ; #define       PASSWORD_SETUP  0x11
 0004           ; #define       DATE_SETUP                      0x22
 0004           ; #define       INVALE_SETUP            0x33
 0004           ; //#define     PASSWORD_ENTER  0x44
 0004           ; #define       MAXDATE                 250
 0004           ; #define       MAXNUMBER                       99
 0004           ; 
 0004           ; //typedef struct {
 0004           ;       char    ModeStatus;
 0004           ;       char            CurrentKey;
 0004           ;       char            BackKey;
 0004           ;       char            K1Count;
 0004           ;       uchar   K4Count;
 0004           ;       char            CurrentKind;
 0004           ;       char            val_kind;
 0004           ;       uchar   Password_alarm;
 0004           ;       uchar   Password_Enable;
 0004           ;       uchar   PassDate_flag;  //0x11 : password setup  ;   0x22 : date setup
 0004           ;       uint            val_lenght;
 0004           ;       uint            BLenghtCount;
 0004           ;       uint            FLenghtCount;
 0004           ;       uint            HalfLenght;
 0004           ;       uint            left;
 0004           ;       uint            right;
 0004           ;       uint            PwModify_flag;  
 0004           ; //}WORKLED;
 0004           ; 
 0004           ; //WORKLED WorkLed;
 0004           ; 
 0004           ; unsigned char         KindData[MAXVAL_KIND];
 0004           ; uchar                 PasswordData[PASSWORDLENGHT];
 0004           ; uchar                 DateValue[4];
 0004           ; uchar                 DayData[2];
 0004           ; uchar                 Oneday;
 0004           ; 
 0004           ; //uchar       tc1,tc2;
 0004           ; uchar color1,color2,SI_Count;
 0004           ; 
 0004           ; /*
 0004           ; KindDataStr[MAXVAL_KIND][2]:
 0004           ; 
 0004           ; mode data 8bit; dir data 4bit + speed data 4bit
 0004           ;      1 byte                           2byte
 0004           ; 
 0004           ; speed data:    
 0004           ;                       0 -->speed 1
 0004           ;                       1 -->speed 2
 0004           ;                       2 -->speed 3
 0004           ;                       3 -->speed 4
 0004           ; dir data:
 0004           ;                       0 --> 正向
 0004           ;                       1 --> 反向
 0004           ;                       2 -->中间向两边
 0004           ;                       3 -->两边向中间
 0004           ;                       
 0004           ; */
 0004           ; #define               RBASE           0x94            //D2D1
 0004           ; #define               GBASE           0x85            //D6D5
 0004           ; #define               BBASE           0x91            //D4D3
 0004           ; #define               YBASE           0xbf&RBASE&GBASE
 0004           ; #define               WBASE           0xbf&RBASE&GBASE&BBASE
 0004           ; #define               RBBASE          0xbf&RBASE&BBASE
 0004           ; #define               GBBASE          0xbf&GBASE&BBASE
 0004           ; 
 0004           ; //亮00
 0004           ; #define               SDATA0          0x00
 0004           ; //灭01
 0004           ; #define               SDATA1          0x01
 0004           ; //渐暗10
 0004           ; #define               SDATA2          0x02
 0004           ; //渐明11
 0004           ; #define               SDATA3          0x03
 0004           ; 
 0004           ; #define               BDATA           0x80
 0004           ; #define               GBIT                    4
 0004           ; #define               BBIT                    2
 0004           ; #define               RBIT                    0
 0004           ; 
 0004           ; //全彩
 0004           ; #define               ALLCOLOR        BDATA |(SDATA3<<GBIT)|(SDATA1<<BBIT)|(SDATA0<<RBIT)        //0xb1
 0004           ; 
 0004           ; #define               SEVENCOLOR0     BDATA |(SDATA3<<GBIT)|(SDATA1<<BBIT)|(SDATA2<<RBIT) 
 0004           ; #define               SEVENCOLOR1     BDATA |(SDATA2<<GBIT)|(SDATA1<<BBIT)|(SDATA3<<RBIT) 
 0004           ; #define               SEVENCOLOR2     BDATA |(SDATA3<<GBIT)|(SDATA2<<BBIT)|(SDATA1<<RBIT) 
 0004           ; #define               SEVENCOLOR3     BDATA |(SDATA2<<GBIT)|(SDATA3<<BBIT)|(SDATA1<<RBIT) 
 0004           ; #define               SEVENCOLOR4     BDATA |(SDATA1<<GBIT)|(SDATA3<<BBIT)|(SDATA2<<RBIT) 
 0004           ; #define               SEVENCOLOR5     BDATA |(SDATA1<<GBIT)|(SDATA2<<BBIT)|(SDATA3<<RBIT) 
 0004           ; 
 0004           ; #define               THREECOLORR     BDATA |(SDATA1<<GBIT)|(SDATA1<<BBIT)|(SDATA2<<RBIT) 
 0004           ; #define               THREECOLORG     BDATA |(SDATA2<<GBIT)|(SDATA1<<BBIT)|(SDATA1<<RBIT) 
 0004           ; #define               THREECOLORB     BDATA |(SDATA1<<GBIT)|(SDATA2<<BBIT)|(SDATA1<<RBIT) 
 0004           ; 
 0004           ; #define               THREECOLORR1    BDATA |(SDATA3<<GBIT)|(SDATA1<<BBIT)|(SDATA2<<RBIT) 
 0004           ; #define               THREECOLORG1    BDATA |(SDATA1<<GBIT)|(SDATA3<<BBIT)|(SDATA2<<RBIT) 
 0004           ; #define               THREECOLORB1    BDATA |(SDATA2<<GBIT)|(SDATA3<<BBIT)|(SDATA1<<RBIT) 
 0004           ; 
 0004           ; #define               ALLCOLOR0               BDATA |(SDATA3<<GBIT)|(SDATA1<<BBIT)|(SDATA0<<RBIT) 
 0004           ; #define               ALLCOLOR4               BDATA |(SDATA1<<GBIT)|(SDATA0<<BBIT)|(SDATA3<<RBIT) 
 0004           ; #define               ALLCOLOR3               BDATA |(SDATA0<<GBIT)|(SDATA3<<BBIT)|(SDATA1<<RBIT) 
 0004           ; #define               ALLCOLOR2               BDATA |(SDATA3<<GBIT)|(SDATA0<<BBIT)|(SDATA1<<RBIT) 
 0004           ; #define               ALLCOLOR1               BDATA |(SDATA0<<GBIT)|(SDATA1<<BBIT)|(SDATA3<<RBIT) 
 0004           ; #define               ALLCOLOR5               BDATA |(SDATA1<<GBIT)|(SDATA3<<BBIT)|(SDATA0<<RBIT) 
 0004           ; #if 1
 0004           ; #define               ALLSTAR0                BDATA |(SDATA1<<GBIT)|(SDATA1<<BBIT)|(SDATA2<<RBIT)        //red
 0004           ; #define               ALLSTAR1                BDATA |(SDATA2<<GBIT)|(SDATA1<<BBIT)|(SDATA1<<RBIT)        //green
 0004           ; #define               ALLSTAR2                BDATA |(SDATA1<<GBIT)|(SDATA2<<BBIT)|(SDATA1<<RBIT)        //blue
 0004           ; #define               ALLSTAR3                BDATA |(SDATA1<<GBIT)|(SDATA2<<BBIT)|(SDATA2<<RBIT)        //0xb1
 0004           ; #define               ALLSTAR4                BDATA |(SDATA2<<GBIT)|(SDATA1<<BBIT)|(SDATA2<<RBIT)        //0xb1
 0004           ; #define               ALLSTAR5                BDATA |(SDATA2<<GBIT)|(SDATA2<<BBIT)|(SDATA1<<RBIT)        //0xb1
 0004           ; #define               ALLSTAR6                BDATA |(SDATA2<<GBIT)|(SDATA2<<BBIT)|(SDATA2<<RBIT)        //0xb1
 0004           ; 
 0004           ; #else
 0004           ; #define               ALLSTAR0                BDATA |(SDATA1<<GBIT)|(SDATA1<<BBIT)|(SDATA0<<RBIT)        //red
 0004           ; #define               ALLSTAR1                BDATA |(SDATA0<<GBIT)|(SDATA1<<BBIT)|(SDATA1<<RBIT)        //green
 0004           ; #define               ALLSTAR2                BDATA |(SDATA1<<GBIT)|(SDATA0<<BBIT)|(SDATA1<<RBIT)        //blue
 0004           ; #define               ALLSTAR3                BDATA |(SDATA1<<GBIT)|(SDATA0<<BBIT)|(SDATA0<<RBIT)        //0xb1
 0004           ; #define               ALLSTAR4                BDATA |(SDATA0<<GBIT)|(SDATA1<<BBIT)|(SDATA0<<RBIT)        //0xb1
 0004           ; #define               ALLSTAR5                BDATA |(SDATA0<<GBIT)|(SDATA0<<BBIT)|(SDATA1<<RBIT)        //0xb1
 0004           ; #endif
 0004           ; //#define             UNITEC0         BDATA |(SDATA1<<GBIT)|(SDATA3<<BBIT)|(SDATA2<<RBIT)        //red
 0004           ; //#define             UNITEC1         BDATA |(SDATA3<<GBIT)|(SDATA1<<BBIT)|(SDATA2<<RBIT)        //green
 0004           ; //#define             UNITEC2         BDATA |(SDATA2<<GBIT)|(SDATA1<<BBIT)|(SDATA3<<RBIT)        //blue
 0004           ; #define               UNITEC0         BDATA |(SDATA1<<GBIT)|(SDATA1<<BBIT)|(SDATA0<<RBIT)        //red
 0004           ; #define               UNITEC1         BDATA |(SDATA0<<GBIT)|(SDATA1<<BBIT)|(SDATA1<<RBIT)        //green
 0004           ; #define               UNITEC2         BDATA |(SDATA1<<GBIT)|(SDATA0<<BBIT)|(SDATA1<<RBIT)        //blue
 0004           ; #define               UNITEC3         BDATA |(SDATA2<<GBIT)|(SDATA3<<BBIT)|(SDATA1<<RBIT)        //0xb1
 0004           ; #define               UNITEC4         BDATA |(SDATA1<<GBIT)|(SDATA2<<BBIT)|(SDATA3<<RBIT)        //0xb1
 0004           ; #define               UNITEC5         BDATA |(SDATA3<<GBIT)|(SDATA2<<BBIT)|(SDATA1<<RBIT)        //0xb1
 0004           ; 
 0004           ; 
 0004           ; #define               ALL_ID                  0
 0004           ; #define               STAR_ID         1
 0004           ; #define               SIX_ID                  2
 0004           ; #define               SEVEN_ID                3
 0004           ; //整体三路交叠渐变
 0004           ; #define               THREE_ID                4
 0004           ; //三路交叠飘动
 0004           ; #define               THREE1_ID               5
 0004           ; //整体全彩渐变
 0004           ; #define               ALLCOLOR_ID     6
 0004           ; //混合色交叠渐变
 0004           ; #define               UNITEC_ID               7
 0004           ; 
 0004           ; 
 0004           ; const unsigned char KindGroudData[8][7]=
 0004           ; {
 0004           ; //全彩
 0004           ;       {ALLCOLOR0,ALLCOLOR1,ALLCOLOR2,ALLCOLOR3,ALLCOLOR4,ALLCOLOR5,0x00},
 0004           ; 
 0004           ; //慧星拖尾
 0004           ;       {ALLSTAR0,ALLSTAR1,ALLSTAR2,ALLSTAR3,ALLSTAR4,ALLSTAR5,0x00},
 0004           ; //    {ALLSTAR0,ALLSTAR1,ALLSTAR2,0x00,0x00,0x00,0x00},
 0004           ; 
 0004           ; //六色刷色: 红 绿 兰 黄 紫 青
 0004           ;       {RBASE,GBASE,BBASE,YBASE,RBBASE,GBBASE,0x00},
 0004           ; 
 0004           ; //多彩: 红 绿 兰 黄 紫 青 白
 0004           ;       {SEVENCOLOR0,SEVENCOLOR1,SEVENCOLOR2,SEVENCOLOR3,SEVENCOLOR4,SEVENCOLOR5,0x00},
 0004           ; 
 0004           ; //整体三路交叠渐变: 红 绿 兰
 0004           ;       {THREECOLORR,THREECOLORG,THREECOLORB,0x00,0x00,0x00,0x00},
 0004           ; //三路交叠飘动: 红 绿 兰
 0004           ;       {THREECOLORR1,THREECOLORB1,THREECOLORG1,0x00,0x00,0x00,0x00},
 0004           ; //整体全彩渐变
 0004           ;       {ALLCOLOR0,ALLCOLOR1,ALLCOLOR2,ALLCOLOR3,ALLCOLOR4,ALLCOLOR5,0x00},
 0004           ; //混合色交叠渐变
 0004           ;       {UNITEC0,0x00,0x00,0x00,0x00,0x00,0x00},
 0004           ; //    {UNITEC0,UNITEC1,UNITEC2,UNITEC3,UNITEC4,UNITEC5,0x00},
 0004           ; };
 0004           ; 
 0004           ; const unsigned char KindDataValue[60][2]=
 0004           ; {
 0004           ; //0 -->52
 0004           ; {GBBASE ,RBASE},{GBBASE ,RBASE},{GBBASE ,RBASE},{GBBASE ,RBASE},
 0004           ; //-->56
 0004           ; {GBBASE ,RBASE},{GBBASE ,GBASE},{GBBASE ,GBASE},{GBBASE ,GBASE},
 0004           ; //8 -->60
 0004           ; {GBBASE,GBASE},{GBBASE,GBASE},{WBASE,YBASE},{WBASE,YBASE},
 0004           ; //12-->64
 0004           ; {WBASE,YBASE},{WBASE,YBASE},{WBASE,YBASE},{RBBASE,BBASE},
 0004           ; //16-->68
 0004           ; {RBBASE,BBASE},{RBBASE,BBASE},{RBBASE,BBASE},{RBBASE,BBASE},
 0004           ; //20-->72
 0004           ; {YBASE,GBASE},{YBASE,GBASE},{YBASE,GBASE},{YBASE,GBASE},
 0004           ; //24-->76
 0004           ; {YBASE,GBASE},{WBASE,GBBASE},{WBASE,GBBASE},{WBASE,GBBASE},
 0004           ; //28-->80 v
 0004           ; {WBASE,GBBASE},{WBASE,GBBASE},{GBBASE,BBASE},{GBBASE,BBASE},
 0004           ; //32-->84
 0004           ; {GBBASE,BBASE},{GBBASE,BBASE},{GBBASE,BBASE},{YBASE,RBASE},
 0004           ; //36-->88
 0004           ; {YBASE,RBASE},{YBASE,RBASE},{YBASE,RBASE},{YBASE,RBASE},
 0004           ; //40-->92
 0004           ; {WBASE,RBBASE},{WBASE,RBBASE},{WBASE,RBBASE},{WBASE,RBBASE},
 0004           ; //44-->96
 0004           ; {WBASE,RBBASE},{WBASE,GBASE},{WBASE,GBASE},{WBASE,GBASE},
 0004           ; //48-->100
 0004           ; {WBASE,GBASE},{WBASE,GBASE},{WBASE,RBASE},{WBASE,RBASE},
 0004           ; //52-->104
 0004           ; {WBASE,RBASE},{WBASE,RBASE},{WBASE,RBASE},{WBASE,BBASE},
 0004           ; //56-->108
 0004           ; {WBASE,BBASE},{WBASE,BBASE},{WBASE,BBASE},{WBASE,BBASE}
 0004           ; };
 0004           ; 
 0004           ; 
 0004           ; const unsigned char KindDataStr[MAXVAL_KIND][2]=
 0004           ; {
 0004           ; //0 v
 0004           ; {ALL_ID,KIND0|DIR0|SPEED0},{ALL_ID,KIND0|DIR0|SPEED1},{ALL_ID,KIND0|DIR0|SPEED2},{ALL_ID,KIND0|DIR0|SPEED3},
 0004           ; // 4 v
 0004           ; {ALL_ID,KIND0|DIR1|SPEED0},{ALL_ID,KIND0|DIR1|SPEED1},{ALL_ID,KIND0|DIR2|SPEED0},{ALL_ID,KIND0|DIR2|SPEED1},
 0004           ; //8   v       
 0004           ; {ALL_ID,KIND0|DIR3|SPEED0},{ALL_ID,KIND0|DIR3|SPEED1},{STAR_ID,KIND1|DIR0|SPEED0},{STAR_ID,KIND1|DIR0|SPEED1},
 0004           ; //12
 0004           ; {STAR_ID,KIND1|DIR0|SPEED2},{STAR_ID,KIND1|DIR1|SPEED0},{STAR_ID,KIND1|DIR1|SPEED1},{STAR_ID,KIND1|DIR2|SPEED0},
 0004           ; //16  
 0004           ; {STAR_ID,KIND1|DIR2|SPEED1},{STAR_ID,KIND1|DIR3|SPEED0},{STAR_ID,KIND1|DIR3|SPEED1},{ALLCOLOR_ID,KIND0|DIR0|SPEED0},
 0004           ; //20v
 0004           ; {SIX_ID,KIND3|DIR0|SPEED0},{SIX_ID,KIND3|DIR0|SPEED1},{SIX_ID,KIND3|DIR0|SPEED2},{SIX_ID,KIND3|DIR0|SPEED3},
 0004           ; //24v
 0004           ; {SIX_ID,KIND3|DIR1|SPEED0},{SIX_ID,KIND3|DIR1|SPEED1},{SIX_ID,KIND3|DIR2|SPEED0},{SIX_ID,KIND3|DIR2|SPEED1},
 0004           ; //28v
 0004           ; {SIX_ID,KIND3|DIR3|SPEED0},{SIX_ID,KIND3|DIR3|SPEED1},{THREE_ID,KIND0|DIR0|SPEED0},{UNITEC_ID,KIND0|DIR0|SPEED0},
 0004           ; //32
 0004           ; {UNITEC_ID,KIND0|DIR0|SPEED1},{UNITEC_ID,KIND0|DIR0|SPEED2},{UNITEC_ID,KIND0|DIR0|SPEED3},{UNITEC_ID,KIND0|DIR1|SPEED0},
 0004           ; //36
 0004           ; {UNITEC_ID,KIND0|DIR1|SPEED1},{UNITEC_ID,KIND0|DIR2|SPEED0},{UNITEC_ID,KIND0|DIR2|SPEED1},{UNITEC_ID,KIND0|DIR3|SPEED0},
 0004           ; //40
 0004           ; {UNITEC_ID,KIND0|DIR3|SPEED1},{THREE1_ID,KIND0|DIR0|SPEED0},{THREE1_ID,KIND0|DIR0|SPEED1},{THREE1_ID,KIND0|DIR0|SPEED2},
 0004           ; //44 v
 0004           ; {THREE1_ID,KIND0|DIR1|SPEED0},{THREE1_ID,KIND0|DIR1|SPEED1},{SEVEN_ID,KIND0|DIR0|SPEED0},{SEVEN_ID,KIND0|DIR0|SPEED1},
 0004           ; //48 v
 0004           ; {SEVEN_ID,KIND0|DIR0|SPEED2},{SEVEN_ID,KIND0|DIR0|SPEED3},{SEVEN_ID,KIND0|DIR1|SPEED0},{SEVEN_ID,KIND0|DIR1|SPEED1},
 0004           ; //52

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -