avr ATmega16寄存器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Atmega16寄存器Atmega16寄存器一.引脚说明表1引脚说明引脚序号引脚名称引脚功能1PB58位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。MOSISPI总线的主机输出/从机输入信号2PB68位双向I/O口MISOSPI总线的主机输入/从机输出信号3PB78位双向I/O口SCKSPI总线的串行时钟4RESET复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。5VCC数字电路的电源6GND地7XTAL2反向振荡放大器的输出端8XTAL1反向振荡放大器与片内时钟操作电路的输入端9PD08位双向I/O口RXDUSART输入引脚10PD18位双向I/O口TXDUSART输出引脚11PD28位双向I/O口INT0外部中断0的输入12PD38位双向I/O口INT1外部中断1的输入~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器13PD48位双向I/O口OC1BT/C1输出比较B匹配输出14PD58位双向I/O口OC1AT/C1输出比较A匹配输出15PD68位双向I/O口ICP1T/C1输入捕捉引脚16PD78位双向I/O口OC2T/C2输出比较匹配输出17VCC数字电路的电源18GND地19PC08位双向I/O口SCL两线串行总线时钟线20PC18位双向I/O口SDA两线串行总线数据输入/输出线21PC28位双向I/O口TCKJTAG测试时钟22PC38位双向I/O口TMSJTAG测试模式选择23PC48位双向I/O口TDOJTAG测试数据输出24PC58位双向I/O口TDIJTAG测试数据输入25PC68位双向I/O口TOSC1定时振荡器引脚126PC78位双向I/O口TOSC2定时振荡器引脚227AVCC端口A与A/D转换器的电源。。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器28AGNDA/D的模拟地29AREFA/D的模拟基准输入引脚30PA78位双向I/O口ADC7ADC输入通道731PA68位双向I/O口ADC6ADC输入通道632PA58位双向I/O口ADC5ADC输入通道533PA48位双向I/O口ADC4ADC输入通道434PA38位双向I/O口ADC3ADC输入通道335PA28位双向I/O口ADC2ADC输入通道236PA18位双向I/O口ADC1ADC输入通道137PA08位双向I/O口ADC0ADC输入通道038VCC数字电路的电源39GND地40PB08位双向I/O口T0T/C0外部计数器输入XCKUSART外部时钟输入/输出41PB18位双向I/O口T1T/C1外部计数器输入42PB28位双向I/O口AIN0模拟比较正输入INT2外部中断2输入43PB38位双向I/O口~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器AIN1模拟比较负输入OC0T/C0输出比较匹配输出44SSSPI从机选择引脚二.I/O端口Atmega16单片机有32个通用I/O口,有PA~PD四组,每组都是8位。其主要的寄存器有DDRXn(X=A,B,C,D;n=0,2,„,7,下同),PORTXn和PINXn。I/O组合设置见表1。表1I/O组合设置DDRXnPORTXnI/O上拉电阻说明00输入否I/O三态输入01输入是I/O口带上拉电阻输入10输出否推免0输出11输出否推免1输出1.PA口寄存器(1)DDRABit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0DDRA7DDRA6DDRA5DDRA4DDRA3DDRA2DDRA1DDRA0(2)PORTABit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PORTA7PORTA6PORTA5PORTA4PORTA3PORTA2PORTA1PORTA0(3)PINABit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PINA7PINA6PINA5PINA4PINA3PINA2PINA1PINA02.PB口寄存器(1)DDRBBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0DDRB7DDRB6DDRB5DDRB4DDRB3DDRB2DDRB1DDRB0(2)PORTBBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~4☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器PORTB7PORTB6PORTB5PORTB4PORTB3PORTB2PORTB1PORTB0(3)PINBBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PINB7PINB6PINB5PINB4PINB3PINB2PINB1PINB03.PC口寄存器(1)DDRCBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0DDRC7DDRC6DDRC5DDRC4DDRC3DDRC2DDRC1DDRC0(2)PORTCBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PORTC7PORTC6PORTC5PORTC4PORTC3PORTC2PORTC1PORTC0(3)PINCBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PINC7PINC6PINC5PINC4PINC3PINC2PINC1PINC04.PD口寄存器(1)DDRDBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0DDRD7DDRD6DDRD5DDRD4DDRD3DDRD2DDRD1DDRD0(2)PORTDBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PORTD7PORTD6PORTD5PORTD4PORTD3PORTD2PORTD1PORTD0(3)PINDBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0PIND7PIND6PIND5PIND4PIND3PIND2PIND1PIND0DDRX是方向寄存器,可读可写。在写操作时用于制定PX口是作为输入口还是输出口;在读操作时,从DDRX寄存器读出来的是端口的方向设定值。DDRX寄存器的初始值为0x00。PORTX是数据寄存器,可读写。在写操作时,从PORTX写入的数据存入内部锁存器,以确定端口的工作状态或者将写入的数据送到外部数据总线。PORTX寄存器的初始值为0x00。PINX用来访问端口X的逻辑值,且只允许读操作。从PINX读入的数据只是X口引脚的逻辑~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~5☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器状态。其初始值为高阻态。三.中断寄存器中断是指微处理器在程序执行期间响应外部的事务请求,暂停当前的处理器工作转而处理外部事件,外部事件处理完成之后返回原来工作暂停的地方继续执行程序。Atmega16具有21个中断源,每个中断源都有独立的中断向量作为中断服务程序的入口地址,而且所有的中断源都有自己独立的使能位。如果中断位I和中断向量使能位都置位,则中断发生,中断标志位置位,并执行中断服务程序。中断向量表见表2,处于越低地址的中断具有更高优先级。表2中断向量表向量号程序地址中断源描述10x00RESET外部引脚电平引发的复位,上电复位,掉电检测复位,看门狗复位,以及JTAGAVR复位20x02INT0外部中断请求030x04INT1外部中断请求140x06TIMER2COMP定时器/计数器2比较匹配50x08TIMER2OVF定时器/计数器2溢出60x0aTIMER1CAPT定时器/计数器1事件捕捉70x0cTIMER1COMPA定时器/计数器1比较匹配A80x0eTIMER1COMPB定时器/计数器1比较匹配B90x10TIMER1OVF定时器/计数器1溢出100x12TIMER0OVF定时器/计数器0溢出110x14SPI,STCSPI串行传输结束120x16USART,RXCUSART,Rx结束130x18USART,UDREUSART数据寄存器空140x1aUSART,TXCUSART,Tx结束150x1cADCADC转换结束160x1eEE_RDYEEPROM就绪170x20ANA_COMP模拟比较器180x22TWI两线串行接口190x24INT2外部中断请求2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~6☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器200x26TIMER0COMP定时器/计数器0比较匹配210x28SPM_RDY保存程序存储器内容就绪1.状态寄存器SREGbit7bit6bit5bit4bit3bit2bit1bit0ITHSVNZCI:全局中断使能位。在I置位后,单独的中断使能由不同的中断寄存器控制。若I为0,则禁止中断。2.MCU控制寄存器MCUCRbit7bit6bit5bit4bit3bit2bit1bit0SM2SESM1SM0ISC11ISC10ISC01ISC00SE:MCU休眠使能位SM1~SM0:MCU休眠模式选择SM2SM1SM0休眠模式000空闲001ADC噪声抑制模式010掉电模式011省电模式100保留101保留110Standby(1)模式111扩展Standby(1)模式ISC11~ISC10:外部中断1的中断检测方式ISC11ISC10INT1中断00低电平中断01INT1引脚上任意的逻辑电平变化都将引发中断10下降沿中断11上升沿中断~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~7☆萧联珠☆☆azhu_uestc@163.comAtmega16寄存器ISC01~ISC00:外部中断0的中断检测方式ISC01ISC00INT0中断00低电平中断01INT1引脚上任意的逻辑电平变化都将引发中断10下降沿中断11上升沿中断3.通用中断屏蔽寄存器GICRbit7bit6bit5bit4bit3bit2bit1bit0INT1INT0INT2---IVSELIVCEINT1:使能外部中断请求1INT0:使能外部中断请求0INT2:使能外部中断请求24.通用中断标志寄存器GIFRbit7bit6bit5bit4bit3bit2bit1bit0INTF1INTF0INTF2---IVSELIVCEINTF1:外部中断标志INT1引脚电平发生跳变时触发中断请求,并置位相应的中断标志INTF1。如果SREG的位I以及GICR寄存器相应的中断使能位INT1为”1”,MCU即跳转到相应的中断向量。进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入”1”来清零。INTF0:外部中断标志INT0引脚电平发生跳变时触发中断请求,并置位相应的中断标志INTF0。如果SREG的位I以及GICR寄存器相应的中断使能位INT0为”1”,MCU即跳转到相应的中断向量。进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入”1”来清零。INTF2:外部中断标志INT2引脚电平发生跳变时触发中断请求,并置位相应的中断标志INTF1。如果SREG的位I以及GICR寄存器相应的中断使能位INT2为”1”,MCU即跳转到相应的中断向量。进入中断服务程序之后该标志自动清零。此外,标志位也可以通过写入”1”来清零。~~~~~~~~~~~~~~~~~~~~~~~~~~

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功