标题: 求51单片机驱动tsl1401怎么搞? [打印本页]

作者: 生态蘑菇    时间: 2021-11-6 12:28
标题: 求51单片机驱动tsl1401怎么搞?
有大佬有代码吗?或者提供思路也行,要写哪些部分呀!

IMG20211106122524.jpg (3.03 MB, 下载次数: 77)

IMG20211106122524.jpg

作者: 生态蘑菇    时间: 2021-11-9 14:00
这几天根据网上资料仿照了一个简单的;但现在就是很有问题:
①只能显示你要求的第一个像素点的值,再多就是统一为0了;
②显示的数值不是在34与127两个间不断跳动,而且跳一会就不动了,怎么动tsl1401都没用!
这是主要程序:
#include "reg52.h"
#include <intrins.h>
#include "ad.h"     //用的是串行的ad0832
#include "oled.h"

#define uchar unsigned char
#define uint  unsigned int
      
sbit CCD_CLK=P2^6;
sbit SI=P2^7;                                                                                                                                                                        
uchar n;
uchar adc[];

void Delayus(uchar x)
{  
while(x--)
{_nop_();}
}

void main()
{
        OLED_Init();
      
      
        while(1)
        {
                SI=1;
                Delayus(10);
                CCD_CLK=1;
                Delayus(10);
                SI=0;
                Delayus(10);
                CCD_CLK=0;
                Delayus(10);
               
                for(n=0; n<128;n++)
                {
                CCD_CLK=1;
                adc[n]=A_D();   //将采集到的每个像素点ad值保存起来
                CCD_CLK=0;
                        Delayus(1);
                }
               
                                OLED_ShowNum(0,0,adc[81],3,16);//输出81号像素点的值
                OLED_ShowNum(0,2,adc[30],3,16);//输出30号******
        }
}
有没有大佬帮我看看什么问题。。。。十分感谢





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