找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1385|回复: 1
打印 上一主题 下一主题
收起左侧

求51单片机驱动tsl1401怎么搞?

[复制链接]
跳转到指定楼层
楼主
有大佬有代码吗?或者提供思路也行,要写哪些部分呀!

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

IMG20211106122524.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:926010 发表于 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号******
        }
}
有没有大佬帮我看看什么问题。。。。十分感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表