任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)

2024-07-11
| 25页
| 54人阅读
| 2人下载
普通

内容正文:

项目4 电子时钟控制系统 任务4.2 秒表计 明确任务 在项目三中定时时间采用查询方式,不能及时的处理定时器溢出,特别是程序较大时会出现很大的计时误差。并且查询会占用CPU宝贵的系统资源。单片机内部中断系统可以能够及时的解决类似的突发事件,把CPU解放出来,只有在突发事件到来的时候才去处理相应事件。 工作任务:设计制作一个秒表计。利用单片机中断系统,配合3个按键1位共阳数码管,实现一位数秒表计功能。3个按键分别为启动功能,停止功能,清零功能。 知识链接 一 中断概念 什么是中断,我们从生活中的例子引入。 某人看书 执行主程序 中断过程 电话铃响 中断信号INTx=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC值入栈 保护断点 电话谈话 执行中断程序 中断服务 继续看书 返回主程序 中断返回 某人看书 执行主程序 中断过程 电话铃响 中断信号INTx=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC值入栈 保护断点 电话谈话 执行中断程序 中断服务 继续看书 返回主程序 中断返回 中断源——中断的申请方 中断控制寄存器——中断的控制“工具” 中断响应——中断的“内容” 中断返回——中断结束 中断发生或中断请:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理 中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B 中断返回:待CPU将事件B处理完毕,再回到原来事件A被中断的地方继续处理事件A 二 AT89S51单片机中断系统 定时器控制寄存器TCON (88H) TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。 =0:定时器未溢出; =1:定时器溢出(由全“1”变成全“0”)时由硬件自动置位,申请中断,中断被CPU响应后由硬件自动清零。 TR0/TR1:定时器运行启停控制位(用户通过软件设置 )。 =0:定时器停止运行; =1:定时器启动运行。 IE0/IE1:外部中断申请标志位(由硬件自动置位 ,中断响应后转向中断服务程序时,由硬件自动清0 )。 =0:没有外部中断申请; =1:有外部中断申请。 IT0/IT1:外部中断请求的触发方式控制位(用户通过软件设置 )。 =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效。 TI/RI:串行口发送/接收中断申请标志位 =0:没有串行口发送/接收中断申请 =1:有串行口发送/接收中断申请。 SCON的高6位用于串行口工作方式设置和串行口发送/接收控制。 由硬件自动置位,必须由用户在中断服务程序中用软件清 串行口控制寄存器SCON 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SCON SM0 SM1 SM2 REN TB8 RB8 TI RI EA (Enable All)总中断允许标志 ES (Enable Series)串行口允许标志 ET0、ET1(Enable Timer)定时器/计数器溢出中断标志 EX0、EX1(Enable eXternal)外部中断允许标志 上述中:“1”表示允许中断,“0”表示屏蔽中断。 IE (Interrupt Enable)中断允许寄存器 IP (Interrupt priority)中断优先权控制寄存器(B8H) PS:串行口中断优先级控制位 PT0、PT1:定时器/计数器中断优先级控制位 PX0、PX1:外部中断优先级控制位 上述中:“1”表示高优先级,“0”表示低优先级。 CPU响应中断必须首先满足以下三个基本条件。 ①有中断源发出中断请求。 ②中断总允许位EA=1。 ③请求中断的中断源的中断允许位为1。 在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。 ①CPU正在执行一个同级或高优先级的中断服务程序。 ②正在执行的指令尚未执行完。 ③正在执行中断返回指令 RETI或者对专用寄存器IE、IP进行读/写的指令。CPU在执行完上述指令之后,要再执行一条指令,才能响应中断请求。 三 中断处理过程 中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU 查询。 中断响应:在中断允许条件下相应中断。断点入栈→撤除中断标志→关闭低同级中断允许→中断入口地址送PC。 这些工作都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。 中断返回:执行中断返回RETI指令→断点出栈→开放中断允许→返回原程序。 中断请求的撤除 定时器溢出中断请求的撤除 CPU在响应中断后,硬件会自动清除中断请求标志TF0或TFl。 串行口中断的撤除 在CPU响应中断后,硬件不能清除中断请求标志TI和RI,而要由软件来清除相应的标志。 外部中断的撤除 外部中断为边沿触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl。 外部中断为电平触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl,但由于加到INT0或INT1引脚的外部中断请求信号并未撤除,中断请求标志IE0或IEl会再次被置1,所以在CPU响应中断后应立即撤除INT0或INT1引脚上的低电平。 一般采用加一个D触发器和几条指令的方法来解决这个问题。 四 单片机中断应用 定时计数器在应用中往往采用中断方式进行处理,常常作为一个时间基,通过中断提供不同时间分割,提供不同定时需求。对定时计数器的应用初始化除了需要最基本的定时相关工作配置,还需要对定时中断进行配置。具体步骤: ①定时计数器工作模式配置。根据需要,选择定时计数器及其工作方式。 ②计算初始值,并赋值。计算方法详见项目三。 ③清除标志位。 ④开定时器中断,并开放总中断位。 ⑤根据需要开启运行定时计数器。 为了能使单片机在执行主程序过程中能响应中断,就必须先对使用中断的相关寄存器进行初始化。 1. 初始化 TMOD=0x01; //设置定时器T0,工作模式1,内部控制运行方式 TH0=0x3C; // TL0=0xB0; //赋初始值 TF0=0; //清标志位 ET0=1; //运行定时器0中断 EA=1; //开总中断 TR0=1; //运行T0 若采用定时器计算1s,那么定时器最大定时65ms,显然不能满足要求,可以通过间接方式显示,20*50ms=1000ms。定时器采用T0,工作方式1.则上述步骤程序对应为 如果一个按键采用外部中断0,则中断初始化程序如下: IT0=0; //设置INT0为下降沿触发 EX0=1; //允许外部中断0 EA=1; //开发所有中断 2.中断服务程序 (1)中断服务程序入口。 Keil C中规定51单片机每种中断类型所对应的中断服务程序入口编号。 中断源类型 Keil C中断号 外部中断0 0 定时计数器中断0 1 外部中断1 2 定时计数器中断1 3 串行口中断 4 2.中断服务程序 void 中断服务程序名() interrupt 中断号 【using n】 { //中断服务语句 } 中断服务程序名:自定义名称,一般依据中断服务程序功能命名;“interrupt”是中断服务程序的关键字;“中断号”根据Keil C规定编号;using,定义工作寄存器组;n为寄存器组编号(0-3)。 中断服务语句尽可能的短,基本不用来进行数据处理,大多数置为标志信号。有主程序根据标志信号在进行数据的处理。 若采用定时器中断0,则中断服务程序。 /*定时器中断0中断服务程序*/ void T0_sev( ) interrupt 1 { //定时器中断0处理语句 } 若要求禁止更高优先级中断源的中断请求,应先用软件关闭CPU中断或屏蔽更高级中断源的中断,在中断返回前再开放被关闭或被屏蔽的中断。 二、硬件电路图 三、软件设计与编程 (1)定时器中断方式实现0-9s时钟显示 。 void T0_sev( ) interrupt 1 //T0中断函数 { TH0 = 0x3C; //置初始值 TL0 = 0xB0; count++; if(count >= 20) //1s到 { count = 0; //计数器清零 flag_1s = 1; //1s标志位置位 } } 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 (2)秒表计 按照任务要求添加上3个按键,实现启动、停止、清零功能。 if(START == 0) TR0 = 1; //启动 if(STOP == 0) TR0 = 0; //停止 if(CLR == 0) i = 0; //清零 sbit START=P2^0; //启动 sbit STOP=P2^1; //暂停 sbit CLR=P2^2; //清零 单体按键处理参照任务1所用,先进行位定义。 处理程序 任务实施 1.学生分组,制定方案。 2.查阅资料,设计电路原理图,列出元件清单。 3.准备元件及工具,搭接电路。 4.注意安全。 评价总结 1.学生根据自己实施情况填写任务实施评价单。 2.组间互评,提出问题,解决问题。 3.回收元件及工具,清洁实施现场,6S标准。 4.知识整理总结。 � EMBED Equation.DSMT4 ��� 高级中断请求 PC 低级中断请求 PC 硬件查询 源允许 优先级 总允许 各中断 源允许 SCON 中断标志 IP IE TCON RX TX � EMBED Equation.DSMT4 ��� T1 T0 RI TI ≥1 TF1 IT1=0 IT1=1 1 IE1 TF0 IT0=0 IT0=1 自然优先级 中断 矢量地址 自然优先级 1 0 1 0 1 0 1 0 PS PT1 PX1 PT0 ES ET1 EX1 ET0 1 0 中断 矢量地址 1 EX0 EA PX0 IE0 $$

资源预览图

任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)
1
任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)
2
任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)
3
任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)
4
任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)
5
任务4.2 秒表计(课件)-《单片机技术与应用》同步教学(电子工业版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。