单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:2961|回复:0
打印上一主题下一主题

bascom avr版WS2812渐变流水的灯

[复制链接]
跳转到指定楼层
楼主
ID:342822发表于 2021-1-19 13:27|显示全部楼层|只看大图回帖奖励
本帖最后由 taotie 于 2021-1-19 13:31 编辑


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

工程文件用Proteus 8 .9打开
ws2812.zip(23.69 KB, 下载次数: 22)



评分

黑币 +50
收起理由
+ 50
共享资料的黑币奖励!

查看全部评分

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网