飞思外部不提供技术支持11及大量学习9s12xs128中文版_第1页
飞思外部不提供技术支持11及大量学习9s12xs128中文版_第2页
飞思外部不提供技术支持11及大量学习9s12xs128中文版_第3页
飞思外部不提供技术支持11及大量学习9s12xs128中文版_第4页
飞思外部不提供技术支持11及大量学习9s12xs128中文版_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

录 第一 模 第一 第二 E寄存 POL寄存 CLK寄存 PRCLK寄存 CAE寄存 CTL寄存 SCLA寄存 Tx寄存 PERx寄存 DTYx寄存 第三 第二章ECT模 第一节ECT模块介 简 特 运行模 ECT的组成与工作模 ECT的工作过程与设 第二节ECT寄存器简 IC/OC选择寄存器 输出比较通道7寄存器 输出比较通道7数据寄存器 脉冲累加器A控制寄存器 脉冲累加器A标志寄存器(PA 第三节ECT应用实 通道6输出比 通道7输出比 第三章SCI模 第一节SCI寄存器简 第二节SCI应用示 第四章SPI模 第一节SPI模块介 SPI的功能特 SPl的组成与工作设 第二节SPI寄存器简 SPI控制寄存器 SPI控制寄存器 SPI波特率选择寄存 SPI状态寄存 SPI数据寄存 第三节SPI应用实 第五章A/D转换模 第一节A/D模块介 A/D转换原 A/D转换模 HCS12A/D特 第二节A/D寄存器简 第三节A/D应用示 A/D程序示例—滤 第六章EEPROM模 第一节EEPROM模块介 EEPROM功 EEPROM结 EEPROM特 第二节EEPROM寄存器简 时钟分频寄存器 第三节EEPROM应用实 EEPROM的写入操 EEPROM的擦除操 EEPROM示例程 第七章FLASH模 第一节FLASH模块介 FLASH功 FLASH结 FLASH特 第二节FLASH寄存器简 配置寄存器 安全寄存器 保护寄存器 状态寄存器FSTAT状态寄存 命令寄存器 第三节FLASH应用实 FLASH的写入操 FLASH的擦除操 FLASH的擦写操作注意事 FLASH示例程 第八章CodeWarriorIDE12应 第一节模块介0—100%的主要特点有:1823、每一个通道的输出使能都可以由编程来控制4 输出波形的翻转控制可以通过编程来实现5、周期和脉宽可以被双缓冲。当通道关闭或计数器为0时,改变周6、816SB8910第二节寄存器简EE2图 E寄存每一个的输出通道都有一个使能位Ex。它是用来启动和关闭波形输出的。当任意的Ex位置1,则相关的输出通道就立刻可用。然而实际的波形的输出还取决于时钟源。用法:E7=1;7通道可对外输出波形。E7=0;7在串联模式(CTL寄存器中的CONxx位被设置那么使能相应的16输出通道是由Ex的低电平位控制的(详情 CTL寄存器POLPOL3图 POL寄存每一个输出通道的波形都可以选择是在高电平时翻转还是在低电时翻转。此功能就是由POL寄存器实现的。0用法 POL0=1;0通道对外输出波形先是高电平然后再变为低电平POL0=0;0CLKCLK4图 CLK寄存 SB4、5通道可选用A、SA时钟,2、3、6、7通道可选用B、SB通道。此寄存器 1通道的时钟源设为SA。 1通道的时钟源设为APRCLKPRCLK5图 PRCLK寄存PRCLKA、BPCKB2—PCKB0BPCKA2—PCKA0是对A时钟60。其A6所示:其B7图 时钟A预分频选择 图 时钟B预分频选择CAECAE8图 CAE寄存CAE8个控制位来对每个通道设置左对齐输出或居CTLCTL9图 CTL寄存2—7位为可读、可写位。只有当相应的通道关闭后,才能改变CON67=16、77通道的控制字有用。例如:7通道的E寄存器决定了他们的输出情况,7通道的POL寄存器决定了他们是高电平翻转还是低电平翻转,7通道的CLK寄存器决定了他们两个的时钟源,7通道的CAE寄存器决定了他们是左对CON67=06,7扩大了对外输出脉冲的频率范围。SCLASCLA10图 SCLA寄存时钟SA是通过对SCLA寄存器的设置来对A时钟进行分频而产生的。其计算为:ClockSA=ClockA SCLB寄存器 SCLA寄存器相似,时钟SB就是通过SCLBB时钟进行分频而产生的。其计算为:ClockSB=ClockB TxTx寄存器共有8个,每一个通道都有一个。下面以 T0为 Tx寄存器进行介绍。T011图 T0寄存计数,也不影响对通道的操作。 T0寄存器都会导致计数器复位置0,且其计数方向会的设置来改变输出。当计数器达到计数值后,会自动。只有当通道使能后,PERx寄存器的值就决定了相关通道的周期每一个通道的周期寄存器都是双**对计数器进行写操作(0Ex=0这样就会使输出波形要么是新波形要么是旧波形并不会在两者之12所示的是PER0寄存器。

图 PER0寄存器1)当CAEx=0x周期=通道时钟周期* 2)当CAEx=1时,即进行居中对齐输出时x周期=通道时钟周期*(2*DTYxDTYx8个,每一个通道都有一个这样的占空比常数寄存**对计数器进行写操作(0Ex=0这样就会使输出波形要么是新波形要么是旧波形并不会在两者之当计数值与占空比常数DTY相等时,则比较输出器有效,这时就会将触发器置位然后T继续计数当计数值与周期常数PER相等时,T当PPOL=0时:占空比 当PPOL=1占空比 第三节应用实例1 nsPPOLx=0, x输出频率=10MHz/4=2.5MHzx输出周期=1/(2.5 x占空比=3/4=25%x输出频率=时钟频率 当PPOLx=0占空比=[(PERx—DTYx)/当PPOLx=1占空比=[ 例2 CAEx=1MH(100nsPPOLx=0, x输出频率=10MHz/(4*2)=1.25MHzx输出周期=1/(1.25M)=800nsx占空比=x输出频率=时钟频率/(2* 当PPOLx=0时占空比 当PPOLx=1占空比=[DTYx/应当注意的是,在对DTYx和PERx进行设置时,PERx寄存器的值应当大于DTYx寄存器的值。1 Disable2、选择时钟Selectclock(prescalerandscale)forthe 3、选择极性Select4Selectcenterorleftalignedmode5、对占空比和周期编程ProgramdutycycleandperiodDTYx,PERx Enableused 125%实验设备:HCS1225%500HzJPb80#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"void{E_ //关闭0通 CLK_PCLK0=0;//设A为其时钟源 //ADTY0=0X01;//占空比为25%的波形 //输出为500Hz的波T0=0X00;//0通道计数器清0E_E0=1;//0通道使能,0通道为输出通道}290#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"intvoid{;// T1=0X00;//0,1通道计数器清0CLK_PCLK1=0;//设A为其时钟源 //不对A时钟进行分频PER0=0x4e;//per40000100DTY0=0X27;//dty20000E_E1=1;//0,1通道使能{ //90}#pragmaCODE_SEGNEAR_SEGinterruptvoid{{PER0=0x68;//per26666150DTY0=0X34;//dty13333E_E1=0xff;//0,1通道使能}}各位智能车同仁,加油哦!当然记得支持本店哦!会竭诚为你服务电子设计大赛专营店/ECT第一节ECTHC12HC12标准定时器的基础上增加了一些特点,ABS方面。基准计时器的仍然是一个16位的可编程计数器,其时钟源来自一个预对计数寄存器或者输入捕捉/输出比较寄存器的可以发生在一个时钟周期内对这些寄存器分别其高字节和低字节与将它们作为一个字进行所四个IC168IC8816416四个可选的延迟计数器用于增强输入能力仅支持IP总线上的16位冻结:计时器和计数器均保持运行,直到TSCR($06)的TSFRZ1。等待:计数器保持运行,直到TSCR($06)的TSWAI1。TSCR($06)的TEN位和的MCEN0ECT增强模块的器图谱见表55。每一个列出的寄存器地是其地址的偏移量。总地址是ECT模块的址与偏移地址之和。ECTECT8IC/OC通道、48216位的脉冲累加器(PADOC6TIMICPAITIM模块有4个IC通道与TIM模块相近,当相关引脚出现预定动作时,通过各自的捕捉寄存器TCn记录定时器的值;另外四个IC通道,除了捕捉寄存器48位的PAl0-34个缓冲IC通道IC0-3相关联,并共享输入引脚PORTT0-3。每一个脉冲累加器通道都拥有一个缓冲器H16位递减模数计数器(MDC)ECTIC、PAI寄存器向保持寄存器的传送提供定时控制信号。每当MDC0时,将在给定的时间段内控制ICPAIMDC也可作为具有IC,IC通道组由四个标准的缓冲通道IC0-IC3和四个非缓冲通道IC4-IC7组成,两部分的基本功能都是捕捉外部发生的时刻但是缓冲通道除了IC/OC寄存器TCn外,还设有保持寄存器TCnH,此外还在设置了延迟计数器,用来提高能力。非缓冲通道没有保持寄存器也没有延迟计数器,但每个通道设置了一个2输入端的多路器触发信号可以是来自本通道的输入PORTnPORT(n-4)的延迟计数器输出,使用更始对P时钟(模块时钟)进行计数,当到达设定的计数值后,延迟计数器在其输出,ECTIC对于缓冲的IC通道PT0-PT3,还具有锁存与队列两种工作方式。在锁存方TCnH0或者其他强制锁存命令IC6TIM模块相似。在队列方式下(7-2),TCn与TCnHTCn进入,然后随着下一个捕捉结果的到来移入TCnH,程序可以从TCnH取得结果,然而方式下,PAIIC都可以同时工作,对同一引脚进行记录,前者记录脉冲或者IC工作在两种不同的队列方式PAC保持寄存器也处于不同的工作状态,在锁存方式下,PCnH的加载依MDCICTCnH读命令。可见在ECT模块下,ICPAI的工作联系更加紧密。0,这时,计数值$FF16位递减模数计数器(MDC)IC寄存器和脉冲累加器的值锁存到各自的保持寄存器中。锁存动作可以通过程序设定为周期性的或的。MDC的时钟频率可通过独立的定标器与MDC计数器使用相同的地址,加载时通过特殊的时序实现。每当MDC0PAI寄存器的内容向各自的缓冲寄存器传输。反映了MDC在IC、PAI系统中的作用。ECTECT的自由定时器与TIMTMSK2PR2-的TIM6个选项,这样定时器时钟频率可以更低,周期更长。ECT特有的模数递减计数器(MDC)逻辑结构,其为一个16位的递减计数器MDC($37、$36),其配备了常数寄存器 T和预分频器,分别为其提供定时常数和时钟信号。当寄存器MCCTL中的MCEN=0时,MDC被复位成$FFFF,以避免在计数器启动的初期置位中断标志将MCEN置1,MDC启动并从当前值开始对预分频器输出的时钟进行递减计数,分频系数为1、4、8、16可选,具体由MCCTL中的MCPR1、MCPRO确定(参看后面关于MCCTLMDC有两种工作方式,由MODMCMODMC=0时,MDC为单此计数方式,回到$0000后停止,反之为循环工作方式。无论在那种方式下,当MDC计数回0后,首先置位寄存器MC($27)中断矢量为$FFCC$FFCDMCMCZF1将清除该标志。MDCMDCMODMC=1时,MDC0后还将自动从TMODMC=0时,MDC0T与MDC占用相同的I/O地址($37、$36),由控制位RDMCL决定每次读操作的具体对象。当RDMCL=0/1时,读操作分别返回MDC和T的当前值。对 T的写操作要求在MODMC=1时进行,但MDC并不立即更新,必须等到计数器回0后重新加载,但向寄存器MCCTL($26)中的FLMC位写1可以实现MDC的立即加载同时还将复位预分频器如果MODMC:0,对地址$37$36进行写入操作也将复位预分频器并用写入值立即更新MDC计数器,然后开始一次递减计数,回到$0000后停止。可见在单次方式下可以直 ICSYS($AB)LATQ、BUFEN1时,如果将$0000写入到T和模数计数器,输入捕捉和脉冲累加寄存器将被锁存。将$0000写入到T0MCMCZF标志置ICIC通道分为缓冲与非缓冲两类,缓冲类又具有锁存与队列两种工作方式,缓冲的ICIC通道主要由有效输入边沿检测、延迟滤波、捕捉与保持寄存器TIOS的IOS0=0PT0设置为ICPT0引脚的理。所谓滤波,即启动延迟计数器开始对P时钟(模块时钟)进行计数,当到达预1024P时钟周期。延迟计数结束后,计数器自动清除,输入信号两个有效边ICOVW、ICSYS等相关位的TCNTTCOH,此外还要决定是否设置中断请求标志——寄存器Tl中的COF。一旦COF置位,如果I=1CPU$FFEF。通过寄存器T1向C0F写1将清除该标志位。对于锁存方式和队列IC锁存方式。当设定为该方式时(LATQ=1),有效的引脚将主定时器值到寄存器TC0。在下述情况下,TC0还将被锁存到各自的保持寄存器中,这些情况包括模数计数器自然回0、向模数计数器直接写$0000、向控制寄存器MCCTLICLAT1ICOVWNOVWx0,而这时出现新的捕捉,IC寄存器的内容将被新值覆盖如果发生锁存操作,ICOVWNOVWx1,那么捕捉寄存器和保持寄存器必须处于清空状态才允许写入,否则不能写入。这样可以避免或者转移到保持寄存器前,TC0被覆盖。主定时器值到IC寄存器。寄存器ICOVW中的NOVWx位被清0,而这时出现新的捕捉,IC寄存器的内容将被转移到保持寄存器。空出来的IC寄存器存放新的捕获值。若寄存器ICOVW中的NOVWx1,那么捕捉寄存器寄存器TC0H式下,C3F-C0F7-6所示。非缓冲IC这类通道与TIM模块相似,但是增加了覆盖控制位、处的延迟计数器及引入了双引脚控制(例如PT0)。当PT4引脚出现有效时,主定时器的值可能被记录到IC寄存器TC4ICOVW捕捉时,IC寄存器将用新的时间值覆盖上次捕捉结果。状态。这可以捕捉值在之前被覆盖掉。ECT8PAEN=1PAC3PAC216PAEN3、PAEN0ATIMB则功能相对简8PAC3-016A和通道B各自的逻辑结构与设置。PAC3-PAC0与ICPAC通道时对应引脚必须通过寄存器TIOS设置为IC方式。当TIOS中的IOS0IOSl等于0时PT0/PTl引脚信号进入边沿检测电路, 如果寄存器ICPACR中的PAENl、PAEN0为1,则 0对输入进行计数。各通道的有效边沿可以通过寄存器TCL4单独设置,可选项包括切断、上升沿下降沿和双向边沿延迟时间则通过寄存器DLYCT设置可选项包括0、256512、1024个P时钟周期但所有通道共用一个延迟时间不能分别设置。3具有溢出中断功能,但2没有,当3从$FF回滚到$oo时,寄PBPBOVF1PBCTLPBOVI=1,同时过程序向PBOVF1将清除该标志。PAC3-PAC0通道设置了饱和功能,当ICSYS中的PACMX=1时,该功能启动,这时如果某个通道计数器x计数达到$FF,那么x将停止对后续的计数,而保持在$FF,因此发现某个x=$FF说明其计数结果大255。ICSYSBUFEN=1PAlH、PAOH、0的累计结果,传送控制信号由MCCTL中的ICLAT或递减计数将$0000ICLAT1三者之一发生时,0。脉冲累加器的队列方式当LATQ=0(队列方式)时只在对应的IC通传送,但当保持寄存器非空时则覆盖。覆盖控制通过寄存器ICSYS实现。2、16位通道PACTLPAEN=1PAC3、PAC2不复存在,3、2A(PAl)TIM保持一致,PAlPT7,过程与TIMPAI完全相同。3、16位通道PBCTLPBEN=1PACl、PAC0不复存在,1、0BPT0FT0的边沿检测和不同。通道B只有计数方式,其他与通道A类似,读者可参看第6章的有第二节ECTIC/OC选择寄存器寄存器偏移量 复位后 认为$00,TSCRTEN0I/O方式,将TEN置位后各个通道进入ICOCTIOS1。设置成OC的通道其引脚具有降功率驱动功能,设置成IC的通有内部上拉功能,但上电后均处于关闭状态,可以根据需要启输出比较通道7寄存器寄存器偏移量 复位后 OC7M决定哪些通道将处于OC7的管理之下。OC7M中的各位与PORTT口寄存器的各位一一对应。OC7MTCTL1TCTL2OMn和OLn设定的引脚动作,若OC7M中某个位置1,就会相应引脚上由OMOL设定的动作。寄存器偏移量 复位后 OC7M对于其他OC个值保存在寄存器OC7DOC7OC7Mn=1,OC7Dn送到对应引脚。OC7DPORTT7比较成功OC7M176-0的动定时器寄存器寄存器偏移量:$0004-复位后 在普通模式下写入。TCNT应按字,分别高、低字节可能得到错误在特殊模式下,TCNT可写,但因为写操作与预分频器时钟不同步,TCNT寄存器偏移量 复位后 待、BDM方式下的行为,还包括标志的管理方式。其各位的意义如下:IC/OCTEN置位。如果因为某种原因定时器没有使能,脉ECLK/64ECLK/64是由定时器的分频器产0:主计时器、包括计数器均被,有利于降低功耗1注意定时器中断不能用于使MCU0:在中断等待模式下允许MCU1:当MCU进入中断等待模式时,计时器。01:在冻结模式下计时器和计数器,用于仿真调试。注意:TSFRZ不能停止脉冲累加。1Tl($0E)中的各位,读输入捕捉寄存器或者写输出比较寄存器会自动清除相应的标志位CnF。对于T2($0F)中的各位,任何对TCNT寄存器($04、$05)的均会清除TOF标志;任何对3和2寄存器($22,$23)的都会清楚清除PA寄存器($21)PAOVFPAIF位。任何对1和0($24,$25)的都会清除PB寄存器($21)中的PBOVF位。这种方式的好寄存器偏移量 复位后 7的输出比较。01 复位后 复位后 复位后 复位后 TCTLl-TCTL4ICOC16个二进引脚的何种动作,包括IC的响应。各个控制位的作用如下:OMnOLn8对控制位(OM7OL7-OMO、OL0)编码后用于指定通道比较成功后的输出动作(参看表7-3)。如果每对当中至少有一个为1DDRT中的对应位无关。0时,OC与输出引脚断开。表7- 输出比较动作设0001OCn10OCn11OCnEDGnB、EDGnA8对控制位(EDG7B、EDG7A—EDGOB、EDGOA)对输入捕捉的边沿检测电路进行设置(7-4。当二者0时,IC与输入引脚断开。7-400捕捉011011OMn、OLn指定的引脚动作有效,OC7M中的对应位必/OC0IOSn:1、OMn=0、OLn=0OC7MC7M7、OC7M00寄存器偏移量 复位后 TIE寄存器中的位与状态寄存器T1中的标志位相对应。如果将TIE中寄存器偏移量 000复位后 0:中断被。1:当TOF70:计数器复位,计数器自由计数17如果TC7=$0000并 T将继续保持$0000如果TC7=#FFFF并 T从$FFFF到$0000之间被复位TOF将不被置位PR2,PR1,PR0:表7- 分频因子选Prescale000100120104011810010 1、 T 寄存器偏移量 复位后 00000T 寄存器偏移量 43210000000复位后 所示的T1、T2为中断标志寄存器,其中T18个IC/OCCnF=1IC/OC通道有动作。T2只有一个标志位TOF,作为计数器的中断请求标志。当TOF=1时说明计数器溢出。10不影响该位的状态。当TSCR中TFFCAICOC($10-$1F)将自动清除该通道标志CnF,对TCNT的任何将自动清除T2。CnF:IC/OC0:上次清除标志以来,IC/OC1:IC/OCICSYS($2B)TFMOD位和$80写入到T2TMSK2中TCRE控值捕捉到寄存器TCn,随后程序可以和处理;对于OC(输出比较)通道,程所指定的输出动作。定时器模块共有TC7-TC0816位IC/OC寄存器。IC$0000 寄存器偏移量:$0010-复位后 寄存器偏移量:$0012-复位后 寄存器偏移量:$0014-复位后 寄存器偏移量:$0016-复位后 寄存器偏移量:$0018-复位后 寄存器偏移量:$001A-复位后 寄存器偏移量:$001C-复位后 寄存器偏移量:$001E-复位后 寄存器偏移量 0复位后 入部分才进行引脚信号检测,同时8位脉冲累加器PAC3、PAC2被。0:PAI系统PAI,它只能工作在计数方式0:计数模式1:门控时间累加模式。这时TEN1PEDGEPAMOD的状态 (计数模式)时 (门控时间累加模式)PAIF标志。PAIF标志。7-6。7-6000110111PAOVF置位时申请中断。 寄存器偏移量 000000复位后 PAI子系统可能产生两种中断累加器溢出和中断当T溢出时,PAI=1TSCR寄存器中的TFFCA=1时,T将清除PAPAOVFPAIFPA T没有回滚到$0000。 T从$FFFF回滚到$0000。将$02写入到 将自动清除该位1:在输入引脚检测到有效边沿。在计数模式下,选定的有效边沿在计1,将$01PA将自动清除该位. 654321复位后 654321复位后 654321复位后 654321复位后 0是四个8位的寄存器,PAC3、PAC2级 当l从$FF回滚到$00,寄存器PB($31)中的PBOVF中断标志置1。正确的寄存器方式是在单个时钟周期内完成,即采用字读写指令。分开8位或低8位,寄存器偏移量 复位后 该寄存器主要控制MDCMCZIMDC0MCZF置位时,是否申请中断取决于MCZI。0:中断1MODMCMDC的工作方式,即选择单次或模 0 模数计数方式,当计数器递减回0后,加载设定值,并开始新一注意:为保证正确运行,修改MODMC位之前,必须清除MCEN位使模数RDMCL:模数选择位。该位决定读模数寄存器返回的内容01ICLAT:捕捉寄存器强制转移控制位。当输入捕捉工作在锁存方式时(ICSYS($2B)LATQ和BUFEN位置位)1立即强制将捕捉TC0-TC38位脉冲累加器的内容转移到保持寄存器,同时相000。FLMC:模数计数器强制加载控制位。该位只在模数递减计数器允许时(MCEN=1)100。0:模数计数器运行1MCPR1、MCPR0=00、01、10、111、4、8、16。寄存器偏移量 0000复位后 PBEN=1AlEN无效。当PAxEN=1时,对应的8位脉冲累加器通道x使能,反之则。寄存器偏移量 复位后 NOVWx:1,对应结果在被或者转移到保持寄存器前丢失。寄存器偏移量 复位后 可能一次可写(testmode=0时)但是当testmode=1时,写总是被允许的。该寄存器用于对ICPACSHxy:x、y x、y1:通道x的边沿检测电路及延迟电路同时作用于x、yy通道上也与x通道相同的动作。TFMOD:标志设置方式控制位,寄存器ICSYS($2B)中的TFMOD位与寄存器ICOVW($2A)一起使用可以使定时器的中断在捕捉到两个后才产生而不是每次捕捉都产生中断两次捕捉的结果分别存放在捕捉和保持寄存器中。如果在队列方式下将TFMOD置1,同时NOVW置位且某通道n的捕捉和保持寄存器均为空白状态那么第一个捕捉将首先用主定时器值更新对应的输入捕捉寄存器TCn,下一个发生时,TCn中的数值将首先被转移到保持寄存器TCnH,然后 更新TCn。这时,CnF中断标志才被置位。 当对应的输入引脚满足预定的捕捉条件时,寄存器T 志C3F-COF将被相应置位。1:如果在队列方式下(BUFEN=1且LATQ=0)C3F-COF只C3F-COF的置位条件与TFMOD:0时相同。PACMX:8位脉冲累加器饱和控制位,即选择计数到$FF后是否保持不0:正常工作,计数达到$FF后,下一计数使其回到$oo1:计数达到$FF1BUFENIC0:IC及PAC的保持寄存器1:ICPACLATQ设定,当位LATQ:BUFEN=1时,IC和PAC的0:IC1:IC0,或者向计数器T80。寄存器偏移量 000000复位后 16位的脉冲累加器B(PACB)8PAClPAC0级连后形成的。当PBEN1时,PACB启动,它与IC0共享同一个输入引脚。PBEN:脉冲累加器BTENPBEN=1,脉冲累加器BA不同。 脉冲累加器B。8位的PACl和PAC0可通过各自的允许位(在寄存器ICPACR中,地址$28)使能。PBOVI:脉冲累加器B0:PBOVF申请中断 当PBOVF=1 寄存器偏移量 0000000复位后 PBOVF83(PACl)从$FF回滚到$001。将$01PB清除该位。当寄存器TSCR($06)中的TFFCA位置位时,l 654321复位后 654321复位后 654321复位后 654321复位后 PAn提供锁存功能。 复位后 MDC启动后,T用来对定标器输出的时钟进行递减计数,也可作为字节分别可能得到错误的结果。如果MCCTL中的RDMCL=0,读TICSYS($2B)LATQ、BUFEN1时,如果将$0000写入到T和模数计数器,输入捕捉和脉冲累加寄存器将被锁存。将$0000写入到T0MCMCZF0后重新加载;如果希望立即加载,MCCTL($26)FLMC位可以将新值立即加载到计数器。如果模数方式未允许(MODMC=0)0定标器,并用写入值立即更新计数0 寄存器偏移量:$0038-复位后 寄存器偏移量:$003A-复位后:0000000TC2H寄存器偏移量:$003C-复位后:0000000TC3H寄存器偏移量:$003E-复位后:0000000这些寄存器用于为相应的捕捉寄存器TC0-TC3提供锁存功能。定时器与I/O共享引脚的说明定时器与PORTT8个I/O及通用I/OPT4-7由IC/OC及通用I/OPT0、PT716A、B6章TIM模块有关说

(1)停止(STOP)PCLKECLK(2)调试方式(BDM)TSBCK=1,定时器保持运行。(4)正常(Normal)TEN=0和MCEN(MCCTL中)=0,定时器(5)(TEN=0):定时器和MDC停止,但寄存器可。ECLK/64时钟被。(6)(PAEN=0):所有的脉冲累加器动作停止,但寄存器可以(8)PAEN:1:16位脉冲累加器A激活。(9)PAEN:0:832可以激活。(10)PBEN:1:16位脉冲累加器B激活。(11)PBEN:0:810可以激活。第三节ECT12void{ = =1; =1; }#pragmaCODE_SEGNEAR_SEGvoid{T = }#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"intcount=0;floatf;doublef1= voidmain(void){ //pt0{;}#pragmaCODE_SEGNEAR_SEGinterruptvoid{ }interruptvoid{}6doublecount,counter;voidmain(void){{;}#pragmaCODE_SEGNEAR_SEGinterruptvoid{ }7试验目的:利用通道7输出比较中断产生脉冲周期,利用通道6、4输出比#include<hidef.h> /*commondefinesandmacros*/#include /*derivativeinformationdoublecount,counter;voidmain(void)T {;}#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"longcounter=0;void{{;}#pragmaCODE_SEGNEAR_SEGinterruptvoid{{}{}{}{} } /SCI第一节SCISCI是一种采用NRZ格式的异步串行通口,它内置独立的波特率产生SCI89个数据位(其中一位可以指定为奇或偶SCI是全双工异步串行通口,主要用于MCU与其他计算机或设备之间的通信,几个独立的MCU也能通过SCI实现串行通信,形成网络。SCI1SCIBDHSCIBDL16位的波特率控制寄存器。SBR09-19-1 位SCI的波特率由下述决定:其中BR是波特率常数,设定时写入到SBRl2~SBR0。复位后,在TERE1—SBR0=0时,波特率发生器也会被关闭。9600。BTST、BSPL和BRLDSCI9-3。其各位意义如下:9-3SCI 位M、LOOPS:SCI回送模式/单线模式允许位,的输入由RSRC位选择确DDRS位(SI/O方向控制位)控制。要使用回送或者单线模式发送必须同时允许工作在LOOPS=1期间如果与TxD1TxDSCI的信号;如果方向控0RSRC=0,TxD引脚就变成高电平(空闲状态),反之若RSRC=1,TxD引脚就变成高阻态。、0:SCI1:SCIRxDRxD引脚可以用作通用I/O0:在等待模式下允许1:在等待模式下RSRC:信号源选择位,当LOOPS=1时,RSRC决定的内部反馈0:的输入在内部连接到发送器输出(并非TxD引脚)1:的输入连接到TxD引脚M:方式选择位(选择字符帧格式)0:1个起始位,8个数据位,11:1个起始位,89个数据位,10I:地址标志(1)位以及停止位前面的任何“1PE0:奇偶校验1019-4SCI 位TIE:发送中断允许位,清0时TDRE产生中断,若置1则允许TDRE位1时产生SCI中断请求。TCIE:发送结束中断允许位,清0时TC产生中断,若置1则允许TC位时产生SCIRIE:接收中断允许位清0时RDRF和OR产生中断若置1则允许OR1时产生SCIILIE:空闲中断允许位,清0时IDLE产生中断,若置1则允许IDLE位时产生SCITE:010:发送器1:允许SCI发送部分工作,TxD引脚(PSl/PS3)RE:0:1;允许SCI工作。RWU:唤醒控制位RWU:唤醒控制0:SCI正常工作,发送器就不停地发出“00,当前的全“0”帧发送结束后,TxD引脚将变成空闲状态。如果SBK开个“00:个连续的“0该寄存器反映SCI运行过程中的各种状态,包括发送器和的状态信息和的出错信息,见表9-5。9-5SCI 位读SCI硬件处于某些状态时,SCISR1中的对应位置位,并通过特定的确认SCISR1SCIDRL(RDRF、IDLE、ORNF、FEPF)SCISR1SCIDRL将清除与发送有关的标志位(TDRE和TC)。:1。0:SC0DRTC:发送结束标志。该位在发送器空闲(无发送动作)SCISRl,然后写SCIDR将清除该位。01RDRF线变为活动,然后重新变成空闲以后,IDLE1。0:SCIDR1:SCIDRIDLE:空闲标志。检测到RxD端空闲(收到10或者11个以上连续的到RDRF置位(RxD),IDLE10:RxD1:RxD0:无1:出现错误NF:RDRF在同一个周器内置位,但如果同时或已经出现错误,该位不置位。01寄存器SCISRl和SCIDR将清除FE标志。010PF:(PE=1)时,该标志才有意义。所要求的奇偶性由SC0CR1中的PT019-6SCI 位01011113140:单线模式下TxD1:单线模式下TxD声或波特率匹配错误引起)时,该位清0。该位由前端控制,SCISCIDRL访RDR B 位读000000写 B 位读000000写9位。ROT07-0,读操作返回只读寄存器RDR的内容,写操作写入只写寄存器TDR。第二节SCIV2.025V上电后建立新建文件,在main.c中输入下面程序并写如3ASCII码或十六进制的形式(可选)显示出来。4#include /*commondefinesandmacros#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"bytevoidSCI_Transmit(bytedata){while(!SCI0SR1_TDRE);//SC0DR处于忙状态,等待。}voidSCI_Receive(byte{}void{SCI0BDL=0x34;//8M9600SCI0CR2=0X2C允许中断,允许发送,允许接受{ }}#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"bytevoidSCI_Init(void){}voidSCI_Transmit(bytedata){while(!SCI0SR1_TDRE);}voidSCI_Receive(byte}voidprintf(char*str){}}N0Choose(bytedata){casecasebreak;casecasecase}}voidmain(void){ etolipu'sfootball-quizsystem!\n\r");printf("choosetheproblemnumber(1to5)\n\r");}}voidprintf("\nyouareRIGHT.\nchoosethenextquestion\n\r");}voidWrong(void){printf("\nyouareWRONG.\nchoosethenextquestion\n\r");}intNO1(void){printf(".whichcountryisthechampionofWorldCupat2006?\n\r") casecase'B':}}intprintf(".whichcountryhavethemostchampionsofWorldCup?\n\r"); casecase'A':}}intprintf(".whichclubisthechampionofSpanishPrineraDivisonat06-07\n\r"); B:RealMadrid\n\r");casecase'B':}}intprintf(".whichclubisthechampionofItalianSerieAat06-07\n\r");printf("A:InterMilan casecase'A':}}intprintf(".whoistheFIFAWorldyerat2006\n\r"); casecase'A':}} /SPI第一节SPISPI串行设备接口SPI主要用于同步串行通信它使MCU具备了与设备以可连接的设备包括简单的移位寄存器(例如74LSl65用作并行输或74LSl64用作并行输出口等)、LCDAID转换器的接口。MCU8种个厂家生产的多种标准的串行接口器件连接。在串行接口中,数据和时SPI格式中,时钟不包括在数据流中,它必须是另一个独立的信号线。MC9S12DP256的SPI可定义为主机或从机方式,主要特性如下:(1)全(5)4MHzMCU总线频率=8MHz31.25kHz。(6)4MHz0-4MHz。可程控设置位时钟极性相位和数据位传送顺序即可选或低位多主机系统控制保护中断标志写标志保护PLL、D/A、锁存器、LCD显示驱SPI一个主MCU和一个或者几个从MCU几个MCU相互联接构成多主机的系统(全分布式系统)一个主MCU和一个或者几个从I/O一个其他主微机系统和一个或者几个从MCU(一)SPlSPISPI8位移位寄存器、时钟控制逻辑、引脚控制逻辑、SPI控制逻辑和分频器以及波特率寄存器SPIBRSPISR1SPICR1、2SPICR2、数据寄存器SPIDR51所示。SPI的是一个8位移位寄存器。发送或接收时,引脚的数据流在时钟信号SCKCPU通过SPIDRSPIDR将直接进入移位寄存器,即所谓单缓冲;而接受到的数据则通过读数据缓冲器到达SPIDR证移位寄存器正在接收时,CPU能正确上一个收到的字节。外部主器件通过SCKSPIBD的设定SPICR1、SPICR2SPIBRSPI存器SPISR保存SPI的工作状态,包括传送结束、写和模式错误等。SPI0PSPS7-PS4引脚,SPI1与PPPP7-PP4引脚,SPI2与PP口共享PP3-PP0SPII/O变为SPI仍可用作通用I/O。1SPISPI对于SPI0,当SPE=1即SPI系统使能时,SPIPS口的四个引脚:串行位和低有效的从机选择线SSSPII/O线PS7-PS4I/ODDRSPS口引脚的数据方向,但SPI系统使能后,DDRS仍然参与对PS7-PS4引脚的控制,它与SPI控制从机选择信号SSMSTR=0时,MCUSPI被设置为从机方式,其SS引脚为自身工作允SCKMISO引脚为高阻抗状态。当SS0时,SPISSOE的控制,固定为器件选择输入引脚。若MSTR=1,SPI处于主机方式,其SSSS0,外部从机在SCK的作用下接收或发送数据。当SS输出逻辑1时,从器件被。每一次传送时,SS输出自动变当DDS7=SSOE=1时,SS引脚为SPI系统的工作方式错误检测输入,0MCU将自身SPIMSTR=1,SPI将会发现SS已经为逻辑0,表示已经存在主机,于是发生了工作方式错误,SPI自动置位MODF标志,并在SPIE=1时申请中断,通知CPU处理。DDS7=1、SSOE=0SS引脚为通用输出引脚,与SPI系统无关。DDS7=0、SSOE=1SS引脚为系统保留功能,用户不能使用。串行数据线(MISO、MOSI)。MISO为主入/从出线,MOSI为主出/从入线,它们用于串行接收和发送数据;数据高低位传送顺序由LSBF选择。每个MOSI、MISOSPICRMSTR1时,SPI设置为主机方式,其MISO、MOSI分别是数据输入/输出线,这时主机从MOSIMISO引脚输入数据。当器件设置为从机方式MISO变为数据输出线,而MOSI成为数据输入线。在多主机系统中,无SCK引脚、MISO引脚和MOSISPI的SCK引脚输出,送到所有的从SPI的SCK引脚,主SPI的数据从其MOSI引SPIMOSISPIMISO输出,送到主SPI的MISO引脚。串行时钟(SCK)SPI设置为主机方式时,SCK信号来自内部MCU时SCKSCK8个SCK时钟脉冲。对于从机,只有其SS引脚为逻辑低电平时,才接收SCK时钟信SCKSPISPI,都是在SCK信号SPIBRSPI数据与位时钟之间的传送定时关系必须相同(由SPICR1的CPOLCPHA位控制)。DDRS4-DDRS6MISO、MOSISCKSPI的双向模式(MOMI或当控制寄存器SPOCR2中的SPC0=1时,SPISPISPIMSTR控制位决定,在主模式下MOSI成为双向引脚MOMIMISOSISO,引脚数DDRS1所示。在使用双向模式的系统中,所有需SPI作为主器件或从器件,均有一引脚重新获得通用I/O功能。1SPIMCU将CPOL1相当于在时钟信号中串入一个反相器。除此以外,SPI还可以选择MISO、MOSI、SCK分别直23CPHA0、1时,单个字节数据传送的时序。由图CPOL=O、LSBF=O2CHPA=O3CHPA=12中,主机的SS0MOSI输出数据最高MOSI9-5类似。SPI向主机发送数据,这个过程就好像分别位于主从器件的两个816位寄存器。当进行数据传输时,该寄存器在SCK8位,于是数据在主从器件之间实现了SPIDR寄存器的数据成为送往从器件SPIDRSPISPICR1SPE=1时,SPI系统使能。SPICR1中的相位控制位CPHA和极性控制位CPOL用于决定当前的SPI系统使用的时钟格式。CPOLCPHA180度,在主机方式中,CPUSPIDR时(SPIDR8位移位寄存器中),起动一个传送过程。SCK8个位传送时钟,MOSI脚串行移位输出数据到从机SPI。同时,数据也由从SPI通过MISO脚串行移位输88SPIDR,此后,CPU可读出它的内容。每完成一次数据传送,SPRF状态位置位,读SPISR(SPRF为1时),SPIDR,将SPIF位清0。在从机方式中,CPUSPIDR写入需传送到主机的数据,该数据从内在SCK的第一个跳变沿采样输入,在另一个跳变沿将数据的次输出,当CPHA=1且SS=0时,SCK引脚的第一个跳变沿启动从机移位,将数据的最位置1,这时读SPSR随后SPIDR将SPRF位清0。SPIDR起动一次发送过程。对于主机收、从机发的场合,也由主机写入SPIDR起动一次传送过程,不过写入SPIDR的数据传送,对从机若写入SPIDR,对数据的传送无影响。(二)PSPISPIBR寄存器中的SPPR2~SPPR0和SPR2~SPR0共六位控制。波特率分频因子的表达式为:(三)CCRI=1CPUSPOSR寄存器、然后读或写SPI数据寄存器将清除标志位SPIFSPOSR寄存器、然后写SPI数据寄存器将清除标志位MODF。第二节SPISPI的工作方式主要由该寄存器设置,包括主从方式、单线双向模式选择,2。其各位意义如下:2SPI B;读操作:任意;写操作:任意位SPIE:SPI SPI中断。 每次SPRFMODFSPE:SPI0:SPI内部硬件完成初始化,但SPI系统处于低功耗的状态1:SPI0:SPTEF1:SPTEFMSTR:主、从模式选择位,用于设定本机SPI以主器件还是从器件出现01CPOL、CPHA:SPISPI的时钟格CPOL=0SCKCPOL=1,SCK9-69-7。SSOE:从器件选中输出信号SS)SS输出功能只有在主模式下通过置位SSOEDDRS7实现。 允许SSDDRS71LSBF=0读写操作正常进行,即(MSB)在第7位(BIT7)。对于仅由MC9S12DP256构成的互连系统,只要各个SPI的LSBF相同,对传输结果无影响,但在与设备或器件连接时,SPI必须根据该设备或器件所要求的位顺序正确设置LSBF。0:数据传输(MSB)在先1:数据传输低位(LSB)3SPI 位MODFEN:0:模式错误标志位置位0:双向模式下输出缓冲。10:等待模式下停止SPI1:等待模式下SPISPC0:MSTR该寄存器只有六个有效位SPPR2~SPPR0和SPR2~SPR0SPI系统工作时钟SCK09-11。4SPI 位BaudRateDivisor(SPPR1SPI09—12。其各位意义如下:5SPI 位读SPIF:SPI中断请求位,在数据传输过程中,SPRF8SCK周期后置位,通过读SPISRSPIDR0。01SPTEF当SPIDR1。同时如果SPTIE位1,则向CPU发出中断请求。读SPISR然后写SPIDR将清除该位。0:SPI1:SPIDDRS7=1时,PS7是通用输出或SS输出引脚,而不是于SPI系统的SS输入引脚,在这种特殊情况下,模MODF01SPI6SPI后位8位寄存器是SPI6。对该寄存器进行读操作时所的输入部分是双缓冲的但写操作则直接将数据送到TTL逻辑电路:或者只有接TTL逻辑电向SPODRSPODR中的第三节SPI利用单片机与显示驱动MC14489的SPI通讯实现计时器功实验设备:HCS12编程器、开发板、MC14489驱动、数码本例子利用HCS12单片机与MC14489构成的具有串型通讯功能的电路实#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"/*变量intn1,n2,n3,n4,n5,j=0;wordt1,t2,time;byte/*SPI初始化*/voidSPIvoid) DDRS=0x60;S5,S6}void }voiddelay(wordtime){}}}/*14489的配置寄存器*/voidDanZiJie(void){ }voidSanZiJievoid}voidmain(void){}}#pragmaCODE_SEGNEAR_SEGinterruptvoidPortJISR(void){ //Jcase0x01:mode=0; for(;;){}}}99999s计时停止,记录时间,按下Reset /A/D第一节A/DA/DA/D转换器精确转换。A/D、控制和显示。在工业控制和及许多其他领域中,A/D转换器是不A/D12A/D8个输入通道,使用时应以标ATD0ATD1标识。2.1A/D模块的功能结构,这个功能模块被虚线划分成为图示所示的虚线所的三个部分:IP总线接口、转换模式控制/寄存器列表,自定义IPA/DI/O的目的,HCS12A/D8/107us10-位单次转换时间ATD模块有模拟量前端模拟量转换控制部分及结果等四部分组成。8个16位的器和反映工作状态的若干标志位。第二节A/D中,ATDCTL2,3,4,5为常用的控制寄存器,ATDSTAT0,1为常用的两个状态控制器,ATDDR0-7为八个结果寄存器。ATD工作时,由CPU发出启动命令,然后经采样、模数转换,最后将结果ATD个转换序列能包含1-8最多8次转换,由控制寄存器ATDCTL3中的S8C/S4C/S2C/S1C等位来决定。过一次启动命令快速浏览多个信号,中间无需CPU,节约了CPU时间。ATD模块暂停。SCFATD05ATDCTL5实现的。ATD转换所需要的时钟周期数是固定不变的,但是采样时间和时钟频率可ATDCTL4在一定范围内选择,因此转换时间也可以选择。ADPU-A/D电源使能/1= A/D模块上电0 AFFCA/D快速转换完成标志位1=快速标志位顺 每次结果寄存器自动0=正常标志位顺 需要手动对状态标志位AWAIA/D1=0=等待模式下,转ASCIEA/Dxx00xx01001X011X101X111XFIFO–结果寄存器1=0=FRZIgnoreIReservFinishconversion,thenfzeImmediaSRES8A/D1=80=105A/D控制寄存器中的PRS[4:0]2PRS[4:0]0,注:设置PRS[4:0]时,A/DClock255除

A/D2A/D时钟4A/D时钟8A/D时钟16A/D时例(2MHZA/D时钟频率InitialSampleTimeProgrammedSampleTimeResolution=2+2+10=14A/D=例转换时间InitialSampleTimeProgrammedSampleTimeResolution=2+16+10=28A/D

Address000=Chan1 =ChanDJM–1=0=SCAN–1=0=DSGN–1=0=MULT–多通道采样模1=0=采样通道的数量取决于1

AddressSCF-(SCAN=在连续转换模式时,当第一次转换完成后置位(SCAN=当(AFFC=0),写1ETORF- 如果在转换过程中高/低电平出现,置位–当结果寄存器在读出之前已经被写入时,置位(CCF没有)CCF7CCF0–独立通道转换完成标志位每个相应的通道转换结束后置位,A/D,AFFC位不同时的情况第三节A/DADPU1ATD#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"int//{ATD0DIEN=0x00;//数字输}{ }void{ //ADDDRB0xFF;//portB ={ PORTB //B}}A/D程序示例—12中A/D系统启动一次A/DA/D转换结果。#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"longa,b,c,d;longm,n,sum;longmax();longmin();//{ATD0CTL5=0x86;//5ATD0DIEN=0x00;//数字输入}{ }{ADValue1=ATD0DR1; //1}{ADValue2=ATD0DR2; //2}{ADValue3=ATD0DR3; //3}void{ //ADDDRB=0xFF; =0x00;{ }}时A/D12A/DA/D读入数据。为了不浪费CPU处理程序。CCF为标志字节,它的最为1,表示完成一次A/D转换,由程序状态;=1表示为等待定时时间到,以便下次采样。#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"intADValue0;unsignedinti=0; //{ATD0CTL5=0xa0;//5ATD0DIEN=0x00;//数字输入}{ }void{ =7; //prescalefactoris8,busclock/128=8Mhz/8 =1; //timeroverflowinterruptenable =1; //timerenable //ADDDRB=0xFF; =for(;;){}}#pragmaCODE_SEGNON_BANKED#pragmaTRAP_PROCvoid{{{ PORTB=(int)ADValue0; //在B口显示转换值 }} = //cleartimeroverflow}#pragmaCODE_SEG /EEPROMMC9S12DP256B内部同时集成了两种非易失器FLASH和EEPROM,前者用于程序,后者可用来保存组态、设置等关键数据,它们均为防止误操EEPROM的功能、特点及使用,包括第一节EEPROMEEPROM、MC9S12DP256内部集成了4KB的EEPROM器具有单块和整块擦除、单总线周期内完成EEPROM是一种非易失性介质具有稳定性好的短时间不变的内容(如环境参数、产品序列等。EEPROMRAM一样地EEPROMRAM多的时间,即需要一段特定的程序来写EEPROM。、EEPROM$0000~$0FFF是4KB为EEPROM的空间,复位时默认的EEPROM地空间,故EEPROM1KB空间($0000$03FF)看不到了,所以实际上用户可以的是$0400$0FFF的3KB的空间。EEPROM设有保护机制,用户可以通过编程$0FFD,在普通模式下设定需要中进行选择,相应的保护区在$0XXX$0FFFF。由于设定保护地址所的地址也在所保护的区域中,所以一旦用户在普通模式下对$0FFD的内容进行了编擦除的效果。要改变保护区的设定,需要单片机工作在“特殊模式”下,EPROT寄存器,而一旦在特殊模式下取消了属性,该区的内容也就被擦EEPROM第二节EEPROM0FCLKDIV之前,擦写和编程eeprom将引起进入错误和命令不被执行。1PRDIV8:8分频控制。-晶振时钟为EEPROM-8后,为EEPROMEDIV[5:0]PRDIV8和EDIV[5:0]150~200KHZ。注意:在对EEPROM进行操作之前,必须对时钟进行初始化EEPROM12.8MHZ,PRDIV81位,CLK=OSCCLK/8。反之,PRDIV8置零,CLK=OSCCLK。EL/(EI[5:0]+11CCIE—0EPOPENEEPROM编程/1:全部EEPROM或是部分EEPROM0:所有EEPROM块保护。EPDIS:EEPROM部分保护位1:不作部分保护EEPROM。0:EEPROMEP[2:0]——EEPROM“11:缓冲准备好接受新令0CCIF—命令完成中断标志,表明不再有未决的指令。该标志通过硬件写入10PVIOL:保护标志。表示在保护地址空间内进行了擦写或编程操作,在无影响在CBEIF后或者当CCIF时写入新的有效命令可以使保护错误标志。1:保护已发生0BLANK—表明在响应一条擦除校验指令后EEPROM块已被完全地擦除1=EEPROM被完全擦除0EEPROMACCERR—1=0=ACCERR:进入错误标志。表示进入EEPROM块或者与定义命令序ACCERR在初始化ECLKDIV之前,向EEPROM向EEPROM在CBEIF1时,向EEPROM在执行前一个编程或擦除命令之前,向EEPROM在向EEPROMEEPROMECMD在执行前一个写好令之前,向ECMD寄存器写入第二个命令在对有保护的EEPROM空间,向ECMD在对有保护的EEPROM空间,向ECMD在写完命令寄存器后,接着写其它EEPROM寄存器,而没有写ESTAT寄在命令行列已开始或擦/写命令已执行的同时从EEPROM块这样ERASE:EEPROM 在MASS=0时,区域擦除;在MASS=1PROG:EEPROM 1:EEPROM编程。 MASS01注意:只有在ERASE和MASS1时,才能实现全部擦除。有关寄存器ECMD令字的设置:第三节EEPROMEEPROMECLKDIV检查EEPROM时钟分频寄存器(ECLKDIV_EDIVLD)是否已将编程的数据赋值给要编程的EEPROM对EEPROM命令寄存器(ECMD)写入编程命令ECLKDIV检查EEPROM时钟分频寄存器(ECLKDIV_EDIVLD)在要擦除的EEPROM对EEPROM命令寄存器(ECMD)写入段擦除命令EEPROM#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dp256.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dp256b"#defin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论