下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CPU寄存器累加器 (A) 索引寄存器(H:X)堆栈指针(SP) 16位地址指针寄存器指向下一个有效的堆栈位置。堆栈可以放置在包含RAM的 64 Kbyte地址空间的任意位置,其大小可以为任何RAM中的有效值。堆栈用来自动保存子程序调用的返回地址、中断中CPU寄存器和局部变量的返回地址。AIS(立即加堆栈指针,堆栈处理指令)指令对SP加上一个8位有符号立即数。这经常用于对堆栈中的局部变量分配和取消分配空间。向上生长型(如51单片机)特性:先加后压,先弹后减 向下生长型(飞思卡尔单片机)特性:先压后减,先加后弹 程序计数器(PC) 条件代码寄存器(CCR) 寻址模式寻址模式定义为CPU访问操作数
2、和数据的方法。对于BRCLR,BRSET, CBEQ和DBNZ,在指令设置表格中列出的寻址模式是用于访问测试操作数的寻址模式,访问分支目的则需要使用相关寻址模式。 S08的指令的寻址方式可以分为以下几类:1. 隐含寻址(Inherent)2. 立即寻址 (Immediate)3. 直接寻址 (Direct)4. 扩展寻址 (Extended)5. 变址寻址 (Indexed) 无偏移量,8位,16位偏移量6. 相对寻址(Relative)7. 存储器到存储器寻址方式(Memory to Memory)存储器到存储器的寻址方式1. 立即数到直接寻址2. 直接寻址到直接寻址3. 自动变址寻址到直接
3、寻址4. 直接寻址自动变址寻址_中断系统微机的输入输出方式一无条件传送方式二查询传送方式(条件传送方式)查询式传送的优点:通用性强,硬件结构简单。 缺点:查询时占用CPU,效率低。 三中断传送方式串行通信与并行通信 并行通信:数据的各位(bit)同时进行传送。 优点:传送速度快 缺点:需用传送线多,不适于远距离传送, 串行通信:数据的各位逐个按顺序传送。 优点:需用传送线少,适于远距离传送。 缺点:传送速度较低。 串行通信的传输制式单工:数据只能单方向传送(发送或接收)。 半双工:数据可以双向传送,但只有一个通信回路,故不能同时发送和接收。 全双工:数据可以同时双向传送,具有两个独立的通信回路
4、。 异步通信与同步通信异步通信:通信双方无统一的时钟脉冲控制。数据以“帧”(frame)为单位传送。 帧格式:起始位、数据位、奇偶校验位、停止位。同步通信:传送双方有统一时钟脉冲协调同步。数据以帧为单位传送。 帧格式:同步字符、(1-2个,1个一般用ASCII码SYNC-16H,2个一般用国际通用码EB90H) 数据字符、(个数不限,一般用ASCII码)、校验字符(1-2个) 波特率:每秒钟传送的二进制代码的位数,单位为bS,即bps 串行通信协议(异步通信) 起始位:信号线上无数据传送时为1开始传送时发一个0信号,即起始位。 数据位:紧接起始位之后,个数一般为78位。 奇偶校验位:紧接数据位
5、之后。一般为1位。 奇校验:数据位与奇偶位中1的总个数为奇数。 偶校验:数据位与奇偶位中1的总个数为偶数。 停止位:一帧数据的结束标志,一般为“1”。 _串行外围接口SPI原理及应用QG8的SPI特点1、主从模式可选 2、全双工或单线模式可选 3、可编程波特率 4、收发双缓冲 5、时钟相位与极性可选 6、从机片选输出 7、高或低位在前传送模式可选。_寄存器键盘中断寄存器(KBI)1. KBI状态和控制寄存器 (KBISC) 位功能7:4未用到寄存器位,读总为0。3KBF键盘中断标志KBF指示一个键盘中断是否被检测到。对KBF写操作没有影响。0没有检测到键盘中断1检测到键盘中断2KBACK键盘应
6、答写1到KBACK是标志清除机制的一部分,KBACK读时总为0。1KBIE键盘中断使能 KBIE确定一个键盘中断是否允许请求。0键盘中断请求没有使能1键盘中断请求使能0KBMOD键盘检测模式 KBMOD(与BKEDG位一起)控制键盘中断管脚的检测模式。0键盘只检测边沿1键盘检测边沿和电平2. KBI管脚使能寄存器 (KBIPE)位功能7:0KBIPEn键盘管脚使能每个KBIPEn位使能对应的键盘中断管脚0管脚没有使能键盘中断功能1管脚使能键盘中断功能3. KBI沿选择寄存器 (KBIES)位功能7:0KBEDGn键盘沿选择每个KBEDGn位选择相应管脚的下降沿/低电平或者上升沿/高电平功能0下
7、降沿/低电平(触发中断)1上升沿/高电平(触发中断)八位定时模块(MTIM) MTIM状态与控制寄存器MTIMSC位功能7TOF定时器溢出标志当计数器计数到与辅助寄存器MTIMMOD数值相等,并翻转到0时,该只读溢出标志TOF会被置“1”。该溢出标志的清除方法有三种:1 当TOF为“1”时,读MTIMSC,并给TOF重新写入“0”; 2 写“1” 给TRST; 3 给辅助寄存器MTIMMOD写入任何数值。6TOIE溢出中断允许如果该位设置为“1”,则当TOF置位时会产生中断。当TOF为“1”时不要设置该允许位,一般的做法是先清除TOF,然后再设置TOIE。即使该位没有设置,还是可以通过软件查询
8、TOF的方法使用定时器的。5TRST定时器复位设置该位只能写入,读出总为0,而且写0没有影响,写1时导致计数器为0x00,同时TOF也清零。4TSTP定时器停止设置当该位置“1”,会使计数器停止计数,计数数值保持不变,当清除该位时,计数器从当前数值继续计数。3:0未使用,读出总为0 MTIM时钟配置寄存器MTIMCLK位功能7:6未使用,读出总为05:4CLKS计数器时钟源选择通过该两位设置,在四种时钟源中选择其一,改变时钟源时不会影响计数器计数,时钟源切换后,计数器会在新的时钟下继续计数。00选择总线时钟(BUSCLK);01固定频率时钟(XCLK);10外部时钟TCLK的下降沿;11外部时
9、钟TCLK的上升沿。3:0PS时钟预分频器该4位设置计数器输入时钟的预分频数,改变分频数不影响计数器计数,分频数切换后,计数器会在新的分频数下计数。0000分频数为1; 0001分频数为2; 0010分频数为4;0011分频数为8; 0100分频数为16; 0101分频数为32;0110分频数为64; 0111分频数为128; 大于等于1000分频数为256。 MTIM计数器MTIMCNT该计数器为只读,写入任何数值对其没有影响,复位时为0x00。 MTIM模寄存器MTIMMOD该8位可读写的寄存器保存的数值是计数器计数的最大值,当计数器计数到该最大值时会翻转到0,同时设置TOF标志。如果给该
10、寄存器写入数值0x00,会导致计数器成为一个没有约束的自由运行的计数器,给MTIMMOD写入数值回导致计数器回0x00,而且溢出标志TOF也会清零。MTIMMOD复位时为0x00。十六位定时模块(TPM) TPM状态与控制寄存器TPMSC位功能7TOF定时器溢出标志当计数器计数到模寄存器数值并翻转到0x0000时,该标志置1。当定时器设置为中间对齐的PWM(CPWM)工作模式时,计数器计数到模寄存器数值并开始减1时,该溢出标志置1。清除该标志分成两步,先读TPMSC,然后对TOF写0,如在这两步之间有其它定时器溢出,则清除动作取消。复位时清除TOF,对TOF写1没有影响。6TOIE定时器中断允
11、许该读/写位控制定时器的溢出中断。当TOIE设置为1时,如果TOF为1会产生中断。TOIE为0时,还是可以通过软件查询TOF的方法使用定时器的。5CPWMS中间对齐PWM模式选择位如果该位为0,定时器工作在加法计数器方式,此时计数器的独立通道可以工作在输入捕捉、输出比较和沿对齐PWM模式。该位设置为1,将使得定时器工作在加/减计数器方式,而且所有通道都必须工作在中间对齐的PWM模式下。该位复位时为0。4:3CLKSB:A定时器时钟源选择位该2位的设置可能停止定时器,也可能选择3种时钟源之一作为定时器的输入。00没有时钟输入,定时器停止; 01总线时钟BUSCLK;10固定系统时钟XCLK; 1
12、1外部输入时钟TPMCLK。2:0PS2:0时钟预分频设置该3位设置定时器的分频器,对应关系如下:0001分频; 0012分频; 0104分频; 0118分频;10016分频;10132分频; 11064分频;111128分频。 TPM计数器TPMCNTH : TPMCNTLTPM计时寄存器高位TPMCNTH:TPM计时寄存器低位TPMCNTL: 定时器模寄存器TPMMODH:TPMMODLTPM模寄存器高位TPMMODH:TPM模寄存器低位TPMMODL:该可读/写寄存器定义了计数器的最大数值。 定时器通道n(n为0或1)对应的状态与控制寄存器TPMCnSC位功能7CHnF通道n的中断标志如
13、果通道n设置为输入捕捉,当外部管脚出现有效边沿,则该中断标志。当通道n设置为输出比较或是边沿对齐的PWM工作模式,当TPM计数器数值与通道n辅助寄存器数值一致时。对于中间对齐的PWM工作模式来说,该标志一般不使用,因为在一个周期中,脉冲有效的两个沿都会设置该标志(有两次比较匹配事件)。如果通道n对应的中断被允许(CHnIE = 1),则标志CHnF置1时会产生中断。清除CHnF标志分两步,先读取TPMCnSC,然后对CHnF写0。在这两步之间如果有事件发生,需要设置CHnF,则清除标志的动作取消。对该标志写1没有影响。6(CHnIE)通道n中断允许置1该控制位将允许通道n的中断。5:4MSnB
14、:MSnA通道工作模式选择控制位,MSnB决定对应的通道是否设置为PWM模式,而MSnA决定通道在不是PWM模式时,是输入捕捉还是输出比较。更详细用法参见表2-14。3:2ELSnB:ELSnA沿/电平选择控制位设置通道对应的外部管脚工作模式,具体用法参见表2-14。该控制位的设置需要参考其它三个控制位CPWMS:MSnB:MSnA,对于输入捕捉而言,该控制选择上升沿还是下降沿,而对于输出比较而言,该控制选择比较匹配时,外部管脚被驱动成高电平还是低电平,对于PWM而言,该控制决定了脉宽有效期间对应外部管脚的电平状态。设置该两位为0:0时使得通道对应的外部管脚为通用I/O,该特性可用于临时取消输
15、入捕捉功能,或者是通道设置成不需要外部管脚的软件定时器时,将对应的管脚作为通用I/O使用。对于TPMCH0被设置成外部脉冲输入管脚时,通道0对应的该控制位必须设置成0:0。1:0未使用的保留位。表2-14 通道模式对照表CPWMSMSnB:MSnAELSnB:ELSnA模式功能xxx00通道未使用外部管脚,可能是管脚作为TPM的外部时钟输入或者是将管脚作为通用I/O使用。000011011输入捕捉仅上升沿捕捉仅下降沿捕捉上升沿或下降沿都捕捉0100011011输出比较仅软件比较,无管脚输出比较匹配时,外部管脚翻转比较匹配时,外部管脚清0比较匹配时,外部管脚置11x10x1边沿对齐PWM脉宽有效
16、期间高电平(比较匹配时,外部管脚清0)脉宽有效期间低电平(比较匹配时,外部管脚置1)1xx10x1中间对齐PWM脉宽有效期间高电平(比较匹配时,外部管脚清0)脉宽有效期间低电平(比较匹配时,外部管脚置1) 2个独立通道对应的定时器通道数值寄存器TPMCnVH:TPMCnVL定时器通道数值寄存器高位TPMCnVH:定时器通道数值寄存器高位TPMCnVL:A/D转换寄存器1. 配置寄存器(ADCCFG)位功能7ADLPC低功耗配置ADLPC 用于控制连续逼近转换器的速度和功耗配置。在这要求更高采样率时优化功耗。0高速配置 1低功耗配置,减小功耗的同时牺牲最大时钟速度。6:5ADIV时钟分频选择AD
17、IV可选择ADC使用的时钟信号分频产生ADCK信号00clock 分频因子1 01clock 2 分频因子210clock 4 分频因子411clock 8 分频因子84ADLSMP采样时间配置ADLSMP在长和短的采样时间之间选择。调整采样周期,高阻输入能更精确的采样,低阻输入提高转换速度。如果不要求高的转换速率,长的采样时间也能在使能连续转换时减小整个电源功耗。0短的采样时间 1长的采样时间3:2MODE转换模式选择MODE 用于在10位和8位运行之间选择。008位转换(N=8)01保留1010位转换(N=1 0)11保留1:0ADICLK输入时钟选择 ADICLK四种输入时钟源选择其一,
18、以产生内部时钟输入至时钟分频器Clock Divide。00总线时钟01总线时钟除以210副时钟(ALTCLK) MC9S08QG8/4 MCU器件中没有使用副时钟ALTCLK11异步时钟(ADACK)2. 管脚使能控制寄存器1(APCTL1)位功能7ADPC7管脚控制ADPC7用于控制通道AD7关联的管脚.0使能 AD7管脚和I/O控制。1屏蔽管脚I/O控制,只有AD7输入功能。6 ADPC6管脚控制ADPC6用于控制通道AD7关联的管脚.0使能 AD6管脚和I/O控制。1屏蔽该管脚I/O控制,只有AD6输入功能。5ADPC5管脚控制ADPC5用于控制通道AD5关联的管脚.0使能 AD5管脚
19、和I/O控制。1屏蔽该管脚 I/O控制,只有AD5输入功能。4ADPC4管脚控制ADPC4用于控制通道AD7关联的管脚.0使能 AD4管脚和I/O控制。1屏蔽该管脚I/O控制,只有AD4输入功能。3ADPC3管脚控制ADPC3用于控制通道AD3关联的管脚.0使能 AD3管脚和I/O控制。1屏蔽该管脚I/O控制,只有AD3输入功能。2ADPC2管脚控制ADPC2用于控制通道AD2关联的管脚.0使能 AD2管脚和I/O控制。1屏蔽该管脚 I/O控制,只有AD2输入功能。1ADPC1管脚控制ADPC1用于控制通道AD1关联的管脚.0使能 AD1管脚和I/O控制。1屏蔽该管脚I/O控制,只有AD1输入
20、功能。0ADPC0管脚控制ADPC0用于控制通道AD0关联的管脚.0使能 AD0管脚和I/O控制。1屏蔽该管脚 I/O控制,只有AD0输入功能。3. 状态控制寄存器(ADCSC1)位功能7COCO转换结束COCO 只读标志位1、当比较器被屏蔽(ACFE =0)时,在每次转换结束的时候被设置 1。2、当使用比较器(ACFE =1)时,只有在比较结果为真时,COCO标志在转换结束时被设置 1,否则为 0。3、ADCSC1被写或者ADCRL数字结果寄存器被读,此位1被清除。0转换没有结束1转换结束6AIEN中断使能AIEN 用于转换结束申请中断。当 AIEN=1 为高时,COCO=1 声明申请中断。
21、0屏蔽转换结束申请中断1使能转换结束申请中断5ADCO连续转换使能ADCO 用于使能连续转换。 写ADCS1寄存器软件触发;ADHWT产生硬件触发。0当选择软件触发运行转换或选择硬件触发运行转换时,进行一次转换。 1当选择软件触发运行转换或选择硬件触发运行转换时,连续转换。4-0ADCH输入通道选择ADCH 00000:INAD0 00100:INAD4 内部通道自动连接参考电压 00001:INAD1 00101:INAD5 11101:VREFH (VDD)00010:INAD2 00110:INAD6 11110:VREFL (VSS)00011:INAD3 00111:INAD7* 1
22、1111:全为1时,隔离所有的输入通道信号及输入源,转换器子系统关闭, ADC处于低功耗状态。另:其他数字组合为保留通道为未知值。4. 状态和控制寄存器(ADCSC2)位功能7ADACT转换有效性ADACT指示正在进行中的一个转换状态。在一个转换开始时,ADACT=1;当一个转换已完成或取消时 ADACT=0。0转换不在进行中1转换在进行中6ADTRG选择转换触发ADTRG 用于ADC选择开始转换的触发类型。可选择软件触发和硬件触发两种触发类型。0选择软件触发,当选择软件触发,写ADCSC1(给寄存器赋初值)。1选择硬件触发,当选择硬件触发,引发ADHWT事件。5ACFE比较器使能ACFE用于
23、启动比较功能.0屏蔽比较功能,默认状态屏蔽比较器。1使能比较功能,启动比较器。4ACFGT比较器功能使能ACFGT用于配置比较器在监测的输入转换结果大于等于或小于比较值时被触发比较功能。默认被监测的转换结果小于比较值时触发。0当输入小于比较数字电平时触发。1当输入大于或等于比较数字电平时触发。5. 数据结果寄存器(ADCRH、ADCRL)数据结果高位寄存器ADCRH:数据结果低位寄存器ADCRL:6. 比较值寄存器(ADCCVH、ADCCVL)比较值高位寄存器ADCCVH:比较值低位寄存器ADCCVL:7. 实时中断寄存器(SRTISC)表2-20 SRTISC寄存器功能对照表位功能 7 RT
24、IF实时中断标志这个只读状态位指示周期唤醒定时器时间溢出0周期唤醒定时器还未时间溢出1周期唤醒定时器已经时间溢出 6 RTIACK实时中断应答这个只写位用来应答实时中断请求(写1清除RTIF).写0没有意义和影响.读总是返回0 5RTICLKS实时中断时钟选择这个读/写位选择实时中断的时钟源0实时中断请求时钟源为内部1kHz振荡器1实时中断请求时钟源为外部时钟 4RTIE实时中断使能这个读/写位使能实时中断 0屏蔽实时中断1使能实时中断2:0RTIS选择实时中断延迟这些读/写位选择RTI的周期.参看表2-21表2-21 实时中断周期表RTIS2:RTIS1 :RTIS0使用内部1kHz时钟源(
25、*1 *2)使 用 外 部 时 钟源Period = text (*3)0:0:0屏蔽RTIDisable RTI0:0:18 mstext 2560:1:032 mstext 10240:1:164 mstext 20481:0:0128 mstext 40961:0:1256 mstext 81921:1:0512 mstext 163841:1:11.024 stext 32768列中所示值基于tRTI = 1 ms初始的RTI时间溢出周期比规定时间少一个1kHz时钟周期text是外部晶体频率的周期异步串行通信SCI寄存器1. SCI波特率寄存器(SCIBDH,SCIBDL) SCI波特
26、率高位寄存器SCIBDH:SCI波特率低位寄存器SCIBDL:波特率的计算公式是:Baud rateBusclk/(16*BR)这里Baud rate是指波特率,它的单位是bit/sec;Busclk是指总线时钟频率,它的默认值是4MHz;BR是指由BR12:BR0计算出的十进制的分频值,它的范围是0-8191。2. SCI控制寄存器1(SCIC1)位功能7LOOPS0正常操作,RxD和TxD 使用不同的管脚。1循环模式或单线模式,发送器输出内部连接于接收器输入。6SCISWAI0在等待模式下,SCI时钟继续运动,因而SCI可以作为唤醒CPU中断的源。1当CPU处于等待模式时,SCI时钟停止。
27、5RSRC接收器源选择只有 LOOPS位被设置为1,该位才有意义或有效。当LOOPS = 1时,接收器输入与发送器输出内部连接。RSRC的作用是确定此连接是否与TxD管脚连接。0此时LOOPS = 1,RSRC = 0选择内部回送模式,TxD管脚不与发送器输出和接收器输入连接。1此时LOOPS = 1,RSRC = 1为单线SCI模式,TxD管脚与发送器输出和接收器输入连接。4M0正常,起始位8个数据位(首先是LSB)停止位。1接收器和发送器使用9位数据字符。起始位8个数据位(首先是LSB)第9位数据位停止位。3WAKE接收器唤醒方法(一般用在多机处理系统中)0空闲线唤醒。1地址位唤醒。2IL
28、T0空闲字符位计数在起始位后启动。1空闲字符位计数在停止位后启动。1PE0无硬件奇偶校验产生和检测。1奇偶校验被使能。0PT0偶校验。1奇校验。3. SCI控制寄存器2(SCIC2)位功能7TIE0不启动TDRE中断(使用查询方式)。1启动TDRE中断,当TDRE标志为1时,进行硬件中断请求。6TCIE0启动TC中断,当TC标志为1时,进行硬件中断请求1不启动TC中断(使用查询方式)5RIE0不启动RDRF中断(使用查询方式)。1启动RDRF中断,当RDRF标志为1时,进行硬件中断请求。4ILIE0来自 IDLE 的硬件中断被禁止(使用查询方式)。1当 IDLE 标志为1时,进行硬件中断请求。
29、3TE0发送器关闭。1发送器打开。2RE0接收器关闭。1接收器打开。1RWU0正常 SCI 接收器操作。1SCI接收器备用,等待唤醒条件。0SBK0正常发送器操作。1将中断字符(10位或11位的0)插进正在发送的数据流中。4. SCI状态寄存器1(SCIS1)位功能7TDRE0发送数据寄存器(缓存区)满。1发送数据寄存器(缓存区)空,可以进行下一次发送。6TC0发送器激活(发送数据、或中断)。1发送器无效(发送操作结束)。TC=1时,通过对 SCIS1进行读操作,然后完成下列三件事情中的任何一件,可以自动清除TC:c1)写 SCI 数据寄存器,发送新数据;c2)通过将 TE 由0变为1,自动发
30、送一个前导符;c3)通过向 SCIC2 的 SBK写1,自动发送一个中断字符。5RDRF0接收数据寄存器空。1接收数据寄存器满,表示可以取出数据。RDRF=1 时,为了清除 RDRF,要读取 SCIS1然后再读取 SCI 数据寄存器(SCID)。4IDLE0无空闲线检测。1空闲线被检测。3OR0无丢包。1接收丢包(新SCI 数据丢失)。2NF0无噪声被检测到。1对SCID中的接收字符进行噪声检测后,有噪声被检测到。1FE0无帧错误被检测到。这并不保证没有由其它原因引起的帧错误。1帧错误。0PF0无奇偶校验错误。1奇偶校验错误。5. SCI状态寄存器2(SCIS2)位描述2BRK130中断字符为
31、10位周期(如果 M=1则为11位)。1中断字符为13位周期(如果 M=1则为14位)。0RAF0SCI接收器空闲,等待一个起始位。1SCI接收器激活。6. SCI控制寄存器3(SCIC3)位功能7R8接收器的第9个数据位当 SCI 配置为9个数据位时(M=1),R8可被认为是第9个接收数据位,在SCID寄存器内比缓存数据的 MSB还要高一位的一侧。当对第9位数据进行读取时,需要在读取 SCID之前先读取 R8,因为读取 SCID 操作会自动完成标志清除顺序,这将允许 R8 和 SCID 被新数据覆盖。6T8发送器的第9个数据位当 SCI 配置为9个数据位时(M=1),T8 可被认为是第9个发
32、送数据位,在 SCID寄存器内比数据的MSB还要高一位的一侧。当对第9位数据进行写操作时,在写 SCID操作后,全部9位数据值被转移至 SCI 移位寄存器,因此,对 T8 的写操作(如果需要改变其先前值)应该在对 SCID进行写操作之前进行。如果在新值中T8 的值不需要改变,则无需在每次写 SCID时,都对 T8 进行写操作。5TXDIR单线模式下TxD 管脚方向当SCI 被配置为单线半双工操作(LOOPS=RSRC=1)时,该位决定 TxD 管脚的数据方向。0单线模式下 TxD 管脚为输入。1单线模式下 TxD 管脚为输出。4TXINV0发送数据不倒置。1发送数据倒置。3ORIE0OR中断禁
33、止(使用查询方式)。1当OR=1时,进行硬件中断请求。2NEIE0NF中断禁止(使用查询方式)。1当NF=1时,进行硬件中断请求。1FEIE0FE中断禁止(使用查询方式)。1当 FE=1时,进行硬件中断请求。0PEIE0PF中断禁止(使用查询方式)。1当 PF=1时,进行硬件中断请求。7. SCI状态寄存器(SCID)此寄存器实际上是两个分开的寄存器。读操作从只读数据缓存区中读取数据,写操作对只写数据缓存区写入数据。同步串行通信SPI寄存器1. SPI控制寄存器1 (SPIC1)位功能7SPIESPI 中断使能(对于SPRF 和 MODF)该域用于 SPI 接收缓冲器满(SPRF)和模式故障(
34、MODF)事件的中断使能。0禁止SPRF 和 MODF 中断(使用查询)1当 SPRF或 MODF 为1时,请求硬件中断6SPESPI系统使能禁用 SPI将使得任何正在进行的传输、清除数据缓冲器和初始化内部状态机制停止。SPRF被清空且 SPTEF被置位表示 SPI 传输数据缓冲器为空。0禁止 SPI 系统1使能 SPI 系统5SPTIESPI 发送中断使能该中断使能位用于 SPI 发送缓冲器空(SPTEF)。0禁止来自SPTEF的中断(使用查询)1当 SPTEF为1时,请求硬件中断4MSTR主/从模式选择0SPI 模块配置为从 SPI 器件1SPI 模块配置为主 SPI 器件3CPOL时钟极
35、性这个位可以设置时钟的有效电平0高电平有效(空闲时为低电平)1低电平有效(空闲时为高电平)2CPHA时钟相位位该位为不同类型的同步串行外围器件从两种时钟格式中选择其中之一。0SPSCK的第一个边沿出现在8个数据传送周期的第一个周期的中间1SPSCK的第一个边沿出现在8个数据传送周期的第一个周期的开始1SSOE从模式选择输出使能该位与 SPIC2中的模式故障使能(MODFEN)位和主/从(MSTR)控制位结合起来使用,用以确定 SS管脚功能。参见表2-28所示。0LSBFELSB优先(移位器方向)0SPI 串行数据传输以最高有效位开始1SPI 串行数据传输以最低有效位开始表2-28 主从输入输出
36、模式对照表MODFENSSOE主机模式从机模式00通用 I/O (非SPI)从模式选择输入01通用 I/O (非SPI)从模式选择输入10用于模式故障的 输入从模式选择输入11自动输出从模式选择输入2. SPI控制寄存器2(SPIC2)位功能4MODFEN主模式故障功能使能当 SPI 被设置为从模式时,该位失去意义或无效。(SS 管脚为从模式选择输入)在主模式时,这个位决定如何使用管脚。见表2-28。0模式故障功能被禁用,主管脚恢复为通用 I/O,不受 SPI控制。1模式故障功能启用,主管脚用于模式故障输入或者从模式选择输出。3BIDIROE双向模式输出使能当双向模式被 SPI 管脚控制0(S
37、PC0=1)使能时,BIDIROE 决定 SPI数据输出驱动是否被使能为单个双向 SPI I/O管脚。取决于 SPI 被配置成主模式还是从模式,而分别使用 MOSI(MOMI)或 MISO(SISO)管脚作为单 SPI数据 I/O 管脚。当 SPC0 = 0,BIDIROE无意义或无效。0输出驱动器禁用,所以SPI数据I/O管脚作为输入端。1SPI I/O管脚启用,作为输出端。1SPISWAISPI 停止于等待模式0在等待模式,SPI时钟继续运行1当 MCU进入等待模式时,SPI时钟停止0SPC0SPI 管脚控制0SPC0位用于选择单线双向模式。MSTR=0(从模式),SPI将 MISO(SI
38、SO)管脚用于双向 SPI数据传输。如果 MSTR=1(主模式),SPI 将 MOSI(MOMI)管脚用于双向 SPI数据传输。当 SPC0=1 时,BIDIROE被用于为单个双向 SPI I/O管脚使能或禁止输出驱动器。0SPI使用单独管脚用于数据输入或输出1SPI配置为单线双向操作。3. SPI波特率寄存器(SPIBR)位功能6:4SPPR2:0SPI 波特率预定标因子该3-位域为波特率预定标器从8个除数中任选一个。预定标器的输入为波特率时钟(BUSCLK)。预定标器的输出驱动 SPI 波特率分频器的输入。2:0SPR2:0SPI波特率因子该3-位域为 SPI 波特率分频器从8个因子中任选
39、一个因子。分频器的输入来自 SPI波特率预定标器。主模式下,分频器的输出为 SPI 位速率时钟。表2-31 分频对照表SPPR2:SPPR1:SPPR0预分频因子SPR2:SPR1:SPR0波特率分频因子0:0:010:0:020:0:120:0:140:1:030:1:080:1:140:1:1161:0:051:0:0321:0:161:0:1641:1:071:1:01281:1:181:1:1256SPI模块波特率总线频率/(预分频因子波特率分频因子)4. SPI状态寄存器(SPIS)位描述7SPRFSPI读缓冲器满标志在一次 SPI传输完成时,SPRF 被置位,表明接收到的数据可以从
40、 SPI 数据寄存器(SPID)读取。当 SPRF 被置位时,通过读 SPRF,然后读取 SPI 数据寄存器,硬件可将其清除。0在接收数据缓冲器中无可用数据1在接收数据缓冲器中的数据可用5SPTEFSPI 传输缓冲器空标志当发送数据缓冲区有空间时,这个位被置位。PTEF 被置位时,通过读取 SPIS,然后向 SPID的发送缓冲器写入一个数值,可将其清除。SPTEF=1时,SPIS 必须在向 SPID 写入数据之前被读取,否则 SPID写操作将被忽略。如果 SPIC中的 SPTIE 位也被置位,SPTEF会产生一个 SPTEFCPU中断请求。当一个数据字节从发送缓冲器传输进入发送移位寄存器时,S
41、PTEF被自动置位。对于一个空闲 SPI(在发送缓冲器或移位寄存器中没有数据,且无进行中的传输),写入 SPID中的数据几乎立即被传输至移位器,因此,SPTEF 在两个总线周期内被置位,从而允许第二个8位数据值被排入发送缓冲器。在将移位寄存器中的值传输完成后,从发送缓冲器排列的值将自动转移至移位器,且 SPTEF将被置位以表明在发送缓冲器中有空间可用于新数据传输。如果没有新数据在发送缓冲器中等待,SPTEF 只是保持置位状态,而不会有数据从缓冲器转移至移位器。0SPI 发送缓冲器非空1SPI 发送缓冲器空4MODF主模式故障标志如果 SPI 被设置为主模式,且从模式选择输入变为低电平时,MOD
42、F 被置位,这表明某个其它的 SPI器件也被设置成了主模式。只有当 MSTR=1,MODFEN=1,且 SSOE=0时,SS管脚才作为为模式故障错误输入;否则,MODF 将不会被置位。MODF 为1时,通过读 MODF,然后写入 SPI 控制寄存器1(SPIC1),可将其清空。0无模式故障错误1检测到模式故障错误5. SPI数据寄存器(SPID)读取该寄存器将返回从接收数据缓冲器中读取的数据。写该寄存器将会把数据写入发送数据缓冲器。当 SPI 被配置为主模式时,写入数据到传输数据缓冲器发起一次 SPI传输,即启动SPI。例程一、I/O口输入输出实验实验内容 结合开发板电路图,用跳线夹连接对应L
43、ED引脚。即LED1、LED2分别与PTB6、PTB7相连接。将PTB口定义为输出接口。对端口写0即可点亮LED灯。单步运行观察实验现象。 结合开发板电路图,用跳线夹再将开发板上的按键SW1、SW2连到PTA2。将PTA口定义为输入口,将PTB口定义为输出口。按下SW1时点亮LED1、LED2。按下SW2时熄灭LED1、LED2。参考程序直接点亮LED灯,其参考程序如下。C语言程序:#include #include derivative.h /* 头文件 */void main(void) PTBDD=0xff; /*定义PTB口为输出口 */ PTBD=0xff; /*输出高电平,LED灯
44、灭*/ PTBD=0x00; /*PTB口输出低电平,即PTB6、PTB7输出低电平 */ for(;) _RESET_WATCHDOG(); /* 清看门狗 */ /* 死循环 */ 按键控制LED灯参考C语言程序如下:#include #include derivative.h /* 头文件*/void main(void) PTADD=0x00; /* 初始化PTA口,定义为输入口*/ PTBDD_PTBDD6=1; PTBDD_PTBDD7=1; /* PTB6,PTB7定义为输出口*/ PTBD_PTBD6=1; PTBD_PTBD7=1; /* PTB6,PTB7均写为1,开始时灯
45、熄灭 */for(;) if(PTAD_PTAD2=0) PTBD_PTBD6=0; PTBD_PTBD7=0; else if(PTAD_PTAD3=0) PTBD_PTBD6=1; PTBD_PTBD7=1; else _RESET_WATCHDOG(); /* 清看门狗 */ 二、键盘中断实验实验内容使能KBIP2、KBIP3,进而对LED1、LED2进行控制。实现当按下SW1时,LED1亮、LED2灭,当按下SW2时,LED1灭、LED2亮。在中断函数入口处设置断点,单步运行观察实验现象。参考程序#include /* for EnableInterrupts macro */#inc
46、lude derivative.h /* include peripheral declarations */void main(void) DisableInterrupts; /*关中断总允许 */ PTADD_PTADD2=0; PTADD_PTADD3=0; /*PTA2、PTA3定义为输入口*/ PTBDD_PTBDD6=1; PTBDD_PTBDD7=1; /*PTB6、PTB7定义为输出口*/ PTBD_PTBD6=1; PTBD_PTBD7=1; /*LED灯均熄灭*/ KBISC_KBIE=0; KBIES=0x00; /*下降沿/低电平触发*/ KBIPE=0x0C; /*
47、键盘中断开启即KBIP2、KBIP3键盘中断开启*/ KBISC_KBACK=1; /*清除任何错误中断*/ KBISC_KBIE=1; /*键盘中断允许*/ EnableInterrupts; /* 开中断总允许*/ for(;) _RESET_WATCHDOG(); void interrupt 18 Keyboard( ) KBISC_KBACK=1; KBISC_KBIE=0; /*禁止键盘中断*/ if(PTAD_PTAD2=0) PTBD_PTBD6=0; PTBD_PTBD7=1; else if(PTAD_PTAD3=0) PTBD_PTBD6=1; PTBD_PTBD7=0; else _RESET_WATCHDOG(); KBISC_KBIE=1; /*开启键盘中断*/三、定时器实验实验内容按照查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共安全教育开学第一课观后感
- 低空经济数字化转型驱动下的未来发展趋势
- 山西省晋中学市太谷县2026届中考语文最后冲刺模拟试卷含解析
- 初中心理健康北师大版(2025)七年级下册第六单元 生活面面观《第十五课 多彩的职业》2026春教学设计
- 2026 学龄前自闭症攀爬训练实操课件
- 2026 学龄前自闭症形状配对训练课件
- 宣传委员的演讲稿
- 孝星事迹材料15篇
- 家长会的主题发言稿15篇
- 肝功能储备检测(ICGPDD法)知情同意书GPDD法适应
- 常见临床急症的急救与护理
- 解除医保服务协议申请书范文
- GB/T 25052-2024连续热浸镀层钢板和钢带尺寸、外形、重量及允许偏差
- 2024安徽太阳能辐射量数据
- EPC项目施工图设计质量控制措施
- AMS成就动机量表问卷计分解释
- 大专求职简历模板8篇
- 股权转让协议承诺书
- 正压式空气呼吸器使用
- 铁塔公司基站外市电基础知识
- 1年级-一年级数独100题-20160904-数学拓展
评论
0/150
提交评论