第2章_ATmega128硬件结构

合集下载

ATmega128_专用寄存器查询表

ATmega128_专用寄存器查询表

ATmega128 专用寄存器查询表一、I/O口寄存器1、数据方向控制寄存器数据方向控制寄存器总共有DDRA、DDRB、DDRC、DDRD、DDRE、DDRF、DDRG等7个说明:对应的位置1,定义为输出,对应的位置0,定义为输入2、输出数据寄存器数据寄存器总共有PORTA、PORTB、PORTC、PORTD、PORTE、PORTF、PORTG 等7个。

PORTx说明:对应的位置1,输出为1,对应的位置0,为输出为0。

3、输入数据寄存器数据寄存器总共有PINA、PINB、PINC、PIND、PINE、PINF、PING等7个。

说明:如果对应位为1,对应引脚输入高电平,如果对应位为0,对应引脚输入低电平。

二、定时器\计数器寄存器1、特殊功能寄存器说明:Bit 7、T\C同步模式Bit 1 T/C0预分频器复位Bit 0 T/C1 T/C1 T/C2预分频器复位2、T/C0控制寄存器Bit6、Bit3工作模式Bit 5, Bit4 比较输出模式非PWM输出模式快速PWM模式时相位修正PWM模式时Bit 2 、Bit 1 、Bit0 时钟选择T/C0的计数寄存器输出比较寄存器T/C中断屏蔽寄存器T/C中断标志寄存器2、定时/计数器2(大多定时/计数器1大多一样,注意区分)定时/计数器2控制器寄存器T/C2的计数寄存器输出比较寄存器T/C中断屏蔽寄存器T/C中断标志寄存器3、16为定时/计数器(注意定时器1和定时器3功能基本一样只是寄存器不同而已)定时器/计数器1控制寄存器A定时/计数器3控制寄存器ABit7 Bit 6:通道A比较输出模式Bit 5 Bit 4:通道B比较输出模式Bit 4 Bit 3:通道C比较输出模式如果COMnA1:0(COMnB1:0或COMnC1:0)的一位或两位被写入"1”,OCnA(OCnB或OCnC) 输出功能将取代I/O 端口功能比较输出模式,非PWM比较输出模式,快速PWM比较输出模式,相位修正PWM波形发生模式定时器/计数器1控制寄存器B定时器/计数器3控制寄存器BBit 6 : 输入捕捉触发沿选择Bit 5 –保留位Bit 4:3: 波形发生模式定时器/计数器1控制寄存器C定时器/计数器3控制寄存器CBit6: 强制输出比较通道BBit5: 强制输出比较通道C定时器/计数器1(TCNT1H和TCNT1L)定时器/计数器3(TCNT3H和TCNT3L)输出比较寄存器1A(OCR1AH 和OCR1AL)输出比较寄存器1B(OCR1BH 和OCR1BL)输出比较寄存器1C(OCR1CH 和OCR1CL)输出比较寄存器3A(OCR3AH 和OCR3AL)输出比较寄存器3B(OCR3BH 和OCR3BL)输出比较寄存器3C(OCR3CH 和OCR3CL)输入捕捉寄存器1(ICR1H和ICR1L)输入捕捉寄存器3(ICR3H和ICR3L)定时器/计数器中断屏蔽寄存器• Bit 4 – OCF1A: T/C1 输出比较A 匹配中断使能Bit 3 – OCF1B: T/C1 输出比较B 匹配中断使能• Bit 2 – TOV1: T/C1 溢出中断使能扩展定时器/计数器中断屏蔽寄存器• Bit 4 –: T/C3输出比较A 匹配中断使能Bit 3 – : T/C3 输出比较B 匹配中断使能• Bit 2 – : T/C3 溢出中断使能Bit1--: T/C3输出比较C匹配中断使能Bit 0 T/C1输出比较C 匹配中断使能定时器/计数器中断标志寄存器• Bit 4 – OCF1A: T/C1 输出比较A 匹配标志位Bit 3 – OCF1B: T/C1 输出比较B 匹配标志位• Bit 2 – TOV1: T/C1 溢出标志扩展定时器/计数器中断标志寄存器• Bit 4 – OCF3A: T/C3 输出比较A 匹配标志位Bit 3 – OCF3B: T/C3 输出比较B 匹配标志位• Bit 2 – TOV3: T/C3 溢出标志Bit 1:T/C3 输出比较C 匹配标志位Bit 0:T/C1 输出比较C 匹配标志位三、同步串行口(SPI)SPI 控制寄存器- SPCRBit 7 – SPIE: 使能SPI 中断• Bit 6 – SPE: 使能SPI• Bit 5 – DORD: 数据次序(置位时LSB首发,否则MSB首发)• Bit 4 – MSTR: 主/ 从选择• Bit 3 – CPOL: 时钟极性• Bit 2 – CPHA: 时钟相位• Bits 1, 0 – SPR1, SPR0: SPI 时钟速率选择1 与0SPI 状态寄存器• Bit 0 – SPI2X: SPI 倍速(置位后,若为主机,SCK频率可达CPU频率的一半,若为从机只能保证fosc/4)SPI 数据寄存器四、USART 寄存器USART数据寄存器USART 发送数据缓冲寄存器和USART 接收数据缓冲寄存器共享相同的I/O 地址,称为USART 数据寄存器或UDR。

ATmega128 单片机硬件电路设计

ATmega128 单片机硬件电路设计

ATmega128 单片机硬件电路设计在本系统中,本小节主要讲ATmega128 单片机的内部资源、工作原理和硬件电路设计等。

2.5.1 ATmega128 芯片介绍ATmega128 为基于AVR RISC 结构的8 位低功耗CMOS 微处理器。

片内ISP Flash 可以通过SPI 接口、通用编程器,或引导程序多次编程。

引导程序可以使用任何接口来下载应用程序到应用Flash 存储器。

通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内,ATmega128 为许多嵌入式控制应用提供了灵活而低成本的方案。

ATmega128 单片机的功能特点如下:(1)高性能、低功耗的AVR 8 位微处理器(2)先进的RISC 结构①133 条指令大多数可以在一个时钟周期内完成② 32x8 个通用工作寄存器+外设控制寄存器③全静态工作④工作于16 MHz 时性能高达16 MIPS ⑤只需两个时钟周期的硬件乘法器(3)非易失性的程序和数据存储器① 128K 字节的系统内可编程Flash ②寿命: 10,000 次写/ 擦除周期③具有独立锁定位、可选择的启动代码区(4)通过片内的启动程序实现系统内编程① 4K 字节的EEPROM ② 4K 字节的内部SRAM ③多达64K 字节的优化的外部存储器空间④可以对锁定位进行编程以实现软件加密⑤可以通过SPI 实现系统内编程(5)JTAG 接口(与IEEE 1149.1 标准兼容)①遵循JTAG 标准的边界扫描功能②支持扩展的片内调试③通过JTAG 接口实现对Flash,EEPROM,熔丝位和锁定位的编程(6)外设特点①两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器②两个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器③具有独立预分频器的实时时钟计数器④两路8 位PWM ⑤ 6 路分辨率可编程(2 到16 位)的PWM ⑥输出比较调制器⑦ 8 路10 位ADC ⑧面向字节的两线接口⑨两个可编程的串行USART ⑩可工作于主机/ 从机模式的SPI 串行接口(7)特殊的处理器特点①上电复位以及可编程的掉电检测②片内经过标定的RC 振荡器③片内/ 片外中断源④ 6 种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式⑤可以通过软件进行选择的时钟频率⑥通过熔丝位可以选择ATmega103 兼容模式⑦全局上拉禁止功能ATmega128 芯片有64 个引脚,其中60 个引脚具有I/O 口功能,资源比较丰富,下面对ATmega128 的各个引脚做简单介绍:VCC:数字电路的电源。

ATmega128开发板功能说明

ATmega128开发板功能说明

开发板使用文档1、 PCB 视图:2、 开发板电源1、输入电压:9~12V2、USB 供电:5V3、 跳冒说明:J0:蜂鸣器跳冒J1:使用12864液晶时,由于不同厂家生产的液晶的19脚和20脚有所不同,为了方便使用,采用跳冒形式选择适合你液晶的接口,J2:使用1602液晶时跳冒选择:J1 A K 19脚 3‐1 3‐4 20脚2‐12‐4液晶 跳冒选择12864 2‐4(12864并行),3‐4(12864串并程序选择)16022‐4(1602必选)3、功能说明:1、温度传感器18B202、两通道ADC3、4位数码管显示4、实时时钟DS13025、串口0,串口16、SD卡读写7、IIC_24C02(TWI)8、RS485通讯9、LCD12864接口10、LCD1602接口11、6个按键(有上,下,左,右,确定,取消)12、跑马灯13、SPI14、JTAG接口15、ISP接口16、蜂蜜器17、USB供电18、I/O口扩展4、实验例程:1、跑马灯2、数码管显示3、蜂鸣器4、定时器0输出方波5、定时器2中断6、外部中断7、串口实验 8、RS4859、AT24C02 10、按键实验11、1602液晶显示 12、12864液晶显示13、ADC数码管显示实验 14、ADC在12864液晶显示15、DS18B20数码管显示 16、DS18B20液晶1620显示17、DS18B20液晶LCD12864显示 18、DS1302实时时钟1602显示19、DS1302实时时钟LCD12864显示 20、DS18B20实时时钟液晶显示21、串口多机通讯 22、RS485多机通讯23、SD卡读写 24、SPI通讯25、μCOS-II在ATmega128开发板上的移植。

ATmega128单片机概述、系统结构解析知识讲解

ATmega128单片机概述、系统结构解析知识讲解
1)AVR单片机废除机器周期,采用RISC,以字为指令 长度单位,取指周期短,可预取指令,实现流水作业, 可高速执行指令。有高可靠性为后盾。
2)AVR单片机在软/硬件开销、速度、性能和成本多方 面取得优化平衡,是高性价比的单片机。
3)内嵌高质量的 Flash程序存储器,擦写方便,支持 ISP和IAP,便于产品 的调试、开发、生产、更新。
AT90S1200/2313/8515/8535 AT89C51
高档ATmega系列单片机
ATmega8/16/32/64/128 存储容量为8/16/32/64/128KB ATmega8515/8535
64脚
6/78 导航、制导与控制
内容
1、AVR单片机简介
AVR单片机主要特性 AVR系列单片机的选型
ATmega128单片机 概述、系统结构
夏洁 2009年3月
1
内容
一、 ATmega128单片机概述系统结构
1、AVR单片机简介(主要特性、选型) 2、ATmega128单片机
二、 ATmega128单片机系统结构
2/78 导航、制导与控制
1、AVR单片机简介
ATMEL公司介绍
是世界上著名的高性能、低功耗、非易失性存 储器和数字集成电路的一流半导体制造公司。
1997年,ATMEL公司出于市场需求,推出 了全新配置的精简指令集RISC单片机高速 8位单片机,简称为AVR。
广泛应用于计算机外设、工业实时控制, 仪器仪表、通信设备、家用电器等各个领 域。
3/78 导航、制导与控制
1.1 AVR单片机主要特性
衡量单片机性能的重要指标
高可靠性、功能强、高速度、低功耗、低价位
ATmega128单片机结构框图

基于Atmega128嵌入式控制器的设计

基于Atmega128嵌入式控制器的设计

基于Atmega128嵌入式控制器的设计采用Atmega128单片机设计的嵌入式控制器,模拟量输入通道用Atmega128片内A/D转换器,输出用AD421D/A转换器,数字量I/O通道配置高速先耦器件.用lccavr编译器修改OSTaskStklnit()函数及其相关文件,定义数据类型等以实现MicroC/OS-Ⅱ的移植.1引言嵌入式控制器是机电设备实现自动化的核心部件。

故以大型机电设备为控制对象,利用高性能Atmega128微处理器,设计了具有现场总线(CANBUS)网络通信和一定通用性的多功能嵌入式智能控制器。

2硬件设计系统的硬件结构如图1。

本控制器的核心采用64管脚TQFP封装的Atmega128芯片,具有53个可编程的I/O引脚,片内集成有128KB闪存、4KBEEPROM和4KBSRAM,适合I/O通道和存储空间的需求。

(1)模拟量输入通道模拟量输入通道采用Atmega128片内的8通道1O 位A/D转换器。

其信号输入部分可以根据具体的信号情况选择使用图2所示的多功能输入信号调理电路。

在电压信号输入时可以由R1和C构成低通滤器(R2开路);R1和R2可以构成输入信号分压电路(电容c开路);对于4-20mA电流输入信号,R2使用250Q的精密电阻即可变换为1~5V的信号(R1 短路、C开路)。

在电路版上设计有对应多功能信号调理电路焊位元件的位置,可根据需要白行选择使用。

8路模拟量输入部分占用的是ATMEGA128的PF0~PF7。

(2)模拟量输出通道模拟量输出通道单元电路设计方案如图3。

D/A转换器采用AD公司的AD421,它是一种单片低功耗、高精度的电流输出型DAC芯片,4~20mA的输出可以驱动标准的执行元件。

该芯片的数字接口为。

ATmega128简介

ATmega128简介

◦ ◦ ◦
2.2、产品特点 5)特殊微控制器特性

复位、中断源、省电模式等 53个可编程I/O口线 64引脚TQFP与64引脚MLF封装 2.7~5.5V(ATmega128L) 4.5~5.5V(ATmega128) 0~8MHZ(ATmega128L) 0~16MHZ(ATmega128)
6)I/O和封装

中档(标准) AT90S系列单片机,40脚 ◦ AT90S1200/2313/8515/8535 ◦ AT89C51 高档ATmega系列单片机 64脚 ◦ ATmega8/16/32/64/128 ◦ 存储容量为8/16/32/64/128KB ◦ ATmega8515/8535

2、ATmega128单片机简介
MCUCR寄存器如下所示:
ATmega128单片机结构框图
端口F驱动
端口F 数据寄存器 端口F方向 数据寄存器
端口A驱动
端口A 数据寄存器 端口A方向 数据寄存器
端口C驱动
端口C 数据寄存器 端口C方向 数据寄存器
内部晶振 晶振 JTAG接口 编程计数器 堆栈指针 晶振 时序控制
在线调试
编程Flash
◦ 电路:自动上电复位、看门狗、掉电检测, ◦ 多个复位源等
8)具有多种省电休眠模式、宽电压运行 (2.7~5V),抗干扰能力强,可降低一般8位机 中的软件抗干扰设计的工作量和硬件的使用量。 9)集成多种器件和多种功能,充分体现了单片机 技术向片上系统SOC的发展方向过渡。
1.2 、AVR系列单片机的选型 AVR单片机有3个档次: 低档Tiny系列单片机, 20脚 ◦ Tiny 11/12/13/15/26/28 ◦ AT89C1051,AT89C1052

AVR ATmega128全功能工业控制器设计文档说明书

AVR ATmega128全功能工业控制器设计文档说明书

AVR单片机的全功能工业控制器设计吴焕琅深圳市中天越华自动控制科技有限公司摘要:介绍一款工业级的实用全功能控制器。

该控制器能隔离采集多种输入信号,输出多种控制信号;具有实时时钟、历史数据存储功能,彩色液晶显示界面,带有触摸屏操作和远程通信接口。

核心部分CPU采用AVR ATmega128单片机。

目前已用于批量生产。

关键词:隔离采集控制单片机彩色显示485接口ATmega128DS1642引言在自动控制产品的设计过程中,实现方案的选择常常是很矛盾的。

使用可编程逻辑控制器(PLC)和人机界面(HMI)来实现,开发速度较快,但成本太高,所开发的产品没有市场竞争力;使用单片机开发,成本低但开发周期长、开发量大且通用性不好。

用户需要的是一种成本低、开发周期较短、通用性较好的控制器,因此全功能工业控制器有很大的应用市场。

全功能工业控制器的整个电路分为信号隔离输入部分、控制器输出部分、实时时钟与历史数据存储部分、彩色液晶显示和触摸屏控制部分、通信接口等。

1信号隔离输入电路信号隔离输入电路分为开关量隔离输入、模拟量隔离输入、高速电脉冲隔离输入,电路如图1所示,开关量的隔离输入较为简单,输入信号采用光耦进行隔离后送入单片的普通I/O,单片机用查询方式进行采集。

图1信号隔离输入电路高速电脉冲的采集需要注意的是,所设计的电路必须适应高速信号采集的要求,因此隔离光耦应采用高速光耦(如6N137等)。

采用查询方式采集高速脉冲容易造成采集数据的丢失,高速脉冲应采用中断方式进行采集。

模拟量隔离采集是本控制器的一个重点和难点,笔者之前采用了线性光耦等多种方式进行模拟量的隔离采集实验,均未获满意的效果。

这里采用一种先将模拟量数字化(使用AD7705),然后通过有光耦隔离的数据口送到CPU进行模拟量隔离采集的方式,效果理想。

2控制器输出电路控制器的输出方式有继电器输出、晶体管输出、模拟电压输出,如图2所示。

继电器输出和晶体管输出电路较为简单,这里不作详细的介绍。

atmega128单片机概述-2-微机串口技术-对话框

atmega128单片机概述-2-微机串口技术-对话框
先预读缓冲区以清除残留数据ppt课件接收数据按字符串接收接收数据按字符串接收variantvariantinp
基于微软提供的组件进行 串口通信
对话框形式
北京航空航天大学 xiajie 2011年4月
自动化学院 1/44
对话框——步骤
a) b) c) d) 建立一个项目为对话框 给项目增加组件 通过“ClassWizard”将控件映射一个对应函数。 需要初始化(在初始化对话框中实现)
自动化学院 3/44
发送数据——发送字符串
1. 发送字符串 // CString m_strEditTXData; UpdateData(TRUE); //读取编辑框内容 m_ctrlComm.SetOutput(COleVariant(m_strEditTXData)); 2. 需要发送2个字节的number,要保证number<255*256 CByteArray bb; //支持以字节为单位动态建立数组。 bb.SetSize(4); //置数数组中元素的个数(数组大小) bb[0]=(unsigned char)( number >> 8); // 高字节 bb[1]=(unsigned char) number ; // 低字节 m_MSComm.SetOutput(COleVariant(bb));//发送数据
m_ctrlComm.SetCommPort(1); //选择COM1 m_ctrlComm.SetInputMode(1); //输入方式为二进制方式 m_ctrlComm.SetInBufferSize(1024); //设置输入缓冲区大小 m_ctrlComm.SetOutBufferSize(512); //设置输出缓冲区大小 //波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetSettings("9600,n,8,1"); if(!m_ctrlComm.GetPortOpen()) m_ctrlComm.SetPortOpen(TRUE);//打开串口 //参数1表示每当串口接收缓冲区中有多于 //或等于1个字符时将引发一个接收数据的OnComm事件 m_ctrlComm.SetRThreshold(1); m_ctrlComm.SetInputLen(0); //设置当前接收区数据长度为0 m_ctrlComm.GetInput(); //先预读缓冲区以清除残留数据
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广州大学 机电学院 庞志
$100CA
$1006:LDI R1,$0A $1008:LDS R2,$FF00 $100A:ADD R2,R1 $100C:STS $$FFFF0000(($$110A)) $FF00,R2
R1=$0A R2=$$11AA0
2020年5月19日星期二
广州大学 机电学院 庞志
广州大学 机电学院 庞志
ATmega128
单 片 机 方 框 图
2020年5月19日星期二
广州大学 机电学院 庞志
ATmega128
单 片 机 指 令 执 行 过 程
2020年5月19日星期二
广州大学 机电学院 庞志
$1006
10+(0xFF00$)1=0>0(60:xLFDFI 0R0)1,$0A
当RAMPZ0=1: ELPM/SPM可以访问程序存储器地址 $8000——$FFFF(高64K字节)
2020年5月19日星期二
广州大学 机电学院 庞志
2.2.3 指令执行时序
AVR CPU由系统时钟clkCPU驱动。
并行取指和执行时序
2020年5月19日星期二
广州大学 机电学院 庞志
单时钟周期ALU 操作
模拟比较器
2020年5月19日星期二
广州大学 机电学院 庞志
2.1.2 主要性能 (续)
特殊的处理器特点
上电复位 可编程的掉电检测 片内RC振荡器 片内/片外中断源 6种睡眠模式: 空闲模式、ADC噪声抑制模式、省电模
式、掉电模式、Standby模式以及扩展的Standby模式 可选的时钟频率 可选ATmega103兼容模式 全局上拉禁止功能
Bit 6 – T: 位拷贝存储 Bit 4 – S: 符号位,S=N⊕V Bit 2 – N: 负数标志 Bit 0 – C: 进位标志
2020年5月19日星期二
广州大学 机电学院 庞志
3.通用工作寄存器组
2020年5月19日星期二
广州大学 机电学院 庞志
4.X,Y和Z地址指针寄存器
寄存器R26...R31除了用作通用寄存器 外,还可以作为数据间接寻址用的地址指 针。这三个间接寻址寄存器如下图。
2020年5月19日星期二
广州大学 机电学院 庞志
2.1.3 封装和引脚
采用64脚TQFP 表面贴片形式 的封装。
2020年5月19日星期二
广州大学 机电学院 庞志
2.1.4 指令系统
ATmega128 单片机共有133 条指令,按 功能可以分为5 大类:
1.算术和逻辑运算指令 (28 条)
2.比较和转移指令
4K字节的内部SRAM 64K字节外部存储器空间 可以对锁定位进行编程以实现软件加密 可以通过SPI实现系统内编程
2020年5月19日星期二
广州大学 机电学院 庞志
2.1.2 主要性能 (续)
JTAG接口(与IEEE1149.1标准兼容)
遵循JTAG标准的边界扫描功能
支持扩展的片内调试
在32个通用工作寄 存器和I/O之间传输数 据。
2020年5月19日星期二
广州大学 机电学院 庞志
地址为$00 — $1F的 I/O寄存器还可用SBI 和CBI指令直接进行位 寻址;
可用SBIS和SBIC检 查单个位置位与否。
2020年5月19日星期二
广州大学 机电学院 庞志
SBI、CBI、 SBIS和SBIC指令直接对32 Registers 进行位寻址
2020年5月19日星期二
广州大学 机电学院 庞志
2.1.2 主要性能 (续)
I/O和封装
53个可编程I/O口线 64引脚TQFP与64引脚MLF封装
工作电压
2.7 — 5.5V ATmega128L 4.5 — 5.5V ATmega128
速度等级
0 — 8 MHz ATmega128L 0 — 16 MHz ATmega128
2020年5月19日星期二
广州大学 机电学院 庞志
2.1.2 主要性能 (续)
非易失性的程序和数据存储器
128K字节的系统内可编程Flash 寿命: 10,000次写/擦除周期
具有独立锁定位、可选择的启动代码区 通过片内的启动程序实现系统内编程 真正的读—修改—写操作
4K字节的EEPROM 寿命: 100,000次写/擦除周期
2020年5月19日星期二
广州大学 机电学院 庞志
5.堆栈指针寄存器SP
堆栈主要用来保存临时数据、局部变量和 中断/自程序的返回地址。
堆栈指针占用两个8位寄存器。使用的位数 由实际情况决定。当数据空间很小,只需SPL。
2020年5月19日星期二
广州大学 机电学院 庞志
堆栈:压栈,出栈。 压栈
出栈
(36 条)
3.数据转移指令
(38 条)
4.位操作和位测试指令 (28 条)
5.MCU 控制指令
( 3 条)
2020年5月19日星期二
广州大学 机电学院 庞志
2.2 内核
2.2.1 结构概述
2020年5月19日星期二
AVR 结构方框图 广州大学 机电学院 庞志
2.2.2 微控制器MCU
2020年5月19日星期二
2.2.2 微控制器MCU
1. ALU(算术逻辑单元)
ALU操作分为3类:算术、逻辑和位操 作。
此外还提供了支持无/有符号数和分数 乘法的乘法器。
2020年5月19日星期二
广州大学 机电学院 庞志
2.状态寄存器 SREG
Bit 7 – I: 全局中断使能 Bit 5 – H: 半进位标志 Bit 3 – V: 2 的补码溢出标志 Bit 1 – Z: 零标志
广州大学 机电学院 庞志
2.3 存储器结构
AVR结构具有3个储器空间:
1. 数据寄存器
2. 程序寄存器
3. EEPROM存储器
这三个存储器空间都是独立的、线性的。
2020年5月19日星期二
广州大学 机电学院 庞志
ATmega128内部存储器
2020年5月19日星期二
广州大学 机电学院 庞志
外部存储器 电路图
2020年5月19日星期二
广州大学 机电学院 庞志
中断向量
2020年5月19日星期二
广州大学 机电学院 庞志
中断向量
程序存储器空间的最低地址缺省定义为复位 和中断向量。
向量所在的地址越低,优先级越高。RESET 具有最高的优先级,下一个为外部中断0。
通过置位控制寄存器(MCUCR)的IVSEL,中 断向量可以移至引导Flash的起始处。编程熔丝 位BOOTRST可以将复位向量也移至引导Flash的 起始处。
2020年5月19日星期二
广州大学 机电学院 庞志
6.RAM 页面的Z 选择寄存器RAMPZ
RAMPZ寄存器用于选择Z指针访问的是哪一个 64KRAM(程序存储器页)。
Bit 0 – RAMPZ0: 扩展RAM页面Z指针
当RAMPZ0=0: ELPM/SPM可以访问程序存储器地址 $0000——$7FFF(低64K字节)
2020年5月19日星期二
广州大学 机电学院 庞志
2.3.1 系统内可编程的Flash程序存储器
128K字节的在线编程Flash
因为所有的AVR指令为16位或32位,故 FLASH组织成64Kx16的形式
Flash程序存储器分为两个区: 引导程序区 应用程序区
读写Flash: RAMPZ0=0:访问程序存储器低64K R20A20年M5月1P9日Z星期0二=1:访问程序存广州储大学器机高电学6院4K庞志
2.3.2 SRAM数据存储器
ATmega128支持两种不同的SRAM配置:
配置 普通模式 ATmega103 兼容模式
内部SRAM数据存储器 4096 4000
扩展的SRAM数据存储器 达到64K 达到64K
2020年5月19日星期二
广州大学 机电学院 庞志
普 通 模 式
:
2020年5月19日星期二
2020年5月19日星期二
广州大学 机电学院 庞志
当使用IN 和OUT指 令时地址必须在$00— $3F之间。
如果要象SRAM一 样通过LD和ST指令访 问I/O寄存器,相应的 地址要加上$20。
2020年5月19日星期二
广州大学 机电学院 庞志
例: 013-EEPROMLED
2020年5月19日星期二
广州大学 机电学院 庞志
2.4 I/O 端口描述
2020年5月19日星期二
广州大学 机电学院 庞志
ATmega128
单 片 机 方 框 图
2020年5月19日星期二
$1008:LDS R2,$FF00 $100A:ADD R2,R1 $100C:STS $FF00,R2
$0A R1=$0A
2020年5月19日星期二
广州大学 机电学院 庞志
$10068
$FF00($10)
$1006:LDI R1,$0A $1008:LDS R2,$FF00 $100A:ADD R2,R1 $100C:STS $FF00,R2
R1=$0A R2=$10
2020年5月19日星期二
广州大学 机电学院 庞志
$100A8
$FF00($10)
$1006:LDI R1,$0A $1008:LDS R2,$FF00 $100A:ADD R2,R1 $100C:STS $FF00,R2
R1=$0A R2=$1A0
R2=R2+R1
2020年5月19日星期二
广州大学 机电学院 庞志
:
ATmega103
兼 容 模 式
相关文档
最新文档