用51单片机做的太阳能自动追光系统

下面是部分程序预览

#include                                                                                 

#include                                                                         

sbit            spb=P1^0;                                                                            //水平方向反转使能端

sbit            czb=P1^1;                                                                        //垂直方向反转使能端

sbit     spa=P1^2;                                                                                //水平方向正传使能端

sbit     cza=P1^3;                                                                                //垂直方向正传使能端

char    zhuan[8]={0xe6,0xc7,0xd3,0x9b,0xb9,0x3d,0x7c,0x6e};

bit      ka,kb,ma,mb;                                                                        

int      ia,ib;                                                                                        

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

                     电机转动延时子函数

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

void delay_dianji(unsigned int t)                                                        //电机转动延时函数

{                           

   unsigned int k;                                                                                

   while(t--)                                                                                       

   {

     for(k=0; k<300; k++)                                                                //k从0自加一至300

     { }

   }

}                                                                                                                                                

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

                     电机运转子函数

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

void  dianji()                                                                                        //电机运转子函数

{                                                                                                                 

    if(ma==1)                                                                                       

        {                                                                                                

            if(ka==0)                                                                                //若正传标志位有效

            {                                                                                                                           

                ia++;                                                                                //水平数据位自加一

                if(ia>7)ia=0;                                                                //数据位大于7,变为0

            }

        if(ka==1)                                                                                //若反转标志位有效

        {   

                ia--;                                                                                //水平数据位自减一

                    if(ia<0)ia=7;                                                                   //数据位小于0,变为7

        }

        }

        if(ma==0)ia=ia;                //若水平方向转动标志位失效,水平方向数据位维持不变

        if(mb==1)                                                                                        //垂直转动标志位有效

        {

            if(kb==0)                                                                                 //若正转标志位有效

            {   

                    ib++;                                                                                //垂直数据位自加一

[1] [2] [3]
关键字:单片机  太阳能  自动追光系统 引用地址:单片机太阳能自动追光系统程序+电路+仿真

上一篇:基于51单片机的篮球计分器设计
下一篇:用51单片机控制LCD12864显示屏源程序

推荐阅读

目前ARM处理器支持9种寻址方式,分别是立即数寻址、寄存器寻址、寄存器偏移寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、相对寻址、堆栈寻址和块拷贝寻址。立即数寻址:操作数直接就在指令中给出寄存器寻址:操作数放在寄存器中寄存器间接寻址:寄存器中的数是存放操作数的地址
涡街流量计在调试故障原因一安装不当方面的原因:(1)仪表上下游直管段长度不够,密封垫凸入管道内,管道的突缩,突扩阻流件,对流场产生严重的扰动等。(2)对含微量气体的液体流量测量或者含微量液体的气体流量测量的不良安装,造成异样流量介质在涡街流量计流量测量管道内的滞留,对流量测量造成干扰。(3)流量测量液体时把涡街流量计安装在自上而下...
市调机构Counterpoint的最新报告显示,三星以22%的市场份额引领8月全球智能手机市场。图源:Counterpoint该报告指出,今年4月,由于三星在印度和欧洲这两个主要市场的销量急剧下滑,该公司的榜首位置被华为取代。但在7月和8月,随着印度逐渐解除疫情期间的“封锁”,三星通过采取积极的线上渠道战略,销量开始反弹,获得了自2018年以来最高的市场份额。三...
如果您关注科技行业的最新趋势,您可能知道行业内针对“下一件大事”将是什么的争论有很多。很多人认为是增强现实 (AR) 眼镜,有些人则认为会是全自动驾驶汽车,还有一些人认同5G的潜力。然而,无论趋势最终是什么,都将以某种方式由人工智能(AI)提供动力。事实上,人工智能和机器学习(ML)是我们的未来发展方向。 图片来源:Amazon 几周前,亚马逊的...

史海拾趣

问答坊 | AI 解惑

蓄电池是通信电源技术维护工作中的重中之重(3)

3 阀控式密封蓄电池的技术维护     (1)要确保有效地抑制蓄电池爆炸恶性事故的发生。蓄电池爆炸有引爆和压爆两种,当电池内部氢气的含量超过4%并有明火时,有可能发生引爆;用ABS塑料做壳体的蓄电池,当内部压强大于40kPa,内部应力发生大的变 ...…

查看全部问答∨

目前常用AD/DA芯片简介

目前生产AD/DA的主要厂家有ADI、TI、BB、PHILIP、MOTOROLA等,武汉力源公司拥有多年从事电子产品的经验和雄厚的技术力量支持,已取得排名世界前列的模拟IC生产厂家ADI、TI公司代理权,经营全系列适用各种领域/场合的AD/DA器件。 …

查看全部问答∨

Quartus II 中Tsu/Tco 的约束方法

Tsu/Tco 在Quartus II 的报告中有两种不同含义. 片内的Tsu/Tco 是指前级触发器的Tco 和后级触发器的Tsu, 一般来说都是几百ps 级别的. 可以通过“List Paths”命令查看。这里的Tsu/Tco 主要由器件工艺决定, 工作时在受到温度,电压的影响略有变化.( ...…

查看全部问答∨

关于wince任务栏隐藏的问题

void CfullscreenDlg::setfullscreen(HWND hDlg ) {         HWND lpClassName;         RECT rc;         lpClassName = ::FindWindow(_T("menu_worker"),NULL);   &n ...…

查看全部问答∨

其实STM32的开发应该更简单!

我的意思是,最近看STM32的示例源代码,发现系统开始的配置都是标准的函数库,各种参数也都有规律可循,是不是可以开发一个PC端程序,通过勾选、填写各种参数来自动生成一个工程所需要的开始源代码结构?类似Visual Studio里面那样?我觉 ...…

查看全部问答∨

ZStack 2.50中怎么解决协调器邻居表的问题?

ZStack 2.50中怎么解决协调器邻居表的问题?路由器连续加入网络后,协调器没有响应了。邻居表可否修改容量,和实时刷新。…

查看全部问答∨

max7219显示问题

我的电路板采用C8051f340,利用max7219驱动4位8段数码管,可是总是点不亮! 不知道是怎么回事,请高人指点。 附显示子程序: sbit DIN_7219=P1^5; sbit LOAD_7219=P1^6; sbit CLK_7219=P1^7; void init7219(void); void write_7219(uchar ad ...…

查看全部问答∨

多参量调试信号源 DDS部分原理图

看着人家更新了,我们也更新下吧! …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved