AVR Atmage 系列单片机(中文)寄存器简介
avr寄存器详细资料{补充}
avr寄存器详细资料{补充}Atmega16单片机有32个通用I/O口,有PA~PD四组,每组都是8位。
其主要的寄存器有DDRXn(X=A,B,C,D;n=0,2,…,7,下同),PORTXn和PINXn。
I/O组合设置见表1。
表1 I/O组合设置DDRXn PORTXn I/O 上拉电阻说明0 0 输入否I/O三态输入0 1 输入是I/O口带上拉电阻输入1 0 输出否推免0输出1 1 输出否推免1输出1. PA 口寄存器(1)DDRABit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0 (2)PORTABit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0 (3)PINABit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PINA7 PINA6 PINA5 PINA4 PINA3 PINA2 PINA1 PINA02. PB 口寄存器(1)DDRB(2)PORTBBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 (3)PINBBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PINB7 PINB6 PINB5 PINB4 PINB3 PINB2 PINB1 PINB03. PC 口寄存器(1)DDRCBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 DDRC7 DDRC6 DDRC5DDRC4 DDRC3 DDRC2 DDRC1 DDRC0 (2)PORTCBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PORTC7 PORTC6 PORTC5 PORTC4 PORTC3 PORTC2 PORTC1 PORTC0 (3)PINCBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PINC7 PINC6 PINC5 PINC4 PINC3 PINC2 PINC1 PINC04. PD 口寄存器(1)DDRD(2)PORTDBit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0 (3)PIND Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0DDRX是方向寄存器,可读可写。
AVR寄存器汇总
B7
B6
B5
B4
B3
B2
B1
B0
OCIE2
TOIE2
TICIE1
OCIE1A
OCIE1B
TOIE1
OCIE0
TOIE0
TIMSK中的各位表示对应中断的使能。
Atmega16T/C0中断标志寄存器TIFR
B7
B6
B5
B4
B3
B2
B1
B0
OCIE2
TOIE2
一:Atmega48/88/168及Atmega16/32中时钟源的选择表
Atmega16T/C0控制寄存器TCCRO
B7
B6
B5
B4
B3
B2
B1
B0
FOCO
WGM00
COM01
COM00
WGM01
CS02
CS01
CS00
说明:以下三位为Atmega48/88的TCCR0B,TCCR1B,Atmega16/32的TCCR0寄存器的低三位
TICIE1
OCIE1A
OCIE1B
TOIE1
OCIE0
TOIE0
Atmega16T/C0看门狗定时器控制寄存器WDTCR
B7
B6
B5
B4
B3
B2
B1
B0
——
——
——
WDTOE
WDE
WDP2
WDP1
WDP0
总结者:广西师大黄宗灯
B4
B3
B2
B1
B0
Atmega48——外部中断标志寄存器EIFR
——
Atmega16单片机介绍
Atmega16单片机介绍ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。
由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
ATmega16 AVR 核具有丰富的指令集和32 个通用工作寄存器。
所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期同时访问两个独立的寄存器。
这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。
ATmega16 有如下特点:16K字节的系统可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I /O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。
ATmega16单片机中文技术资料
ATmega16 主要特性如下:•高性能、低功耗的8位AVR微处理器•先进的RISC结构o 131条指令-大多数指令执行时间为单个时钟周期o 32个8位通用工作寄存器o全静态工作o 工作于16 MHz时性能高达16 MIPSo只需两个时钟周期的硬件乘法器*非易失性程序和数据存储器o 16K字节的系统内可编程Flash擦写寿命:10,000次o具有独立锁定位的可选Boot代码区通过片上Boot程序实现系统内编程真正的同时读写操作o 512 字节的EEPROM擦写寿命:100,000次o 1K字节的片内SRAMo可以对锁定位进行编程以实现用户程序的加密• JTAG 接口(与IEEE 1149.1 标准兼容)o符合JTAG标准的边界扫描功能o支持扩展的片内调试功能o 通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程.外设特点o两个具有独立预分频器和比较器功能的8位定时器/计数器o 一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器o具有独立振荡器的实时计数器RTCo 四通道PWMo 8 路10 位ADC8个单端通道TQFP封装的7个差分通道2个具有可编程增益(1x, 10x,或200x )的差分通道o面向字节的两线接口o 两个可编程的串行USARTo可工作于主机/从机模式的SPI串行接口o具有独立片内振荡器的可编程看门狗定时器o片内模拟比较器•特殊的微控制器特点o上电复位以及可编程的掉电检测o片内经过标定的RC振荡器o片内/外中断源o 6种休眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式和待机模式以式* I/O和封装o 32个可编程的I/O 口 o 40引脚PDIP 封装,44引脚TQFP 封装,与44引脚MLF 封装 •工作电压: o ATmega16L : 2.7 - 5.5V o ATmega16 : 4.5 - 5.5V •速度等级o 0 - 8 MHz ATmega16L o 0 - 16 MHz ATmega16 ・ ATmega16 在 1 MHz, 3V, 25 C 时的功耗o 正常模式:1.1 mAo 空闲模式:0.35 mA o 掉电模式:< 1叭加二卍十二PB :I L; PB F IWT2/AIN0) PB2 OC 沙1皆;PB3 焼:F'B< :M0&i i P'B5 M 的]PM 严』D .2■二 4 2 芒曲九TAJ M 州阳 Kt ;m e rol PCIA) 2'' 3 4 £ 厂 □眈 ADSL : □ AM [ADC1) 二I FA2 ADCS 1 □ RM gDC 旳 □ PM MS □ F^5 ADCJ : □吨 AD 26: □时[ADC7: □ AREF □ GhiD □ WCC □ pc :厂力sea 3 PCS 】n □ PCS :'-Dr □ PC4 'DO 3 PCS T WS L □ PC2 TCK : □ PC * SDA : □ POD 'SCL! □ POT OC2-。
AVR相关寄存器整理
A VR内核片内相关寄存器配置整理一、全局中断相关寄存器(1)SREG:状态寄存器I:全局中断使能位1:使能全局中断0:失能全局中断(2)GICR:通用中断控制寄存器IVSEL:中断向量选择位0:中断向量位于Flash起始位置1:中断向量位于引导区起始位置【注】修改IVSEL时需要遵照如下过程1. 置位中断向量修改使能位IVCE2. 在紧接的4个时钟周期里将需要的数据写入IVSEL,同时对IVCE写0 IVCE:中断向量修改使能位(1:使能对中断向量选择位IVSEL的修改)【注】该位可以通过写0清零,或在置位4 个时钟周期后自动清零二、外部中断相关寄存器ISC11,ISC10:外部中断1触发控制位ISC01,ISC00:外部中断0触发控制位(2)MCUCSR:MCU控制与状态寄存器ISC2:外部中断2触发控制位0:INT2下降沿产生中断请求1:INT2上升沿产生中断请求(3)GICR:通用中断控制寄存器INTx:外部中断请求使能位1:使能INTx外部中断请求0:使能INTx外部中断请求(4)GIFR:通用中断标志寄存器INTFx:外部中断标志位(1:产生中断请求,使能时进入INTx中断向量并自动清零)【注】该位可以通过写1清零三、系统控制复位及休眠相关寄存器(1)MCUCSR:MCU控制与状态寄存器JTRF:JTAG复位标志位(1:JTAG复位发生)【注】该位可以通过写0清零WDRF:看门狗复位标志位(1:看门狗复位发生)【注】该位可以通过写0清零BORF:掉电检测复位标志位(1:掉电检测复位发生)【注】该位可以通过写0清零EXTRF:外部复位标志位(1:外部复位发生)【注】该位可以通过写0清零PORF:上电复位标志位(1:上电复位发生)【注】该位可以通过写0清零(2)WDTCR:看门狗定时器控制寄存器WDTOE:看门狗修改使能位(1:使能对看门狗使能位WDE的清零操作)【注】该位在置位4个时钟周期后自动清零WDE:看门狗使能位1:使能看门狗0:失能看门狗【注】修改WDE时需要遵照如下过程1. 在同一个指令内对WDTOE和WDE写1,即使WDE已经为12. 在紧接的4个时钟周期之内对WDE写0WDPx:看门狗定时器预分频选择位(3)MCUCR:MCU控制寄存器SMx:休眠模式选择位SE:休眠使能位1:使能休眠模式,可以响应休眠指令0:失能休眠模式四、定时器/计数器0相关寄存器(1)TCCR0:T/C0控制寄存器FOC0:强制输出比较位1:写1时,波形发生器立即进行比较操作,即强制执行比较匹配时执行的工作【注】非PWM模式时有效,CTC模式不清零定时器,读其返回值永远为0,在使用PWM时要对其写0COM0x:比较匹配输出模式选择位当T/C0工作模式为普通模式或CTC模式时当T/C0工作模式为快速PWM模式时当T/C0工作模式为相位修正PWM模式时(2)TCNT0:T/C0数据寄存器MSB—LSB:T/C0数据位【注】记录了当前定时器的数值(3)OCR0:输出比较寄存器0MSB—LSB:T/C0输出比较数据位【注】记录了预设的输出比较数值,匹配事件可以产生比较中断或在OC0引脚产生波形(4)TIMSK:T/C中断屏蔽寄存器OCIE0:T/C0输出比较匹配中断使能位1:使能T/C0的输出比较匹配中断0:失能T/C0的输出比较匹配中断TOIE0:T/C0溢出中断使能位1:使能T/C0的溢出中断0:失能T/C0的溢出中断(5)TIFR:T/C中断标志寄存器OCF0:T/C0输出比较匹配标志位(1:产生比较匹配,中断使能时进入比较匹配中断向量并自动清零)【注】该位可以通过写1清零TOV0:T/C0溢出标志位(1:产生溢出,中断使能时进入溢出中断向量并自动清零)【注】该位可以通过写1清零PSR10:T/C1与T/C0预分频器复位操作位(1:T/C1与T/C0的预分频器复位)【注】该位在操作完成后自动清零,读该位返回值永远为0【注】使用此复位时对T/C0及T/C1两定时器均有影响五、定时器/计数器1相关寄存器(1)TCCR1A:T/C控制寄存器ACOM1xy:通道x比较匹配输出模式选择位当T/C1工作模式为普通模式或CTC模式时当T/C1工作模式为快速PWM模式时当T/C1工作模式为相位修正PWM模式或相频修正PWM模式时FOC1x:通道x强制输出比较位1:写1时,波形发生器立即进行比较操作,即强制执行比较匹配时执行的工作【注】非PWM模式时有效,CTC模式不清零定时器,读其返回值永远为0,在使用PWM时要对其写0 WGM1x:波形发生模式选择位(与TCCR1B寄存器中WGM1x共同决定波形发生模式)(2)TCCR1B:T/C控制寄存器BICNC1:输入捕捉噪声抑制器使能位1:使能输入捕捉噪声抑制器,使输入捕捉更准确,但有4个时钟周期的延迟0:失能输入捕捉噪声抑制器ICES1:输入捕捉触发沿选择位1:ICP1引脚上升沿触发输入捕捉0:ICP1引脚下降沿触发输入捕捉WGM1x:波形发生模式选择位(与TCCR1A寄存器中WGM1x共同决定波形发生模式)【注】详见TCCR1A寄存器中WGM1x位CS1x:T/C1时钟选择位(3)TCNT1H/TCNT1L:T/C1数据寄存器MSB—LSB:T/C1数据位【注】记录了当前定时器的数值(4)OCR1AH/OCR1AL:输出比较寄存器1AMSB—LSB:T/C1输出比较数据位A【注】记录了预设的输出比较数值,匹配事件可以产生比较中断或在OC1A引脚产生波形(5)OCR1BH/OCR1BL:输出比较寄存器1BMSB—LSB:T/C1输出比较数据位B【注】记录了预设的输出比较数值,匹配事件可以产生比较中断或在OC1B引脚产生波形(6)ICR1H/ICR1L:输入捕捉寄存器1MSB—LSB:输入捕捉寄存器1【注】在ICP1引脚捕捉到信号后,将当前TCNT1x存入ICR1x,在ICR1H读取后,两寄存器数据清空【注】部分波形产生模式中,ICR1x作为计数器TOP值,操作时要先写入ICR1H,后写入ICR1L (7)TIMSK:T/C中断屏蔽寄存器TICIE1:T/C1输入捕捉中断使能位1:使能T/C1的输入捕捉中断0:失能T/C1的输入捕捉中断OCIE1x:T/C1输出比较x匹配中断使能位1:使能T/C1的输出比较匹配中断0:失能T/C1的输出比较匹配中断TOIE1:T/C1溢出中断使能位1:使能T/C1的溢出中断0:失能T/C1的溢出中断(8)TIFR:T/C中断标志寄存器ICF1:T/C1输入捕捉标志位(1:出现输入捕捉事件,中断使能时进入输入捕捉中断向量并自动清零)【注】该位可以通过写1清零OCF1x:T/C1输出比较x匹配标志位(1:产生比较匹配,中断使能时进入比较匹配中断向量并自动清零)【注】该位可以通过写1清零TOV1:T/C1溢出标志位(1:产生溢出,中断使能时进入溢出中断向量并自动清零)【注】该位可以通过写1清零六、模数转换相关寄存器(1)SFIOR:特殊功能I/O寄存器ADTSx:ADC自动触发源选择位(2)ADCSRA:ADC控制与状态寄存器AADEN:ADC使能位1:使能ADC转换0:失能ADC转换ADSC:ADC开始转换(1:启动一次ADC转换,在连续转换模式下将启动首次转换)【注】该位在ADC转换结束后自动清零ADA TE:ADC自动触发使能位1:使能ADC自动触发功能,由选定触发源信号触发ADC转换0:失能ADC自动触发功能ADIF:ADC中断标志位(1:ADC转换结束产生中断请求)【注】该位可以通过写1清零ADIE:ADC中断使能位1:使能ADC转换结束中断0:失能ADC转换结束中断(3)ADCH/ADCL:ADC数据寄存器当ADLAR=0时,即为转换结果右对齐时ADCH:ADC高位数据寄存器ADCL:ADC低位数据寄存器当ADLAR=1时,即为转换结果左对齐时ADCL:ADC低位数据寄存器【注】在ADCH读取后,两寄存器数据清空,允许存入新的数据(4)ADMUX:ADC多工选择寄存器REFSx:参考电压选择位ADLAR:ADC转换结果对齐方式选择位1:ADC转换结果左对齐0:ADC转换结果右对齐七、串行SPI相关寄存器(1)SPCR:SPI控制寄存器SPIE:SPI中断使能位1:使能SPI中断,SPI通信结束后会产生中断请求位0:失能SPI中断SPE:SPI使能位1:使能SPI通信0:失能SPI通信DORD:数据次序选择位1:LSB首先发送0:MSB首先发送MSTR:主/从选择位1:选择为主机模式0:选择为从机模式【注】当SS为输入且被拉低时,会自动清零CPOL:时钟极性选择位1:空闲时SCK为高电平0:空闲时SCK为低电平CPHA:时钟相位选择位1:在SCK结束沿采样数据0:在SCK起始沿采样数据SPRx:SPI时钟速率选择位(与SPI2X位共同决定SPI时钟频率)(2)SPSR:SPI状态寄存器SPIF:SPI中断标志位(1:产生SPI中断请求)【注】可以通过读取SPSR后访问SPDR对该位清零WCOL:写碰撞标准位(1:发生写碰撞,即在数据发送中对SPDR写数据)【注】可以通过读取SPSR后访问SPDR对该位清零SPI2X:SPI倍速控制位(1:SPI速率翻倍,主机最大速率可达f OSC/2,从机只可达f OSC/4)【注】详见SPRx位(3)SPDR:SPI数据寄存器MSB—LSB:SPI数据位【注】写数据将启动数据传输,读数据将读取接受缓冲器八、同/异步串行USART相关寄存器(1)UDR:USART I/O数据寄存器(包括RXB部分和TXB部分,共享相同地址)MSB—LSB(RXB/R):USART发送数据缓冲寄存器MSB—LSB(TXB/W):USART接收数据缓冲寄存器【注】写入时对TXB操作,读取时对RXB操作,发送模式未发送数据时写入数据,将启动数据发送(2)UCSRA:USART控制和状态寄存器ARXC:USART接收结束标志位(1:USART接收缓冲器中有未读出数据)【注】该位在读取接收缓冲器后或接收器被禁止时清零TXC:USART发送结束标志位(1:USART发送结束,且发送缓冲器为空)【注】该位可以通过写1清零,在执行发送结束中断后自动清零UDRE:USART数据寄存器空标志位(1:发送缓冲器为空,可以写入新的数据)【注】该位随数据寄存器实时改变,不能被清零FE:帧错误标志位(1:接收到的下一个字符有帧错误,即第一个停止位为0)【注】该位在接收缓冲器被读取后清零,写入数据时要对该位写0DOR:数据溢出标志位(1:接收缓冲器发生数据溢出,即接收缓冲器积存三个以上数据)【注】该位在接收缓冲器被读取后清零,写入数据时要对该位写0PE:奇偶校验错误标志位(1:奇偶校验使能后,接收到的下一个字符有奇偶校验错误)【注】该位在接收缓冲器被读取后清零,写入数据时要对该位写0U2X:倍速发送控制位(1:USART异步通信速率翻倍)【注】该位仅对异步操作有影响,同步操作时对此位写0,详见MPCM:多处理器通信模式使能位1:使能多处理器通讯模式0:失能多处理器通讯模式【注】使能后,接收器接收到的所有不包含地址信息的输入帧都将被忽略,该位对发送器无影响,(3)UCSRB:U SART控制和状态寄存器BRXCIE:接收结束中断使能位1:使能接收结束中断0:失能接收结束中断TXCIE:发送结束中断使能位1:使能发送结束中断0:失能发送结束中断UDRIE:USART数据寄存器空中断使能位1:使能USART数据寄存器空中断0:失能USART数据寄存器空中断RXEN:接收使能位1:使能USART接收功能,启动USART接收器,RXD引脚启动USART功能0:失能USART接收功能TXEN:发送使能位1:使能USART发送功能,启动USART发送器,TXD引脚启动USART功能0:失能USART发送功能【注】数据发送过程中清零该位,会在发送缓冲器中的数据发送完成后关闭USART发送功能UCSZ2:字符长度控制位(与UCSZx共同决定数据帧所包含的数据位数)【注】详见UCSZx位RXB8:接收数据位8【注】在9位帧数据模式下,该位为接收数据的第9位,该位要在读取UDR之前读取TXB8:发送数据位8【注】在9位帧数据模式下,该位为发送数据的第9位,该位要在写入UDR之前写入(4)UCSRC:U SART控制和状态寄存器C(UCSRC与UBRRH共用相同地址)URSEL:寄存器选择位1:写寄存器时写入UCSRC,读寄存器时读出为UCSRC0:写寄存器时写入UBRRH,读寄存器时读出为UBRRH【注】在相邻两时钟周期读取UBRRH与UCSRC,则第一次返回UBRRH的值,第二次返回UCSRC的值UMSEL:USART模式选择位1:同步模式0:异步模式UPMx:奇偶校验模式选择位USBS:停止位选择位1:设置2位停止位0:设置1位停止位UCSZx:字符长度控制位(与UCSZ2共同决定数据帧所包含的数据位数)UCPOL【注】该位仅用于同步工作模式,异步工作模式下写0(5)UBRRH/UBRRL:USART波特率寄存器(UBRRH与UCSRC共用相同地址)URSEL:寄存器选择位1:写寄存器时写入UCSRC,读寄存器时读出为UCSRC0:写寄存器时写入UBRRH,读寄存器时读出为UBRRH【注】在相邻两时钟周期读取UBRRH与UCSRC,则第一次返回UBRRH的值,第二次返回UCSRC的值UBRRx:USART波特率寄存器选择位(数值范围0—4095)【注】同步从机模式由外部时钟驱动,且外部XCK最大时钟频率由公式f XCK < f OSC4限制九、两线串行TWI相关寄存器(1)TWBR:TWI比特率寄存器TWBRx:TWI比特率寄存器(数值范围0—255)【注】工作于主机模式时,TWI工作频率为SCL引脚输出频率,频率为f SCL =f OSC16+2•TWBR•4TWPS【注】工作于从机模式时,TWI工作频率由公式f SCL < f OSC16限制(2)TWCR:TWI控制寄存器TWINT:TWI中断标志位(1:捕捉到TWI事件,如接收或发送一个信号)【注】该位可以通过写1清零,在该位清零后TWI立即开始工作,在进入TWI后不会自动清零TWEA:TWI应答使能位1:使能TWI应答,出现应答条件时,接口发出应答脉冲0:失能TWI应答,器件脱离总线【注】发出应答脉冲的条件1:器件的从机地址与主机发出的地址相符合2:TWI广播识别使能时接收到TWI广播3:主/ 从机接收模式下接收到一个字节的数据TWSTA:TWI STAR T状态位(1:检测TWI总线,直到总线空闲,产生START状态以声明自己为主机)【注】发出STRAT状态后该位必须软件清零TWSTO:TWI STOP状态位(1:主机模式下产生STOP状态,从机模式下从错误状态恢复到未被寻址状态)【注】该位在生效后自动清零TWWC:TWI写碰撞标志位(1:TWINT为0时向数据寄存器写入数据)【注】当TWINT为1时,每次想数据寄存器写入数据时都会清零该位TWEN:TWI使能位1:使能TWI操作,激活TWI接口0:失能TWI操作,TWI传输被终止TWIE:TWI中断使能位1:使能TWI中断0:使能TWI中断(3)TWSR:TWI状态寄存器【注】读取时视数据后面包含三位0,具体状态参考数据手册TWPSx:TWI预分频选择位(4)TWDR:TWI数据寄存器MSB—LSB:TWI数据位【注】根据情况不同,其内容为要发送的下一个字节数据,或接收到的数据(5)TW AR:TWI从机地址寄存器TWAx:TWI从机地址寄存器【注】工作于从机模式时根据此地址响应,主机模式时不需要此地址TWGCE:TWI广播识别使能位1:使能TWI总线广播识别0:失能TWI总线广播识别。
最新avr寄存器详细资料补充}汇总
a v r寄存器详细资料补充}Atmega16单片机有32个通用I/O口,有PA~PD四组,每组都是8位。
其主要的寄存器有 DDRXn(X=A,B,C,D;n=0,2,…,7,下同),PORTXn和PINXn。
I/O组合设置见表1。
表1 I/O组合设置1. PA 口寄存器(1)DDRA2. PB 口寄存器(1)DDRB3. PC 口寄存器(1)DDRC4. PD 口寄存器(1)DDRD口;在读操作时,从DDRX寄存器读出来的是端口的方向设定值。
DDRX寄存器的初始值为0x00。
PORTX是数据寄存器,可读写。
在写操作时,从PORTX写入的数据存入内部锁存器,以确定端口的工作状态或者将写入的数据送到外部数据总线。
PORTX寄存器的初始值为0x00。
PINX用来访问端口X的逻辑值,且只允许读操作。
从PINX读入的数据只是X口引脚的逻辑状态。
其初始值为高阻态。
三. 中断寄存器中断是指微处理器在程序执行期间响应外部的事务请求,暂停当前的处理器工作转而处理外部事件,外部事件处理完成之后返回原来工作暂停的地方继续执行程序。
Atmega16具有21个中断源,每个中断源都有独立的中断向量作为中断服务程序的入口地址,而且所有的中断源都有自己独立的使能位。
如果中断位I和中断向量使能位都置位,则中断发生,中断标志位置位,并执行中断服务程序。
中断向量表见表2,处于越低地址的中断具有更高优先级。
表2 中断向量表1.状态寄存器 SREG为0,则禁止中断。
2.MCU 控制寄存器 MCUCRSM1~SM0:MCU休眠模式选择ISC11~ISC10:外部中断1的中断触发检测方式ISC01~ISC00:外部中断0的中断检测方式通用中断控制寄存器 GICRINT0:使能外部中断请求0INT2:使能外部中断请求24.通用中断标志寄存器 GIFR请求,并置位相应的中断标志INTF1。
如果SREG 的位I以及GICR寄存器相应的中断使能位INT1为”1”,MCU即跳转到相应的中断向量。
ATmega8中文资料
ATmega8中文资料ATmega8 是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。
在AVR家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGE 系列的全部性能和特点。
但由于采用了小引脚封装(为DIP 28和TQFP/MLF3 2),所以其价格仅与低档单片机相当,再加上AVR单片机的系统内可编程特性,使得无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发,同时也为单片机的初学者提供了非常方便和简捷的学习开发环境。
ATmega8的这些特点,使其成为一款具有极高性能价格比的单片机,深受广大单片机用户的喜爱,在产品应用市场上极具竞争力,被很多家用电器厂商和仪器仪表行业看中,从而使ATmega8迅速进入大批量的应用领域.ATmega系列单片机属于AVR中的高档产品,它承袭了AT90所具有的特点,并在AT90(如AT9058515、AT9058535)的基础上,增加了更多的接口功能,而且在省电性能。
稳定性、抗干扰性以及灵活性方面考虑得更加周全和完善。
ATmega8 是一款采用低功耗CMOS工艺生产的基于AVR RISC结构的8位单片机。
AVR单片机的核心是将32个工作寄存器和丰富的指令集联结在一起,所有的工作寄存器都与ALU(算术逻辑单元)直接相连,实现了在一个时钟周期内执行的一条指令同时访问(读写)两个独立寄存器的操作。
这种结构提高了代码效率,使得大部分指令的执行时间仅为一个时钟周期.因此, ATmega8可以达到接近1MIPS/MHz的性能,运行速度比普通CISC单片机高出10倍。
ATmega8的主要性能如下:*高性能、低功耗的8位AVR微控制器,先进的RISC精简指令集结构130条功能强大的指令,大多数为单时钟周期指令32个8位通用工作寄存器工作在16MHz时,具有16MIPS的性能片内集成硬件乘法器(执行速度为2个时钟周期)*片内集成了较大容量的非易失性程序和数据存储器以及工作存储器8K字节的Flash程序存储器,擦写次数:>10000次支持可在线编程(ISP)、可在应用自编程(IAP)带有独立加密位的可选BOOT区,可通过BOOT区内的引导程序区(用户自己写入)来实现IAP编程.512个字节的E2PROM,擦写次数:100000次1K字节内部SRAM可编程的程序加密位*丰富强大的外部接口(Peripheral)性能2个具有比较模式的带预分频器(Separate Prescale)的8位定时/计数器1个带预分频器(SeParat Prescale),具有比较和捕获模式的16位定时/计数器1个具有独立振荡器的异步实时时钟(RTC)3个PWM通道,可实现任意<16位、相位和频率可调的PWM脉宽调制输出8通道A/D转换( TQFP、MLF封装),6路10位A/D+2路8位A/D6通道A/D转换( PDIP封装),4路10位A/D+2路8位A/D1个I2C的串行接口,支持主/从、收/发四种工作方式,支持自动总线仲裁1个可编程的串行USART接口,支持同步、异步以及多机通信自动地址识别1个支持主/从(Master/Slave)、收/发的SPI同步串行接口带片内RC振荡器的可编程看门狗定时器片内模拟比较器*特殊的微控制器性能可控制的上电复位延时电路和可编程的欠电压检测电路内部集成了可选择频率(l/2/4/8MHZ)、可校准的RC振荡器外部和内部的中断源18个五种睡眠模式:空闲模式(Idle)、ADC噪声抑制模式(ADC Noise Reduction)。
ATmega单片机简介完整版
A T m e g a单片机简介集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]A T M E G A8单片机2006年10月24日星期二09:15P.M.ATmega8是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。
在AVR 家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGE系列的全部性能和特点。
但由于采用了小引脚封装(为DIP28和TQFP/MLF32),所以其价格仅与低档单片机相当,再加上AVR单片机的系统内可编程特性,使得无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发,同时也为单片机的初学者提供了非常方便和简捷的学习开发环境。
ATmega8的这些特点,使其成为一款具有极高性能价格比的单片机,深受广大单片机用户的喜爱,在产品应用市场上极具竞争力,被很多家用电器厂商和仪器仪表行业看中,从而使ATmega8迅速进入大批量的应用领域。
ATmega系列单片机属于AVR中的高档产品,它承袭了AT90所具有的特点,并在AT90(如AT9058515、AT9058535)的基础上,增加了更多的接口功能,而且在省电性能。
稳定性、抗干扰性以及灵活性方面考虑得更加周全和完善。
ATmega8是一款采用低功耗CMOS工艺生产的基于AVRRISC结构的8位单片机。
AVR 单片机的核心是将32个工作寄存器和丰富的指令集联结在一起,所有的工作寄存器都与ALU(算术逻辑单元)直接相连,实现了在一个时钟周期内执行的一条指令同时访问(读写)两个独立寄存器的操作。
这种结构提高了代码效率,使得大部分指令的执行时间仅为一个时钟周期。
因此,ATmega8可以达到接近1MIPS/MHz的性能,运行速度比普通CISC单片机高出10倍。
ATmega8的主要性能如下:*高性能、低功耗的8位AVR微控制器,先进的RISC精简指令集结构130条功能强大的指令,大多数为单时钟周期指令32个8位通用工作寄存器工作在16MHz时,具有16MIPS的性能片内集成硬件乘法器(执行速度为2个时钟周期)*片内集成了较大容量的非易失性程序和数据存储器以及工作存储器8K字节的Flash程序存储器,擦写次数:>10000次支持可在线编程(ISP)、可在应用自编程(IAP)带有独立加密位的可选BOOT区,可通过BOOT区内的引导程序区(用户自己写入)来实现IAP编程。
(整理)AVR单片机EEPROM寄存器.
ATmega88包含512字节的EEPROM数据存储器。
它是作为一个独立的数据EEPROM 的寿命至少为100,000 次擦除周期。
EEPROM 的访问由地址寄存器,数据寄存器和控制寄存器决定。
具体的SPI 及并行下载EEPROM 数据请参见P254“存储器编程”。
EEPROM 读/ 写访问EEPROM 读/ 写访问EEPROM 的访问寄存器位于I/O 空间。
EEPROM的写访问时间由Table 3给出。
自定时功能可以让用户软件监测何时可以开始写下一字节。
用户操作EEPROM 需要注意如下问题:在电源滤波时间常数比较大的电路中,上电/ 下电时VCC 上升/ 下降速度会比较慢。
此时CPU 可能工作于低于晶振所要求的电源电压。
请参见P20“ 防止EEPROM 数据丢失” 以避免出现EEPROM 数据丢失的问题。
为了防止无意识的EEPROM 写操作,需要执行一个特定的写时序。
具体参看EEPROM控制寄存器的内容。
执行EEPROM 读操作时,CPU 会停止工作 4 个周期,然后再执行后续指令;执行EEPROM 写操作时,CPU 会停止工作2 个周期,然后再执行后续指令。
EEPROM 地址寄存器-EEARH和EEARL· Bits 15..9 – Res: 保留保留位,读操作返回值为零。
· Bits 8..0 – EEAR8..0: EEPROM 地址EEPROM 地址寄存器– EEARH和EEARL指定了512 字节的EEPROM。
EEPROM 地址是线性的,从0 到511 。
EEAR 的初始值没有定义。
在访问EEPROM 之前必须为其赋予正确的数据。
EEAR8 在ATmega48 中为无效位,必须始终将其赋值为”0”。
EEPROM 数据寄存器-EEDR· Bits 7..0 – EEDR7.0: EEPROM 数据对于EEPROM 写操作,EEDR 是需要写到EEAR 单元的数据;对于读操作,EEDR 是从地址EEAR 读取的数据。
最新AVR单片机EEPROM寄存器汇总
A V R单片机E E P R O M寄存器ATmega88包含512字节的EEPROM数据存储器。
它是作为一个独立的数据EEPROM 的寿命至少为 100,000 次擦除周期。
EEPROM 的访问由地址寄存器,数据寄存器和控制寄存器决定。
具体的 SPI 及并行下载 EEPROM 数据请参见P254“存储器编程”。
EEPROM 读/ 写访问EEPROM 读/ 写访问EEPROM 的访问寄存器位于I/O 空间。
EEPROM的写访问时间由Table 3给出。
自定时功能可以让用户软件监测何时可以开始写下一字节。
用户操作EEPROM 需要注意如下问题:在电源滤波时间常数比较大的电路中,上电/ 下电时VCC 上升/ 下降速度会比较慢。
此时CPU 可能工作于低于晶振所要求的电源电压。
请参见P20“ 防止EEPROM 数据丢失” 以避免出现EEPROM 数据丢失的问题。
为了防止无意识的EEPROM 写操作,需要执行一个特定的写时序。
具体参看EEPROM控制寄存器的内容。
执行EEPROM 读操作时, CPU 会停止工作4 个周期,然后再执行后续指令;执行EEPROM 写操作时, CPU 会停止工作2 个周期,然后再执行后续指令。
EEPROM 地址寄存器- EEARH和EEARL· Bits 15..9 – Res: 保留保留位,读操作返回值为零。
· Bits 8..0 – EEAR8..0: EEPROM 地址EEPROM 地址寄存器– EEARH和EEARL指定了 512 字节的EEPROM。
EEPROM 地址是线性的,从 0 到 511 。
EEAR 的初始值没有定义。
在访问EEPROM 之前必须为其赋予正确的数据。
EEAR8 在 ATmega48 中为无效位,必须始终将其赋值为”0”。
EEPROM 数据寄存器- EEDR· Bits 7..0 – EEDR7.0: EEPROM 数据对于EEPROM 写操作, EEDR 是需要写到EEAR 单元的数据;对于读操作,EEDR 是从地址EEAR 读取的数据。
技术知识分享之AVR单片机简介及其特性分析
技术知识分享之AVR单片机简介及其特性分析AVR 单片机是Atmel 公司1997 年推出的RISC 单片机,RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。
RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。
RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。
由于AVR 采用了RESC 的这种结构,使AVR 系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。
AVR 单片机吸收了DSP 双总线的特点,采用Harvard 总线结构,因此单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。
在AVR 单片机中,CPU 执行当前指令时取出将要执行的下一条指令放入寄存器中,从而可以避免传统MCS51 系列单片机中多指令周期的出现。
传统的MCS51 系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据转换就成了单睛机的瓶颈;在AVR 单片机中,寄存器由32 个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。
AVR 单片机具有良好的集成性能,AVR 系列的单片机都具备在线编程接口,其中的Mega 系列还具备JTAG 仿真和下载功能;都含有片内看门狗电路、片内程序Flash、同步串行接口SPI;多数AVR 单片机还内嵌了AD 转换器、EEPROM、摸拟比较器、PWM 定时计数器等多种功能;AVR 片机的I/O 接口具有很强的驱动能力,灌电流可直接驱动继电器、LED 等器件,从而省去驱动电路,节约系统成本。
ATMEGA16A中文资料
ATMEGA16A中文资料高性能,低功耗AVR 8-bit微控制器•高级RISC建筑– 131条指令–绝大多数为单时钟周期执行– 32 x 8通用工作寄存器–全静态工作–高达16吞吐量在MIPS 16 MHz–片2—cycle乘数高耐久性非易失性内存段– 16K字节的程序存储器,在系统内可编程Flash– 512字节的EEPROM– 1K字节内部SRAM–写/擦除周期:10,000闪光/ 100,000的EEPROM–数据保存:在20年85°C/100年在25°C(1)–可选引导具有独立锁定Bits代码段•在系统编程的片上引导程序•真Read-While-Write操作–锁编程软件安全JTAG (IEEE std。
1149.1兼容)接口–边界扫描功能根据JTAG标准–广泛的片上调试支持–编程闪存,EEPROM,熔丝位和锁定Bits通过JTAG接口外设特点–两个8—bit定时器/计数器具有独立预分频器和比较模式–一个16-bit定时器/计数器具有独立预分频器,比较功能和捕捉模式–实时计数器具有独立振荡器–四PWM频道– 8-channel, 10-bit ADC• 8单端通道• 7在TQFP 包装差分通道只有• 2在1x, 10x,差分通道具有可编程增益或200x–面向字节的两线串行接口可编程串行USART的––主/从串行接口SPI–可编程看门狗定时器具有独立片内振荡器–片内模拟比较器单片机的特殊功能–上电复位和可编程的掉电检测–内部振荡器校准RC–外部和内部中断源– 6种睡眠模式:空闲,ADC降噪,省电,省电,待机和扩展待机I / O和封装– 32可编程I / O线– 40—pin PDIP, 44—lead TQFP,和44—pad QFN/MLF 工作电压– 2。
7为- 5。
5V ATmega16A速度等级– 0 —为16 MHz ATmega16A功耗@ 1 MHz, 3V,和25°C为ATmega16A–活动:0。
AVR ATmega16寄存器(修订版)
ATmega16寄存器说明修订版v1.1 本版修订了很多原版存在的错误同时使其更加清晰易懂原作者:未知修订:拉拉和瑶瑶SREG | I | T | H | S | V | N | Z | C |// 状态寄存器SREGI : 全局中断使能T : 位复制存储位H : 半进位标志位表示算术运算发生了半进位S : 符号位S为负数标志N与2的补码溢出标志V的异或V : 2的补码溢出标志位N : 负数标志位Z : 零标志位C : 进位标志位OSCCAL |CAL7 | CAL6 | CAL5 | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 |//振荡器标定寄存器OSCCAL OSCAL数值最小频率,标称频率的百分比(%)最大频率,标称频率的百分比(%)0x00 50 1000x7F 75 1500xFF 100 200(编者注:一般可使用0x7F)MCUCR | SM2 | SE | SM1 | SM0 | ISC11 | ISC10 | ISC01 | ISC00 | //MCU控制寄存器MCUCR SM2:0 休眠模式000 空闲模式(停止CPU_clk 和FLASH_clk)001 ADC噪声抑制模式(停止IO_clk CPU_clk 和FLASH_clk)010 掉电模式(停止所有时钟,只有异步模块可以继续工作)011 省电模式100 --101 --110 Standby 模式(仅在使用外部晶振或谐振器时,Standby模式才可用)111 扩展Stabdby模式SE 休眠使能ISCx1:0 说明00 INTx为低电平产生中断请求01 INTx上的任意跳变产生中断请求10 INTx上的下降沿产生中断请求11 INTx上的上升沿产生中断请求(编者注:外部中断0,1触发模式在此设置)MCUCSR | JTD | ISC2 | -- | JTRF | WDRF | BORF | EXTRF | PORF |//MCU控制和状态寄存器MCUCSR JTD 禁止JTAG 接口ISC2 中断2触发方式控制位(0-下降沿中断1-上升沿中断)JTRF JTAG 复位标志WDRF 看门狗复位标志BORF 掉电检测复位标志EXTRF 外部复位标志PORF 上电复位标志GICR | INT1 | INT0 | INT2 | -- | -- | -- | IVSEL | IVCE |// 通用中断控制寄存器INT1 使能外部中断请求1INT0 使能外部中断请求0INT2 使能外部中断请求2IVSEL 中断向量选择IVCE 中断向量修改使能GIFR | INTF1 | INTF0 | INTF2 | -- | -- | -- | -- | -- | // 通用中断标志寄存器INTF1 外部中断标志1INTF0 外部中断标志0INTF2 外部中断标志2(编者注:GICR表明能否中断而GIFR则是是否中断)SPMCR | SPMIE | RWWSB | -- | RWWSRE | BLBSET | PGWRT | PGERS | SPMEN |//保存程序存储器控制寄存器SPMIE SPM 中断使能RWWSB RWW 区忙标志RWWSRE RWW 区读使能BLBSET Boot 锁定位设置PGWRT 页写入PWERS 页擦除SPMEN 存贮程序存储器使能OCDR | MSB/IDRD | | | | | | | LSB | // 片上调试寄存器SFIOR | ADTS2 | ADTS1 | ADTS0 | -- | ACME | PUD | PSR2 | PSR10 | // 特殊功能I/O寄存器ADTS[2:0] ADC自动触发源位000 连续转换模式001 模拟比较器010 外部中断请求0011 定时器/计数器0比较匹配100 定时器/ 计数器1溢出101 定时器/计数器比较匹配B110 定时器/计数器1溢出111 定时器/计数器1捕捉事件ACME 模拟比较器多路复用器使能0 AIN1 连接到比较器的负极输入端1 ADC 多路复用器为模拟比较器选择负极输入PUD 禁用上拉电阻PSR2 预分频复位T/C2PSR10 T/C1 与T/C0 预分频器复位//***********************// PORT端口相关寄存器//******************************// PORTA | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // 数据寄存器DDRA | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // 数据方向寄存器PINA | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // 端口输入引脚PORTB | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |DDRB | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |PINB | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |PORTC | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |DDRC | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |PINC | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |PORTD | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |DDRD | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |PIND | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |(编者注:DDRx为数据方向寄存器,1为输出,0为输入;PORTx为数据寄存器:作为输入时,若允许上//***********************// USART串口相关寄存器//**************************// UDR | RXB7 | RXB6 | RXB5 | RXB4 | RXB3 | RXB2 | RXB1 | RXB0 | // 接收数据缓冲寄存器| TXB7 | TXB6 | TXB5 | TXB4 | TXB3 | TXB2 | TXB1 | TXB0 |// 发送数据缓冲寄存器UCSRA| RXC | TXC | UDRE | FE | DOR | PE | U2X | MPCM | // USART 控制和状态寄存器A RXC USART 接收结束标志TXC USART 发送结束标志UDRE USART 数据寄存器空标志FE 帧错误标志DOR 数据溢出标志PE 奇偶校验错误标志U2X 倍速发送MPCM 多处理器通信模式UCSRB | RXCIE | TXCIE | UDRIE | RXEN | TXEN | UCSZ2 | RXB8 | TXB8 |//USART 控制和状态寄存器B RXCIE 接收结束中断使能TXCIE 发送结束中断使能UDRIE USART 数据寄存器空中断使能RXEN 接收使能TXEN 发送使能UCSZ2 字符长度[2]RXB8 接收数据位8TXB8 发送数据位8UCSRC | URSEL | UMSEL | UPM1 | UPM0 | USBS | UCSZ1 | UCSZ0 | UCPOL |//USART控制和状态寄存器CURSEL 寄存器选择0 UBRRH1 UCSRCUMSEL USART 模式选择0 异步模式1 同步模式UPM1 UPM00 0 禁止0 1 保留1 0 偶校验1 1 奇校验USBS 停止位选择0 停止位数为11 停止位数为2UCSZ2 UCSZ1 UCSZ0 字符长度0 0 1 60 1 0 70 1 1 81 0 0 保留1 0 1 保留1 1 0 保留1 1 1 9//UCPOL为时钟极性选择:UCPOL 发送数据的改变(TxD 引脚的输出) 接收数据的采样(RxD 引脚的输入)0 XCK上升沿XCK下降沿1 XCK下降沿XCK上升沿(编者注:一般如果使用的是查询发,中断收,应打开RXCIE,RXEN,TXEN)UBBRH | U2X | ——| ——| ——| Bit11 | Bit10 | Bit9 | Bit8 | //波特率寄存器高4位UBBRL | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | //波特率寄存器第8位使用模式波特率计算公式UBBR值计算公式异步正常模式(U2X=0)Baud = F(osc)/16(UBBR+1) UBBR = F(osc)/16Baud - 1异步倍速模式(U2X=1)Baud = F(osc)/8(UBBR+1) UBBR = F(osc)/8Baud - 1同步主机模式Baud = F(osc)/2(UBBR+1) UBBR = F(osc)/2Baud – 1//***********************// SPI相关寄存器 //******************************//SPCR | SPIE | SPE | DORD | MSTR | CPOL | CPHA | SPR1 | SPR0 | //SPI控制寄存器SPIE 使能SPI中断位SPE 使能SPI位DORD 数据次序0 数据的MSB首先发送1 数据的LSB首先发送MSTR 主从选择0 从机模式1 主机模式CPOL 时钟极性CPOL 起始沿结束沿空闲时的SCK0 上升沿下降沿低电平1 下降沿上升沿高电平CPHA 时钟相位CPHA 起始沿结束沿0 采样设置1 设置采样SPR[1:0] SPI时钟速率选择位SPR2x SPR1 SPR0 SCK频率0 0 0 focs/40 0 1 fosc/160 1 0 fosc/640 1 1 fosc/1281 0 0 fosc/21 1 0 fosc/321 1 1 fosc/64SPSR | SPIF | WCOL | -- | -- | -- | -- | -- | SPI2X | // SPI状态寄存器SPIF SPI中断标志WCOL 写碰撞标志SPI2X SPI倍速位(若为主机SCK可达fosc/2 若为从机则只能保证fosc/4)SPDR | MSB | -- | -- | -- | -- | -- | -- | LSB | //SPI数据寄存器写寄存器将启动数据传输,读寄存器将读取寄存器的接收缓存器//***********************// ADC串口相关寄存器//**************************// ADMUX | REFS1 | REFS0 | ADLAR | MUX4 | MUX3 | MUX2 | MUX1 | MUX0 | //ADC 多工选择寄存器REFS1 REFS0 参考电压选择0 0 AREF 、内部Vref关闭0 1 A Vcc AREF 引脚外加滤波电容1 0 保留1 1 2.56V 片内基准电压源,AREF引脚外加滤波电容ADLAR ADC转换结果左对齐0 转换结果右对齐1 转换结果左对齐(编者注:当对精度要求低时可以采取右对齐,只读低8位即可;否则采取左对齐,通过将数据左移2位+低八位&&0x03即可)MUX[4:0] 单端输入正差分输入负差分输入增益00000 ADC000001 ADC100010 ADC200011 ADC300100 ADC400101 ADC500110 ADC600111 ADC701000 ADC0 ADC0 10x01001 ADC1 ADC0 10x01010 ADC0 ADC0 200x01011 ADC1 ADC0 200x01100 ADC2 ADC2 10x01101 ADC3 ADC2 10x01110 ADC2 ADC2 200x01111 ADC3 ADC2 200x10000 ADC0 ADC1 1x10001 ADC1 ADC1 1x10010 ADC2 ADC1 1x10011 ADC3 ADC1 1x10100 ADC4 ADC1 1x10101 ADC5 ADC1 1x10110 ADC6 ADC1 1x10111 ADC7 ADC1 1x11000 ADC0 ADC2 1x11001 ADC1 ADC2 1x11010 ADC2 ADC2 1x11011 ADC3 ADC2 1x11100 ADC4 ADC2 1x11101 ADC5 ADC2 1x11110 1.22V(VBG)11111 0V(GND)ADCSRA | ADEN | ADSC | ADATE | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 | //ADC控制和状态寄存器A ADEN ADC使能位ADSC ADC开始转换位ADATE ADC自动触发使能位ADIF ADC中断标志位ADIE ADC中断使能位ADPS[2:0] 为ADC预分频选择位ADPS[2:0] 分频因子000 2001 2010 4011 8100 16101 32110 64111 128ADCH | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // ADC数据寄存器高位ADCL | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // ADC数据寄存器低位SFIOR | ADTS2 | ADTS1 | ADTS0 | -- | ACME | PUD | PSR2 | PSR10 | // 特殊功能I/O寄存器ADTS[2:0] 为ADC自动触发源位ADTS[2:0] 触发源000 连续转换模式001 模拟比较器010 外部中断请求0011 定时器/计数器0比较匹配100 定时器/ 计数器1溢出101 定时器/计数器比较匹配B110 定时器/计数器1溢出111 定时器/计数器1捕捉事件//***********************// 模拟比较器相关寄存器//**********************// SFIOR | ADTS2 | ADTS1 | ADTS0 | -- | ACME | PUD | PSR2 | PSR10 | // 特殊功能I/O寄存器ACME 模拟比较器多路复用器使能0 AIN1 连接到比较器的负极输入端1 ADC 多路复用器为模拟比较器选择负极输入ACSR | ACD | ACBG | ACO | ACI | ACIE | ACIC | ACIS1 | ACIS0 | // 模拟比较器控制和状态寄存器ACD 模拟比较器禁用ACD 置位时,模拟比较器的电源被切断ACBG 选择模拟比较器的能隙基准源ACBG 置位后,模拟比较器的正极输入由能隙基准源所取代ACO 模拟比较器输出ACI 模拟比较器中断标志ACIE 模拟比较器中断使能ACIC 模拟比较器输入捕捉使能ACIS[1:0] 模拟比较器中断模式选择ACIS1 ACIS0 中断模式0 0 比较器输出变化即可触发中断0 1 保留1 0 比较器输出的下降沿产生中断1 1 比较器输出的上升沿产生中断模拟比较器复用输入ACME ADEN MUX[2:0] 模拟比较器负极输入0 x xxx AIN11 1 xxx AIN11 0 000 ADC01 0 001 ADC11 0 010 ADC21 0 011 ADC31 0 100 ADC41 0 101 ADC51 0 110 ADC61 0 111 ADC7//***********************// 外部中断相关寄存器//**************************// MCUCR | SM2 | SE | SM1 | SM0 | ISC11 | ISC10 | ISC01 | ISC00 | // MCU控制寄存器ISx1 ISx0 说明0 0 INTx为低电平产生中断请求0 1 INTx上的任意跳变产生中断请求1 0 INTx上的下降沿产生中断请求1 1 INTx上的上升沿产生中断请求MCUCSR | JTD | ISC2 | -- | JTRF | WDRF | BORF | EXTRF | PORF | // MCU控制和状态寄存器ISC2 中断2触发方式控制位0 下降沿触发中断1 上升沿触发中断GICR | INT1 | INT0 | INT2 | -- | -- | -- | IVSEL | IVCE | // 通用中断控制寄存器INT1 使能外部中断请求1INT0 使能外部中断请求0INT2 使能外部中断请求2GIFR | INTF1 | INTF0 | INTF2 | -- | -- | -- | -- | -- | // 通用中断标志寄存器INTF1 外部中断标志1INTF0 外部中断标志0INTF2 外部中断标志2//***********************// Timer0相关寄存器//**************************//TCCR0 | FOC0 | WGM00 | COM01 | COM00 | WGM01 | CS02 | CS01 | CS00 | //T/C0 控制寄存器FOC0 强制输出比较WGM01:0为波形产生模式(编者注:普通模式下,一直加到0xFF,然后从0开始;CTC模式下一直加到OCR0,然后从0开始;快速PWM从零开始加到OCR0再加到0xFF,然后再从0开始;相位修正PWM从0加到OCR0然后加到0XFF然后减计数到OCR0再减到0)WGM01:0 T/C的波形产生模式TOP OCR0更新时间TOV0的置位时刻00 普通0XFF 立即更新MAX01 PWM,相位修正0xFF TOP BOTTOM10 CTC OCR0 立即更新MAX11 快速PWM 0xFF TOP MAXCOM01:0选择T/C0工作模式COM1:0 CTC 快速PWM 相位修正PWM00 ----------------- 正常的端口操作,不与OC0 相连接--------------------------01 比较匹配时OC0 取反保留保留10 比较匹配时OC0 清零比较匹配时OC0清零,计到TOP时OC0置位升序计数匹配清零OC0;降序计数匹配置位OC011 比较匹配发生时OC0 置位比较匹配OC0置位,计到TOP时OC0清零升序计数匹配置位OC0;降序计数匹配清零OC0CS2:0 时钟选择000 无时钟,T/C 不工作001 clk/1 ( 没有预分频)010 clk/8011 clk/64100 clk/256101 clk/1024110 时钟由T0 引脚输入,下降沿触发111 时钟由T0 引脚输入,上升沿触发TCNT0 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // T/C0寄存器OCR0 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // 输出比较寄存器(存储比较值) TIMSK | OCIE2 | TOIE2 | TICIE1 | OCIE1A | OCIE1B | TOIE1 | OCIE0 | TOIE0 | // T/C中断屏蔽寄存器OCIE0 T/C0 输出比较匹配中断使能TOIE0 T/C0 溢出中断使能TIFR | OCF2 | TOV2 | ICF1 | OCF1A | OCF1B | TOV1 | OCF0 | TOV0 | // T/C中断标志寄存器OCF0 输出比较标志0TOV0 T/C0 溢出标志SFIOR | ADTS2 | ADTS1 | ADTS0 | -- | ACME | PUD | PSR2 | PSR10 | // 特殊功能I/O寄存器PSR10 T/C1 与T/C0 预分频器复位//***********************// Timer1相关寄存器//**************************//TCCR1A | COM1A1 | COM1A0 | COM1B1 | COM1B0 | FOC1A | FOC1B | WGM11 | WGM10 |//T/C1 控制寄存器ACOM1A1:0 通道A 的比较输出模式COM1B1:0 通道B 的比较输出模式WGM1 3:0 为波形发生模式WGM1[3:0] T/ C1工作模式TOP OCR1x 更新时刻TOV1 置位时刻0000 普通模式0xFFFF 立即更新MAX0001 8位相位修正PWM 0x00FF TOP BOTTOM0010 9位相位修正PWM 0x01FF TOP BOTTOM0011 10位相位修正PWM 0x03FF TOP BOTTOM0100 CTC OCR1A 立即更新MAX0101 8位快速PWM 0x00FF TOP TOP0110 9位快速PWM 0x01FF TOP TOP0111 10位快速PWM 0x03FF TOP TOP1000 相位与频率修正PWM ICR1 BOTTOM BOTTOM1001 相位与频率修正PWM OCR1A BOTTOM BOTTOM1010 相位修正PWM ICR1 TOP BOTTOM1011 相位修正PWM OCR1A TOP BOTTOM1100 CTC ICR1 立即更新MAX1101 保留–––1110 快速PWM ICR1 TOP TOP1111 快速PWM OCR1A TOP TOP COM1A1:0/COM1B1:0为某一模式下工作方式的选择CTC模式COM1A1:0/COM1B1:0 说明00 普通端口操作,非OC1A/OC1B 功能01 比较匹配时OC1A/OC1B 电平取反10 比较匹配时清零OC1A/OC1B( 输出低电平)11 比较匹配时置位OC1A/OC1B ( 输出高电平)快速PWMCOM1A(B)1:0 说明00 普通端口操作,非OC1A/OC1B 功能01 WGM13:0=15:匹配时OC1A 取反,OC1B不占用物理引脚.WGM13:0为其它值时为普通端口操作,非OC1A/OC1B功能10 比较匹配时清零OC1A/OC1B,OC1A/OC1B在TOP 时置位11 比较匹配时置位OC1A/OC1B,OC1A/OC1B在TOP 时清零相位修正及相频修正PWM 模式COMA(B)1:0 说明00 普通端口操作,非OC1A/OC1B 功能01 WGM13:0=9或14: 比较匹配OC1A取反,OC1B不占用物理引脚.WGM13:0为其它值时为普通端口操作,非OC1A/OC1B功能10 升序记数比较匹配清零OC1A/OC1B,降序记数比较匹配置位OC1A/OC1B11 升序记数比较匹配置位OC1A/OC1B,降序记数比较匹配清零OC1A/OC1BFOC1A 通道A 强制输出比较FOC1B 通道B 强制输出比较FOC1A/FOC1B只有当WGM13:0指定为非PWM模式时被激活TCCR1B | ICNC1 | ICES1 | –| WGM13 | WGM12 | CS12 | CS11 | CS10 | // T/C1 控制寄存器BICNC1 输入捕捉噪声抑制器ICES1 输入捕捉触发沿选择0 下降沿触发1 上升沿触发WGM13:2 波形发生模式见TCCR1A 寄存器中的描述CS12:0 时钟选择000 无时钟源(T/C停止工作)001 clk(无预分频)010 clk/8011 clk/64100 clk/256101 clk/1024110 外部T1 引脚,下降沿驱动111 外部T1 引脚,上升沿驱动TCNT1H | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | // T/C1 技术寄存器TCNT1L | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |OCR1AH | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | // 输出比较寄存器1AOCR1AL | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |OCR1BH | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | // 输出比较寄存器1BOCR1BL | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |ICR1H | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | // 输入捕捉寄存器1ICR1L | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |TIMSK | OCIE2 | TOIE2 | TICIE1 | OCIE1A | OCIE1B | TOIE1 | OCIE0 | TOIE0 | //T/C中断屏蔽寄存器TICIE1 T/C1 输入捕捉中断使能OCIE1A 输出比较A 匹配中断使能OCIE1B T/C1 输出比较B 匹配中断使能TOIE1 T/C1 溢出中断使能TIFR | OCF2 | TOV2 | ICF1 | OCF1A | OCF1B | TOV1 | OCF0 | TOV0 | //T/C中断标志寄存器ICF1 T/C1 输入捕捉标志位OCF1A T/C1 输出比较A 匹配标志位OCF1B T/C1 输出比较B 匹配标志位TOV1 T/C1 溢出标志SFIOR | ADTS2 | ADTS1 | ADTS0 | -- | ACME | PUD | PSR2 | PSR10 | // 特殊功能I/O寄存器PSR10 T/C1 与T/C0 预分频器复位//***********************// Timer2相关寄存器//**************************//TCCR2 | FOC2 | WGM20 | COM21 | COM20 | WGM21 | CS22 | CS21 | CS20 |FOC2 强制输出比较WGM2[1:0] 波形产生模式WGM2[1:0] T/C工作模式TOP OCR2的更新时间TOV2的职位时刻00 普通0xFF 立即更新MAX01 相位修正PWM 0xFF TOP BOTTOM10 CTC OCR2 立即更新MAX11 快速PWM 0xFF TOP MAXCOM2[1:0 ] 比较匹配输出模式CTC模式COM21:0 说明00 正常的端口操作,不与OC0 相连接01 比较匹配发生时OC0 取反10 比较匹配发生时OC0 清零11 比较匹配发生时OC0 置位快速PWM 模式COM21:0 说明00 正常的端口操作,不与OC0 相连接01 保留10 比较匹配发生时OC0 清零,计数到TOP 时OC0 置位11 比较匹配发生时OC0 置位,计数到TOP 时OC0 清零相位修正PWMCOM21:0 说明00 正常的端口操作,不与OC2 相连接01 保留10 在升序计数时发生比较匹配将清零OC2 ;降序计数时发生比较匹配将置位OC211 在升序计数时发生比较匹配将置位OC2 ;降序计数时发生比较匹配将清零OC2CS2 2:0 时钟选择000 无时钟,T/C不工作001 clk(t2s)(无预分频)010 clk(t2s)/8011 clk(t2s)/32100 clk(t2s)/64101 clk(t2s)/128110 clk(t2s)/256111 clk(t2s)/1024TCNT2 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // 定时器/ 计数器寄存器OCR2 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // 输出比较寄存器ASSR | -- | -- | -- | -- | AS2 | TCN2UB | OCR2UB | TCR2UB | // 异步状态寄存器AS2 异步T/C2AS2为"0”时T/C2由I/O时钟clkI/O驱动;AS2为"1”时T/C2由连接到TOSC1引脚的晶体振荡器驱动TCN2UB T/C2 更新中OCR2UB 输出比较寄存器2 更新中TCR2UB T/C2 控制寄存器更新中TIMSK | OCIE2 | TOIE2 | TICIE1 | OCIE1A | OCIE1B | TOIE1 | OCIE0 | TOIE0 | //T/C2中断屏蔽寄存器OCIE2 T/C2 输出比较匹配中断使能TOIE2 T/C2 溢出中断使能TIFR | OCF2 | TOV2 | ICF1 | OCF1A | OCF1B | TOV1 | OCF0 | TOV0 | //T/C2中断标志寄存器OCF2 输出比较标志2TOV2 T/C2 溢出标志SFIOR | ADTS2 | ADTS1 | ADTS0 | -- | ACME | PUD | PSR2 | PSR1 | // 特殊功能IO寄存器PSR2 预分频复位T/C2//***********************// EEPROM相关寄存器//**************************// EEARH | ----- | ----- | ----- | ----- | ----- | ----- | ----- | EEAR8 | // EEPROM 地址寄存器EEARL | EEAR7 | EEAR6 | EEAR5 | EEAR4 | EEAR3 | EEAR2 | EEAR1 | EEAR0 |EEDR | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | // EEPROM数据寄存器EECR | -- | -- | -- | -- | EERIE | EEMWE | EEWE | EERE | // EEPROM 控制寄存器EERIE 使能EEPROM 准备好中断EEMWE EEPROM 主机写使能EEWE EEPROM 写使能EERE EEPROM 读使能//***********************// TWI相关寄存器//******************************// TWBR | TWBR7 | TWBR6 | TWBR5 | TWBR4 | TWBR3 | TWBR2 | TWBR1 | TWBR0 |// TWI比特率寄存器TWCR | TWINT | TWEA | TWSTA | TWSTO | TWWC | TWEN | ---- | TWIE |// TWI控制寄存器TWINT TWI中断标志TWEA 使能TWI应答TWSTA TWI START状态标志TWSTO TWI STOP状态标志TWWC TWI写碰撞标志TWEN TWI使能TWIE 使能TWI中断TWSR | TWS7 | TWS6 | TWS5 | TWS4 | TWS3 | –| TWPS1 | TWPS0 | // TWI状态寄存器TWS7:3 TWI状态TWPS:0 TWI 预分频位00 101 410 1611 64TWDR | TWD7 | TWD6 | TWD5 | TWD4 | TWD3 | TWD2 | TWD1 | TWD0 |// TWI 数据寄存器TWAR | TWA6 | TWA5 | TWA4 | TWA3 | TWA2 | TWA1 | TWA0 | TWGCE |// TWI 从机地址寄存器TWA6:0 TWI 从机地址寄存器TWGCE 使能TWI广播识别//***************************************************************************************//。
ATmega16单片机中文技术资料
ATmega16单片机中文技术资料一、概述ATmega16是一款高性能、低功耗的8位微控制器,由Atmel公司推出。
它基于AVR增强型RISC结构,拥有丰富的外设资源和灵活的编程特性,广泛应用于工业控制、消费电子、通信设备等领域。
二、主要特性1. 内核:AVR增强型RISC结构,最高工作频率为16MHz。
2. 存储:16KB的程序存储器(Flash)、512B的EEPROM和1KB 的SRAM。
3. 外设接口:32个通用I/O口、8个通道的10位ADC、2个8位定时器/计数器、1个16位定时器/计数器、1个串行通信接口(USART)、1个串行外设接口(SPI)和1个两线接口(TWI)。
4. 工作电压:2.7V至5.5V,支持低功耗模式。
5. 封装:采用TQFP和PDIP封装,便于嵌入式系统设计。
三、引脚功能1. VCC:电源正极,接2.7V至5.5V电压。
2. GND:电源负极,接地。
3. PA0PA7:端口A,具有通用I/O、模拟输入和外围设备功能。
4. PB0PB7:端口B,具有通用I/O、JTAG接口和外围设备功能。
5. PC0PC7:端口C,具有通用I/O、模拟输入和外围设备功能。
6. PD0PD7:端口D,具有通用I/O和外围设备功能。
7. XTAL1/XTAL2:晶振输入/输出,用于外部晶振或陶瓷谐振器。
8. AVCC:模拟电源,为ADC和模拟电路提供电源。
10.RESET:复位输入,低电平有效。
四、编程与开发1. 编程语言:支持C语言和汇编语言编程。
2. 开发工具:可使用Atmel Studio、AVR Studio等集成开发环境进行程序编写、编译和调试。
3. 烧录方式:通过ISP、JTAG、HVPP等接口进行程序烧录。
本文档旨在为您提供ATmega16单片机的中文技术资料,帮助您更好地了解这款微控制器,为您的项目开发提供支持。
后续内容将详细介绍ATmega16的外设功能、编程方法及应用实例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Atmage 8 状态寄存器:SERG (P17)I:全局中断允许位T:位复制存储H:半进位标志位S:符号标志位V:2的补码溢出标志位N:负数标志位Z:0值标志位C:进位标志位SRAM:数据存储区Atmage 8 中断控制寄存器:GICR (P49)IVCE:中断向量表移位允许位IVSEL:中断向量表选择Atmage 8 I/O端口及寄存器I/O 方向寄存器:DDRx (可读写寄存器)I/O 数据寄存器:PORTx (可读写寄存器)I/O 输入引脚寄存器:PINx (只读寄存器)读PINxn 来获取当前引脚电平值Atmage 8 I/O特殊功能寄存器:SFIOR (P54)PUD:上拉电阻禁止位PSR2:T/C2预定比例分频器复位(写1复位,自动清零)ACME:模拟比较器多路使能ADHSM:ADC高速模式Atmage 8 8位T/C0控制寄存器寄存器:TCCR0 (P67)Atmage 8 8位T/C0计数寄存器寄存器:TCNT0 (P67)TCNT0是T/C0的计数值寄存器,可以直接被读写访问16位定时计数器C/T1 同样为TCNT1 (TCNT1H TCNT1L)TCNT2是T/C2 计数值寄存器Atmage 8定时计数器中断屏蔽寄存器:TIMSK (P67)TOIE0:T/C0 溢出中断允许位TICIE1:T/C1 输入捕获中断允许标志位OCIE1A:T/C1 输出比较A匹配中断允许标志位OCIE1B:T/C1 输出比较B匹配中断允许标志位TOIE1:T/C1 溢出中断允许位OCIE2:T/C2输出比较匹配中断允许标志位TOIE2:T/C2溢出中断允许位Atmage 8定时计数器中断标志寄存器:TIFR (P68)TOV0:T/C0 溢出中断标志位(硬件自动清零)ICF1:T/C1 输入捕获中断标志位(硬件自动清零)OCF1A:T/C1 输出比较A匹配中断标志位(TCNT1=OCR1A时)(硬件自动清零)OCF1B:T/C1 输出比较B匹配中断标志位(TCNT1=OCR1B时)(硬件自动清零)OCF2:T/C2输出比较匹配中断标志位(硬件自动清零)TOV2:T/C2溢出中断标志位(硬件自动清零)Atmage 8 16位定时计数器C/T1寄存器(P68)C/T1 时钟源可来自芯片内部也可来自外部引脚T1输入捕获单元:T/C1 的输入捕获单元用于捕获一个外部事件的发生以及世间发生的时间印记(Time-stamp)外部事件发生的触发信号由TCP1 输入,此外,模拟比较器的ACO 单元的输出信号也可作为外部事件捕获的触发信号输出比较寄存器:OCR1AH和OCR1AL OCR1BH和OCR1BL比较匹配输出单元标志位:COM1A COM1BT/C1 计数寄存器:TCNT1L TCNT1H输入捕获寄存器:ICR1H ICR1L组成16位输入捕获寄存器ICR1。
在PWM方式下,ICR1 的设定值将作为计数器计数上限TOP值输出比较寄存器OCR比较输出发生时清楚计数器和比较输出引脚动作Atmage 8 C/T1控制寄存器A:TCCR1A (P76)COM1A【1:0】:比较A输出模式COM1B【1:0】:比较A输出模式FOC1A:强制输出比较AFOC1B:强制输出比较BAtmage 8 C/T1控制寄存器B:TCCR1A (P77)ICNC1:输入捕获噪声抑制允许位ICES1:输入捕获触发方式选择(0下降沿触发,1上升沿触发)WGM1:波形发生模式【3:2】CS1:C/T1时钟源选择当选择外部时钟时无论T1引脚是否定义为输出模式都将驱动C/T1计数T/C2 应用:(P94)比较匹配清零计数器CTC模式(比较值一样清零计数值)两种脉宽调制PWM模式快速PWM模式Atmage 8 8位定时计数器C/T2 (P87)波形发生器的输出OC2比较输出引脚OC2Atmage 8 T/C2控制寄存器:TCCR2 (P93)FOC2 :强制输出比较WGM2【1:0】:波形发生模式COM2【1:0】:比较匹配输出模式CS2【2:0】:T/C2 时钟源选择Atmage 8 T/C2异步操作寄存器:ASSR (P99)AS2:异步T/C2 设定位(0 同步方式,1 异步方式)(0 T/C2使用系统I/O时钟,1 使用连接在TOSC1引脚上的晶振作为时钟源TCN2UB:TCN2UB更新忙OCR2UB:OCR更新忙TCR2UB:TCCR2更新忙SPI控制寄存器SPCRSPIE:SPI中断允许SPE:开始允许SPI工作DORD:SPI数据发送接收的顺序。
1发送接收时LSB低位在前,0时发送接收时MSB高位在前MSTR:从主机选择。
0从机模式,1主机模式SPR1:SPR0:SPI时钟速率选择位,控制主机模式下的SPI的速率,即SCK的时钟速率,对从机没有影响CPOL:SCK时钟极性选择(1 SCK在闲置时为高电平,0 SCK闲置时为低电平)CPHA :SCK时钟相位选择(设定了串行数据的采样是在时钟前沿还是后沿)SPR1,SPR0:时钟速率选择SPI数据寄存器SPDRMOSI,MISO,SCK,SS 引脚SPI状态寄存器SPSRSPIF:SPI中断标志位,当数据传送完成时SPIF将被置位WCOL:写冲突标志位,如果SPI在传送中SPI数据寄存器被写入,则置1USART 全双工的通用异步收发器(P117)USART收发分为三大部分:时钟发生器,数据发送器,接收器USART可设置8位或9位数据具有帧错误检测和噪声滤波功能USART有3个独立的中断源:发送结束、发送数据寄存器空和接收结束标志发送为低位在前高位在后USART波特率寄存器UBRRUSART数据寄存器UDRUDR(USART数据寄存器):USART中用于发送和接收的物理上两个分离的地址USART控制状态寄存器UCSRAUCSRA(USART状态寄存器):USART工作时收发状态和异常信息RXC接收结束标志TXC发送结束标志UDRE:USART数据寄存器空FE:接收帧出错DOR:接收数据溢出出错PE:校验错误U2X:USART 传输速率倍速MPCM:多级通讯模式允许USART控制状态寄存器UCSRB (P126)RXCIE:RX接收完成中断允许TXCIE:TX发送完成中断允许UDRIE:USART数据寄存器空中断允许RXEN:数据接收允许(I/O口是否定义为USART)TXEN:数据发送允许(I/O口是否定义为USART)UCSZ2:数据位数大小RXB8:数据接收第八位TXB8:数据发送第八位USART控制状态寄存器UCSRC (P126)URSEL:寄存器选择UMSEL:USART工作模式选择(0 异步,1 同步)UPM【1:0】:校验方式USBS:停止位选择USZ【1:0】:传送或接收字符长度UCPOL:时钟极性Atmage 8 波特率寄存器:UBRRL和UBRRH (127)URSEL:寄存器选择位14-12:保留位UBRR 11-0:波特率设置寄存器Atmage 8 TWI 总线协议即I2C P(131)Atmage 8 TWI 波特率寄存器:TWBR P(134)Atmage 8 TWI 控制寄存器:TWCR P(134)TWINT:TWI中断标志位软件清零TWEA:TWI应答(ACK)允许TWSTA:TWI起始Start信号状态位TWSTO:TWI终止Stop信号状态位TWWC:TWI写冲突标志位TWEN:TWI允许位(I/O口PC4,PC5转换成SCA,SDL)TWIE:TWI中断使能Atmage 8 TWI 状态寄存器:TWSR P(134)TWS:TWI状态TWPS0:TWI预分频器位Atmage 8 TWI 数据寄存器:TWDR P(136)Atmage 8 TWI 地址寄存器:TWAR P(136)Atmage 8 模拟比较器控制和状态寄存器:ACSR P(148)ACD:模拟比较器禁止ACBG:模拟比较器的间隙参考源选择ACO:模拟比较器输出ACI:模拟比较器的中断标志ACIE:模拟比较器中断允许ACIC:模拟比较器输入捕获允许ACIS1,ACIS0:模拟比较器中断模式选择Atmage 8 模数转换功能ADC P(150)引脚输入PC口只有将ADCH中的数据读取后下次转换的结果才不丢失Atmage 8 模数转换功能ADC 有关的I/O寄存器:ADMUX(P158)RESF1,RESF0:ADC参考电源选择ADLAR:ADC结果左对齐选择MUX3,MUX2,MUX1,MUX0模拟通道选择Atmage 8 ADC控制和状态寄存器ADCSRA (P159)ADEN:ADC使能ADSC:ADC开始转换ADFR:ADC连续转换模式选择ADIF:ADC中断标志位ADIE:ADC中断允许ADPS1,ADPS0:ADC预分频选择Atmage 8 ADC数据寄存器ADCL和ADCH (P160)只有当ADCH被读取后才能继续对ADCH和ADCL进行更新ADLAR=0,右对齐ADLAR=1,左对齐ADHSM:ADC高速模式EEPROM地址寄存器EEAREEAR【8-0】:EEPROM地址EEPROM数据寄存器EEDREEPROM控制寄存器EECREERIE:EEPROM 准备好中断允许EEMWE:决定设置EEWE为1时是否导致EEPROM被写入EEWE:EEPROM写允许。
EERE:EEPROM读允许。