1. ATmega16的优点
相对于其他芯片,ATmega16中具有 16K字节的系统内可编程Flash(具有同时读写的能力),462字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。
另外片内ISP Flash 允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。
正是基于ATmega16以上众多优点我选择了该芯片,而且它价格合理,功能强大,极其符合我们设计中低档智能启动器的设计理念。
2.计算机毕业设计引脚的配置
图3-1.ATmega16的引脚
如图3-1所示,端口A(PA0-PA7)做为A/D转换器的模拟输入端,亦可作为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A也处于高阻状态。
端口B(PA0-PA7)、端口C(PA0-PA7)和端口D(PA0-PA7)与A口类似,不同之处在于它们的第二功能。
RESET——复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。
AVCC——端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。
XTAL1——反向振荡放大器与片内时钟操作电路的输入端。
XTAL2——反向振荡放大器的输出端。
AREF ——A/D的模拟基准输入引脚。
VCC ——数字电路的电源。
GND ——地。
3.ATmega16的内部资源
(1)AVR CPU 内核
AVR CPU 的主要任务是保证程序的正确执行,它能够访问存储器、执行运算、控制外设以及处理中断。它包含了ALU- 算术逻辑单元、状态寄存器、通用寄存器(X、Y、Z)、堆栈指针、指针执行时序、复位与中断处理等。
(2)计算机毕业设计AVR ATmega16的存储器
AVR有两个主要的存储器空间:数据存储器空间和程序存储器空间。此外,ATmega16 还有EEPROM存储器用来保存数据。这三个存储器空间都为线性的平面结构。另外16K字节的在线编程Flash,用于存放程序指令代码。
(3)系统时钟
AVR ATmega16 的系统时钟有CPU时钟、I/O时钟、异步定时器时钟和ADC时钟。时钟源分为两种:外部时钟和内部时钟。该课题所选择的是外部时钟(外部晶体振荡器)。XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,如图3-2所示。熔丝位CKOPT用来选择放大器模式,当CKOPT被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,而且这种模式的频率范围比较宽。当保持CKOPT为未编程状态时,振荡器的输出信号幅度比较小。大大降低了功耗,但是频率范围比较窄,不能驱动其他时钟缓冲器。