内容正文:
四川省单独招生考试《单片机原理及应用》45分钟专题训练专辑,共30份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固电子信息类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加电子信息类高考的学生。与本专辑配套的还有四川省单独招生考试《电子技术基础与技能》《电工技术基础与技能》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《单片机原理及应用》
第三章 MCS-51单片机的中断系统
课题二 中断的相关寄存器
时间:45分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共20小题,每小题 2 分,共40分)
1.以下关于 TCON 寄存器的说法,正确的是( )
A.TCON 主要用于控制定时器 / 计数器的启动和停止
B.TCON 不能用于外部中断的触发方式设置
C.TCON 是一个 8 位寄存器,每位都用于定时器控制,和中断无关
D.TCON 中的 TF0 和 TF1 位只用于表示定时器溢出状态,不能触发中断
2.在单片机中,SCON 寄存器的主要功能是( )
A. 控制串行口的工作方式和状态
B. 控制外部中断的优先级
C. 作为通用的数据寄存器
D. 控制定时器的计数初值
3.中断允许寄存器 E 中,EA 位的作用是( )
A. 单独允许或禁止某一个中断源
B. 总中断允许控制位,当EA=0 时,所有中断请求被禁止
C. 用于设置外部中断的触发方式
D. 控制定时器中断的优先级
4.如果要设置外部中断0为下降沿触发,需要设置 TCON 寄存器中的( )位。
A.IT0 = 0 B.IT0 = 1 C.IE0 = 0 D.IE0 = 1
5.IP 寄存器用于( )
A. 产生中断请求信号 B. 控制中断源的优先级
C. 存储中断服务程序的入口地址 D. 检测中断是否执行完毕
6.在单片机系统中,若想禁止所有中断,应该( )
A. 将IE 寄存器中的EA位清零 B. 将 TCON 寄存器中的所有位清零
C. 将 SCON 寄存器中的所有位清零 D. 将 IP 寄存器中的所有位清零
7.当定时器0溢出时,TCON 寄存器中的( )位会被置 1。
A.TF0 B.TR0 C.IT0 D.IE0
8.串行口接收中断标志位是 SCON 寄存器中的( )。
A.RI B.TI C.SM0 D.SM1
9.以下哪个寄存器可以设置外部中断1的优先级( )
A.TCON B.SCON C.IE D.IP
10.若要允许定时器 1 中断,应该设置IE 寄存器中的( )位。
A.ET0 B.ET1 C.EX0 D.EX1
11.在单片机中,外部中断 0 的中断请求标志位是( )。
A.IE0 B.IE1 C.TF0 D.TF1
12.若将 IP 寄存器中的 PT0 位置 1,PT1 位清零,这表示( )。
A. 定时器 0 为高优先级,定时器 1 为低优先级
B. 定时器 1 为高优先级,定时器 0 为低优先级
C. 定时器 0 和定时器 1 优先级相同
D. 定时器 0 和定时器 1 的中断被禁止
13.如果想通过软件启动定时器 0,需要设置 TCON 寄存器中的( )位。
A.TR0 = 0 B.TR0 = 1 C.TF0 = 0 D.TF0 = 1
14.以下关于 SCON 寄存器的位,用于设置多机通信控制位的是( )。
A.SM2 B.REN C.TB8 D.RB8
15.当串行口发送完一帧数据后,( )位会被置 1。
A.RI B.TI C.SM0 D.SM1
16.若要使定时器 T0 中断允许,且总中断也允许,以下设置正确的是( )
A. IE = 0x82; B. IE = 0x90;
C. IE = 0xA0; D. IE = 0x80;
17.已知 IP 寄存器的值为 0x04,那么以下说法正确的是( )
A. 外部中断 0 优先级最高 B. 定时器 T0 中断优先级最高
C. 外部中断 1 优先级最高 D. 串口中断优先级最高
18.在中断系统中,若要设置外部中断 1 为高优先级中断,同时外部中断 0 为低优先级中断,以下 IP 寄存器的设置正确的是( )
A. IP = 0x04; B. IP = 0x02;
C. IP = 0x06; D. IP = 0x08;
19.当 TCON 寄存器中的 TF1 位为 1 时,表示( )
A. 定时器 T1 溢出中断请求 B. 定时器 T0 溢出中断请求
C. 外部中断 1 请求 D. 外部中断 0 请求
20.51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将
SCON 中的( ),向CPU申请中断。
A.RI或 TI置1 B.RI或 TI置0
C.RI置1或TI置0 D.RI置0或TI置1
二、判断题(本大题共10小题,每题 2分,共 20 分)
1.在单片机系统中,SCON 寄存器的 SM0 和 SM1 位只用于控制串行口数据的传输速率。( )
2. 中断允许寄存器 E 中的 EA 位为 0 时,所有中断源都被禁止,不受其他位的影响。( )
3.若要设置外部中断0为低电平触发方式,应将 TCON 寄存器中的IT0位置 1。( )
4. 51 单片机中,中断允许寄存器 IE 的复位值是 00H,意味着复位后所有中断都是禁止的。( )
5.IP 寄存器的功能是存储中断服务程序的入口地址。( )
6.将 TCON 寄存器中的所有位清零,就可以禁止所有的外部中断和定时器中断。( )
7.当定时器1溢出时,TCON 寄存器中的TF0位会被置1。( )
8.在 SCON 寄存器中,RI 位用于指示串行口发送数据是否完成。( )
9.外部中断 1 的优先级设置是通过 TCON 寄存器来完成的。( )
10.通过软件将 TCON 寄存器中的 TR1 位清零,可以停止定时器1的计数。( )
3、 分析简答题(本大题共2小题,每题 10 分,共20 分)
1.已知单片机晶振频率为 12MHz,使用定时器 0 工作在方式 1,要求定时时间为 50ms。计算定时器 0 的计数初值,并写出设置 TCON 和 E 寄存器允许定时器 0 中断的相关位设置代码。
2 .下列程序的功能是查技外部RAM1001H-1020H单元中数0FFH出现的次数,并将结果存入A中。请分析程序,并将其补充完整。
ORG 0000H
MOV R7,_____________ ;;将比较次数存人R7中
MOV DPTR ,___________ ;将数据块首地址送DPTR
MOV R3,#0
NEXT_A:
MOVX A,@DPTR
CJNE A,__________,AA0 ;将取出的数与0FFH比较,不相等则跳转;0FFH出现的次数自加1
INC__________
AA0:
INC DPTR
DJNZ__________,NEXT_A ;查找未结束,则跳转
MOV A,R3
SJMP $
END
4、 综合题(共计20 分)
采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式定时1 ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6 MHz,根据题目要求,补全下列程序。
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_IN
MAIN:MOV TMOD,_____________ ;定时器/计数器 T0为计数方式2
MOV TLO,_________________;计数100个脉冲的初值赋值
MOV THO,_________________
SETB GATE ;打开计数门
SETB___________ ;启动T0,开始计数
SETB ETO ;允许T0 中断
SETB_________ ;CPU开中断
CLR FO ;设置下一轮为定时方式的标志位
WAIT:AJMP WAIT
T0_IN:CLR EA ;关中断
JB F0,COUNT ;F0=1,转计数方式设置
MOV TMOD,#__________ ;定时器/计数器T0为定时方式0
MOV THO, #___________ :定时1ms初值赋值
MOV TL0,#____________
SETB EA
CPL FO RETI
COUNT:MOV TMOD,#___________
MOV TL0,#___________
SETB___________
RETI
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
四川省单独招生考试《单片机原理及应用》45分钟专题训练专辑,共30份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固电子信息类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加电子信息类高考的学生。与本专辑配套的还有四川省单独招生考试《电子技术基础与技能》《电工技术基础与技能》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《单片机原理及应用》
第三章 MCS-51单片机的中断系统
课题二 中断的相关寄存器
时间:45分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共20小题,每小题 2 分,共40分)
1.以下关于 TCON 寄存器的说法,正确的是( )
A.TCON 主要用于控制定时器 / 计数器的启动和停止
B.TCON 不能用于外部中断的触发方式设置
C.TCON 是一个 8 位寄存器,每位都用于定时器控制,和中断无关
D.TCON 中的 TF0 和 TF1 位只用于表示定时器溢出状态,不能触发中断
【答案】A
【解析】TCON(定时器 / 计数器控制寄存器)不仅用于定时器 / 计数器的启动和停止控制,也用于外部中断的触发方式等设置。它是 8 位寄存器,其中有与外部中断和定时器中断相关的控制位。TF0 和 TF1 位在定时器溢出时置 1,并且可以触发定时器中断。故选A。
2.在单片机中,SCON 寄存器的主要功能是( )
A. 控制串行口的工作方式和状态
B. 控制外部中断的优先级
C. 作为通用的数据寄存器
D. 控制定时器的计数初值
【答案】A
【解析】SCON(串行口控制寄存器)主要是对串行口的工作方式(如方式 0 - 方式 3)、接收和发送的状态(如是否允许接收、发送中断标志等)进行控制,它和外部中断优先级、定时器计数初值等无关,也不是通用数据寄存器。故选A。
3.中断允许寄存器 E 中,EA 位的作用是( )
A. 单独允许或禁止某一个中断源
B. 总中断允许控制位,当EA=0 时,所有中断请求被禁止
C. 用于设置外部中断的触发方式
D. 控制定时器中断的优先级
【答案】B
【解析】EA 是中断允许总控制位。当 EA = 0 时,不管其他中断允许位状态如何,所有中断请求都被禁止;当 EA = 1 时,各个中断源的中断请求是否被允许,还需要看各自对应的中断允许位。它不能单独允许或禁止某一个中断源,也和外部中断触发方式、定时器中断优先级无关。故选B。
4.如果要设置外部中断0为下降沿触发,需要设置 TCON 寄存器中的( )位。
A.IT0 = 0 B.IT0 = 1 C.IE0 = 0 D.IE0 = 1
【答案】 B
【解析】在 TCON 寄存器中,IT0 位用于设置外部中断 0 的触发方式,IT0 = 0 时为低电平触发,IT0 = 1 时为下降沿触发;IE0 位是外部中断 0 的中断请求标志位,当外部中断 0 发生有效触发时,IE0 置 1,不是用于触发方式设置。故选B。
5.IP 寄存器用于( )
A. 产生中断请求信号 B. 控制中断源的优先级
C. 存储中断服务程序的入口地址 D. 检测中断是否执行完毕
【答案】B
【解析】IP(中断优先级寄存器)用于设置各个中断源的优先级。它不能产生中断请求信号,中断服务程序入口地址存储在固定的存储区域,不是 IP 寄存器的功能,也不能检测中断是否执行完毕。故选B。
6.在单片机系统中,若想禁止所有中断,应该( )
A. 将IE 寄存器中的EA位清零 B. 将 TCON 寄存器中的所有位清零
C. 将 SCON 寄存器中的所有位清零 D. 将 IP 寄存器中的所有位清零
【答案】A
【解析】IE寄存器是中断允许寄存器,将EA位清零可以禁止所有中断。TCON 主要用于定时器和外部中断的控制和状态,SCON 用于串行口控制,IP 用于中断优先级设置,它们全部清零不能禁止所有中断。故选A。
7.当定时器0溢出时,TCON 寄存器中的( )位会被置 1。
A.TF0 B.TR0 C.IT0 D.IE0
【答案】A
【解析】在 TCON 寄存器中,TF0 是定时器 0 溢出标志位,当定时器 0 计数溢出时,TF0 置 1;TR0 是定时器 0 运行控制位,用于启动或停止定时器 0;IT0 用于外部中断 0 触发方式设置;IE0 是外部中断 0 中断请求标志位。故选择A。
8.串行口接收中断标志位是 SCON 寄存器中的( )。
A.RI B.TI C.SM0 D.SM1
【答案】A
【解析】在 SCON 寄存器中,RI 是串行口接收中断标志位,当接收完一帧数据后,RI 置 1;TI 是串行口发送中断标志位,当发送完一帧数据后,TI 置 1;SM0 和 SM1 用于设置串行口的工作方式。故选A。
9.以下哪个寄存器可以设置外部中断1的优先级( )
A.TCON B.SCON C.IE D.IP
【答案】D
【解析】IP 寄存器用于设置中断优先级,包括外部中断 1 的优先级;TCON 主要涉及定时器和外部中断的控制和触发方式等;SCON 用于串行口控制;IE 寄存器主要用于中断允许控制。故选D。
10.若要允许定时器 1 中断,应该设置IE 寄存器中的( )位。
A.ET0 B.ET1 C.EX0 D.EX1
【答案】B
【解析】在IE 寄存器中,ET1 是定时器 1 中断允许位,当 ET1=1 时,允许定时器 1 中断;ET0 是定时器 0 中断允许位;EX0 是外部中断0中断允许位;EX1 是外部中断 1 中断允许位。故选B。
11.在单片机中,外部中断 0 的中断请求标志位是( )。
A.IE0 B.IE1 C.TF0 D.TF1
【答案】A
【解析】IE0 是外部中断0的中断请求标志位,当外部中断0有中断请求时,IE0置1;IE1是外部中断 1 的中断请求标志位;TF0 是定时器0溢出标志位;TF1是定时器1溢出标志位。故选A。
12.若将 IP 寄存器中的 PT0 位置 1,PT1 位清零,这表示( )。
A. 定时器 0 为高优先级,定时器 1 为低优先级
B. 定时器 1 为高优先级,定时器 0 为低优先级
C. 定时器 0 和定时器 1 优先级相同
D. 定时器 0 和定时器 1 的中断被禁止
【答案】A
【解析】在IP寄存器中,PT0 是定时器 0 优先级控制位,PT1 是定时器1优先级控制位。PT0= 1表示定时器0为高优先级,PT1 = 0 表示定时器 1 为低优先级。故选A。
13.如果想通过软件启动定时器 0,需要设置 TCON 寄存器中的( )位。
A.TR0 = 0 B.TR0 = 1 C.TF0 = 0 D.TF0 = 1
【答案】B
【解析】在 TCON 寄存器中,TR0 位用于控制定时器 0 的启动和停止,TR0 = 1 时启动定时器 0,TR0 = 0 时停止定时器 0;TF0 是定时器 0 溢出标志位,不是用于启动定时器 0 的。故选B。
14.以下关于 SCON 寄存器的位,用于设置多机通信控制位的是( )。
A.SM2 B.REN C.TB8 D.RB8
【答案】A
【解析】SM2 是多机通信控制位,用于方式 2 和方式 3 中多机通信的控制;REN 是允许接收位,用于控制是否允许串行口接收数据;TB8 用于方式 2 和方式 3 中发送数据的第 9 位,RB8 用于方式 2 和方式 3 中接收数据的第 9 位。故选A。
15.当串行口发送完一帧数据后,( )位会被置 1。
A.RI B.TI C.SM0 D.SM1
【答案】B
【解析】TI 是串行口发送中断标志位,当发送完一帧数据后,TI 置 1;RI 是串行口接收中断标志位;SM0 和 SM1 用于设置串行口的工作方式。故选B。
16.若要使定时器 T0 中断允许,且总中断也允许,以下设置正确的是( )
A. IE = 0x82; B. IE = 0x90;
C. IE = 0xA0; D. IE = 0x80;
【答案】A
【解析】IE 寄存器中,总中断允许位 EA 在 D7 位,定时器 T0 中断允许位 ET0 在 D1 位。要使总中断允许且定时器 T0 中断允许,IE 应设置为 0x82,即 10000010B,其中 D7 位为 1 表示总中断允许,D1 位为 1 表示定时器 T0 中断允许。故选A。
17.已知 IP 寄存器的值为 0x04,那么以下说法正确的是( )
A. 外部中断 0 优先级最高 B. 定时器 T0 中断优先级最高
C. 外部中断 1 优先级最高 D. 串口中断优先级最高
【答案】C
【解析】IP 寄存器用于设置各中断源的优先级,其各位对应不同的中断源。0x04 即 00000100B,其中 D2 位为 1,表示外部中断 1 优先级最高。故选C。
18.在中断系统中,若要设置外部中断 1 为高优先级中断,同时外部中断 0 为低优先级中断,以下 IP 寄存器的设置正确的是( )
A. IP = 0x04; B. IP = 0x02;
C. IP = 0x06; D. IP = 0x08;
【答案】A
【解析】要设置外部中断 1 为高优先级中断,外部中断 1 对应的 IP 寄存器的 D2 位应置 1;外部中断 0 为低优先级中断,其对应的 D0 位应置 0。所以应设置 IP = 0x04,即 00000100B。故选A。
19.当 TCON 寄存器中的 TF1 位为 1 时,表示( )
A. 定时器 T1 溢出中断请求 B. 定时器 T0 溢出中断请求
C. 外部中断 1 请求 D. 外部中断 0 请求
【答案】A
【解析】在 TCON 寄存器中,TF1 是定时器 T1 的溢出中断标志位。当定时器 T1 计数溢出时,TF1 会自动置 1,向 CPU 申请中断。故选A。
20.51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将
SCON 中的( ),向CPU申请中断。
A.RI或 TI置1 B.RI或 TI置0
C.RI置1或TI置0 D.RI置0或TI置1
【答案】A
【解析】在 51 单片机中,当串行口接收完一帧数据时,会将 SCON 中的 RI(接收中断标志位)置1,向 CPU 申请中断,表示可以从接收缓冲器中读取数据了;当串行口发送完一帧数据时,会将SCON 中的 TI(发送中断标志位)置1,向CPU 申请中断,表示可以继续发送下一数据了。故选A。
二、判断题(本大题共10小题,每题 2分,共 20 分)
1.在单片机系统中,SCON 寄存器的 SM0 和 SM1 位只用于控制串行口数据的传输速率。( )
【答案】×
【解析】SCON 寄存器中的 SM0 和 SM1 位主要用于设置串行口的工作方式(方式0-方式3),而不是仅仅控制数据传输速率。不同的工作方式有不同的帧格式、波特率设置方法等。故表述错误。
2. 中断允许寄存器 E 中的 EA 位为 0 时,所有中断源都被禁止,不受其他位的影响。( )
【答案】√
【解析】EA 是中断允许总控制位。当 EA = 0 时,不管其他中断允许位(如 ET0、ET1、EX0、EX1 等)状态如何,所有中断请求都被禁止。只有当 EA = 1 时,各个中断源对应的中断允许位才能决定该中断源是否被允许。故表述正确。
3.若要设置外部中断0为低电平触发方式,应将 TCON 寄存器中的IT0位置 1。( )
【答案】×
【解析】在 TCON 寄存器中,IT0=0 时,外部中断 0 为低电平触发方式;IT0=1 时,外部中断 0 为下降沿触发方式。故表述错误。
4. 51 单片机中,中断允许寄存器 IE 的复位值是 00H,意味着复位后所有中断都是禁止的。( )
【答案】√
【解析】IE 寄存器复位值为 00H,此时中断总允许位EA为 0,其他分允许位也为 0,所有中断都处于禁止状态。故表述正确。
5.IP 寄存器的功能是存储中断服务程序的入口地址。( )
【答案】×
【解析】IP 寄存器(中断优先级寄存器)用于控制中断源的优先级,而不是存储中断服务程序的入口地址。中断服务程序的入口地址是由单片机的硬件结构和编译器等因素决定存储在特定的存储区域。故表述错误。
6.将 TCON 寄存器中的所有位清零,就可以禁止所有的外部中断和定时器中断。( )
【答案】×
【解析】虽然 TCON 寄存器与外部中断和定时器中断有关,但仅仅将其所有位清零不能禁止所有中断。例如,中断允许寄存器IE中的EA位以及各个中断源对应的允许位也对中断是否允许起到关键作用。故表述错误。
7.当定时器1溢出时,TCON 寄存器中的TF0位会被置1。( )
【答案】×
【解析】当定时器 1 溢出时,是 TCON 寄存器中的 TF1 位被置 1,TF0 位是定时器 0 溢出标志位。故表述错误。
8.在 SCON 寄存器中,RI 位用于指示串行口发送数据是否完成。( )
【答案】×
【解析】在 SCON 寄存器中,RI(接收中断标志位)是用于指示串行口接收数据是否完成,当接收完一帧数据后,RI 置 1;而 TI 位用于指示串行口发送数据是否完成。故表述错误。
9.外部中断 1 的优先级设置是通过 TCON 寄存器来完成的。( )
【答案】×
【解析】外部中断 1 优先级的设置是通过 IP 寄存器来完成的,TCON 寄存器主要涉及外部中断的触发方式和定时器的控制等内容。故表述错误。
10.通过软件将 TCON 寄存器中的 TR1 位清零,可以停止定时器1的计数。( )
【答案】√
【解析】在 TCON 寄存器中,TR1 位是定时器 1 的运行控制位,TR1 = 1 时启动定时器 1 计数,TR1 = 0 时停止定时器 1 计数。故表述正确。
3、 分析简答题(本大题共2小题,每题 10 分,共20 分)
1.已知单片机晶振频率为 12MHz,使用定时器 0 工作在方式 1,要求定时时间为 50ms。计算定时器 0 的计数初值,并写出设置 TCON 和 E 寄存器允许定时器 0 中断的相关位设置代码。
【答案】
①计算计数初值:
机器周期=12/晶振频率=12/12MHz=1μS。
方式1是 16 位定时器,定时时间T=(2^16-X)*机器周期,已知T=50ms=50000us。
则 ,转化为十六进制为3CBOH,所以THO=3CH,TLO = BOH。
②寄存器设置代码:
MOV TMOD,#01H;设置定时器 0 工作方式 1
MOV THO,#3CH;设置计数初值高8位
MOV TLO,#B0H;设置计数初值低8位
SETB ETO;允许定时器0中断
SETB EA;开总中断
SETB TRO;启动定时器
2 .下列程序的功能是查技外部RAM1001H-1020H单元中数0FFH出现的次数,并将结果存入A中。请分析程序,并将其补充完整。
ORG 0000H
MOV R7,_____________ ;;将比较次数存人R7中
MOV DPTR ,___________ ;将数据块首地址送DPTR
MOV R3,#0
NEXT_A:
MOVX A,@DPTR
CJNE A,__________,AA0 ;将取出的数与0FFH比较,不相等则跳转;0FFH出现的次数自加1
INC__________
AA0:
INC DPTR
DJNZ__________,NEXT_A ;查找未结束,则跳转
MOV A,R3
SJMP $
END
【答案】
#20H,#1001H,#OFFH,R3,R7
【解析】
设置循环次数:题目中要查找的范围是外部RAM的1801H-1020H单元,一共是1020H-1801H+120H(十六进制表示的地址范围对应的单元个数),转换为十进制就是32个单元。所以要将比较次数32存入R7中,十六进制表示为20H,即MOVR7,#20H。
设置数据块首地址:需要把要查找的数据块首地址1001H送入数据指针DPTR,使用指令 OV2DPTR,#1001H 。
数据比较与计数操作:通过MOVXA,@DPTR从外部 RAM中取出数据,然后用CJNE A,#0FFH,AA8 将取出的数与 0FFH 进行比较,如果不相等就跳转到 AA0 处执行后续操作(地址指针加 1等),如果相等则说明找到了 0FFH,此时要对记录 FFH出现次数的寄存器 R3进行自加 1 操作,即 INC R3 。
循环控制:每比较完一个单元的数据后,需要将数据指针 DPTR指向下一个单元,通过 INC DPTR 实现地A址加 1。然后判断是否所有单元都查找完了,使用 DINZ R7,NEXT_A,如果 R7不为 8(即循环次数还没减到 0),就跳转到 NEXT A继续进行下一次查找比较操作。
4、 综合题(共计20 分)
采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式定时1 ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6 MHz,根据题目要求,补全下列程序。
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_IN
MAIN:MOV TMOD,_____________ ;定时器/计数器 T0为计数方式2
MOV TLO,_________________;计数100个脉冲的初值赋值
MOV THO,_________________
SETB GATE ;打开计数门
SETB___________ ;启动T0,开始计数
SETB ETO ;允许T0 中断
SETB_________ ;CPU开中断
CLR FO ;设置下一轮为定时方式的标志位
WAIT:AJMP WAIT
T0_IN:CLR EA ;关中断
JB F0,COUNT ;F0=1,转计数方式设置
MOV TMOD,#__________ ;定时器/计数器T0为定时方式0
MOV THO, #___________ :定时1ms初值赋值
MOV TL0,#____________
SETB EA
CPL FO RETI
COUNT:MOV TMOD,#___________
MOV TL0,#___________
SETB___________
RETI
【答案】
#06H,#9CH, #9CH,TRO, EA,
00H,,0F0H,18H,06H,9CH,EA
【解析】
首先设置定时器/计数器 的工作方式。题目要求 T0 初始为计数方式 2,对于 TMOD 寄存器,高 4位用于 T1,低4位用于 T8。计数方式2对应的控制字为 00000110B(十六进制表示为 06H),所MOV TMOD,#24H 。对于计数方式2下,要计数 100个脉冲,计数初值的计算:方式2是8位自动重装计数器,计数值=28-N(N为要计数的脉冲个数),这里N=100,计数值=28-100=156,十六进制表示为9CH,所MOV TL,#9CH,MOV TH,#9CH(因为方式2会自动重装初值到 T,初值要同时赋给THO 和TL)。接着要启动 T 开始计数,通过SETB TR0 来启动定时器/计数器 T0。允许 T8中断用 SETB EA,要使CPU能响应中断还需要 SETB EA(开总中断)
中断服务程序:
进入中断服务程序先关中断 CLR EA,这是为了避免在处理中断过程中又被新的中断打断,导致程序出现混乱等问题。当 F0=1 时,表示要转为计数方式,通过JB F8,COUNT 来判断跳转。若 F0=0,则说明要设置为定时方式。对于定时方式0(13 位定时器/计数器),控制字十六进制表示为00H,所以MOV TMOD,#00H
已知晶振频率 fosc=6MHz,机器周期 T=2μs。要定时 1ms,定时初值的计算:对于方式0,定时时间T=(213-初值)xT,则初值=8192-500=7692,高8位(TH)为F0H,低5位(TL)为18H,所以MOV TH ,#F0H,MOV TL0,#18H。然后再开中断 SETB EA 并返回(RETI)。当跳转到 COUNT 标号处时,要重新设置为计数方式,这里还是计数方式2,控制字为 06H,所以 MOV TMOD,#24H ,同时给 TL0 赋计数初值(前面已经分析过计数100个脉冲初值为 9CH),即 MOV TLO,#9CH,最后通过SETB EA开中断并返回(RETI)。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$