image.png
rem Main.bas file generated by New Project wizard
  • rem
  • rem Created:   周一 1月 18 2021
  • rem Processor: ATmega8
  • rem Compiler:  BASCOM-AVR
  • rem Write your code here
  • $regfile = "m8def.dat"
  • $crystal = 16000000
  • $hwstack = 32
  • $swstack = 32
  • $framesize = 32
  • '-------------------------------------------------------------点亮彩带长度:
  • const N_LED =64       '阵列中LED的数量(自定义)
  • dim n as word                        '计数器
  • '颜色
  • dim g(N_LED) as word                 '绿色部分
  • dim r(N_LED) as word                 '红色部分
  • dim b(N_LED) as word                '蓝色部分
  • '-----------------------------------------------------------------配置:
  • Config PinB.2 = Output             '新像素:数据输入
  • '------------------------------------------------------生成LED阵列RESET:
  • reset portB.2             'T_RST = Lo =  RESET = 10000 ns
  • waitus 10
  • '--------------------------------------------------------------------起始值:
  • '颜色的起始值可能对效果起决定性作用(可以根据需要更改)
  • for n = 1 to N_LED
  •   g(n) = 2*n
  •   b(n) = 255- G(n)
  •   r(n) = 3 * G(n)
  • next n
  • '-----------------------------------------------------------------主循环:
  • do
  •    '############################################################################
  •   ' 这是使用任何算法来执行
  •   '  更改LED的颜色并更改速度:
  •    waitms 25
  •            '改变速度
  • for n = 1 to N_LED      '更改所有LED的颜色
  •       g(n) =  g(n) +1
  •       r(n) = r(n)+ 3
  •      b(n) = b(n)+ 5
  •   next n
  •    '############################################################################
  •    '---------------------------------------------------创建LED阵列重置:
  • reset portB.2          'T_RST = Lo =  RESET = 10000 ns
  •   waitus 10
  •    '-----------------------用新颜色描述整个LED阵列:
  •    For n = 1 to N_LED
  • $include "../ws28_4.BAS"               '将每个LED的绿色、红色和蓝色字节分离并输出到24位数据流中:
  •    next n
  •    '----------------------------------------------------------------------------
  • Loop
  • End
  • 复制代码