3004|3

693

帖子

7

TA的资源

版主

楼主
 

51单片机模拟水滴由小变大然后滴落现象(附带C语言源码) [复制链接]

 #include

typedef unsigned char u8;
typedef signed char v8;
typedef char w8;

sbit LED = P2^0;

void main()

{

u8 i,k,p,t,j;

w8 l;

u8 a[]={0,1,2,4,6,16,32,64};        //亮度数组以实现拖尾效果

u8 b[]={0,34,48,59,68,76,84,91,97,103,109,114,119,123,126};        //时间数组以实现加速效果

v8 c[]={-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7};

P2=0xFF;

while(1)

        {

/******************************************************************************************************/

/****************************************水滴形成(渐变效果)******************************************/

/******************************************************************************************************/

                k=0;
               
                for(i=0;i<=252;i++)

                {
               
                        if(0==(i%4)) k++;
                       
                        for(t=0;t<=16;t++)
                       
                        {
       
                                LED=0;
                               
                                for(j=0;j<=64;j++)
                               
                                if(j==k) LED=1;
       
                        }
       
                }

/******************************************************************************************************/

/***********************************水滴掉下(加速与拖尾效果)*****************************************/

/******************************************************************************************************/

                for(j=0;j<=254;j++)

                {
               
                p=0;
               
                for(k=0;k<=15;k++)

                        {
                                if(j==b[k]) l=c[k];
                        }

                        for(i=0;i<=64;i++)

                                {

                                        for(k=0;k<=7;k++)

                                                {

                                                        if(i==a[k])

                                                        {

                                                                p=p|(1<                                                                
                                                                t=~p;
                                                               
                                                                if(l>=0)
                                                               
                                                                P2=~(t<                                                                
                                                                else
                                                               
                                                                P2=~(t>>-l);

                                                        }

                                                }

                                }

                        }

                }

}


最新回复

最好附上原理图及效果图  详情 回复 发表于 2018-8-30 15:57
点赞 关注(2)
 
 

回复
举报

1368

帖子

6

TA的资源

版主

沙发
 
最好附上原理图及效果图

点评

好的,明天一定上传原理图和效果图,我看了一下,因为效果是动态的,想传个视频,但是貌似好像不能传视频  详情 回复 发表于 2018-8-30 22:52
个人签名专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void
 
 
 

回复

693

帖子

7

TA的资源

版主

板凳
 
懒猫爱飞 发表于 2018-8-30 15:57
最好附上原理图及效果图

好的,明天一定上传原理图和效果图,我看了一下,因为效果是动态的,想传个视频,但是貌似好像不能传视频
 
 
 

回复

693

帖子

7

TA的资源

版主

4
 
之前考虑不周,没有上传单片机原理图,也没有上传效果图,多亏坛友提醒,今天稍微介绍一下。
1.单片机类型为51单片机,51单片机有STC89C52、STC89C51等,IO口简单,是学习单片机的入门器件。上述程序是用的就是这种单片机。
2.51单片机有P00-P07、P10-P17、P20-P27、P30-P37四个大类32个可操作IO口,每个接口都可以外接电阻和LED灯,如下图
LED0的阴极和单片机的上述IO口连接,电阻起分压作用,一般为10K的电阻,因为二极管的单向导电性,所以只要将IO口拉低LED就可以点亮,操作非常简单,我在程序里使用的P2口,即P20-P27,焊接了带有8条LED灯的电路,便可以实现控制。下面的是我所发帖子使用的单片机的原理图。
HC6800-ES V2.0 新版.pdf (759.71 KB, 下载次数: 23)


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表