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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7702|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩免费一区 | 日本中文在线观看 | 色婷婷基地 | 午夜黄色剧场 | 91麻豆精品国产 | 欧美一区在线视频 | 久操视频在线观看 | 国产精品久久久久久无人区 | 欧美激情xxx| 久久综合久 | 免费黄色一级片 | 日本在线不卡视频 | 国产999在线观看 | 国产剧情一区 | 超碰99在线 | 在线伊人网 | 日韩欧美国产精品 | 99一区二区三区 | 综合色在线 | 婷婷99 | 精品国产91乱码一区二区三区 | 色多多在线观看 | 99久久婷婷国产综合精品草原 | 欧美日韩国产一区 | 四川毛片 | 久本草精品| 免费看黄色的视频 | 日韩欧美色| 欧美性色网 | 五月天在线观看 | 青草视频在线观看免费 | 精品国产乱码久久久久久蜜臀网站 | 999国产视频| 日本在线免费视频 | 中文字幕丰满人伦在线 | 性生活网址 | 激情综合五月天 | 欧美二三区 | 日韩视频在线播放 | 久操福利视频 | 国产精品久久久一区二区 |