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