sh79F166A-ADC
1:ADT
任何单片机的外设模块,第一步都要设置模块工作的时钟。因为时钟问题牵涉到
此单元的生活节奏,人在二十几天就把心脏寄存器设置好。心脏开始跳动。
因为ADC的时钟周期Tadc >= 1us 所以要根据选择的系统时钟周期来选择合适的 Tadc = X*Tsys 关系
然后以 Tadc 的时间为基础来设置 采样时间。由采样时间来决定转换时间。
2:ADCON
2.0 REFC位 选择基准电压。
2.1 这个寄存器里面,可以开启ADC模块。就是允许ADC模块开始工作。ADCON = 0x80;
2.2 然后选择转换哪个通道。 ANX
2.3 开始转换。 ADCON = 0x01; 转换完成后此位硬件会清零。
3:ADCH , ADCL
在中断完成后,开始更新中断数据寄存器,即ADCH 和 ADCL 。并在此时产生一个ADC中断。
ADC是一个 10bit 的数据 高8位在ADCH 中,底2bit 在 ADCL的底两位里。
所以取数据 需要 (ADCH << 2)|ADCL 可以得到完整的 10bit 的转换数据。
4:EADC
当需要ADC中断是,要开启此位,告诉单片机允许中断,即允许有中断函数,当中断发生时,允许处理一些事物。
开启此位后,当ADC转换完成后单片机就会把ADCON中的 ADCIF位置1 。
但是需要用软件来清零,一般在中断函数中来清零。因为进入中断函数表示中断标志的使命已完成。