标题: 单片机太阳能自动追光系统程序+电路+仿真 [打印本页]

作者: 84533243    时间: 2016-4-23 20:19
标题: 单片机太阳能自动追光系统程序+电路+仿真
用51单片机做的太阳能自动追光系统仿真图 电路图(proteus仿真文件可以从51黑本贴附件下载):

太阳能自动追光系统的全部文件:


全部资料(压缩包)下载: 太阳能自动追光系统.zip (48.51 KB, 下载次数: 1180)



下面是部分程序预览(完整版本请下载本帖附件):
  1. #include <reg52.h>                                                                                
  2. #include <intrins.h>                                                                        
  3. sbit            spb=P1^0;                                                                            //水平方向反转使能端
  4. sbit            czb=P1^1;                                                                        //垂直方向反转使能端
  5. sbit     spa=P1^2;                                                                                //水平方向正传使能端
  6. sbit     cza=P1^3;                                                                                //垂直方向正传使能端
  7. char    zhuan[8]={0xe6,0xc7,0xd3,0x9b,0xb9,0x3d,0x7c,0x6e};
  8. bit      ka,kb,ma,mb;                                                                        
  9. int      ia,ib;                                                                                       
  10. /*******************************************************
  11.                      电机转动延时子函数
  12. ********************************************************/
  13. void delay_dianji(unsigned int t)                                                        //电机转动延时函数
  14. {                           
  15.    unsigned int k;                                                                                
  16.    while(t--)                                                                                       
  17.    {
  18.      for(k=0; k<300; k++)                                                                //k从0自加一至300
  19.      { }
  20.    }
  21. }                                                                                                                                                
  22. /*******************************************************
  23.                      电机运转子函数
  24. ********************************************************/
  25. void  dianji()                                                                                        //电机运转子函数
  26. {                                                                                                                 
  27.     if(ma==1)                                                                                       
  28.         {                                                                                                
  29.             if(ka==0)                                                                                //若正传标志位有效
  30.             {                                                                                                                           
  31.                 ia++;                                                                                //水平数据位自加一
  32.                 if(ia>7)ia=0;                                                                //数据位大于7,变为0
  33.             }
  34.         if(ka==1)                                                                                //若反转标志位有效
  35.         {   
  36.                 ia--;                                                                                //水平数据位自减一
  37.                     if(ia<0)ia=7;                                                                   //数据位小于0,变为7
  38.         }
  39.         }
  40.         if(ma==0)ia=ia;                //若水平方向转动标志位失效,水平方向数据位维持不变
  41.         if(mb==1)                                                                                        //垂直转动标志位有效
  42.         {
  43.             if(kb==0)                                                                                 //若正转标志位有效
  44.             {   
  45.                     ib++;                                                                                //垂直数据位自加一
  46.                     if(ib>7)ib=0;                                                                //数据位大于7,变为0
  47.             }
  48.             if(kb==1)                                                                            //若反转标志有效
  49.             {                                                                                                                           
  50.                     ib--;                                                                            //垂直数据位自减一
  51.                     if(ib<0)ib=7;                                                            //数据位小于0,变为7
  52.             }
  53.         }
  54.         if(mb==0)ib=ib;                //若垂直方向转动标志位失效,垂直方向数据位维持不变
  55.         P0=zhuan[ia];                                                                            //P0发送水平转动码
  56.         P2=zhuan[ib];                                                                            //P2发送垂直转动码
  57.         delay_dianji(15);                                                                            //调用电机延时函数
  58.         ma=0;                                                                                            //水平转动标志位失效
  59.         mb=0;                                                                                            //垂直转动标志位失效
  60. }
  61. //*******************************************************
  62.                   
  63. //********************************************************
  64. void fangxiang()                                                                                    //识别方向子函数
  65. {
  66.     if(spa==1)                                                                                        //水平正传使能端有效
  67.         {
  68.             ma=1;                                                                                        //水平方向电机转动
  69.                 ka=0;                                                                                        //转动方向为正向
  70.         }
  71.         if(spb==1)                                                                               //水平反转使能端有效
  72.         {
  73.             ma=1;                                                                                        //水平方向电机转动
  74.                 ka=1;                                                                                        //转动方向为反向
  75.         }
  76.     if(cza==1)                                                                                        //垂直正传使能端有效
  77.         {                                                                                                                                       
  78.             mb=1;                                                                                        //垂直方向电机转动
  79.                 kb=0;                                                                                        //转动方向为正向
  80.         }                                                                                                                                       
  81.     if(czb==1)                                                                                        //垂直反转使能端有效
  82.         {                                                                                                                  
  83.             mb=1;                                                                                        //垂直方向电机转动
  84.                 kb=1;                                                                                        //转动方向为反向
  85.         }
  86. }
  87. /*******************************************************
  88.                         主程序
  89. ********************************************************/
  90. main()                                                                                                         
  91. {
  92.     while(1)                                                                                        //死循环
  93.         {
  94.             fangxiang();                                                                                //识别方向子函数
  95.             dianji();                                                                                 //电机运行子函数
  96.         }
  97. }
复制代码

http://sc.111ttt.com/up/mp3/140360/F54542EBAE225FB83D5665569C8FD9E7.mp3
作者: 15620604312    时间: 2016-5-3 20:51
感觉还行,看看,学习学习
作者: feiyang25    时间: 2016-11-12 23:46
51黑有你更精彩!!!
作者: william_2016    时间: 2016-11-18 07:58
感谢分享,good
作者: 人生如梦超    时间: 2016-12-1 08:20
没有原理图吗?
作者: 奶油霄神    时间: 2016-12-12 18:09
15620604312 发表于 2016-5-3 20:51
**** 作者被禁止或删除 内容自动屏蔽 ****

你好!我看了你发的单片机的智能家居管理系统,请问方便告诉我一下这个系统的元件清单吗?
作者: chao23333    时间: 2016-12-16 10:29
感谢,先学习学习
作者: 山东临沂    时间: 2016-12-17 15:26
来学习了

作者: 杰克稻草    时间: 2016-12-17 18:13
谢谢楼主。感谢你的提供的程序,先学习学习。
作者: zrb5688    时间: 2016-12-19 09:18
谢谢楼主分享,先学习一下。
作者: 榆林上校    时间: 2017-2-14 10:52
51黑有你更精彩!!!
作者: 为你默爱    时间: 2017-3-12 19:28
不错值得学习…………
作者: hjak    时间: 2017-4-5 08:58
为什么要用四个电机?做跟踪应该二轴就够了。
作者: yangjinqiao_1    时间: 2017-4-13 10:41
谢谢老板!!!!!!!!!!!!!!!!!!!
作者: yangjinqiao_1    时间: 2017-4-13 10:41
不错值得学习…………
作者: xuwei517    时间: 2017-4-13 18:21
谢谢楼主分享  很好很有用 正好要做个太阳跟踪电路 太棒了
作者: 足校一名    时间: 2017-4-20 17:47
楼主。有没有家用太阳能发电系统的仿真和电路图
作者: qq78906705    时间: 2017-4-25 19:52
可不可以发一下资源
作者: qq78906705    时间: 2017-4-25 19:52
谢谢你,好人平安
作者: 李壮壮    时间: 2017-5-14 14:24
非常不错
作者: 123good    时间: 2017-5-18 08:55
借鉴学习一下。谢谢分享
作者: 小陈子    时间: 2017-11-24 16:16
如果用舵机替换电机可以嘛
作者: QQ673030898    时间: 2017-12-5 12:10
让我看看什么内容
作者: 刺刀he    时间: 2017-12-6 17:18
东西很不错,符合大家的需求
作者: 13202036330    时间: 2017-12-22 17:01
楼主!你好,是这样的,我打算自己动手做一个小型的太阳能自动追光的装置,太阳能板大概是手机大小,我想问一下,我利用四个光敏装在太阳能板的四个角,通过光敏的电阻变化,给单片机信号,让垂直轴的舵机和水平轴的舵机自动调整实现追光,你觉得可行吗??

作者: p2o0i0u8    时间: 2018-1-9 16:30
感谢分享,正好想DIY呢
作者: wan2401463    时间: 2018-2-19 13:36
不错,拿来学习学习
作者: 841812960    时间: 2018-2-20 14:13

感觉还行,看看,学习学习
作者: 彼岸雨寒    时间: 2018-4-4 10:24
仿真时,运行后有两个错误怎么改
作者: 彼岸雨寒    时间: 2018-4-4 13:17
请问楼主,有没有单片机控制的自动跟随吗太阳能窗台灯仿真
作者: joyous    时间: 2018-5-2 09:21
有点看到懂
作者: wenkang    时间: 2018-5-12 13:32
学习一下
作者: hanshan    时间: 2018-9-10 19:53
51黑有你更精彩!!!
作者: 了咖啡公平    时间: 2018-9-14 09:22
可以      没事可以做着玩
作者: muse122334    时间: 2018-9-14 15:08
学习了 感谢
作者: yang123456789    时间: 2018-10-3 15:38
感谢你的程序及仿真图。麻烦问一下,这个有实物图吗?
作者: 晴天七里香    时间: 2018-11-11 16:03
感谢分享,good
作者: 15530802752    时间: 2018-12-20 09:15
非常感谢楼主分享
作者: 15530802752    时间: 2018-12-20 09:24
可惜没有报告书文献
作者: yahui625    时间: 2018-12-20 09:44
好帖啊
作者: zcj83123    时间: 2018-12-26 08:45
不错不错
作者: lao4jiadian    时间: 2019-1-8 12:22
很棒的教程,谢谢楼主的提供,我下载学习一下。谢谢
作者: OmyAphrodite    时间: 2019-2-27 10:39
目前在学习中,已设计到控制部分,谢谢楼主的分享,对我的设计很有帮助!
作者: jtyhvgc    时间: 2019-2-27 12:39
赞一个
作者: YangC233    时间: 2019-3-14 10:27
好贴,看一下
作者: chenziyue1996    时间: 2019-3-15 14:02

借鉴学习一下。谢谢分享
作者: ruaaa    时间: 2019-3-15 15:25
太感谢了。
作者: stlong    时间: 2019-3-15 17:32

正在下载,谢谢分享,收藏!
作者: visvi    时间: 2019-3-28 10:27
很好的资源,感谢分享
作者: zhongzl728    时间: 2019-4-10 08:58
学习一下
作者: 积分靠近发    时间: 2019-5-7 10:21
十分感谢分享楼主无私
作者: q1106679964    时间: 2019-5-9 10:18
感觉还行,看看,学习学习
作者: dx9685    时间: 2019-5-16 16:43
良心贴
作者: 过客795    时间: 2019-6-1 17:43
请问楼主的程序是不需要读取光敏电阻的吗?
作者: Nice叶    时间: 2019-6-21 11:36
不错不错
作者: 委曲求全    时间: 2019-7-15 14:34
为啥用四个电机
作者: 电子黑客嗯哼    时间: 2019-8-1 22:37
感谢作者的分享
作者: Android大神    时间: 2019-10-4 08:57
十分感谢楼主
作者: 皮条01    时间: 2019-10-7 16:33
感觉还行,看看,学习学习
作者: Dangerou    时间: 2019-10-21 09:25
不错不错,值得借鉴
作者: 莫超人    时间: 2019-10-25 11:18
感谢楼主的分享
作者: 一开始到永远    时间: 2019-11-13 20:19
无敌了这个,,,解决燃眉之急

作者: 一开始到永远    时间: 2019-11-13 20:24
很厉害
作者: makej    时间: 2019-12-13 18:35
非常感谢楼主

作者: xinbibo    时间: 2020-2-1 19:44
13202036330 发表于 2017-12-22 17:01
**** 作者被禁止或删除 内容自动屏蔽 ****

可以,比较简单
作者: du13994061293    时间: 2020-4-9 09:44
现在正在做这方面的东西,下下来学习一下
作者: 阿飞7812    时间: 2020-4-9 20:48
学习中 谢谢分享
作者: sky丶ol    时间: 2020-4-9 22:31
大佬,不是只有两个方向么,怎么有四个电机呀?
作者: 放羊的星星    时间: 2020-4-21 15:31
有人能给我这个小白解释一下吗
作者: asdpoi    时间: 2020-4-23 23:19
谢谢分享
作者: 哇咿呀    时间: 2020-5-20 17:28
这个帖子好!!!!!!完整
作者: fengyu5100    时间: 2020-6-17 15:49
仿真的时候出现错误
作者: fj118    时间: 2020-7-30 17:26
正想做一个追光系统,谢谢楼主资料
作者: Jacy_苏    时间: 2020-11-24 17:21
用的是什么电机呢!
作者: 不球人    时间: 2021-4-17 16:06
muse122334 发表于 2018-9-14 15:08
学习了 感谢

俩电机的就可以吧?

作者: chd769929347    时间: 2021-5-4 21:11

谢谢楼主。感谢你的提供的程序,先学习学习。
作者: cxs0113    时间: 2022-2-10 21:56
666太感谢了,但是为什么keil编译的时候会失败啊?
作者: ice841121    时间: 2022-4-1 15:57

51黑有你更精彩!!!
作者: cqcgq    时间: 2022-9-21 14:32
有用,先下载保存起




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1