- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]AVR单片机的基本结构
AVR系列单片机所有I/O口及外围接口的功能和配置均通过I/O寄存器的进行设置和使用。CPU访问I/O寄存器用两种不同的方法, 1.对I/O寄存器访问的IN、OUT专用指令 2.用对SRAM访问的指令。 7. 状态寄存器和堆栈指针寄存器 1.状态寄存器—SREG 2.堆栈指针寄存器—SP 通常初始化时将SP的指针设在SRAM最高处 三. ATmega128单片机的工作状态 AVR单片机的工作状态通常包括: 复位状态 正常程序执行工作状态 休眠节电工作状态 程序运行代码下载的编程 熔丝位的配置。 1. AVR单片机最小系统 采用了在ATmega16引脚XTAL1和XTAL2上外接由石英晶体和电容组成的谐振回路,并配合片内的OSC(Oscillator)振荡电路构成的振荡源作为系统时钟源的 简单的电路是直接使用片内的4M的RC振荡源,这样就可以将C1、C2、R2和4M晶体省掉,引脚XTAL1和XTAL2悬空,(精准度、温度变化的影响)。 * 一 . AVR单片机的基本结构 介绍单片机的基本结构和组成,使大家对单片机芯片的内部硬件有基本了解和认识。掌握了单片机的基本结构和组成,对学习、了解任何一种类型单片机的工作原理,编写单片机的系统软件以及和设计外围电路都是非常重要的。 以ATmega128为主线,介绍和讲述AVR单片机内核的基本结构、引脚功能、工作方式等。 单片机的基本组成结构 集成了构成一个计算机系统的最基本的单元 操作管理寄存器功能是管理、协调、控制和操作单片机芯片中的各功能单元的使用和运行。(状态寄存器、控制寄存器、方式寄存器、数据寄存器) 二. ATmega128单片机的组成 AVR单片机是一种基于增强RISC结构的、低功耗、CMOS技术、8位微控制器(Enhanced RISC Microcontroller),目前有Tiny、Mega两个系列50多种型号。它们的功能和外部的引脚各有不同,小到8-12个引脚,多到100个引脚,但它们内核的基本结构是一样的,指令系统相容。 ATmega128 MCU 内核 外部引脚与封装 64脚方形的TQFP形式(贴片形式)。 2. ATmega128内部结构 1.AVR CPU部分 ALU运算逻辑单元、32个8位快速访问通用寄存器组(寄存器文件)、程序计数器PC、指令寄存器、指令译码器。 2.程序存储器Flash128K 3.数据存储器RAM(4K)和EEPROM(4K)。 4.各种功能的外围接口、I/O,以及与它们相关的数据、控制、状态寄存器等。 为ATmega128提供系统时钟源时,有三种主要的选择: (1)直接使用片内的1/2/4/8M的RC振荡源; (2)在引脚XTAL1和XTAL2上外接由石英晶体和电容组成的谐振回路,配合片内的OSC(Oscillator)振荡电路构成的振荡源; (3)直接使用外部的时钟源输出的脉冲信号 3. ATmega128 主时钟系统 ATmega128 主时钟系统有多种不同模块的时钟信号。 clkCPU clkI/O clkFLASH clkASY clkADC CPU 时钟clkCPU CPU时钟与操作AVR内核的子系统相连,如通用工作寄存器文件、状态寄存器以及保存堆栈指针的数据存储器。终止CPU 时钟将使内核停止工作和计算。 I/O 时钟clkI/O I/O时钟用于主要的I/O 模块,如定时器/ 计数器、SPI 和USART。I/O 时钟还用于外部中断模块。但是有些外部中断由异步逻辑检测,因此即使I/O 时钟停止了这些中断仍然可以得到监控。此外,TWI 模块的地址识别功能在没有clkI/O 的情况下也是异步实现的,使得这个功能在任何睡眠模式下都可以正常工作。 Flash 时钟 clkFLASH Flash 时钟控制Flash 接口的操作。此时钟通常与CPU 时钟是同步的。 异步定时器时钟 clkASY 异步定时器时钟允许异步定时器/ 计数器直接由外部32 kHz 时钟晶体驱动,使得此定时器/ 计数器即使在睡眠模式下仍然可以为系统提供一个实时时钟。 ADC 时钟 clkADC ADC具有专门的时钟。这样可以在ADC工作的时候停止CPU和I/O时钟以降低数字电路产生的噪声,从而提高ADC 转换精度。 时钟源 128有如下几种通过熔丝位选择的时钟源。时钟输入到AVR 时钟发生器,并通往其他合适模块。 默认时钟源 器件出厂时CKSEL = “0001”, SUT = “10”。该默认时钟源为最长启动时间的内部RC 振荡器。该默认设置保证所有的用户通过
文档评论(0)