ATmega8是AVR系列(由Atmel公司于1996年开发)的8位CMOS微控制器,基于RSIC(精简指令集计算机)架构,它的基本优点是它不包含任何累加器,并且任何 *** 作的结果都可以存储在指令定义的任何寄存器中。
ATmega8 AVR微控制器的应用也是非常的广泛,而且现在仍然被用来当做学习和研究高级微处理的基础。ATmega8框图如下图所示:
内存:
它由8KB的闪存、1KB的SRAM和512字节的 EEPROM 组成。8K Flash分为两部分——下部分用作引导闪存部分,上部用作应用闪存部分。SRAM包含1K字节以及1120字节的通用寄存器和I/O寄存器。低32个地址位置用于32个通用8位寄存器,接下来的64个地址用于I/O寄存器。另外,所有寄存器都直接连接到ALU,EEPROM用于存储用户定义的数据。
输入/输出端口
ATmega8由23个I/O线和3个I/O端口组成,分别命名为B、C和D。端口B由8个I/O线组成,端口C由7个I/O线组成,端口D由8个I/O组成线。
对应于任何端口X(B,C或D)的寄存器是:
DDRX : 端口X数据方向寄存器。
PORTX : 端口X数据寄存器。
PINX : 端口X输入寄存器。
定时器和计数器
ATmega8由3个具有可比模式的定时器组成,其中两个是8位,而第三个是16位。
振荡器
ATmega8包含内部复位和振荡器,可以消除对任何外部输入的需求。内部RC振荡器能够产生内部时钟,该时钟可以按照编程在1MHz、2MHz、4MHz或8MHz的任何频率下运行。另外,它还支持最大频率为16MHz的外部振荡器。
通信
ATmega8通过USART(Universal Synchronous和Asynchronous Receiver Transmitter)提供同步和异步数据传输方案,即与调制解调器和其他串行设备进行通信。它还支持基于主从方式的设备间通信的SPI(串行外设接口),支持的另一种通信类型是 TWI(双线接口),并且允许通过使用2根电线和一个公共接地连接在任何两个设备之间进行换向。
ATmega8还具有集成在芯片中的比较器模块,用于在通过外部芯片连接到模拟比较器的两个输入端的两个电压之间进行比较。
它还包含一个6通道ADC,其中4个具有10位精度,2个具有8位精度。
状态寄存器:
ATmega8包含有关当前执行的算术指令集的信息。
引脚配置图
ATmega8显著特点之一是除了5个引脚外,所有其他引脚都支持两个信号。
引脚23、24、25、26、27、28和1用于端口C,而引脚9、10、14、15、16、17、18、19用于端口B、引脚2、3、4, 5、6、11、12用于端口D。
引脚1也是复位引脚,如果施加的低电平信号持续时间超过最小脉冲长度,则会产生复位。
引脚2和3也用于USART的串行通信。
引脚4和5用作外部中断,其中一个在状态寄存器的中断标志位置位时触发,另一个在中断条件成立时触发。
引脚9和10用作外部振荡器以及定时器计数器振荡器,其中晶体直接连接在引脚之间。10脚用于晶振或低频晶振,如果内部校准的RC振荡器用作时钟源并且异步定时器使能,则这些引脚可用作定时器振荡器引脚。
引脚19用作主时钟输出,SPI通道的从时钟输入。
引脚18用作主时钟输入,从时钟输出。
引脚17用作主数据输出,SPI通道的从数据输入。它在由从机启用时用作输入,在由主机启用时是双向的。该引脚也可用作输出比较匹配输出,用作定时器/计数器比较匹配的外部输出。
引脚16用作从机选择输入,通过将PB2引脚配置为输出,它也可以用作定时器/计数器1比较匹配。
引脚15可用作定时器/计数器比较匹配A的外部输出。
引脚23至28用于ADC通道。引脚27也可用作串行接口时钟,引脚28可用作串行接口数据。
引脚13和12用作模拟比较器输入。
引脚11和6用作定时器/计数器源。
睡眠模式
ATmega8微控制器以6种睡眠模式运行,分别是:
空闲模式:它停止CPU的运行,但允许SPI、USART、ADC、TWI、定时器/计数器和看门狗运行并中断系统。它是通过将MCU寄存器标志的SM0到 SM2位设置为零来实现的。
ADC降噪模式:它会停止CPU,但允许ADC、外部中断、定时器/计数器2和看门狗运行。
掉电模式:它启用外部中断、2线串行接口、看门狗,同时禁用外部振荡器,并且停止所有生成的时钟。
省电模式:当定时器/计数器异步计时时使用,它停止除clkASY之外的所有时钟。
待机模式:在此模式下,允许振荡器工作,停止所有其他 *** 作。
主要应用
下图是使用ATmega8微控制器的闪烁LED。该程序使用C语言编写,首先编译为.c 文件。ATMEL软件工具会将此文件转换为二进制ELF目标文件,然后再次将其转换为十六进制文件,最后使用AVR dude程序将十六进制文件传递给微控制器进行处理。
总结
ATmega8微控制器采用Atmes高密度非易失性存储器技术制造,闪存程序存储器可以通过SPI串行接口、传统的非volatle存储器编程器或在虚拟现实内核上运行的片上引导程序在系统中重新编程。引导程序可以使用任何接口将应用程序下载到应用程序闪存中。当应用程序闪存部分更新时,引导闪存部分中的软件将继续运行,通过将8位RISC CPU与单片芯片上的系统内自编程闪存相结合,证明了真正的边读边写 *** 作。
AtmelAtmega8是一款功能强大的微控制器,为许多嵌入式控制应用程序提供了高度灵活且经济高效的解决方案。Atmega8 AVR支持全套程序和系统开发工具,包括C编译器、宏汇编程序、程序deb模拟器、电路内仿真器和评估套件等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)