觸摸屏程序設(shè)計:
主函數(shù):
1. 設(shè)置A/D轉(zhuǎn)換器時鐘(ADCCON寄存器)。
2. 設(shè)置采樣延時時間(ADCDLY寄存器)。
3. 開啟ADC總中斷(INTMSK)、INT_TC中斷即觸摸屏被按下或松開時產(chǎn)生中斷(INTSUBMSK)、INT_ADC中斷即ADC轉(zhuǎn)換結(jié)束時產(chǎn)生中斷。
4. 設(shè)置觸摸屏為等待中斷模式(設(shè)置ADCTSC),一般為先設(shè)置為等待觸摸屏按下中斷模式。
觸摸屏按下中斷服務(wù)子程序:
1. 中斷發(fā)生后,設(shè)置ADCTSC寄存器為0x0C進(jìn)入自動(連續(xù))x/y軸坐標(biāo)轉(zhuǎn)換模式。
2. 設(shè)置ADCCON寄存器開始轉(zhuǎn)換。
3. ADC轉(zhuǎn)換結(jié)束后將轉(zhuǎn)換后x、y坐標(biāo)值分別寫入ADCDAT0、ADCDAT1中(硬件自動完成),發(fā)出INT_ADC中斷(轉(zhuǎn)換結(jié)束中斷)。
4. 清除INT_TC中斷(設(shè)置SUBSRCPND、SRCPND、INTPND寄存器)。
INT_ADC中斷服務(wù)子程序:
1. 讀ADCDAT0、ADCDAT1寄存器對轉(zhuǎn)換結(jié)果處理。
2. 設(shè)置觸摸屏為等待松開中斷方式()。
3. 清除INT_ADC中斷(設(shè)置SUBSRCPND、SRCPND、INTPND寄存器)。
觸摸屏松開中斷服務(wù)子程序:
1. 設(shè)置觸摸屏為等待按下中斷方式(設(shè)置ADCTSC)。
2. 清除INT_TC中斷(設(shè)置SUBSRCPND、SRCPND、INTPND寄存器)。