找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1981|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

想要實現(xiàn)隨外界環(huán)境改變臺燈亮度,單片機代碼該如何改?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:407566 發(fā)表于 2019-1-4 23:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
主控芯片STC89C51,然后用ADC0832進(jìn)行信息采集,但后面不知道該怎么做?想要根據(jù)外界光的強度把燈分成亮 一般亮 滅,這是代碼,不知道該怎么弄
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define delay4us() {_nop_();_nop_();_nop_();_nop_();}
sbit CS  = P1^0;
sbit CLK = P1^1;
sbit DIO = P1^2;

sbit PWM = P1^4;
void DelayMS(uint ms)
{
         uchar i;
        while(ms--)
        {
                 for(i=0;i<120;i++);
        }
}
uchar Get_AD_Result()
{
         uchar i,dat1=0,dat2=0;
        CS  = 0;
        CLK = 0;
        DIO = 1; _nop_(); _nop_();
        CLK = 1; _nop_(); _nop_();
        CLK = 0;DIO = 1; _nop_(); _nop_();
        CLK = 1; _nop_(); _nop_();
        CLK = 0;DIO = 1; _nop_(); _nop_();
        CLK = 1;DIO = 1; _nop_(); _nop_();
        CLK = 0;DIO = 1; _nop_(); _nop_();
        for(i=0;i<8;i++)
        {
                 CLK = 1; _nop_(); _nop_();
                CLK = 0; _nop_(); _nop_();
                dat1 = dat1 << 1 | DIO;        
        }
        for(i=0;i<8;i++)
        {
                 dat2 = dat2 << ((uchar)(DIO)<<i);
                CLK = 1; _nop_(); _nop_();
                CLK = 0; _nop_(); _nop_();
        }
        CS = 1;
        return (dat1 == dat2) ? dat1:0;
}
void main()
{
         
        while(1)
        {        
                 PWM = Get_AD_Result()*/255;
        

                }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:308437 發(fā)表于 2019-1-5 20:44 | 只看該作者
給你思路:
當(dāng)檢測到環(huán)境變暗,就增到輸出的占空比。從而實現(xiàn)亮度的增加
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表