请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 6651|回复: 4

为什么can't open the file xpt2046.h

 关闭 [复制链接]

2

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2018-10-22 22:35:44 | 显示全部楼层 |阅读模式
#include "reg52.h"                       
#include<xpt2046.h>       
#include<intrins.h>

typedef unsigned int u16;          
typedef unsigned char u8;

#define uchar unsigned char
#define uint unsigned int
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

sbit DIN=P3^4;
sbit CS=P3^5;
sbit CLK=P3^6;
sbit DOUT=P3^7;

uchar disp[4];

u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void SPI_Write(uchar dat)
{
        uchar i;
        CLK = 0;
        for(i=0; i<8; i++)
        {
                DIN = dat >> 7;  
                dat <<= 1;
                CLK = 0;                       
                CLK = 1;
        }
}
uint SPI_Read(void)
{
        uint i, dat=0;
        CLK = 0;
        for(i=0; i<12; i++)               
        {
                dat <<= 1;

                CLK = 1;
                CLK = 0;

                dat |= DOUT;

        }
        return dat;       
}

uint Read_AD_Data(uchar cmd)
{
        uchar i;
        uint AD_Value;
        CLK = 0;
        CS  = 0;
        SPI_Write(cmd);
        for(i=6; i>0; i--);
        CLK = 1;          
        _nop_();
        _nop_();
        CLK = 0;
        _nop_();
        _nop_();
        AD_Value=SPI_Read();
        CS = 1;
        return AD_Value;       
}
void delay(u16 i)
{
        while(i--);       
}


void datapros()
{
        u16 temp;

        temp = Read_AD_Data(0x94);               
        disp[0]=smgduan[temp/1000];
        disp[1]=smgduan[temp%1000/100];
        disp[2]=smgduan[temp%1000%100/10];
        disp[3]=smgduan[temp%1000%100%10];               
}
void DigDisplay()
{
        u8 i;
        for(i=0;i<4;i++)
        {
                switch(i)         
                {
                        case(0):
                                LSA=0;LSB=0;LSC=0; break;
                        case(1):
                                LSA=1;LSB=0;LSC=0; break;
                        case(2):
                                LSA=0;LSB=1;LSC=0; break;
                        case(3):
                                LSA=1;LSB=1;LSC=0; break;       
                }
                P0=disp[3-i];
                delay(100);        
                P0=0x00;
        }               
}


void main()
{       
        while(1)
        {
                datapros();         
                DigDisplay();       
        }               
}
回复

使用道具 举报

20

主题

1343

帖子

8345

积分

论坛元老

Rank: 8Rank: 8

积分
8345
发表于 2018-10-23 07:18:01 | 显示全部楼层
你确定你的工程根目录中有xpt2046.h这个头文件?
回复 支持 反对

使用道具 举报

20

主题

1343

帖子

8345

积分

论坛元老

Rank: 8Rank: 8

积分
8345
发表于 2018-10-23 07:20:33 | 显示全部楼层
xpt2046.h头文件,不是keil自带的,是别人专门对xpt2046这个器件写的通讯程序,你要保证在你的工程目录中有它。
如果没有,给你一个:
xpt2046.h文件:
#ifndef          __XPT2046_H_
#define   __XPT2046_H_

//---包含头文件---//
#include<reg51.h>
#include<intrins.h>

//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint  unsigned int
#endif

#ifndef ulong
#define ulong  unsigned long
#endif

//---定义使用的IO口---//
sbit DOUT = P3^7;          //输出
sbit CLK  = P3^6;          //时钟
sbit DIN  = P3^4;          //输入
sbit CS   = P3^5;          //片选

uint Read_AD_Data(uchar cmd);
uint SPI_Read(void);
void SPI_Write(uchar dat);

#endif





回复 支持 反对

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2018-10-26 20:18:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2018-10-28 13:12:30 | 显示全部楼层
谢谢楼主哦













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:4000017854
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-3-29 22:46 , Processed in 0.089666 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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