您的位置 首页 数字

根据单片机的旋转led(初级版)

旋转led,记得第一次接触的时候是在半年前的一个视频,当时什么都不知道,为何这样显示呢?就是想不通,后来买了一个套件,做出来了,也是

旋转led,记住第一次触摸的时分是在半年前的一个视频,其时什么都不知道,为何这样显现呢?便是想不通,后来买了一个套件,做出来了,也是想不通,其实那个套件不必编程序,有一个能够直接生成.HEX文件,所以关于 这种懒于编程序的人来说,是一个不错的挑选,可是后来,在度娘不断的劝导与协助下,我总算能自己编一个小程序了,度娘给予了我极大的协助,她教会了我许多,在此感谢一下我巨大的度娘,先说一下本次历时好久,颇具传奇的旋转led吧。
硬件部分:
(1)底座供电,选用通用的无线供电技能,别小瞧这个东西,尽管电路很简略,可是不是很好调啊,这个破东西浪费了我数日不吃不喝的精力,平常看网上他们调的都很好,供电也很安稳,为啥我这个就问题重重呢?真是特娘的无语,电压值先从0.8v升到1.3v,这个升压是我调了一下三极管的基极电压值,然后又从1.3v升至1.8,这是我换了一个三极管,可是这个电压还不能是单片机作业起来,怎么办,此刻我的脑袋里闪现了华仔的那个半波与全波问题了,我换了一个整流桥,成果升至3.3v了,尽管这个电路发生的电流出现三角波,依照常理,我这个用个半波就够了,可是我这个真的不能够,尽管此刻的电压是3.3v可是及其的不安稳,也便是说单片机总是重启,不能接连的作业,就在此刻,我把供电的电压改动成了12v,原来是5v供电,这个成果很明显,单片机作业了,记住那天的这个时分现已熄灯了,可是晚上我思前想后,想了良久,总算想出来了,把电容改动一下(记住第二天我和他人吹,我的脑袋便是一个多功能的示波器),成果成功了,现在5v供电电压值一般在3.8v以上,这时我总算能够拼装测试了。
(2)最小体系,这个很简略,可是由于我关于我的每一件著作要求比较高,所以我这个东西焊的时刻也比较长,还有一个便是由于无线供电的问题,上面的最小体系的某些东西选型必定要注意,尤其是发光二级管的挑选,当然假如无线供电调的很好就不必考虑这些了,还有一点便是千万不能用那种三色七彩闪耀的那种,只要用一个就会出问题,可是我现在还没有找到原因,可能是我那个东西得方位放置的不合理吧,等今后渐渐研讨…
软件部分:
假如只想显现几个字那很简略,要是想弄其他的,有点难度,所以关于初级版的来说,我这个就简略的让它显现点自吧,
平面字程序:
void main(void)
{
uint i=0,j=0 ;
P1=0XFF;
P2=0XFF;
P3=0XFF;
//主程序中只检测对管
while(1)
{
if(KEY==0) //红外接收管 判别开始位
{
j++;
if(j>320) //依据显现的字数界说改数值320/16=20个字 显现完20个字后 重新开始
{
j=0 ;
}
for(i=j;i<96+j;i++) //每转一圈 行进一列 这儿界说一圈中一起显现96/16=6个字,
{
P1=love[i*2]; //字幕数据低位送显现
P2=love[i*2+1]; //字幕数据高位送显现
DelayUs(210);//延时让LED亮起来 每列延时的时刻
P1=0XFF;
P2=0XFF;

}
}
}
}
这儿还有个小插曲,便是字刚开始的巨细问题,其实处理这个问题很简略,有些人用软件处理,可是我比较喜爱用硬件,由于省劲,在电机的一段串几个二极管就好了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/255681.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部