自行车风火轮编程软件DIY用什么软件

热门搜索:
当前位置:
七色花幼教幼儿园儿童玩具手工DIY制作工具彩带编织机3048G
所属类别:
所属品牌:
产品简述:聪明点母婴用品频道提供各类婴儿,幼儿,孕妇生活用品价格信息。您所关注的七色花幼教幼儿园儿童玩具手工DIY制作工具彩带编织机3048G是宝宝玩具行业的知名品牌,&&
产品简述: 聪明点母婴用品频道提供各类婴儿,幼儿,孕妇生活用品价格信息。您所关注的七色花幼教幼儿园儿童玩具手工DIY制作工具彩带编织机3048G是宝宝玩具行业的知名品牌,聪明点为您精心挑选了此款七色花幼教幼儿园儿童玩具手工DIY制作工具彩带编织机3048G的相关销售商家信息,您可以在本页面轻松获得关于七色花幼教幼儿园儿童玩具手工DIY制作工具彩带编织机3048G最新报价,精美外形图片,专家评测和用户评论&&
推荐商家:
配送方式:中国邮政平邮、中国邮政特快专递(EMS)、快递公司、送货上门
最低价格:
共计:1 家
相关品牌:
七色花幼教幼儿园儿童玩具手工DIY制作...
本网站为购物搜索引擎,只提供各网站商品及服务信息链接,以商家实际信息为准!
沪ICP证B2-号&沪ICP备号自行车灯尾灯风火轮48图DIY 山地车死飞单车配件 骑行装备夜骑灯
两个月内最低:一年内最低:
手机扫码拿到手价
未安装一淘客户端请扫码下载
配&&&送送至吉安免邮
颜色分类:36灯32图无编程风火轮
手机购买享更多优惠
增值电信业务经营许可证:浙B2-
v138003.et2&&&&-后使用快捷导航没有帐号?
查看: 606|回复: 3
【瑞萨电子MCU套件免费试用】自行车炫彩风火轮开发应用笔记——(3)软件流程与代码
在线时间30 小时
TA的帖子TA的资源
一粒金砂, 积分 23, 距离下一级还需 27 积分
1 软件开发设计
1.1. 软件流程图
根据功能需求,编制软件流程如下:
图 41 自行车风火轮软件流程图
上述流程中,初始化部分由main函数完成。之后main函数进入idle。
由Timer01中断记录车轮旋转一周的时间T,并将该时间T/2n得到每一个等分间隔的时间,该时间为Timer00的中断。
在每次Timer00中断将LED灯条按照存储的图像数据逐个控制LED的亮度和颜色。
图 42 软件代码执行时间片示意图
1.2.1 Main函数void main(void)&&
{& && &&&
& && &&&UINT8
& && &&&
& && &&&
& && &&&mode=0;
& && &&&
& && &&&init_io();
& && &&&
& && &&&init_timer();
& && &&&
& && &&&/* Enable Interrupt */
& && &&&EI();
& && &&&/* Start Timer, i.e. PWM output */
& && &&&start_timer();
& && &&&while(1){
& && && && && & if (P13.7 == 0)
& && && && && & {
& && && && && && && && &if (mode)
& && && && && && && && &{
& && && && && && && && && && &&&mode = 0;
& && && && && && && && && && &&&stop_timer();
& && && && && && && && &}
& && && && && & }
& && && && && & else
& && && && && & {
& && && && && && && && &if (mode == 0)
& && && && && && && && &{
& && && && && && && && && && &&&mode = 1;
& && && && && && && && && && &&&start_timer();
& && && && && && && && &}
& && && && && & }& && && && && && && && && && &&&
& && &&&}
}复制代码
1.2.2 Timer01中断函数__interrupt void interrupt_inttm01(){
unsigned long div,
if(isFirst){ isFirst = 0;}
count =&&(unsigned)TDR01L + (unsigned)TDR01H * 256&&;
/*TODO: OVF should be counted */
//count = 0x10000 *
div = count / 72;
h = div / 256;
TDR00H =
TDR00L = div - h * 256;
// the end
}复制代码
1.2.3 Timer00中断函数
__interrupt void interrupt_inttm00(){& && &&&
UINT8 i, r=0,g=0,b=0;
preamble();
if( index &= LEDCOUNT*2-2){
index = 0;
}
for(i=0;i&LEDCOUNT;i++){
temp = figure[index][i];& && &&&
r = (temp & 0x4)&& 5 && 7;
g = (temp & 0x2) && 6 && 7;
b = (temp & 0x1) && 7 && 7;& && &&&
light_single_led(r,g,b);
}
postfix();& && &&&
index ++;& && &&&
}// the end复制代码
1.2.4 LED灯带控制函数在每个dT=T/2n的时间间隔内,输出控制LED灯条的颜色亮度数据。时序波形按照LPD6803的要求生成。其中DLCK为P00,DIN为P01,采用GPIO生成时序波形图。
图 43&&LPD6803时序波形
const static UINT8 figure[][LEDCOUNT+1] = {
{ 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x02 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x01 , 0x02 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x04 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x02 , 0x04 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 , 0x00 } ,
{ 0x01 , 0x02 , 0x04 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 } ,
{ 0x00 , 0x01 , 0x02 , 0x04 , 0x01 , 0x02 , 0x04 , 0x00 } ,
{ 0x01 , 0x02 , 0x04 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 } ,
{ 0x02 , 0x04 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 , 0x00 } ,
{ 0x04 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x01 , 0x02 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x02 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } ,
{ 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } };
//
UINT8
UINT8 isF
UINT8
void clk(void){
& & P0 &= ~CLK_PIN_BIT;
& & P0 |=&&CLK_PIN_BIT;
}
void write_bit(UINT8 data){
& && && &&&//P0 |= (0x1&data) && DAT_PIN ;& && &&&
& && && &&&//clk();
& && && &&&P0 = (& &(0x1&data) && DAT_PIN ) & ~CLK_PIN_BIT ;
& && && &&&P0 |= CLK_PIN_BIT;
//P0 = (data&&4) ;
//P0 = 0x08 |(data&&4) ;
}
void write_bits(UINT8 data, UINT8 bitcount){
/* bitcount should be less than 8*/
UINT8 tmp,&&i=0, k=(0x01&&(bitcount-1));& && &&&
for(i=1;i&=i++){
tmp = (data & k)&&(bitcount-i);
write_bit(tmp);& && &&&
& && && && &k=k&&1;& && &&&
}
}
void preamble(void){&&
UINT8& && && &
& && && && &for(i=0;i&32;i++){& && &&&
write_bit(0);
& && && && &}
}
void postfix(void){
& && &&&
for(i=0;i&LEDCOUNT;i++){
write_bit(0);
}
}
void write_single_channel(UINT8 ch){& &
// UINT8 tp = ch & 0x1f;
& && && &&&write_bits( ch & 0x1f, 5); // ignore the first 3 bits
}
void light_single_led(UINT8 r, UINT8 g, UINT8 b){
write_bit(0x01);& && &&&
write_single_channel(r);
write_single_channel(g);
write_single_channel(b);& && &&&
}
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间30 小时
TA的帖子TA的资源
继续吐槽论坛的word复制功能,请下载pdf查看。恳请指点。
你将pdf复制到word试一试,估计样式没复制下来。&
在线时间676 小时
芯币2053 枚
TA的帖子TA的资源
继续吐槽论坛的word复制功能,请下载pdf查看。恳请指点。
你将pdf复制到word试一试,估计样式没复制下来。
在线时间9 小时
TA的帖子TA的资源
Powered by
逛了这许久,何不进去瞧瞧?21 55 116 28 62 13 0 124
103 129 16 10 4 1
26 5 3 10 31 7 3 13 7 0 0 5 3 1 0 4 0 1 1 0 16 2 13 8 7 0
查看: 54|回复: 0
注册时间最后登录帖子积分277主题精华0粟米137.86 石信誉1 点阅读权限60
正九品上.校书郎, 积分 277, 距离下一级还需 23 积分
信誉 1 / 粟米 137.86 / 恶评 0 / 不满 0 / 帖子 277 / 精华 0 / 在线 23 小时 / 注册
熟悉的风火轮
按着键盘上的command+option+Shift+Esc大约3~4秒钟就能直接结束应用
ABCDEFGHIJK.........Just call me &K&
||服务电话: 400-813-9977
论坛所有帖子仅代表作者本人意见,不代表本网站立场

我要回帖

更多关于 自行车风火轮怎么用 的文章

 

随机推荐