OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4139|回复: 3

大哥们 可以帮我看一下ads1118为什么不能返回数据吗?

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-4-12
在线时间
5 小时
发表于 2016-4-12 13:22:44 | 显示全部楼层 |阅读模式
9金钱
本帖最后由 正义的单片机 于 2016-4-14 14:44 编辑

#include<STC15W4K.h>
short int hc,zh;//缓存
/*************************************************/
sbit E=P0^2;
sbit RS=P0^0;
sbit RW=P0^1;
sbit RST=P1^3;
void ys(unsigned int yssj);
void mjc()//忙不忙啊大哥  这个是属于读数据使用需要看时图
{
        char jc;
        P2=0xff;
        E=0;//使能
        RS=0;//高电平是对数据进行操作,低电平时为命令操作
        RW=1;//读写控制
        E=1;
        jc=P2^7;
        while(jc==0)
        jc=P2^7;        //P2^7为0时 跳出
}
void xsj(unsigned char sj)//写数据
{
        mjc();
        E=0;
        RS=1;
        RW=0;
        E=1;
        P2=sj;
        ys(500);
        E=0;
}
void xzr(unsigned char zr)//写指令
{
        mjc();
        E=0;
        RS=0;
        RW=0;
        E=1;
        P2=zr;
        ys(500);
        E=0;
       
}
void csh128()//初始化128
{
        ys(1000);
        xzr(0x30);//初始一使用什么指令,是什么8io口还是4io口;
        ys(500);
        xzr(0x0c);//初始二怎么显示(开启显示,光标什么样子)
        ys(100);
        xzr(0x01);//初始三清屏,因为上次显示数据是存储在液晶里面的
        ys(1000);
        xzr(0x06);//初始四显示方向,从什么方向开始显示,******总结就是1用什么指令 2开启屏幕 3清屏 4这次怎么显示
        ys(500);
}
/*************************************************/

void cshdk()//初始化io
{
        P0M1 = 0;   P0M0 = 0;
        P1M1 = 0;   P1M0 =0;
        P2M1 = 0;   P2M0 =0;
}
void cshSPI()//初始化SPI
{
        SPDAT=0;//消除数据寄存器的数据
        SPSTAT=0xc0;//清除状态
        SPCTL=0Xd7;//设置主机和从机模式 设置时钟
}
void ys(unsigned int yssj)
{
        int cfbl;
        for(;yssj>0;yssj--)
                for(cfbl=0;cfbl<115;cfbl++);
}



void xrsj(signed int sj)//交换数据
{

        SPDAT=(sj>>8);
        while(!(SPSTAT & 0x80));
        SPSTAT |= 0xC0;
        hc=SPDAT;
       
        SPDAT=(sj&0xff);
        while(!(SPSTAT & 0x80));
        SPSTAT |= 0xC0;
        hc=(SPDAT<<8)|SPDAT;
        //hc=0x7fff;
        ys(50);
}

void main()
{
        float dyz;
        cshdk();
        csh128();
        ys(500);
        cshSPI();
        while(1)
        {
                P12=0;
                xrsj(0xd5e3);
                P12=1;
                ys(50);
                P12=0;
                P14=1;
                while(P14!=0);
                xrsj(0xffff);
                P12=1;
               
                dyz=(float)hc*4.096/65536;
                ys(500);
                xzr(0x80);
                ys(100);
                dyz=dyz*1000;
               
                xsj(0x30+dyz/1000);//0x30是字符'0' 相当于 +'0'
               
                //xsj(0x30+dyz/100%10);
               
                //xsj(0x30+dyz/10%10);
               
                //xsj(0x30+dyz%10);
        }

}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-4-12
在线时间
5 小时
 楼主| 发表于 2016-4-12 13:23:20 | 显示全部楼层
本帖最后由 正义的单片机 于 2016-4-12 20:24 编辑

只有9金  不好意思

程序的显示结果:   电压值  //
单片机是  IAP15w4K61S4
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-4-13 22:22:17 | 显示全部楼层
帮顶
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-4-12
在线时间
5 小时
 楼主| 发表于 2016-4-14 14:45:24 | 显示全部楼层
修改了好久 还是不行 现在显示的数据是       .
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 16:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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