AVR单片机寄存器程序版.pdf
文本预览下载声明
#include iom16v.h % D, K7 O7 W, M: z+ q
#include macros.h
4 T. _ t! Z- c6 M
void initialize() 4 A/ \( H/ p6 d
{
// DDRx 端口方向寄存器,PORTx 数据寄存器,PINx 输入引脚寄存器 0 \# b J1 C( D5 x, U
// DDRxn 相应位为1,引脚为输出否则为输入 ; Y7 r! C7 q6 u4 `6 k
// PORTxn 为1 时,上拉电阻使能
DDRA = 0x00;
}
: n/ D5 `, \5 p- H, \
void init_adc() * a6 E! C1 K w$ z
{
// ADMUX
//
// | REFS1 | REFS0 | ADLAR | MUX4 | MUX3 | MUX2 | MUX1 | MUX0 | ) Z8 x- T8 S% @. H
// D$ w4 F Z3 f o: ?! I
// REFS1 REFS0 : 00 ,使用AREF ,内部参考电压关闭
// 01 ,AVCC 、AREF 引脚外加滤波电容 - b1 @+ P+ k [1 D3 M( ~8 ^4 m) n
// 10 ,保留
// 11 ,2.56V 片内基准电压,AREF 引脚外加滤波电容
// ADLAR : ADC 转换结果左对齐 ) @* H3 v) s L B/ N0 ]- U; x: ^
// MUX4 ~ MUX0 单端输入 正差分输入 负差分输入 增益 0 C8 y- ]0 | y% @3 C
// 00000 ~ 00111 ADC0~ADC7
// 01000 ADC0 ADC0 10x
// 01001 ADC1 ADC0 10x 2 k2 s- c4 t+ M P n( p9 K% e
// 01010 ADC0 ADC0 200x 6 c% v1 v! M Y
// 01011 ADC1 ADC0 200x 5 I+ e% ~; ^# e q
// 01100 ADC2 ADC2 10x
// 01101 ADC3 ADC2 10x , d$ b3 ?5 a6 g2 [ U- A! Y! T# x1 ?
// 01110 ADC2 ADC2 200x
// 01111 ADC3 ADC2
显示全部