收藏 分享(赏)

msc1210中文.pdf

上传人:weiwoduzun 文档编号:5739618 上传时间:2019-03-15 格式:PDF 页数:69 大小:628.82KB
下载 相关 举报
msc1210中文.pdf_第1页
第1页 / 共69页
msc1210中文.pdf_第2页
第2页 / 共69页
msc1210中文.pdf_第3页
第3页 / 共69页
msc1210中文.pdf_第4页
第4页 / 共69页
msc1210中文.pdf_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、MSC1210具有8051微控制器和闪存的精密模数转换器一 特性1模拟特性1 24位无丢失码2 10Hz的低噪声下具有22位的有效分辨率75nV3 可编程增益放大器放大倍数为11284 片内参考电压的精确度精度0.2%漂移5ppm/C5 8个差分/单端通道6 片内偏置/增益校正7 偏置漂移0.02PPM/C8 增益漂移0.5 PPM/C9 传感器检测防止芯片烧坏burn-out10 单周期转换11 输入缓冲可选2数字特性微处理器内核1 与8051兼容2 高速内核每一指令周期占4个时钟3 DC至33MHz4 单条指令执行时间121ns5 双重数据指针内存1 高达32kB的闪速数据内存FLASH

2、MEMORY2 分区闪存3 可经受1M次擦除/写操作数据可保存100年4 串行编程外部程序/数据存储器(64kB)5 1,280字节的数据静态存储器SRAM6 闪存的内容保护7 2KB的引导只读存储器BOOT ROM8 可编程的等待状态控制3外围特性1 34个 I/O引脚2 附加的32位累加器3 3个16位定时器/计数器4 系统定时器5 可编程看门狗定时器6 2个完整的双向通用异步收发器FULL DUPLEX DUAL UART7 采用直接存储器的主/从串行外围接口SPI为MOTOROLA公司的一个注册商标8 16位PWM9 电源管理控制10 空闲模式下电流 0)WR脉宽(tMCS= 0)WR

3、脉宽 (tMCS 0)RD低到有效指令写入 (tMCS= 0)RD低到有效指令写入 (tMCS 0)读后数据保持读后数据浮动(tMCS= 0)读后数据浮动(tMCS 0)ALE低到有效数据写入 (tMCS= 0)ALE低到有效数据写入(tMCS 0)地址到有效数据写入(tMCS= 0)地址到有效数据写入(tMCS 0)ALE 低到RD或WR低(tMCS= 0)ALE低到RD或WR低(tMCS0)数据有效到WR跳变WR后数据保持RD低到数据浮动RD或WR高到ALE高(tMCS= 0)RD 或WR高到ALE高(tMCS 0)2tCLK 5tMCS 52tCLK 5tMCS 550.5tCLK 5t

4、CLK 5tCLK 52tCLK 58tCLK 85tCLK 52tCLK 40tMCS 40tCLK2tCLK2.5tCLK 40tCLK+ tMCS 403tCLK 401.5tCLK+ tMCS 400.5tCLK+ 5tCLK+ 50.5tCLK 55tCLK+ 52tCLK 5tMCS 52tCLK 5tMCS 550.5tCLK 5tCLK 5tCLK 52tCLK 55tCLK 55tCLK 52tCLK 30tMCS 30tCLK2tCLK2.5tCLK 25tCLK+ tMCS 253tCLK 251.5tCLK+ tMCS 250.5tCLK+ 5tCLK+ 50.5tCL

5、K 55tCLK+ 5nsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsnsns外部时钟tHIGHtLOWtRtFDDDD高时期低时期上升时期下降时期1515 551010 55nsnsnsns注释1各参数在运行温度的范围内有效除非另加说明2 P0口ALE口及PSEN口的负载电容=100pF其他输出口的负载电容=80 Pf 3这些值为特性值并非100%经过产品测试4 tCLK=1/fOSC=1个振荡器的时钟周期5 tMCS与MOVX的执行时间有关下表列出了MOVX不同的执行时间下tMCS的不同值MD2 MD1 MD0 MOVX持续时间tMCS0002机器周

6、期00013机器周期默认4tCLK0104机器周期8tCLK0115机器周期12tCLK1006机器周期16tCLK1017机器周期20tCLK1108机器周期24tCLK十二交流符号解释每个时间符号有5个字符其中第一个为t 指时间其余字符用来表示该信号的名称或它的逻辑状态指定如下A寻址C时钟D输入数据H逻辑高电平I 指令程序存储器的内容L逻辑低电平或ALEP PSENQ输出数据R RD信号t时间V有效WWR信号X无效的逻辑电平Z浮动值例如1 tAVLL =在ALE为低时的有效的寻址时间2 tLLPL =在PSEN为低时ALE等于低电平的时间图A 外部程序存储器读周期图B 外部数据存储器读周期

7、图C 外部数据存储器写周期图D 外部时钟驱动CLK十三管脚结构图俯视图 封装形式TQFP十四管脚功能说明管脚号名称功能说明1 XOUT晶振管脚XOUT支持截止晶体和瓷谐振电路的并联谐振XOUT用作晶体放大器的输出端2XIN晶振管脚XIN支持截止晶体和瓷谐振电路的并联谐振在使用外部时钟源来代替晶振时XIN也可作为其输入端310 P3.0P3.7端口3是双向I/O口,其复用功能列于附表1中.11,14,15,42,58DVDD数字供电12,41,57 DGND数字地13 RST复位输入引脚上若保持高电平达2条指令时钟周期,器件将复位.16,32,33 NC无连接17,27 AGND模拟地28 AV

8、DD模拟供电18 AIN0模拟输入通道019 AIN1模拟输入通道1管脚功能说明(续)管脚号名称功能说明20 AIN2模拟输入通道221 AIN3模拟输入通道322 AIN4模拟输入通道423 AIN5模拟输入通道524 AIN6, EXTD模拟输入通道6, 数字低电平检测输入25 AIN7, EXTA模拟输入通道7, 模拟低电平检测输入26 AINCOM普通的模拟单端输入29 REF IN-负参考电压输入30 REF IN+正参考电压输入31 REF OUT参考电压输出3440, 43 P2.0P2.7端口2是双向I/O口,其复用功列于附表2中44PSENOSCCLKMODCLK程序存储使能

9、与外部可选存储器相连作为芯片使能信号PSEN可提供一低电平脉冲在编程模式下PSEN可与ALE一同用作输入脚以确定编程模式是串行还是并行在并行编程模式下保持为高而在串行时为低在不需使用外部程序存储器时这一管脚也可选作晶振时钟调整时钟输出或直接输出高/低电平另见附表345 ALE地址锁存使能用于在访问外存时锁存地址的低位字节ALE的发生频率为恒定值等于晶振频率的1/2并可用于外部定时或时钟在访问外部数据存储器时将每次略去一个ALE脉冲在编程模式下ALE用作输入与PSEN共同用于确定编程模式是串行还是并行在串行编程时ALE保持为高而在并行时则为低48EA外部器件访问使能EA引脚必须由外部保持低电平器

10、件才能由起始地址0000H开始读取外部程序存储器46,474954P0.0P0.7端口0是双向I/O口,其复用功能列于附表4中55,565964P1.0P1.7端口1是双向I/O口,其复用功能列于附表5中附表1 P3口的复用功能端口复用功能工作形式P3.0 RXD0串口0的输入P3.1 TXD0串口0的输出P3.20INT外部中断0P3.31INT /TONE/PWM外部中断1/TONE/PWM输出P3.4 T0定时器0外部输入P3.5 T1定时器1外部输入P3.6WR外部数据存储器写选通P3.7RD外部数据存储器读选通附表2 P2口的复用功能端口复用功能工作形式P2.0 A8地址值第8位P2

11、.1 A9地址值第9位P2.2 A10地址值第10位P2.3 A11地址值第11位P2.4 A12地址值第12位P2.5 A13地址值第13位P2.6 A14地址值第14位P2.7 A15地址值第15位附表3由ALE与PSEN确定编程模式ALEPSEN编程模式选择NC NC正常运行状态01并行编程状态10串行编程状态00保留附表4 P0口的复用功能端口复用功能工作形式P0.0 AD0地址/数据值第0位P0.1 AD1地址/数据值第1位P0.2 AD2地址/数据值第2位P0.3 AD3地址/数据值第3位P0.4 AD4地址/数据值第4位P0.5 AD5地址/数据值第5位P0.6 AD6地址/数据

12、值第6位P0.7 AD7地址/数据值第7位附表5 P1口的复用功能端口复用功能工作形式P1.0 T2 T2的输入P1.1 T2EX T2的外部输入P1.2 RXD1串口输入P1.3 TXD1串口输出P1.4INT2/SS外部中断/从设备选择P1.53INT /MOSI外部中断/主设备输出从设备输入P1.6 INT4/MISO外部中断/主设备输入从设备输出P1.75INT /SCK外部中断/串行时钟十五典型特性AVDD= +5V, DVDD = +5V, fOSC= 8MHz, PGA = 1, fDATA= 10Hz, 缓冲器打开, VREF= (REF IN+) (REF IN)= +2.5

13、V, 除非另行说明十六芯片说明MSC1210YX系列是一类完全集成的混合信号器件它具有高精度的积分型-模数转换器8通道多路复用器防烧毁burn-out电流源可选缓冲输入偏置数模转换器offset DAC可编程增益放大器PGA温度传感器参考电压8位微处理器闪速程序存储器闪速程序存储器闪速数据存储器数据静态RAM见图1中所示片上外围包括一个附加的32位累加器一个与串行外围接口SPI兼容的串口采用先入先出的压栈形式具有2个通用异步收发器UARTs多个数字输入输出端口看门狗定时器低电压检测片内上电复位16位PWM断点省电复位以及3个定时器/计数器器件呆以直接获得由变换器传来的低电平差分或单端信号ADC

14、采用了Sinc3滤波器具有24位分辨率和24位无遗漏码且采样速度可调在要求高精度的单周期转换时ADC还可选择合适的滤波器微处理器内核与8051的指令兼容它是优化了的8051内核在相同的时钟源下运行速度比标准的8051快3倍因此使用较低的外部时钟频率就可获得与标准的8051内核相同的性能且功耗会更小MSC1210YX允许用户自己配置闪存与静态RAM的映射表以满足不同的应用场合闪存最低可在2.7V电压下进行编程可采用串行或并行的编程模式最多可执行擦除/写操作100K次此外片上已包含了RAM的1280个字节元件已将模拟电源与数字电源分隔开来两者可以在2.7V+5.5V的范围内分别供电在+3V的运行状

15、态下元件的功耗不大于4mW MSC1210YX封装为TQFP-64MSC1210YX应用于智能发送器工业过程控制测重色谱分析及便携式仪器中用于高精度的测量增强的8051内核MSC1210YX芯片族的所有指令所完成的功能与标准8051单片机相对应的指令完全相同对位bit标志位以及寄存器的操作结果也完全相同但是MSC1210的指令时序和标准8051不同由于MSC1210芯片族采用了运行效率更高的8051内核使得在相同的外部时钟频率下MSC1210执行一条指令的时间是4个时钟周期而标准的8051是12个如图2所示可以看出MSC1210的指令执行速度要比标准的8051快1.5到3倍相同代码的执行效率可

16、以提高2.5倍以上也就是说采用33MHz时钟频率的图1 方框图MSC1210YX系统的性能相当于采用82.5MHz时钟频率的标准8051系统可以让用户系统在较低的外部时钟频率下运行减少了系统噪声降低功耗得到更好的运行结果从图3可以看出它们性能上的不同如果使用MSC1210程序语句的循环会变得更快但是它的指令周期始终等于12个时钟周期或4个时钟周期可选择MSC1210提供了双数据指针DPTRs使访问块数据存储器的效率大大提高另外它还能调整访问外部数据存储器的指令周期数29个指令周期来匹配不同的存储设备参看表1 MSC1210提供了16位地址总线P0口和P2口与外部数据存储器进行接口低位地址必须从

17、P0口输出为了使P0和P2口适应高速存储可以把P0和P2设置为外部设备的接口或通用的I/O口而且如果把它们设置为外部设备接口它们可以脱离CPU内核运行更进一步提高了效率例如SPI接口采用先入先出FIFO方式可以使SPI在与内核舆数据时只需要最小的过载空间另外还增加了一个32位累加器使处理AD转换器或其它数据时报复合字节数据的处理过载显著降低这可以让24位的加法和移位运算在几个指令周期内完成碳在应用程序中执行相同的运算需要上百个指令周期CKON 8EHMD2 MD0指令周期对于MOVXRD或WR有效长度机器周期RD或WR有效长度us 12MHz下0000010100111001011101112

18、3(默认)45678924812162024280.1670.3330.6671.0001.3331.6672.0002.333表1 存储周期的扩展芯片族的兼容性MSC1210芯片族的所有芯片的硬件功能与管脚设置是完全兼容的对于用户来说唯一的不同在于内部存储器的设置这使芯片族的芯片相互移植更加简单方便根据MSC1210Y2编写的程序代码可以直接用于MSC1210Y3MSC1210Y4AKMSC1210Y5用户可以自由的移植芯片族的各芯片添加删除软件功能由此MSC1210可以作为一些平台图2 指令周期时序图3 MSC1210与标准8051的时序比较的通用标准设备芯片族开发工具MSC1210完全兼

19、容标准8051的指令集这意味着开发人员可以使用现有的8051开发工具来开发MSC1210的应用程序另外每块评估板都包含一套完全整合的开发环境第三方开发商也会提供必要的支持概述外部输入的多路复用器输入多路复用器可以接受任何组合的差动输入这些输入通过输入通道进行选择如图4所示如果AIN0被选择为差动输入正端那么余下的任意一个通道都可以被选为差动输入的负端这种方法最多可以有8路差动输入也可以改变差动输入对的极性来消除偏移电压内部有电流源可检测管脚上的电路是开路还是短路温度传感器芯片内的二极管提供了温度传感功能当输入多路复用器的设置寄存器所有位都设为1时二极管就连接到AD转换器的输入端所有通道都打开熔

20、断电流源当AD转换器控制寄存器ADCON0 DCH的熔断检测BOD位被设为1时就启动了两个电流源输入通道正端的电流源流出约2 A的电流负端电流源流入约2 A电流 通过这种方法可以检测出某个差动输入对的开路或短路情况输入缓冲器无论可编程增益放大器PGA的设置如何改变模拟输入总是处于高阻抗状态缓冲器启动后输入电压的范围就会减小提供能量的电流增大如果对输入电压范围的限制在一个可接受的范围内那么缓冲器的作用总是有益的没有输入缓冲器时MSC1210的输入阻抗为5M /PGA缓冲器由AD转换器控制寄存器ADCON0 DCH的BUF位控制模拟输入当没有选择使用缓冲器时模拟输入的输入阻抗与时钟频率ACLK F

21、6H和增益PGA有关它们之间的关系是图4 输入端多路复用器MSC1210输入端的基本结构示于图5PGAPGA的增益可以设置为1 2 4 8 16 32 64或128 PGA的使用可以有效的提高AD转换器的分辨率例如PGA为1电压范围为5V时AD转换器的最小分辨率为1 V PGA为128电压范围为40mV时最小分辨率可以达到75nV在第一种情况下需要26位的AD转换器才能达到75nV的精度PGA偏移DA转换器PGA的模拟输入最多可以被偏置到输入范围的一半这通过对ODAC寄存器SFR E6H的操作来实现ODAC寄存器有8位最高位是符号位另外7位确定了偏置的大小由于ODAC引入了模拟偏置量而非数字量

22、到PGA所有使用ODAC不会降低AD转换器的性能调幅器调幅器是一个单循环二阶系统它以fMOD频率运行该频率是根据模拟时钟寄存器ACLK设定的值系统的时钟频率得到的数据输入速率= ACLK+1 /64/输出比校正MSC1210或整个系统的偏移增益误差可以通过校正来减少影响校正功能是由ADCCON1寄存器SFR DDH的CAL2 CAL0位来控制的每个校正过程需要7个tDATA周期数据转换时间14个tDATA周期就可以完成一次偏移校正和增益校正进行系统校正时必须在输入端施加适当的信号系统偏移指令需要一个零差别输入信号来计算偏听偏移量从而消除系统的偏移系统增益指令需要一个正向的满量程差动输入信号来计

23、算相应的值移消除系统增益误差在芯片上电运行后温度输出比缓冲器或PGA发生变化时都要进行校正校正过程会消除ODAC产生的结果所以ODAC寄存器的设置应该在校正以后进行校正完成以后AD转换器中断位置为1表示校正结束可以读取有效数据数字滤波器数字滤波器可以采用快速算法如Sinc2函数或者Sinc3函数进行滤波如图6所示输入通道或PGA的改变会使自动模式改变Sinc滤波器当转到一个新的输入通道时系统会使用快速算法滤波器接下来的两个转换中的头一个北朝鲜被丢弃先用Sinc3再用Sinc2可以减少噪声的影响这就把Sinc3的低噪声优点和快速算法滤波器的快速响应结合了起来所有这些提到的滤波器的频率响应示于图7

24、参考电压图5 模拟输入端结构MSC1210可以使用外部参考电压或内部参考电压上电以后参考电压被设置为内部基准2.5V可以通过改变ADCCON0寄存器SFR DCH的值来选择参考电压内部参考电压可以是1.25V(AVDD=2.7V5.25V)或是2.5V(AVDD=4.5V5.25V)如果不使用内部基准电压VREF必须将它关闭以减小噪声干扰和功率损耗VREFOUT管脚与AGND脚之间应加一个0.1 F的电容外部参考电压是差动的由管脚REF IN+和REF IN-之间的电压差决定这两个管脚上的电压绝对值的范围可以从AGND到AVDD但它们之间的差值不能超过2.6V这种外部参考电压设置给比率测量带来

25、了方便上电时的电压上升速率芯片内部的上电复位电路经过特殊设计可适应慢到1V/10ms的模拟或数字式供电电压上升速率为了保证运行的可靠电源电压必须以特写的速率上升内部存储器地址表MSC1210片内有特殊功能寄存器SFR Flash存储器Scratchpad存储器启动ROM以及静态RAM SRAMSFR寄存器主要用于控制和显示状态标准8051内核以及MSC1210的所自带的外设功能都是通过SFR来控制的读取一个未定义的SFR寄存器将会得到零值推荐向一个未定义的SFR寄存器写入数据因为这有可能造成无法预料的后果Flash存储器是用于程序存储和数据存储的用户对硬件作相应设置来选择这两个部分尺寸大小硬件

26、设置可以通过串行或并行I/O方式来进行在用户模式下程序和数据存储器都是可读写的但是由于程序执行只能从程序存储器里开始用户可以自行改变设置屏蔽对4KB程序存储乃至Flash存储器的读写功能MSC1210片内有1KB的SRAMSRAM从地址0开始使用MOVX指令进行访问SRAM也可以从地址8400H开始并被程序和数据存储器所访问Flash存储器MSC1210使用了一种把程序存储器和数据存储器区分开的编址方式每个存储区大小为64KB起始和结束地址是000H和FFFH如图8所示由于程序块可以通过不同的方式访问因此它们地址可以有重叠 CPU自动从程序存储器里取得程序代码MOVC指令可以直接从程序存储器里

27、读出数据这种方式通常用于查表操作中数据存储器通过MOVX指令来访问该指令提供了多种确定目标地址的方式片内的程序和数据存储器与Flash存储器在64KB空间内统一编址当片内存储器启动时如果访问的地址在它范围内系统就会访问内部存储器访问外部存储器时是由P0口和P2口给出外部存储器的地址MSC1210有两个可编程的硬件设置寄存器HCR0和HCR1但它们只能在Flash存储器编程方式下进行编程MSC1210允许用户对Flash存储器里的程序存储器PM和数据存储器DM进行分区比如说MSC1210有32KB的片内Flash存储器用户可以通过改变硬件寄存器的设置来确定PM和DM的大小如表2所示滤波器时间设置

28、滤波器设置时间转换周期Sinc3Sinc2Fast3(1)2(1)1(1)注意1与通道转换同步自动滤波器选择转换周期1234+Discard Fast Sinc2Sinc3图6 滤波器阶跃相应有一点必须注意无论用户把Flash存储器的哪一部分定义为PM或DM它都可以通过MOVX指令进行读写操作还要看MWS寄存器的MXWS位的状态这意味着用户可以把Flash存储器全部定义为数据存储器但如果这样的话程序指针PC指向被用作数据存储器的程序空间时就会产生不希望得到的结果所以当Flash存储器被用作数据存储时推荐把Flash分区这样可以防止从数据存储区里读取程序代码的操作通过HCR0寄存器的设置也可以屏

29、蔽程序存储器的读写和擦除功能图7 滤波器频率响应图8 内存储器地址表表2 MSC1210Y Flash分区表3 Flash分区对程序存储器和数据存储器编址的效果是显而易见的程序存储器的空间大小由于其地址直接跟随在内部程序存储器之后而减小对于MSC1210Y5如果把它的Flash存储器作如下分配程序段31KB数据段1KB那么外部程序地址就会从7C00H开始若程序段是32KB则从8000H开始数据段附加在SRAM之后也就是说SRAM的地址是000H-03FFHFlash数据段地址是0400H-07FFH数据存储器MSC1210可以对64KB的数据存储段寻址除了这64KB外还有256字节的Scrat

30、chpad存储器用MOVX指令对1024字节的片内SRAM数据存储器操作内部数据操作时数据总线不向P0口传输数据MSC1210还有片内可读写的Flash数据存储器地址紧接在SRAM之后寄存器地址表寄存器地址表示于图9这与前面所提到的程序及数据存储区是完全独立的必须使用专门的一组指令来访问这些寄存器共有256个寄存器地址可供分配MSC1210有256字节的Scratchpad RAM最多有128个SFR有可能只有后128字节的Scratchpad RAM可以直接访问也就是说工作寄存器的内容会占RAM空间这样对后128字节的地址访问也就是访问SFR而内部RAM地址是0 7FH地址在80H到FFH的

31、SFR可以直接访问要访问位于上述地址的RAM空间可以采用间接访问的方式Scratchpad RAM可以用作普通的数据存储区通常在数据区太小时作为片外RAM作为片外RAM时Scratchpad RAM同样可以进行高速访问在这256字节中包括了一些特殊功能的区域位寻址区除了直接寻址方式外某些位也可以被访问这些访问的位地址位于RAM和SFR区内在ScratchpadRAM里地址20H到2FH是可以位寻址的总共有128个独立的可访问的位地址访问位地址与访问寄存器在指令上是不同的在SFR区域如果某个寄存器的地址以0或8结尾那么它就可以进行位寻址操作图9详细的表示出片内RAM以及可访问的位的地址工作寄存器

32、作为低128字节RAM的一部分有4组工作寄存器工作寄存器就是普通的RAM但可以通过特殊的方式来访问用R0到R7来标识由于有4组工作寄存器当前被选择的组才能被访问程序可以改变组的选择来改变工作寄存器里的内容这是通过对程序状态字寄存器PSW 0DDH的控制来实现的该寄存器的功能下面还会提到工作寄存器也可以用来对后128字节RAM进行间接寻址举例来说机器指令可以根据R0内存储的值来访问上位RAM在这些寄存器之后的16字节都是可位寻址的所以这片区域内的所有128个位都可能通过位寻址指令来访问堆栈Scratchpad的另一个作用是作为堆栈通过堆栈指针SP 81H来指定堆栈位置程序调用或进入中图9 寄存器

33、地址表断时把返回地址保存在堆栈中由于堆栈在RAM里的位置并不固定所以也可以把变量放在堆栈复位后堆栈指针指向07H用户应根据实际需要来移动比较好的位置是在上位RAM区域7FH因为这里只能间接寻址堆栈指针指向最后一个压入堆栈的数据下一个压入堆栈的数据将被放在SP+1的位置PUSH或CALL指令会使SP增加相应的值而POP或RET指令会使SP减少程序存储器复位后CPU程序存储器0000H地址处开始执行程序把EA管脚接在VDD上则CPU从片内读取指令若EA接在DGND上则CP从片外读取指令MSC1210芯片族内部标准的程序存储器空大小示于表4可以参考访问外部存储器这一章节以更详细地了解外部存储器使用若

34、要使用启动ROM它的地址将从F800H到FFFFH型号标准内部程序存储器大小字节MSC1210Y5MSC1210Y4MSC1210Y3MSC1210Y232K16K8K4K表4 MSC1210最大内部程序存储器访问外部存储器使用外部存储器时P0口和P2口可以用作地址线和数据线也可以设置为通用I/O口要使CPU能够访问外部存储器HCR1寄存器的位0和位1必须都设为0这样设置以后通过P0和P2口就可以访问外部存储器了当数据只在内部RAM之间传送时为了保密P0口始终保持低电平访问外部存储器有两种类型访问外部程序存储和外部数据存储器前者使用PSEN管脚后者使用RD和WD管脚即P3.7和P3.6外部程序

35、存储器和外部数据存储器可以用下面的方式合并起来把RD和PSEN分别接在与门的两个输入端上与门的输出作为外部存储器的存储控制程序在访问外部程序存储器时总是采用16位地址所用的指令可以是16位指令MOVXDPTR或8位指令MOVXRi如果P2口被设置为访问外部存储器的功能HCR1位0它就不能被用作通用的I/O口这个位或HCNR寄存器的位1也可以主P3.6和 P3.7只被用作WD和RD而不用作I/O口如果使用8位寻址方式P2口在外部存储时间内始终保持着MPAGE寄存器92H的内容这将使页寻址更加方便任何情况下低位地址总是和数据在P0口分时复用ADDR/DATA信号在P0 P2 WD和RD管脚的输出端

36、使用CMOS驱动实际应用中P0口不是作为漏极输出并不需要外部的上拉措施ALE对外部的地址锁存器输出地址锁存信号ALE负跳变时地址信号有效所以在写操作的时序中数据在WD未动作时就已经传送到P0口并在WD结束动作之前一直保持有效在读操作的时序中读信号停止动作之前P0口已经读入数据了图10 Scratchpad寄存器地址表P0和P2口功能在HCR1寄存器里设置并且只能在Flash编程模式下改变它们要么被用作通用I/O口要么用来访问外部存储器P0和P2默认功能是通用I/O口如果它们已经被设置为通用I/O口那么在访问外部存储器时不会影响它们的数据在以下两种情况下外部程序存储器被访问1 EA管脚接高电平或

37、2 程序指针PC含有内部程序存储器地址范围以外的地址内容如果P2口被用来访问外部存储器所有8个位包括P3.6和P3.7都被用作输出功能而不能作为通用I/O口P2口输出的是高位地址对Flash进行编程Flash有4个部分可用于编程操作1 128字节要配置区2 复位向量4KB不要与2KB的启动ROM混淆3 程序存储区4 数据存储区启动ROM片内有2KB的启动ROM用来控制串行或并行编程操作在被允许的情况下启动ROM在用户模式下可以被访问此时它的地址范围是F800HFFFFH编程模式下启动ROM位于程序存储区最前的2KB区域Flash编程模式编程方式有两种串行和并行上电复位后通过ALE和PSEN来选

38、择编程模式PSEN=0 ALE=1时选择串行方式PSEN=1 ALE=0时选择并行方式如果它们都为高电平MSC1210将工作在普通用户模式下它们都为低电平的状态是保留状态没有定义功能上电复位和选择普通模式后即推出编程模式MSC1210发售时全部Flash都写入1并行方式包括第三方软件支持串行方式包括在线编程Flash编程的实际代码不能在Flash中执行必须在ROM或内部RAM里执行硬件设置存储器128字节的硬件设置信息只能在编程方式下修改它们是通过SFR寄存器CADDR SFR 93H和CDATA图11 串行编程方式接线图SFR 94H来访问的这128字节中有两个字节是进行Flash分区和系统

39、控制如果设置了加密位这些位就不能改变除非使用块擦除命令把所有Flash存储器和128字节的设置位全部擦除硬件设置寄存器0 HCR0通过SFR寄存器CADDR和CDATA访问普通操作时若要访问该寄存器请参考CADDR和CDATA寄存器的描述EPMA 允许访问程序存储器加密位位7 0编程状态复位后不能对程序存储器读写1可以访问默认值PML 锁定程序存储器优先级高于RSL位位6 0开放编程模式中的所有Flash编程模式在UAM中可写1只开放编程模式中的读功能在UAM中不可写默认值RSL 锁定复位扇区位5 0允许对复位扇区进行写操作1允许对复位扇区进行读操作默认值EBR 启动ROM有效位位4 0禁止内

40、部的启动ROM1使启动ROM有效默认值EWDR 看门狗复位有效位位3 0禁止看门狗复位1允许看门狗复位默认值DFSEL Flash数据存储区大小位2 0 000保留001 32KB 16KB 8KB或4KB Flash存储器010 16KB 8KB或4KB Flash存储器011 8KB或4KB Flash存储器100 4KB Flash存储器101 2KB Flash存储器110 1KB Flash存储器111没有Flash存储器默认值复位扇区提供了另一种给Flash存储器编程的方法这可以主程序存储器在内部电路发生变化或程序改动时不改变转换器而直接更新编程结束时启动扇区里的代码会提供监控以及

41、编程的方法来进入主Flash代码区硬件设置寄存器1 HCR1普通操作时若要访问该寄存器请参考CADDR和CDATA寄存器的描述DVLSEL 数字brownout电平选择位76 00 4.5V01 4.2V10 2.7V11 2.5V默认值ABLSEL 模拟brownout电平选择位54 00 4.5V01 4.2V10 2.7V11 2.5V默认值DAB 禁止模拟功率brownout检测位3 0允许模拟功率brownout检测1禁止模拟功率brownout检测默认值DDB 禁止数字功率brownout检测位2 0允许数字功率brownout检测1禁止数字模拟轴功率brownout检测默认值EG

42、P0 允许P0作为通用I/O口0 P0用于访问外部存储设备P3.6和P3.7用作WR和RD1 P0作为通用I/O口默认值EGP23 允许P2和P3作为通用I/O口位0 0 P2用于访问外部存储设备P3.6和P3.7用作WR和RD1 P2和P3作为通用I/O口默认值存储器编程的配置某些特殊功能如brownout复位和看门狗定时器由硬件设置位控制这些位是保持不变的只用在串行和并行编程时才能改变其它一些外部设备的控制和状态功能如AD转换器设置定时器和Flash控制都是通过SFR完成的P0口P0.7 0 P0口在访问外部存储器时作为地址/数据总线复用其它时候作为通用I/O口在访问外部存储器时P0在ALE高电平时输出低8位地址ALE低电平时输出数据作为通用I/O口使用时P0口的驱动由P0DDRL和P0DDRH ACHADHP0口访问外部存储器的功能和通用I/O口的功能由HCR1.1确定堆栈指针SPSP.7 0 堆栈指针决定了堆栈开始的地址执行PUSH或CALL指令后堆栈指针增加执行POP或RET/RETI指令后堆栈指针减少复位后指向07H低位数据指针0 DPL0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报