rem Main.bas file generated by New Project wizardrem 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
复制代码