利用51单片机最小系统电路图设计(附电路图)

您现在的位置:
[专业]完全手册 51单片机C语言开发详解系列之第10章
DA转换实战—模拟量输出电路与软件设计
资料价格:免费
文件类型: (pdf)
资料大小:1.9 MB
标签: & & & &
[专业]完全手册 51单片机C语言开发详解系列之第10章&&DA转换实战—模拟量输出电路与软件设计电子,电路,专业资料,专业文献
[] [] [] [] [] [] [] []
网友分享心得
会员jobwangwu分享
上学吧从2011年我开始做的时候开始,提现都是按照网站规定时间兑现打款给网友的,从不拖欠。自己总结一下上传资料有以下几点经验:
一:合理选择资料
二:搜集自己擅长的资料
三:合理定价
四:多进行资料的推广...
会员senda分享
上学吧已经用了接近两年了,给我的真心体会就是非常棒!上学吧提供的精美资料以及软件、工具种类都是非常之多,更可观的是,动动手指,便可享受上学吧带来的收益...[详情]
会员why74100分享
在我们写毕业论文时间里,曾找了很多个网站,百度文库.豆丁网.等等等等,最后发现了上学吧,里边资料很全,有帮助的也很多。关于上传资料,我建议还是要关注网站内的求购...[详情]
会员fengstone分享
作为新人应认识到上学吧是一个以分享资料为纽带将网友链接在一起、互惠互利的平台,请注意以下几点:
1. 大致了解网站的奖励机制
2.审视自己现有的资料
3.向网站收入高的网友学习...
会员boning2014分享
我是一名教师,平时要收集一些考试题、制件教学课件之类的东东。我的同事对我说将你制做的ppt上传到上学吧还可以卖钱呢...
会员helploving分享
新手朋友怎样才能在上学吧茫茫的“资料海洋”里脱颖而出呢?下面,笔者为您指点3大招,助您三阳开泰:
第一招·整理整顿
第二招·草船借箭
第三招·收集情报...
会员liuhong_520分享
1、人有我“优”——资料名称、资料简介正规化;
2、人无我“有”——重点上传稀缺资料
3、人逸我“劳”——积极进行...
会员Biglemon分享
2015年6月份我有幸成为上学吧的一员,感谢此次活动提供的平台,让我可以将我的一些想法与感触分享给大家:
《一》上传资料的动机
《二》上传哪些资料比较好
《三》上传资料的方法...后使用快捷导航没有帐号?
51单片机驱动WS8212系列集成LED程序及电路图(任意色彩搭配流水灯设计方案)
本帖最后由 E-Man 于
01:37 编辑
据我所知对于广大单片机初学者来说,这个芯片是冷门的!So,最近闲着无聊,又不想更新之前写的帖子,闲来无事看到下面这个家伙,写个程序玩玩,ok,废话不多说,直接上内容,此帖程序内容属于原创,禁止淘宝商家盗用!否则必究!据我所知,网络上还没有这个芯片的51程序。当然,谁会闲着蛋疼51写这个程序。仅以此贴献给刚刚学会流水灯的孩子,学会这个就可以搞任意颜色搭配的流水灯了,而且根本不用考虑引脚个数(碎碎念:只用一个引脚就可以控制几百个以上的灯珠,每个灯珠颜色是255*255*255种)!!!视频还没有审批通过,刚上传!等通过后在后面补上连接。
另外:秉持一贯开源的精神&&...求评分!!!!
貌似从DOC文档中无法带进来图片,我也懒得上图片了,这个东东的资料可以去百度去搜。
/*******************************************************************************************/
/***************************************专用分割线*******************************************/
WS2812B51单片机驱动程序+电路图+视频展示
WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度要求。
LED具有低电压驱动,环保节能,亮度高,散射角度大,一致性好,超低功率,超长寿命等优点。将控制电路集成于LED上面,电路变得更加简单,体积小,安装更加简便。
机械尺寸(单位mm)
数据传输方法:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png
代码如下:
/********************************************************/
/*作 者:Dyingstraw
/*修改日期:
/*版& & 本:V1.0
/*程序功能:用51单片机控制ws2812 RGB输出,显示全色彩
/*备& && &&&注:51单片机晶振24M
/********************************************************/
#include&reg52.h&
#include&intrins.h&
#define uchar unsigned char
sbit Send_Dat=P1^0;& && && && && &//数据输出,接IN脚
sbit Key=P1^1;& && && && && && && & //按键等待
sbit Send_Dat1=P1^2;& &//中断状态灯
uchar RGB_BUF[24];
void delay();
void delays();
void init();
uchar Led_Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};& && &&&
//存储一个转化后的RGB2进制数&&共24bits
struct My_24bits& && && && && && &&&//结构体
{
& && & uchar G_VAL;& && && && && &&&//绿色&&0-255
& && & uchar R_VAL;& && && && && && &//红色 0-255
& && & uchar B_VAL;& && && && && && &//蓝色0-255
};
/*写入数据时序*/
void Send_A_bit(uchar VAL)
{
//& &&&Send_Dat=0;
& && & if (VAL==1)
& && & {
& && & //& &&&Send_Dat=0;
& && && && &&&Send_Dat=1;
& && && && &&&_nop_();
& && && && &&&//_nop_();
& && && && &&&Send_Dat=0;& && && && &//2.17us
& && && && &&&//_nop_();
& && & //& &&&Send_Dat=1;& && && && && &&&//2.17us
& && & }
& && & else
& && & {
& && & //& &&&Send_Dat=0;
& && && && &&&Send_Dat=1;
& && && && &&&//_nop_();
& && && && &&&//_nop_();
& && && && &&&Send_Dat=0;& && && &&&
& && && && &&&_nop_();
& && & //& &&&Send_Dat=1;
& && & }& && && &&&
& && &
}
/*发送24位字符(包含RGB信息各8位)*/
void Send_24bits(struct My_24bits RGB_VAL )& && && && && && && &
{
& && &
& && & for& &(i=0;i&8;i++)
& && & {
& && && && &&&RGB_BUF[i]=RGB_VAL.R_VAL&&i&0x01;& && && && && && && && &&&//转化R_VAL
& && & }
& && && && &&&for& &(i=8;i&16;i++)
& && & {
& && && && &&&RGB_BUF[i]=RGB_VAL.G_VAL&&(i-8)&0x01;& && && && && &//转化G_VAL
& && & }
& && && && &&&for& &(i=16;i&24;i++)& && && && && && && && && && && && && && && && && && & //转化B_VAL
& && & {
& && && && &&&RGB_BUF[i]=RGB_VAL.B_VAL&&(i-16)&0x01;& &&&
& && & }
& && & for (i=0;i&24;i++)
& && & {
& && && && &&&Send_A_bit(RGB_BUF[i]);
& && & }
& && &
}
/*主函数*/
void main()
{
& && & struct My_24bits a,b,c,d,e,f,g;
& && & a.R_VAL=0
& && & a.G_VAL=0x00;& && && && && && && & //1& && && && && && & 颜色顺序,下同
& && & a.B_VAL=0x00;
& & b.R_VAL=0x00;
& && & b.G_VAL=0& && && && && && && &&&//2
& && & b.B_VAL=0x00;
& && & c.R_VAL=0x00;
& && & c.G_VAL=0x00;& && && && && && && && &&&//3
& && & c.B_VAL=0
& && & d.R_VAL=0& && && && && && && && && &//4
& && & d.G_VAL=0
& && & d.B_VAL=0x00;
& && & e.R_VAL=0
& && & e.G_VAL=0x00;& && && && && && && && && &&&//5
& && & e.B_VAL=0
& && & f.R_VAL=0x00;
& && & f.G_VAL=0& && && && && && && && && && && & //6
& && & f.B_VAL=0
& && & g.R_VAL=0& && && && && && && && && && && & //7
& && & g.G_VAL=0
& && & g.B_VAL=0
& && & init();
& && & while(1)
& && & {
& && & Send_Dat=0;
& && & Send_24bits(a);
& && & Send_Dat=0;& &P0=0xF9;
& && & delays();
& && & while(Key==1);& && && && && && && && && && && && && & //按键等待,当Key=1时停止,等于0时七种颜色流水灯循环,下同(主要方便观察颜色)
& && & Send_24bits(b);
& && & Send_Dat=0;& && && & P0=0xa4;& && && && && &//共阴极数码管显示颜色顺序,下同
& && & delays();
& && & while(Key==1);
& && & Send_24bits(c);
& && & Send_Dat=0;& &P0=0xb0;
& && & delays();
& && & while(Key==1);
& && & Send_24bits(d);
& && & Send_Dat=0;& &P0=Led_Tab[4];
& && & delays();
& && & while(Key==1);
& && & Send_24bits(e);
& && & Send_Dat=0;& &P0=Led_Tab[5];
& && & delays();
& && & while(Key==1);
& && & Send_24bits(f);
& && & Send_Dat=0;& &P0=Led_Tab[6];
& && & delays();
& && & while(Key==1);
& && & Send_24bits(g);
& && & Send_Dat=0;& &P0=Led_Tab[7];
& && & delays();
& && & while(Key==1);
//& &&&PCON|=0x01;& && && && && && && & //空闲模式
& && && && &
& && & }
}
/*中断唤醒测试函数*/
void INT1_ISR(void) interrupt 2
{
& && & P2=1;
}
/*小延时函数*/
/*大概1S吧,随便写的*/
void delay()
{
uchar i,j;
& && & for (i=0;i&250;i++)
& && & {
& && && && &&&for (j=0;j&250;j++);
& && & }
}
/*大延时函数*/
/*十几秒*/
void delays()
{
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();
& && & delay();&&
& && & delay();
& && & delay();
& && & delay();
}
/*系统初始化*/
void init()
{
&&P0=0x00;
&&P1=0x00;
&&P2=0x00;
&&P3=0x00;
&&TCON=0x05;
&&TMOD=0x00;
&&TH0=0x00;
&&TL0=0x00;
&&TH1=0x00;
&&TL1=0x00;
&&T2CON=0x00;
&&RCAP2H=0x00;
&&RCAP2L=0x00;
&&IP=0x00;
&&IE=0x85;
&&PCON=0x00;
&&SCON=0x00;
}复制代码东西狠小,一支笔对比!引脚标注是错的,请忽略!
下图序号小时不正确!
集中颜色的图片,意思一下。最后一张是实物图,单片机应该看不到吧(这个图片不是这个程序的,另外的序号不一样)
IMG_651.jpg (28.31 KB, 下载次数: 2)
01:30 上传
IMG_705.jpg (20.2 KB, 下载次数: 0)
01:30 上传
IMG_718.jpg (36.61 KB, 下载次数: 0)
01:30 上传
IMG_805.jpg (31.55 KB, 下载次数: 0)
01:30 上传
IMG_921.jpg (40.69 KB, 下载次数: 0)
01:30 上传
马克笔画出来的,引脚标注是错误的!!!请自觉忽略!!
视频地址:&embed src=&/player.php/sid/XOTQ2MTg0NjA0/v.swf& allowFullScreen=&true& quality=&high& width=&480& height=&400& align=&middle& allowScriptAccess=&always& type=&application/x-shockwave-flash&&&/embed&
自己嗨,好无聊,感谢hai.yang20189评分!
本帖最后由 ianon 于
21:18 编辑
这个LED要求速率很高,用STC来做有点紧张,楼主还用了点技巧,赞
花了不少时间调时序吧,我刚好可以借鉴了
ianon 发表于
这个LED要求速率很高,用STC来做有点紧张,楼主还用了点技巧,赞
花了不少时间调时序吧,我刚好可以借鉴了
其实还行吧,51速率刚好够。现在用stm32写了一个控制器玩,有时间交流
楼主多才多艺,还能玩stm
调时序用了示波器吗?我是两眼一摸黑
ws2812.png (148.35 KB, 下载次数: 0)
WS2812时序图
09:17 上传
其实我们都被误导了,WS8212适应性很强,并不是一定要800K的速率,低速率也可以,只要调好占空比,我试过400K都能用
折腾了2天,输出波形还是不稳定,真应该用PWM输出来做
可恨的是我选的这个STC15L204竟然不带串口不带PWM,晕死了
ianon 发表于
折腾了2天,输出波形还是不稳定,真应该用PWM输出来做
可恨的是我选的这个STC15L204竟然不带串口不带PWM, ...
没有串口毕竟还是少见
Copyright &
Powered by基于51单片机的时钟电路设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机的时钟电路设计
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩25页未读,继续阅读
你可能喜欢51单片机电子万年历设计电路图及程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机电子万年历设计电路图及程序
上传于||文档简介
&&5单​片​机​电​子​万​年​历​设​计​电​路​图​及​程​序
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩32页未读,继续阅读
你可能喜欢

我要回帖

更多关于 单片机控制舵机电路图 的文章

 

随机推荐