<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于51單片機太陽(yáng)能電池太陽(yáng)跟蹤裝置程序設計

基于51單片機太陽(yáng)能電池太陽(yáng)跟蹤裝置程序設計

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò ) 收藏
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ysfs 600 //宏定義 預設風(fēng)速
#define shuiping 1500 //宏定義 水平位置AD轉換結果
#define fuyang 1500 //宏定義 俯仰位置AD轉換結果
#define PA XBYTE [0x7CFF] //8255芯片端口4個(gè)基地址宏定義
#define PB XBYTE [0x7FFD]
#define PC XBYTE [0x7FFE]
#define CONTROL XBYTE [0x7FFF]
sbit OE=P1^0; //以下為關(guān)于A(yíng)D0808與單片機的八個(gè)接口定義
sbit EOC=P1^1;
sbit START=P1^2;
sbit CLK=P1^3;
sbit ALE=P1^4;
sbit C0=P1^5;
sbit C1=P1^6;
sbit C2=P1^7;
sbit gdkg=P2^3; //用于復位光電開(kāi)關(guān)端口定義
sbit clock=P2^0; //定義水平俯仰步進(jìn)電機的速度端口,頻率越快,速度越快,不給頻率電機不轉
sbit cw1=P2^1; //定義水平步進(jìn)電機的轉向端口,1正轉,0反轉
sbit enable1=P2^2; //定義水平步進(jìn)電機的使能端口,1轉,0不轉
sbit cw2=P2^4; //定義俯仰步進(jìn)電機的轉向端口,1正轉,0反轉
sbit enable2=P2^5; //定義俯仰步進(jìn)電機的使能端口,1轉,0不轉
uint ad_result_fenshu,ad_result_shuiping,ad_result_fuyang;
void timer_init()
{
TMOD=0x11; //定時(shí)器模式設置
TH0=(65536-5000)/256;
TL0=(65536-5000)%6;
TH1=0xFF;
TL1=0x9C;
ET0=1; //允許定時(shí)器0中斷
TR0=1; //啟動(dòng)定時(shí)器0
ET1=1; //允許定時(shí)器1中斷
TR1=1; //啟動(dòng)定時(shí)器1
EA=1; //允許總中斷
}
void AD_chane(int x)
{
if(x==0)
{
C0=0;
C1=0;
C2=0;
}
else if(x==1)
{
C0=1;
C1=0;
C2=0;
}
else if(x==2)
{
C0=0;
C1=1;
C2=0;
}
ALE=1;
}
int Get_AD_Sd()
{
int Sd;
START=0;START=1;START=0;
while(EOC==0);
OE=1;
Sd=P3;
OE=0;
return Sd;
}
void reset()
{
while(gdkg!=1)
{
cw2=0;
enable2=1;
}
enable2=0;
}
void shuiping_tiaozheng(int date)
{
if(date>shuiping)
{
do
{
cw1=1;
enable1=1;
}
while(date==shuiping);
enable1=0;
}
else if(date
{
do
{
cw1=0;
enable1=1;
}
while(date==shuiping);
enable1=0;
}
}
void fuyang_tiaozheng(int date)
{
if(date>fuyang)
{
do
{
cw2=1;
enable2=1;
}
while(date==fuyang);
enable2=0;
}
else if(date
{
do
{
cw2=0;
enable2=1;
}
while(date==fuyang);
enable2=0;
}
}
void main()
{
CONTROL = 0x80;
ALE=0;
timer_init();
enable1=0;
enable2=0;
while(1) //進(jìn)入循環(huán)
{
AD_chane(0);
ad_result_fenshu=Get_AD_Sd();
ALE=0;
AD_chane(1);
ad_result_shuiping=Get_AD_Sd();
ALE=0;
AD_chane(2);
ad_result_fuyang=Get_AD_Sd();
ALE=0;
if(ad_result_fenshu>ysfs) //如果風(fēng)速大于預設風(fēng)速,則復位
{
reset();
}
shuiping_tiaozheng(ad_result_shuiping);
fuyang_tiaozheng(ad_result_fuyang);
}
}
void timer0() interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%6;
CLK=~CLK;
}
void timer1() interrupt 3
{
static uchar i=0;
TH1=0xFF;
TL1=0x9C;
++i;
if (i>10) i=0;
if (i<=6)
clock=0;
else
clock=1;
}


評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>