久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6367|回復(fù): 6
收起左側(cè)

51單片機(jī)雙軸追光程序Proteus仿真原理圖(太陽(yáng)能充電)

  [復(fù)制鏈接]
ID:856585 發(fā)表于 2021-6-17 18:31 | 顯示全部樓層 |閱讀模式
本來(lái)想整個(gè)雙軸的,但是整出來(lái)太丑了,所以換成單軸了,我把他分為兩個(gè)。一個(gè)雙軸的,一個(gè)oled屏幕顯示光照強(qiáng)度,單軸的
我自己加了一個(gè)充放電模塊,配了一個(gè)太陽(yáng)能板,和12864電池
同時(shí)也有pcb圖

制作出來(lái)的實(shí)物圖如下:

實(shí)物單軸

實(shí)物單軸


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

proteus仿真圖

proteus仿真圖
51hei.gif
單片機(jī)源程序如下:
#include <reg52.h>
#include <stdio.h>
#include "PCF8591.H"

#define uchar unsigned char
#define uint  unsigned int

#define  PCF8591 0x90    //PCF8591 地址

sbit ENTER = P3^3;
sbit UP = P3^4;
sbit DOWN = P3^5;
sbit LEFT = P3^6;
sbit RIGHT = P3^7;

sbit LED1 = P1^2;
sbit LED2 = P1^3;
uchar Motor_Up[4]={0x08,0x04,0x02,0x01};
uchar Motor_Down[4]={0x01,0x02,0x04,0x08};


//uchar Motor_Left[4]={0x10,0x20,0x40,0x80};
//uchar Motor_Right[4]={0x80,0x40,0x20,0x10};

unsigned char AD_CHANNEL;
//延時(shí)函數(shù)
void Delay_ms(uint jj)
{
    uint ii;
    while(jj--)
        for(ii=0;ii<125;ii++);
}
void UART_Init(void)
{
     TMOD = 0x20;   //定時(shí)器模式選擇
     PCON = 0x00;
     SCON = 0x50;            
     TH1 = 0xFd;    //設(shè)置波特率 9600
     TL1 = 0xFd;
     TR1 = 1;        //啟動(dòng)定時(shí)器1
       ES = 1;        //開(kāi)串口中斷
       EA = 1;        //開(kāi)總中斷        
}
/********************************************************************
* 名稱   : PSend_Hex()
* 功能   : 發(fā)送字符串函數(shù),可控制發(fā)送長(zhǎng)度
* 變量   : 無(wú)
* 返回值 : 無(wú)
********************************************************************/
void Send_Hex(unsigned char *p,unsigned char num)
{
       while(num--)   //剩余發(fā)送的字符數(shù)
    {
        SBUF = *p; //將要發(fā)送的數(shù)據(jù)賦給串口緩沖寄存器
            while(!TI);//等待發(fā)送結(jié)束
            TI = 0;    //軟件清零
            p++;       //指針加一
    }   
}
void main()       //函數(shù)功能:主函數(shù)
{      

    uchar AD_Up,AD_Down,AD_Left,AD_Right;
    uchar i,j,k;
    uchar Table[4];
    Delay_ms(2000);
    UART_Init();   
    while(1)
    {
        if(!ENTER)
        {
            Delay_ms(20);
            while(!ENTER);
            k++;   
        }
        if(k == 5)
        {
        LED1 = 1;
        LED2 = 0;
        for(i=0;i<8;i++)
        {
            switch(AD_CHANNEL)
            {
                case 0: PCF8591_ISendByte(PCF8591,0x41);
                AD_Up=PCF8591_IRcvByte(PCF8591)*2;  //ADC0 模數(shù)轉(zhuǎn)換1
                break;  
               
                case 1: PCF8591_ISendByte(PCF8591,0x42);
                AD_Down=PCF8591_IRcvByte(PCF8591)*2;  //ADC1  模數(shù)轉(zhuǎn)換2
                break;  
                case 2: PCF8591_ISendByte(PCF8591,0x43);
                AD_Left=PCF8591_IRcvByte(PCF8591)*2;  //ADC2 模數(shù)轉(zhuǎn)換3
                break;  
               
                case 3: PCF8591_ISendByte(PCF8591,0x40);
                AD_Right=PCF8591_IRcvByte(PCF8591)*2;  //ADC3  模數(shù)轉(zhuǎn)換4
                break;
            }

            Send_Hex(Table,4);
            if(++AD_CHANNEL>3)
            {
             AD_CHANNEL=0;
             Table[0] = AD_Up;
            Table[1] = AD_Down;
            Table[2] = AD_Left;
            Table[3] = AD_Right;
             }
        }
        }
        if(k%2 == 1)
        {
            LED1 = 0;
            LED2 = 1;
            AD_Up = 0;    //上
            AD_Down = 0;//下
            AD_Left = 0;//左
            AD_Right = 0;//右   
        }        
        ///////////////////////////
      
        if(((AD_Up<AD_Down)&&(AD_Down-AD_Up>10))||(!UP))//上轉(zhuǎn)
        {
            for(i=0;i<10;i++)
            {
                for(j=0;j<4;j++)
                {
                    P2=Motor_Up[j];
                    Delay_ms(10);
                }        
            }   
        }
        //////////////////////////////////////
        if(((AD_Up>AD_Down)&&(AD_Up-AD_Down>10))||(!DOWN))//下轉(zhuǎn)
        {
            for(i=0;i<10;i++)
            {
                for(j=0;j<4;j++)
                {
                    P2=Motor_Down[j];
                    Delay_ms(10);
                }        
            }
        }
        /////////////////////////////
//        if(((AD_Left<AD_Right)&&(AD_Right-AD_Left>10))||(!LEFT))//左轉(zhuǎn)
//        {
//            for(i=0;i<10;i++)
//            {
//                for(j=0;j<4;j++)
//                {
//                    P2=Motor_Left[j];
//                    Delay_ms(10);
//                }        
//            }
//        
//        }
//        //////////////////////////////////////
//        if(((AD_Left>AD_Right)&&(AD_Left-AD_Right>10))||(!RIGHT))//右轉(zhuǎn)
//        {
//            for(i=0;i<10;i++)
//            {
//                for(j=0;j<4;j++)
//                {
//                    P2=Motor_Right[j];
//                    Delay_ms(10);
//                }        
//            }
//        }
        ////////////////////////////////////
        Delay_ms(100);//延時(shí),可適當(dāng)修改
    }
}
全部資料51hei下載地址:
仿真: 04 Protues 仿真工程.rar (199.13 KB, 下載次數(shù): 170)
仿真程序: 03 KEIL-程序工程.rar (64.71 KB, 下載次數(shù): 119)
修改后的程序: 太陽(yáng)追光改.rar (69.27 KB, 下載次數(shù): 144)

評(píng)分

參與人數(shù) 2黑幣 +92 收起 理由
ag26259 + 12 贊一個(gè)!
admin + 80 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:582255 發(fā)表于 2021-10-24 21:51 | 顯示全部樓層
請(qǐng)問(wèn)一下,你這四個(gè)光敏電阻能分辨出光電板子的角度嗎?是不是用個(gè)手電筒模擬照射四個(gè)光敏電阻來(lái)模擬?
回復(fù)

使用道具 舉報(bào)

ID:91165 發(fā)表于 2021-10-25 11:49 | 顯示全部樓層
俯仰角一年也不用調(diào)整幾次吧
回復(fù)

使用道具 舉報(bào)

ID:1019920 發(fā)表于 2022-4-20 00:34 | 顯示全部樓層
這個(gè)對(duì)我很有幫助
回復(fù)

使用道具 舉報(bào)

ID:685250 發(fā)表于 2023-7-11 16:01 | 顯示全部樓層
牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛牛
回復(fù)

使用道具 舉報(bào)

ID:433219 發(fā)表于 2024-3-13 14:54 | 顯示全部樓層
當(dāng) 模型 玩,還是好玩的。。。商品化的成本路就很長(zhǎng)了
回復(fù)

使用道具 舉報(bào)

ID:1151207 發(fā)表于 2025-5-21 17:43 | 顯示全部樓層
很有幫助,代碼很全面,666666666
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天干人人 | 麻豆视频在线免费观看 | 国产99免费视频 | 天天看天天爽 | 亚洲精品视频在线 | 99在线视频观看 | 午夜精品一区二区三区在线观看 | 黄色一级视频 | 亚洲成人久久久 | 欧美看片| 国产免费让你躁在线视频 | 一级久久久久久 | 国产一区中文字幕 | 国产精品色av | 亚洲精品天堂 | 欧美日一区 | 九色av| 午夜精品久久久久久久久久久久久 | 久久久久国产精品 | 欧美99| 国产男女猛烈无遮掩视频免费网站 | 日韩精品免费一区二区在线观看 | 欧美性受xxxx | 欧美一区二区免费 | 一区二区三区四区免费在线观看 | 亚洲一区二区三 | 亚洲日本激情 | 亚洲人成人一区二区在线观看 | 亚洲一区中文 | 精品视频网 | 亚洲精品日日夜夜 | 日韩一区二区三区在线 | 中文字幕一区二区三区四区五区 | 亚洲国产欧美在线人成 | 无人区国产成人久久三区 | 91天堂| 国产你懂的在线观看 | 国产精品一区在线 | 欧美日韩在线一区 | 欧美一区二区三区在线 | 国产福利小视频 |