📄 7843.txt
字号:
/********************************************************/
/* ADS7843读取坐标子程序 */
/********************************************************/
void ReadDot( void ) using 3
{
CLK=0;
CS =1;
Din=1;
CLK=1;
CS =0; //启动SPI总线
Delay2(2);
ShiftOut(0xD0); //选择Y+通道
Delay2(2); //延时2ms等待AD
CLK=1;_nop_();_nop_();_nop_();_nop_();_nop_();
CLK=0;_nop_();_nop_();_nop_();_nop_();_nop_();
x_zb=ShiftIn(); //读出X坐标
ShiftOut(0x90); //选择X+通道
Delay2(2);
CLK=1;_nop_();_nop_();_nop_();_nop_();_nop_();
CLK=0;_nop_();_nop_();_nop_();_nop_();_nop_();
y_zb=ShiftIn(); //读出Y坐标
CS=1;
}
/********************************************************/
/* IO口模拟串口发送子程序 */
/********************************************************/
void ShiftOut(Uchar x) using 3
{
Uchar i;
for(i=0;i<8;i++)
{
Din=(x>>(7-i))&0x01;
CLK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
Din=0;
}
/********************************************************/
/* IO口模拟串口接收子程序 */
/********************************************************/
Uchar ShiftIn(void) using 3
{
Uchar i,x,y;
for(i=0;i<8;i++)
{
_nop_();
CLK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
y=Dout;
x=x|(y<<(7-i));
}
for(i=0;i<4;i++) //12位精度只取前8位,后四位丢掉
{
_nop_();
CLK=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
return x;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -