久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7559|回復: 0
收起左側

ADC&&觸摸屏實驗及心得體會

[復制鏈接]
ID:3721 發表于 2015-1-5 01:14 | 顯示全部樓層 |閱讀模式
概述:
ADC通過把輸入的模擬信號進行采集,經過量化和編碼后轉換為對應的二進制數值,并輸出。主要參數有:分辨率(位數)、量程、采樣速率。通常高檔單片機、嵌入式處理器都會把ADC集成在芯片內部。但是集成在芯片內部的ADC一般采樣速率會比較低,高速ADC一般都是自己做一片芯片。用到過的有ADC9288可達到100MSa/S、ADC8D1010可達到1GSa/S的采樣率【這里兩款ADC都已經把采樣和轉換集成在一起】。
觸摸屏是一張和屏幕大小一樣透明的東西,和顯示屏是分開的。通常有電阻屏、電容屏、紅外屏和超聲屏。電阻屏觸摸需要按下,使得屏的上下短接,檢測電壓求坐標。電容屏是靠人體感應到靜電的流通,電流由屏的四個角落提供,各個角所提供的電流和距離成正比,可依此計算坐標。紅外屏和超聲屏是靠障礙物的遮擋計算出障礙物的坐標。
S3C2440A ADC和觸摸屏的概述:
S3C2440A的觸摸屏是電阻式。
ADC功能框圖如下:

可選作為ADC的輸入信號有A[3:0]共8個模擬信號輸入。
也可以用幾個輸入腳分時復用做觸摸屏接口,具體看電路圖設計部分。

寄存器簡單描述
ADC控制寄存器ADCCON:
轉換結束標志;
預分頻允許與否,以及預分頻數值;
輸入通道選擇;
模式選擇;
讀開始下一次ADC允許與否;
開始ADC轉換;
ADC觸摸屏控制寄存器ADCTSC:
YP、YM、XP、XM輸出設置;
X/Y位置自動連續轉換與否;
上拉開關允許與否(XP);
手動測量X/Y位置;
ADC開始或區間延時寄存器ADCDLY:
ADC從觸針向下動作到開始轉換的時間長(X轉換時長、Y轉換時長)=DELAY*時鐘;【時鐘為1/EXTCLK or 1/PCLK】
ADC轉換數據寄存器ADCDAT0、ADCDAT1:
等待中斷模式:觸針向下還是抬起;
自動連續X位置和Y位置轉換;
手動X位置和Y位置測量;
X位置轉換值(包括普通ADC轉換值)、Y位置轉換值;

電路圖設計
AIN0作為ADC的模擬輸入,最簡單的功能:

觸摸屏接口:

TSXM、TSXP接觸摸屏的X極,TSYM、TSYP接觸摸屏的Y極。當X極兩端TSXM、TSXP接電壓值時,檢測TSYM或者TSYP(此時兩個管腳做ADC輸入用)的電壓,計算出X的坐標;換過來,當Y極兩端TSYM、TSYP接電壓值時,檢測TSXM或者TSXP(此時兩個管腳做ADC輸入用)的電壓,計算出Y的坐標。

實驗程序設計及分析
設定ADC轉換速率,之后啟用ADC功能,判斷轉換是否開始并轉換結束,返回ADC采集到的數據。
int ReadAdc(int ch)
{
    int i;
    static int prevCh=-1;

    rADCCON = (1<<14)|(preScaler<<6)|(ch<<3);   //setup channel

    if(prevCh!=ch)
    {
       rADCCON = (1<<14)|(preScaler<<6)|(ch<<3);   //setup channel
       for(i=0;i<LOOP;i++);    //delay to set up the next channel
       prevCh=ch;
    }
    rADCCON|=0x1;   //start ADC

    while(rADCCON & 0x1);      //check if Enable_start is low
    while(!(rADCCON & 0x8000));    //check if EC(End of Conversion) flag is high

    return ( (int)rADCDAT0 & 0x3ff );
}

ADC實現觸摸屏接口功能:
設定轉換時間、設定轉換速率、設定觸摸屏控制寄存器;剩下的功能是實現觸摸屏中斷,暫不分析。
void Test_Touchpanel(void)
{  
    rADCDLY=50000;   //Normal conversion mode delay about (1/3.6864M)*50000=13.56ms
    rADCCON=(1<<14)+(ADCPRS<<6);   //ADCPRS En, ADCPRS Value
    rADCTSC=0xd3;  //Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En
    pISR_ADC = (int)AdcTsAuto;
       rINTMSK=~BIT_ADC;       //ADC Touch Screen Mask bit clear
       rINTSUBMSK=~(BIT_SUB_TC);
              rINTSUBMSK|=BIT_SUB_TC;
       rINTMSK|=BIT_ADC;  
}

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人三级 | 久久这里只有 | 337p日本欧洲亚洲大胆鲁鲁 | 性一交一乱一透一a级 | 日韩精品视频在线免费观看 | 成人欧美一区二区三区1314 | 国产欧美在线播放 | 97碰碰碰| 精品欧美一区二区三区久久久 | 日韩一区二区三区精品 | 精品熟人一区二区三区四区 | 国产精品亚洲欧美日韩一区在线 | 亚洲精品乱码久久久久久按摩 | 九九精品在线 | 国产精品欧美一区二区三区 | 一级片毛片 | 四虎永久免费地址 | 日韩乱码av| 国产精品a一区二区三区网址 | 久久精品亚洲 | www..com18午夜观看 | 亚洲免费在线视频 | 日韩高清国产一区在线 | 日本人爽p大片免费看 | 国产乱码久久久久久 | 国产精品精品视频一区二区三区 | 99热视| 日韩一二区 | 精品一区二区三区电影 | 在线观看免费福利 | 亚洲欧美日韩在线 | 91最新在线视频 | 免费一二区 | 色婷婷综合网站 | 国产精品色婷婷久久58 | 亚洲欧洲综合av | 亚州综合在线 | 91视频在线 | 欧美日产国产成人免费图片 | 日本视频免费观看 | 日韩中文字幕在线 |