这是楼主写的基于XPT2046ADC芯片的程序,keil编译时不停报错,楼主检查了几遍也没发现问题,麻烦各位看看哪里有问题
单片机源码:
- #include<reg52.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit CLK=P2^0;
- sbit CS=P2^1;
- sbit DIN=P2^2;
- sbit DOUT=P2^3;
- void SPI_INIT();
- void SPI_WRITE(uchar dat1);
- uchar SPI_READ();
- uchar READ_AD(uchar cmd);
- void main()
- {
- uchar temp,z=0;
- while(1)
- {
- if(z==50)
- {
- z=0;
- temp=READ_AD(0x9C);
- }
- z++;
- }
- }
- void SPI_INIT()//初始化
- {
- CS=1;
- CLK=0;
- DIN=0;
- CS=0;
- }
- void SPI_WRITE(uchar dat1)//写入数据
- {
- uchar i;
- SPI_INIT();
- for(i=1;i<9;i++)
- {
- dat1=dat1<<1;
- DIN=CY;
- CLK=0;
- CLK=1;
- }
- }
- uchar SPI_READ()//读取数据
- {
- uchar i,dat;
- CLK=0;
- for(i=1;i<9;i++)
- {
- dat=dat<<1;
- CLK=1;
- CLK=0;
- dat=dat|DOUT;
- }
- return dat;
- }
- uchar READ_AD(uchar cmd)
- {
- SPI_INIT();
- uchar n,value;
- SPI_WRITE(cmd);
- for(n=6;n>1;n--);
- CLK=1;
- _nop_();
- _nop_();
- CLK=0;
- _nop_();
- _nop_();
- value=SPI_READ();
- CS=1;
- return value;
- }
复制代码
|