语音信号及单片机处理 教学课件 作者 吴黎明 主编 王桂棠 吴正光 副主编 第七章.pptVIP

语音信号及单片机处理 教学课件 作者 吴黎明 主编 王桂棠 吴正光 副主编 第七章.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.2.7 中断响应时间 首先中断信号出现,CPU查询到后,再执行下一条指令结束后去响应中断,这个时间可以根据指令周期长短来确定;一般指令周期最长为182个时钟周期,原因是累乘加指令需要的时间最长为182个时钟周期;其次CPU响应中断后,到CPU执行中断服务程序又需要8个时钟,原因是需要堆栈PC指针和SR寄存器及将中断向量赋值给PC及跳转到中断服务程序,这些操作共需要8个时钟周期。 SPCE061A从中断信号出现到进入中断服务最长需要190个时钟周期 . 7.2.8 中断服务流程 SPCE061A单片机的中断服务流程图7.5所示 .PUBLIC _IRQ4; _IRQ4: NOP NOP NOP L_Ll: NOP JMP L_Ll; R4 = 100; L_Loop1: R4 -= 1; JNZ L_Loop1; R2 = 0x0; [P_IOB_Data] = R2; R4 = 0x0040; [P_INT_Clear] = R4; RETI; 习题与思考 1.什么是中断?在单片机中中断能实现什么功能? 2.什么是中断优先级?中断优先级处理的原则是什么? 3.SPCE061有几个中断源?各个中断入口地址是多少?中断响应过程中,为什么通常要保护现场?如何保护? [P_IOA_Data]=R1 R1 =0x0080 //开放IRQ3_KEY触键唤醒中断 [P_INT_Ctrl] = R1 R1=[P_IOA_latch] //激活A口触键唤醒 INT IRQ //开IRQ中断 R1=0x0007 [P_SystemClock]=R1 //系统进入睡眠状态 Loop: NOP //当有键唤醒时继续执行 GOTO Loop  中断服务程序:判断中断源类型,是触键唤醒中断点亮八个发光二极管,否则返回。 .TEXT .PUBLIC _IRQ3 _IRQ3: INT OFF PUSH R1,R4 TO [sp] //保护现场 R1 = 0x0080 test R1,[P_INT_Ctrl] //是否为触键唤醒中断 jz L_notKeyArouse //否,外部中断 L_KeyArouse: R1 = [P_IOA_Data] //是,触键唤醒中断 R1 |= 0xFF00 //点亮八个发光二极管 [P_IOA_Data] = R1 R1 =0x0080 GOTO Exit_INT L_notKeyArouse: //外部中断 R1 = 0x0100 //判断是EXT1中断吗 TEST R1,[P_INT_Ctrl] JNZ L_EXT1 R1 = 0x0200 //外部中断2 L_EXT1: NOP Exit_INT: [P_INT_Clear]=R1 //清中断标志 POP R1,R4 FROM [sp] //恢复现场 INT IRQ RETI .END   7.3.3 串口异步中断 串行异步中断用于串行通讯过程中数据的收发, 此外,UART还可以缓冲地接收数据。也就是说,它可以在读取缓存器内当前数据之前接收新的数据。但是,如果新的数据被接收到缓存器之前一直未从中读取先前的数据,会发生数据丢失。P_UART_Data (读/写) ($7023H)单元可以用于接收和发送数据的缓存。向该单元写入数据,可以将发送的数据送入缓存器;从该单元读数据,可以从缓存器读出单个的数据字节。UART模块的接收管脚Rx和发送管脚Tx分别可与IOB7和IOB10共用。 表7.11 异步串行通信口中断使用的控制寄存器   (5) INT指令。  功能:设置允许/禁止FIQ 和IRQ 中断。该控制指令与前面的指令相同,只有先通过P_INT_Ctrl 寄存器打开中断,才能完全开放中断。 INT 控制指令可以细分为: ① INT FIQ 功能:允许FIQ中断,关闭IRQ中断。 ② INT IRQ 功能:允许IRQ中断,关闭FIQ中断。 ③ INT FIQ IRQ功能:允许FIQ中断,允许IRQ中断。 ④ INT OFF 功能:关闭FIQ中断,关闭IRQ中断。 例3 中断命令的使用。 _main: r1=0x8004H //开中断IRQ5_2 Hz和FIQ_PWM [P_INT_Ctrl]=r1 INT FIQ //允许FIQ_PWM中断,屏蔽IRQ5中断 INT IRQ //允许IRQ5中断,屏蔽FIQ_PWM NT FIQ,IRQ //允许IRQ和FIQ中断

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档