熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM7202觸摸屏接口設計方案

ARM7202觸摸屏接口設計方案

作者: 時間:2011-08-18 來源:網絡 收藏
4 程序

本文引用地址:http://www.bjwjmy.cn/article/150331.htm

  的應用程序模塊有:初始化、落筆中斷服務程序、A/D中斷服務程序、濾波程序和坐標轉換程序。初始化程序、濾波程序和坐標轉換程序是一般常規(guī)通用程序。驅動程序其核心是落筆中斷和A/D轉換這兩個中斷服務程序,以下是在uc/OS操作系統(tǒng)下觸摸屏驅動程序的兩個中斷服務程序,其詳細說明見注釋。

  static void TouchPenDownISR(int level) //落筆中斷服務程序

  {

  unsigned int status;

  status=*(volatile int *)PioCIS0xfff;

  if (status 0x80 )

  {

  *(volatile int *)PioCIC|=0x80; //清落筆中斷

  *(volatile int *)PioCIM=~0x80; //關落筆中斷

  *(volatile int *)PioCDR=~0x100; //使落筆中斷檢測無效,觸摸屏掃描電路有效

  *(volatile int*)ADCCR=~0x80; //開A/D電源

  *(volatile int*)ADCTPCR|=0x80|0x40; //觸摸屏讀有效,A/D中斷有效

  }

  }

  static void TouchINIISR(int level) //觸摸屏A/D轉換中斷服務程序

  {

  int x[4];

  int y[4];

  *adcisr |= 0x80; //清觸摸屏A/D中斷

  TouchSample(x,y); //得到X/Y方向數(shù)值

  *(volatile int*)ADCTPCR=~(0x80|0x40); //觸摸屏讀無效,觸摸屏A/D中斷無效

  *(volatile int *)PioCDR|=0x100; //使落筆中斷檢測有效,觸摸屏掃描電路無效

  if(*(volatile int *)PioCDR0x80) //檢測到起筆

  {

  *(volatile int *)PioCIC|=0x80; //清落筆中斷

  *(volatile int *)PioCIM|=0x80; //開落筆中斷

  *(volatile int *)ADCCR|=0x80; //關A/D電源

  *(volatile int*)ADCTPCR=~(0x80|0x40); //觸摸屏讀無效,觸摸屏A/D中斷無效

  }

  else //如仍有落筆

  {

  *(volatile int *)PioCDR=~0x100; //使落筆中斷檢測無效,觸摸屏掃描電路有效

  *(volatile int *)ADCTPCR|=0x80|0x40; //觸摸屏讀有效,觸摸屏A/D中斷有效

  }

  }

  5 結束語

  根據(jù)上述對觸摸屏工作機制的分析,筆者在實時嵌入式操作系統(tǒng)uc/OS下編寫的觸摸屏驅動程序應用于基于的智能控制器,實踐證明系統(tǒng)穩(wěn)定可靠,滿足了在復雜的實時多任務環(huán)境中觸摸屏快速響應的要求。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉