使用的是中断法,下降沿促发
//文件名:tourch_screen.h
//基于ADS7846的触摸屏程序
//宏定义:对管脚的定义
//
#ifndef _touch_screen_h_
#define _touch_screen_h_
extern unsigned int x_zb,y_zb; //测的x,y坐标
//函数:Touch_Port_Ini()
//描述:初始化触摸控制端口
//返回值:无
void Touch_Port_Ini(); //初始化端口
#endif
//描述:管脚的宏定义
//
//
#ifdef _touch_
#include<msp430x24x.h>
#define tch_out P2OUT
#define tch_in P2IN
#define tch_dir P2DIR //触摸控制端口
#define tch_ie P2IE //用来产生中断
#define tch_ies P2IES
#define tch_ifg P2IFG
#define DCLK BIT0
#define DCLKSET() tch_out|=DCLK
#define DCLKCLR() tch_out&=~DCLK
#define DCS BIT1
#define CSSET() tch_out|=DCS
#define CSCLR() tch_out&=~DCS
#define SOUT BIT3
#define DOUT tch_in&SOUT //数据接受脚
#define DIN BIT2
#define DINSET() tch_out|=DIN
#define DINCLR() tch_out&=~DIN
#define DINIT BIT5
#define SBUSY BIT4
#define DBUSY tch_in&SBUSY //忙检测
#endif
//文件名:tourch_screen.c
//基于ADS7846的触摸屏程序
//
//
#define _touch_
#include"touch_screen.h"
unsigned int x_zb=0,y_zb=0;
//函数:Touch_Port_Ini()
//描述:初始化触摸控制端口
//返回值:无
void Touch_Port_Ini() //触摸端口初始化
{
}
//函数:Spi_Start()
//描述:和ADC7846数据传输开始
//返回值:无
void Spi_Start() //spi开始
{
}
//函数:Write_7846()
//描述:对7843写数据
//返回值:无
void Write_7846(unsigned char num) //spi写数据
{
}
//函数:Read12_7846()
//描述:读7843的12位数据
//返回值:无
unsigned int Read12_7846() // SPI读取数据
{
}
//函数:Read8_7846()
//描述:读7843的8为数据
//返回值:无
unsigned char Read8_7846() // SPI读取数据
{
}
//函数:delay_ADC7846()
//描述:延时函数
//返回值:无
void delay_ADC7846(unsigned int i)
{
}
//12精度:读y坐标写入0x90,x坐标写入0xd0
//8位精度:读y坐标写入0x98,x坐标写入0xd8
//
#pragma vector=PORT2_VECTOR
__interrupt void touch_int()
{
}