●闲置模式(Standby Mode)---在该模式下转换资料寄存器中的值都被保留为上次转换时的资料。

关于ADC常用两种启动方式

★ADC两种启动方式:以手工启动和读结果时就自动地启动下一次转换;以查询状态位和发中断方式获知转换是否结束。ADC的操作只涉及3个寄存器:

●ADCCON--- 设置ADCCON寄存器,选择输入信号通道,设置A/D转换器的时钟(A/D时钟=PCLK/(PRSCVL+1))。A/D时钟最大为2.5MHz,且 应小于PCLK的1/5;设置ADCCON寄存器,启动转换(设置READ_START位则读转换数据(读ADCDAT0寄存器)时即启动下一次转换;否 则可通过设置ENABLE_START位来启动A/D转换);ADCCON各位含义(ENABLE_START---置1启动ADC转换,置0无操作; RESR_START---置1允许读操作启动ADC转换,置0禁止读操作启动ADC转换; STDBM---置1将ADC置为闲置状态(模式),置0将ADC置为正常操作状态;SEL_MUX---选择需要进行转换的ADC信道; PRSCV---ADC转换时钟预分频参数;PRSCEN---ADC转换时钟使能; ECFLG---ADC转换完成标志位(只读)。为1ADC转换结束,为0ADC转换进行中)。

●ADCTSC---设置ADCTSC寄存器,使 用设为普通转换模式,不使用触摸屏功能;ADCTSC各位含义(XY_PST---对X/Y轴手动测量模式进行选择;AUTO_PST---X/Y轴的自 动转换模式使能位;PULL_UP---XP端的上拉电阻使能位;XP_SEN---设置nXPON输出状态;XM_SEN---设置XMON输出状 态;YP_SEN---设置nYPON输出状态;YM_SEN---设置YMON输出状态)。

●ADCDAT0---完成ADC转换后,读取 ADCDAT0寄存器获得数值(如果使用查询方式,则可不断读取ADCCON寄存器的ECFLG位来确定是否转换结束;否则可以使用INT_ADC中断, 发生INT_ADC中断时表示转换结束);ADCDAT0各位含义(XPDATA---X轴转换资料寄存器;XY_PST---选择X/Y轴自动转换模 式;AUTO_PST---X/Y轴自动转换使能位;UPDOWN---选择中断等待模式的类型。为0按下产生中断,为1释放产生中断)。

★触摸屏操作还涉及到以下两个寄存器:

●ADCDLY---ADC转换周期等待定时器。

●ADCDAT1---同ADCDAT0。

关键代码解析:

★head.S头文件来初始化,设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行

.equMEM_CTL_BASE, 0x48000000

.text

.global _start

_start:

@中断向量表处理函数,只给出复位和普通中断模式的处理函数,其它异常未使用

b Reset

。..

b HandleIRQ

@0x1c: 快中断模式的向量地址

HandleFIQ:

b HandleFIQ

Reset: @复位处理

bldisable_watch_dog@关门喂狗