中断系统、定时计数习题

中断系统、定时计数习题
中断系统、定时计数习题

第6/8章 MCS-51中断系统和定时/计数器

(习题)

1、什么是中断?51单片机有哪几个中断源?各自对应的中断入口地址是什么?中断入口地址与中断服务子程序入口地址有区别吗?

中断是指CPU暂时中止其正在执行的程序,转去执行请求中断的那个外围设备或事件的服务程序,等处理完后再返回执行原来中止的程序。

MCS-51有5个中断源,其中断源与中断入口地址分别为:

INT 0003H

T 000BH

INT 0013H

1

1

T 001BH

串行口 0023H

中断入口地址与中断服务子程序的入口地址是有区别的,中断入口地址如上,而中断服务子程序的入口地址就是中断服务子程序名称所在的地址即中断服务子程序第一句所在的地址。

2、试编写一段对中断系统初始化的程序,使之允许/INT0、/INT1、T0、串行口中断,且使T0中断为高优先级中断。

MOV IE,#10010111B

MOV IP,#00000010B

3、试分析以下几个中断优先级的排列顺序(级别由高到低)是否有可能实现?若能,应如何设置中断源的中断优先级别?若不能,试述理由。

1)T0、T1、/INT0、/INT1、串行口;

2)串行口、/INT0、T0、/INT1、T1;

3)/INT0、T1、/INT1、T0、串行口;

4)/INT0、/INT1、串行口、T0、T1;

5)串行口、T0、/INT0、/INT1、T1;

6)/INT0、/INT1、T0、串行口、T1;

7)/INT0、T1、T0、/INT1、串行口。

(1)可以,MOV IP,#00001010B

(2)可以,MOV IP,#00010000B

(3)不能

(4)可以,MOV IP,#00010101B

(5)不能

(6)不能

(7)可以,MOV IP,#00001001B

4、已知负跳变脉冲从51单片机P3.3引脚输入,且该脉冲数少于65535个,试利用/INT1中断,统计输入脉冲个数。脉冲数存内RAM30H(低位)31H(高位),并调用数据处理子程序WORK和显示子程序DIR(已知,可直接调用)显示,要求用边沿触发方式。

org 0000h

ljmp main

org 0013h;中断入口设置即中断入口地址

ljmp i_int1;跳到中断服务子程序入口地址

org 50h

main: mov sp,#60h

mov tcon,#00000100b;/INT1边沿触发方式。

mov ie,#10000100b;仅开放/INT1中断

mov 30h,#0

mov 31h,#0

sjmp $

i_int1: mov a,#1

add a,30h

mov 30h,a

clr a

addc a,31h

mov 31h,a

acall work

acall dir

reti

work: :

:

ret

dir: :

:

ret

end

5、51单片机,当fosc=6MHz和fosc=12MHz时,最大定时各为多少?

131.072ms,65.536ms

6.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

(1)计算时间常数X,应用公式X=216-t(f/12)(2)写出程序清单

解:X=216-t(f /12)

=216-1*10-3*6*106/12

=OFEOCH

ORG 3000H

MOV TMOD,#01H

MOV TL0,#OCH

MOV THO,#OFEH

SETB TR0

LOOP: JBC TFO,DONE

SJMP LOOP

DONE: MOV TL0,#OCH

MOV THO,#OFEH

CPL P1.0

SJMP LOOP

7、若f OSC=6MHZ,要求T1定时10ms,选择方式0,装入时间初值后T1计数器自启动。计算时间初值X=?并填入TMOD、TCON和TH1、TL1的值?解:x=3192=c78h,th1=63h,tl1=18h,tmod=00h,tcon=40h

8、要求T0工作在计数器方式(方式0),计满1000个数申请中断。计算计数初值X及填写TMOD、TCON和TH0、TL0?

解:x=7192h=1c18h,th0=e0h,tl0=18h,tmod =04h,tcon=10h

第5章习题解答

第5章思考题及习题5参考答案 一、填空 1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。 答:32.768ms,262.144ms,1024μs 2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。 答:1/24 3.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。 答:系统时钟信号12分频后,定时器初值 4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。 答:方式1定时,131.072ms。 5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。 答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON 6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。 答:FCH,18H。 二、单选 1.定时器T0工作在方式3时,定时器T1有种工作方式。 A.1种 B.2种 C.3种D.4种 答:C 2. 定时器T0、T1工作于方式1时,其计数器为位。 A.8位 B.16位 C.14位 D.13位 答:B 3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态 B. 仅取决于GATE位状态 C. 是由TR x和INT x两个条件来共同控制 D. 仅取决于INT x的状态 答:C 4. 定时器T2工作在自动重装载方式时,其计数器为位。 A.8位 B. 13位 C.14位 D. 16位 答:D 5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。 A.87H B. 09H C.80H D. 00H 答:B 三、判断对错 1.下列关于T0、T1的哪些说法是正确的。 A.特殊功能寄存器SCON,与定时器/计数器的控制无关。对 B.特殊功能寄存器TCON,与定时器/计数器的控制无关。错 C.特殊功能寄存器IE,与定时器/计数器的控制无关。错 D.特殊功能寄存器TMOD,与定时器/计数器的控制无关。错 2.定时器T0、T1对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持 续时间不小于1个机器周期。特殊功能寄存器SCON与定时器/计数器的控制无关。错 3.定时器T0、T1对外部引脚上的脉冲进行计数时,要求输入的计数脉冲的高电平和低电平的持续时间均不小于2个机器周期。对 四、简答 1.定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合? 答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。 2.TH x与TL x(x=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新? 答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。 3.如果系统的晶振的频率为24MHz,定时器/计数器工作在方式0、1、2下,其最大定时时间各为多少? 答:晶振的频率为24MHz, 机器周期为0.5μs。

PLC实验定时器计数器实验

实验二定时器、计数器实验 一、目的要求 1、了解和熟悉编程软件的使用方法。 2、了解写入和编辑用户程序的方法。 3、掌握定时器、计数器的使用。 二、实验设备 台达可编程序控制器一台;PLC实验箱一台;装有WPL编程软件和开发软件的计算机一台;编程连接电缆一根。 三、实验内容 1、实验原理 定时器相当于继电器电路中的时间继电器,可在程序中作延时控制。 可编程控制器中的定时器是根据时钟脉冲累积计时的,时钟脉冲有 1ms、10ms、100ms等不同规格。(定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个设定值寄存器(字),一个当前值寄存器(字)。设定值寄存器(字)存储编程时赋值的计时时间设定值。当前值寄存器记录计时当前值。这些寄存器为16位二进制存储器。其最大值乘以定时器的计时单位值即是定时器的最大计时范围值。定时器满足计时条件开始计时,当前值寄存器则开始计数,当当前值与设定值相等时定时器动作,常开触点接通,常闭触点断开,并通过程序作用于控制对象,达到时间控制的目的。 TMR为十六位定时器,当该指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定时值(计时值≥设定值),其接点动作如下:CNT为十六位计数器,当该指令由Off→On执行,表示所指定的计数器线圈由失电→受电,则该计数器计数值加1,当计数到达所指定的定数值(计数值 = 设定值),其接点动作如下:?? 当计数到达之后,若再有计数脉冲输入,其接点及计数值均保持不变,若要重新计数或作清除的动作,请利用RST指令。 编程使PLC输出Y0输出3秒的脉冲,PLC输入1对脉冲计数,计数值为10时,PLC输出Y1输出为1,第11个脉冲清零。 OUTPUT00

实验三单片机定时计数器实验

实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD

用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh

定时计数器练习题

定时/计数器练习题 一、填空题 1.当使用慢速外设时,最佳的传输方式是(中断)。 2.MCS-51单片机有(5 )个中断源,有(2 )个中断优先级,优先级由软件填写特 殊功能寄存器(IP )加以选择。 3.MCS-51单片机中,T0中断服务程序入口地址为(000BH )。 4.外部中断请求标志位是(IE0 )和(IE1 )。 5.MCS-51单片机晶振频率为12MH Z ,相应单重中断的最短时间是(3 μs),最长时间 是(8μs)。 6.MCS-51单片机外部中断有(2 )种中断信号触发方式,若选用外部中断0为边沿 触发方式,则需要指令(SETB IT0 )。 7.MCS-51单片机中断系统选用外部中断1和定时器/计数器T1中断为高优先级,则中断 优先级控制字(IP)= (0CH )。 8.对采用电平触发方式的外部中断,必须在中断返回前(撤销中断请求信号)。 9.(RETI )指令以及任何访问(IE )和(IP )寄存器的指令执行完后,CPU不 能马上相应中断。 10.MCS-51单片机有(2 )个16位可编程定时器/计数器,有( 4 )种工作方式。 11.MCS-51单片机的最大计数值为(65536 ),此时工作于方式(1 )。 12.若定时器/计数器工作于方式0时,为(13 )位的定时器/计数器,TL的低(5 ) 位计满溢出时,向高(8 )位的TH进位。 13.当定时器/计数器T0工作在方式3时,要占用定时器/计数器T1的(TR1 )和(TF1 ) 两个控制位。 14.当把定时器/计数器T0定义为一个可自动重新装入初值的8位定时器/计数器时, (TL0 )作为8位计数器,(TH0 )为常数寄存器。 15.使用定时器T1设置串行通信的波特率时,应把定时器T1设定为工作方式2,即(自 动重装载)。 16.在定时器/计数器T0工作方式3下,TH0溢出时,(TF1 )标志将被硬件置1去请求 中断。 17.T0和T1两引脚也可作为外部中断输入引脚,这时TMOD寄存器中的C/T位应为(1 )。 若MO、M1两位置成10B,则计数初值应当是TH=TL=( 0FFH或255 )。 18.欲使T1停止工作,应执行一条指令(CLR TR1 ),在工作方式3下,欲使TH0开始 工作,应执行一条指令(SETB TR1 )。 19.串行口中断的中断标志位是由(硬件)产生,由(软件)清零。 20.进行串行通信,通信双方需具有相同的(数据格式)和(速率)。 21.要串行口工作为10位异步串行通信方式,工作方式应选为(方式1 )。 22.用串行口扩展并行口时,串行口工作方式应选为(方式0 )。 23.按照数据传送方向,串行通信分为(单工)、(半双工)和(全双工)。 24.计算机通信主要有两种方式:(并行通信)和(串行通信)。 25.异步串行数据通信的帧格式由(起始位)、(数据位)、(奇偶校验位)和(停止位)组 成。 26.在串行通信中,按照传送的帧的格式,分为(异步串行通信)和(同步串行通信)。 27.串行口启动发送过程是通过执行指令(MOV SBUF )实现,而接收过程是在接收控 制器检测到RXD端的(负跳变)时启动的。 一、选择题

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

8254定时与计数器实验

XX学院 实验报告 实验名称 姓名 学号 班级 教师 日期

一、实验容与要求 1.1 实验容 本次实验分为如下2个子实验: (1)计数应用实验:编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按 下‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’; (2)定时应用实验:编写程序,应用8254的定时功能,产生一个1s的方波,并用本装置的 示波器功能来观察。 1.2 实验要求 本次实验中2个子实验的实验要求如下: (1)计数应用实验:将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲 KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏 幕上显示字符“M”; (2)定时应用实验:将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为 CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。 二、实验原理与硬件连线 2.1 实验原理 8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能: (1)有三个地理的16位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于6种不同的工作方式。

(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。 (5)8254有读回命令(8253,没有),除了可以读出当前计数单元的容外,还可以读出状态寄 存器的容 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi÷f OUTi,其中f CLKi是输入时钟脉冲的频率,f OUTi是输出波形的频率。 图2-1是8254的部结构框图和引脚图,它是由与CPU的接口,部控制电路和三个计数器组成。8254的工作方式如下述: (1)方式0:计数到0结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式 D:[7: RD A0 A1 CS CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2图2-1 8254部结构图

单片机定时器习题

单片机定时器/计数器、中断和串行口习题 一、填空题 1、若要启动定时器T0开始计数,则应将TR0的值设置为 1 。 2、定时器T1工作在方式0时,其定时时间为(8192-定时器初值)*2us 。方式1时定时时间又为(65536-定时器初值)*2us 。 3、串行通信有异步通信和同步通信两种基本通讯方式。 4、波特率是指每秒钟传递信息的位数。 5、如果要将现有的波特率加倍,可使用指令MOV PCON,#80H 。 6、当串行口工作在方式1时,一帧信息共有10位,即起始位、8个数据位、停止位。 7、串行口工作在方式2时的波特率为fosc/32或fosc/64 。 8、外部中断1的程序入口地址是0013H 。 二、选择题 1、若要采用定时器0,方式1,如何设置TMOD__B__ A.00H B.01H C.10H D. 11H 2、单片机采用方式0时是13位计数器,它的最大定时时间是多少?_B__ A.81.92ms B.8.192ms C.65.536ms D.6.5536ms 3、以下哪项不是中断的特点? C A.分时操作 B.实时处理 C.在线编程 D.故障处理 4、外部中断响应时间至少需要__A个机器周期。 A.3 B.2 C.4 D.8 5、通过串口发送和接受数据时,在程序中使用__A___指令。 A.MOV BMOVX C.MOVC D.SW AP 6、以下哪个是中断优先级寄存器?__B A.IE B.IP C.TCON D.SCON 7、串行口中断的程序入口地址是 C 。 A 0003H B 001BH C 0023H D 000BH 三、判断题 1、8051的两个定时器T0和T1都是16位的计数器。(对) 2、单片机的计数器最高检测频率为振荡频率的1/12。(错) 3、定时/计数器的方式2具有自动装入初值的功能。(对) 4、引起中断的原因或发出中断申请的来源称为中断源。(对) 5、中断可使CPU和外设同时工作。(对) 6、定时器的特殊功能寄存器TMOD是用作中断溢出标志,并控制定时计数器的启动和停止。(错) 7、定时器控制寄存器TCON可以位寻址。(对) 8、MCS-51系列单片机的5个中断源都是可屏蔽中断。(对) 四、综合题

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用Array实验项目名称:51定时器实验实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP) 2、51单片机的相关寄存器设置 方式控制寄存器TMOD: TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下: 1. 工作方式选择位M1、M0 3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式1。

T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若T1工作于定时方式1,计数初值为a,晶振频率为12MHz,则T1从计数初值计数到溢出的定时时间为t =(216-a)μS。 4、51单片机的编程 使用MCS-51单片机的定时/计数器的步骤是: .设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 如:T1用于定时器、方式1,T0用于计数器、方式2,均用软件控制。则TMOD的值应为:0001 0110,即0x16。 .设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为T,计数初值为a,则有 T = 12×(T_all – a)/fosc a = T_all – T×fosc/12 a = – T×fosc/12 (注意单位) THx = a / 256;TLx = a % 256; .确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1;EA = 1; 还需要编写中断服务函数: void T0_srv(void)interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段} .启动定时器:TR0(TR1)= 1。 四、实验内容过程及结果分析: 利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计00-59的两位秒表显示程序。 (1)实现个位秒表,9-0

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。 汇编程序: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } } 开始 TMOD初始化 计数初值初始化 中断初始化 启动定时器 计数溢出 清计数溢出标志 Y N P1.0口线取反

中断系统与定时计数器各个位的定义

第5章中断系统与定时/计数器 本章概要及学习目标 本章介绍单片机中断系统的概念及89C51三种中断类型的工作方式;介绍定时/计数器的结构、类型及控制方式。并通过实训介绍中断技术、定时/计数器的具体应用及中断服务子程序的基本编程方法。 通过对本章的学习,读者应掌握和了解以下知: 1.89C51中断系统的概念及中断系统的功能 2.特殊功能寄存器TCON、SCON、IE、IP、TH、TL和TMOD各控制位的功能及设置方法 3.定时/计数器的结构、两种工作方式、四种工作模式及应用 4.中断服务子程序的结构及基本编程方法 5.MCS-51单片机外部中断源的扩展方法 5.1 中断系统 中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机的工作效率。中断技术的应用使计算机的功能更强,效率更高。 5.1.1 中断的概念 1.中断技术 中断是指CPU正在执行程序的过程中,CPU以外发生的某一事件(如芯片引脚一个电平的变化、一个脉冲沿的发生或定时/计数器的溢出等)向CPU发出中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。例5.1中,50ms定时时间到则发生定时器0溢出,向CPU提出中断请求,CPU 响应中断请求,就暂时终止当前执行的程序,转去执行相应的处理程序ISSR(Interrupt Service Subroutine)。 “中断”之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为“断点”。引起中断的原因或能发出中断申请的来源,称为“中断源”。中断源要求服务的请求称为“中断请求”(或中断申请)。例5.1中的中断服务子程序是ISSR程序,主程序中的断点(读者自行查找),中断源是定时器0,在50ms定时时间到后由硬件置位TCON寄存器中的TF0位,然后自动向CPU发出中断请求。 调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先无法确定,因为“中断”的发生是由外部因素随机决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。对这个中断全过程的分析,研究及实现方法称为中断技术。 2.中断技术的应用 采用中断技术能实现以下的功能: (1)并行处理有了中断技术,就解决了快速的CPU与慢速外设之间的速度匹配问题,CPU可以与多台外设并行工作,CPU可分时与多台外设进行信息交换。CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向CPU

单片机实验3 中断、定时器计数器实验

西南科技大学实验报告 课程名称:单片机原理及应用A 实验名称:中断、定时器/计数器实验姓名: 学号: 班级:生医1401 指导教师:雷华军 西南科技大学信息工程学院制

实验题目 数码管动态扫描显示驱动、键盘动态扫描驱动 一、实验目的 1、熟练巩固单片机开发环境KEIL界面的相关操作和PROTUES仿真软件的操 作,会使用HEX文件进行单片机的仿真。 2、了解定时器的原理和四种工作方式的使用方法,学习定时器的相关应用,包括产生信号和 计数,利用定时器进行延时等。 3、进一步掌握熟练单个数码管以及多位数码管的显示原理,学会将0~1000的数字进行显示。 4、掌握利用单片机产生矩形方脉冲的相关原理。 二、实验原理 1、定时器结构和原理 图① 上图①为定时器T0、T1的结构,其中振荡器经12分频后作为定时器的时钟脉冲,T为外部计数脉冲输入端,通过开关K1选择。反相器,或门,与门共同构成启/停控制信号。TH 和TL为加1计数器,TF为中断标志。每接收到一个脉冲,加1计数器自动加1,当计数器中的数被加为0时产生溢出标志,TF将被置1。计数器工作方式的选择和功能的实现需要配置相应的寄存器TMOD和TCON。 2、定时器工作方式 定时器共有四种工作方式分别为方式0——方式3。 方式0:13位计数器,最大计数值为213个脉冲。 方式1:16位计数器,最大计数值为216个脉冲。 方式2:8位自动重装计数器。该方式下,TL进行计数工作,TH用于存放计数初值,当产生溢出中断请求时会自动将TH中的初值重新装入TL,以使计数器继续工作。 方式3:仅限于T0计数器,在方式3下,T0计数器被分成两个独立的8为计数器TL0和TH0。

第05章 单片机定时计数器 习题解答

第05章单片机定时计数器习题解答 一、填空题 1.MCS-51单片机中有 2 个16 位的定时器/计数 器。 2.定时器/计数器T0可以工作于方式0、1、2、3 。 3.方式0为 13 位定时器/计数器。 4.若系统晶振频率为12MHz,则T0工作于定时方式1时最多可以定 时65536 μs。 5.欲对300个外部事件计数,可以选用定时器/计数器T1的模式0 或模 式 1 。 6.TMOD中的M1M0= 11时,定时器工作于方式 3 。 7.若系统晶振频率为6MHz,则定时器可以实现的最小定时时间为 2 μs。 8.MCS-51单片机工作于定时状态时,计数脉冲来自单片机内部的机器周 期。 9.MCS-51单片机工作于计数状态时,计数脉冲来自单片机外部事件。 10.当GATE=0时,则当软件控制位TR0=1时启动T0开始工作。 二、简答题 1.定时器/计数器T0和T1各有几种工作方式?简述每种工作方式的特点。如何控制定时器/计数器的工作方式? 答:T0可以工作于方式0,1,2,3;T1可以工作于方式0,1,2 方式0:是13位定时/计数器,由TLX的低5位(TLX的高3位未用)和THX高8位组成。 方式1:TLX和THX组成16位定时/计数器。 方式2:方式2为自动重装初值的8位定时/计数器。 方式3只适用于定时/计数器T0,当T0工作在方式3时,TH0和TL0被分为两个独立的8位计数器。 TMOD用来控制定时计数器的工作方式,位结构如下:

C/T:定时或计数功能选择位。1为计数方式, 0为定时方式。 GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。 GATE=0,软件控制位TR0(TR1)=1启动定时/计数器开始计数。 GATE=1,软件控制位TR0(TR1)=1,INT0(INT1)引脚为高电平时启动定时/计数器开始计数。 2.设MCS-51单片机的晶振频率f =6MHz,分别讨论定时器/计数器0在各种工作方式下的最 OSC 长定时时间。 答:由fosc =6MHz可知,一个机器周期T=2us,由于是加1计数,所以最长定时应是计数初值最小时(即为0时)的定时时间。 方式0:(213–0)×2us= 214us=16384us=16.384ms 方式1:(216–0)×2us= 217us=131.072ms 方式2、3:(28–0)×2us= 29us=0.512ms当 fosc =6MHz,即T=2us时各种方式下的定时时间,若fosc =12MHz,则最长定时时间将缩短一半。 3.编写程序从P1.0 引脚输出频率为1KHz的方波。设晶振频率为6MHz。 答:利用T1定时中断。fosc= 6MHz。1机器周期 =2 uS。1KHz方波周期 =1mS,半个方波周期=500uS。 500uS÷2uS =250 若选择方式2 工作,计算初值:256-250=6 ORG 0000H AJMP MAIN

外部中断、定时(计数器)实验

课程:微处理器原理与应用 课时:4学时 教学环境:单片机实验室 教学方法:讲解相关内容,指导学生实验 实验二外部中断、定时/计数器实验 一、目的、任务和要求 1.1 实验目的 1. 掌握单片机中断系统的结构及工作原理。 2.掌握外部中断功能程序的一般结构和编程方法。 3.掌握单片机的定时/计数器的结构及工作原理。 4.掌握定时中断应用程序、计数器应用程序的典型结构和编程方法。 1.2 实验任务 1.对8051单片机的外部中断功能和I/O口功能,搭建一个外部中断控制输出的硬件电路,设计和调试通过相应的外部中断功能软件。 2.对8051单片机的定时/计数器功能和I/O口功能,搭建一个(种)或几个(种)应用定时/计数器的硬件电路,设计并调试通过相应的软件。 1.3实验要求 通过完成外部中断功能实验项目,掌握中断初始化的内容和中断子程序的结构,熟悉中断响应的过程和现场保护的意义,会正确运用堆栈指令作现场保护和现场恢复。 通过完成定时/计数器实验项目,掌握正确选择定时/计数器的工作方式和计数模式的方法,掌握定时/计数器的初值计算方法,会编写中断控制寄存器和定时器中断入口地址的初始化程序。 二、设备和器件 2.1实验设备 (1)微型计算机(PC机)(装配相关软件),(2)单片机实验箱或开发板。 2.2电路元器件 本实验采用Protues仿真软件搭建一个简单的单片机系统电路,进行电路仿真分析,不需要实际的元器件。若实验采用万能板(或面包板)搭建电路,则需要如下元器件:

LED发光二极管,510Ω限流电阻,小按键、软导线等。 学生可自己在课后搭建电路进行实验,并与仿真实验比较。 三、实验内容及步骤 3.1外部中断控制流水灯的实验内容及步骤 (1)根据实验任务作电路原理图设计、作电路布局设计、通过Protues仿真软件来完成单片机硬件系统的搭建。电路图如3.1所示。 (2) 通过“μVision4”软件编辑外部中断控制流水灯的程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。 (3)通过实验板专用的接口将*.hex文件写入到单片机芯片的程序存储器中,然后试运行,察看现象并分析结果。若不成功,则要分析原因,重复有关步骤直至成功。 3.2 定时中断控制流水灯电路的实验内容及步骤 (1) 根据上面已搭建好的外部中断控制流水灯电路完成本任务。 (2) 通过“μVision4”软件编辑定时中断控制流水灯程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。 (3)通过实验板专用的接口将*.hex文件写入到单片机芯片的程序存储器中,然后试运行,察看现象并分析结果。若不成功,则要分析原因,重复有关步骤直至成功。 3.3外部脉冲个数计数显示的实验内容及步骤 (1)根据实验任务作电路原理图设计、作电路布局设计、通过Protues仿真软件来完成单片机硬件系统的搭建。电路图如3.2所示。 (2) 通过“μVision4”软件编辑外部中断控制流水灯的程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。 (3)通过实验板专用的接口将*.hex文件写入到单片机芯片的程序存储器中,然后试运行,察看现象并分析结果。若不成功,则要分析原因,重复有关步骤直至成功。 说明:单片机实验板使用STC89C51RC-RD+系列单片机,利用RS232串口和STC-ISP V33.exe通信软件(或开发板自带下载软件)来下载*.hex机器程序代码。 3.4 参考电路与程序代码 1参考电路 (1)外部中断控制输出的流水灯电路简图

单片机实验-定时器计数器应用实验二教学文稿

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200

个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对 P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1

单片机定时计数器实验

实验三单片机定时/计数器实验 一、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 二、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 三、实验仪器和条件 计算机 伟福实验箱(lab2000P ) 四、实验内容与软件流程图 实验3-1⑴、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 ⑵、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 ⑶、流程图 ⑷、实验电路及连线 实验3-2①、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 ②、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD 用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 ③、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 ④、软件流程图

时序逻辑电路练习题讲解学习

时序逻辑电路练习题

一、填空题 1. 基本RS触发器,当R、S都接高电平时,该触发器具有____ ___功能。2.D 触发器的特性方程为 ___ ;J-K 触发器的特性方程为______。 3.T触发器的特性方程为。 4.仅具有“置0”、“置1”功能的触发器叫。 5.时钟有效边沿到来时,输出状态和输入信号相同的触发器叫____ _____。 6. 若D触发器的D端连在Q端上,经100 个脉冲作用后,其次态为0,则现态应为。 7.JK触发器J与K相接作为一个输入时相当于触发器。 8. 触发器有个稳定状态,它可以记录位二进制码,存储8 位二进制信息需要个触发器。 9.时序电路的次态输出不仅与即时输入有关,而且还与有关。 10. 时序逻辑电路一般由和两部分组成的。 11. 计数器按内部各触发器的动作步调,可分为___ ___计数器和____ __计数器。 12. 按进位体制的不同,计数器可分为计数器和计数器两类;按计数过程中数字增减趋势的不同,计数器可分为计数器、计数器和计数器。13.要构成五进制计数器,至少需要级触发器。 14.设集成十进制(默认为8421码)加法计数器的初态为Q4Q3Q2Q1=1001,则经过5个CP脉冲以后计数器的状态为。 15.将某时钟频率为32MHz的CP变为4MHz的CP,需要个二进制计数器。 16. 在各种寄存器中,存放N位二进制数码需要个触发器。 17. 有一个移位寄存器,高位在左,低位在右,欲将存放在该移位寄存器中的二进制数乘上十进制数4,则需将该移位寄存器中的数移位,需要个移位脉冲。 18.某单稳态触发器在无外触发信号时输出为0态,在外加触发信号时,输出跳变为1态,因此其稳态为态,暂稳态为态。 19.单稳态触发器有___ _个稳定状态,多谐振荡器有_ ___个稳定状态。20.单稳态触发器在外加触发信号作用下能够由状态翻转到状态。21.集成单稳态触发器的暂稳维持时间取决于。 22. 多谐振荡器的振荡周期为T=tw1+tw2,其中tw1为正脉冲宽度,tw2为负脉冲宽度,则占空比应为_______。 23.施密特触发器有____个阈值电压,分别称作 ___ _____ 和 ___ _____ 。24.触发器能将缓慢变化的非矩形脉冲变换成边沿陡峭的矩形脉冲。25.施密特触发器常用于波形的与。 二、选择题 1. R-S型触发器不具有( )功能。 A. 保持 B. 翻转 C. 置1 D. 置0 2. 触发器的空翻现象是指() A.一个时钟脉冲期间,触发器没有翻转 B.一个时钟脉冲期间,触发器只翻转一次 C.一个时钟脉冲期间,触发器发生多次翻转 D.每来2个时钟脉冲,触发器才翻转一次

一年级数学计数器的认识练习题

一年级数学计数器的认识练习题 12个位是().十位是().写作().读作(). 21个位是().十位是().写作().读作(). 10个位是().十位是().写作().读作(). 16个位是().十位是().写作().读作(). 19个位是().十位是().写作().读作(). 22个位是().十位是().写作().读作(). 11个位是().十位是().写作().读作(). 13个位是().十位是().写作().读作(). 14个位是().十位是().写作().读作(). 15个位是().十位是().写作().读作(). 16个位是().十位是().写作().读作(). 20个位是().十位是().写作().读作(). 23个位是().十位是().写作().读作(). 24个位是().十位是().写作().读作(). 25个位是().十位是().写作().读作(). 28个位是().十位是().写作().读作(). 32个位是().十位是().写作().读作(). 27个位是().十位是().写作().读作(). 21个位是().十位是().写作().读作(). 12个位是().十位是().写作().读作(). 33个位是().十位是().写作().读作(). 31个位是().十位是().写作().读作().

35个位是().十位是().写作().读作(). 39个位是().十位是().写作().读作(). 给数字标出数位顺序: 5 9 10 13 54 21 13 14 47 12 80 78 86 19 36 25 28 23 26 24 36 32 31 38 58 56 57 54 52 51 17 9 1 41 65 75 45 25 15 90 47 7 11 16 15 21 14 17 18 19

接口 定时器与计数器实验(8253)-- 8253定时器实验

同组同学学号: 同组同学姓名: 实验日期:2012 年 3月 26日交报告日期:2012 年 5月 30日实验(No. 1_1 )题目:定时器与计数器实验(8253)-- 8253定时器实验 实验目的及要求: 实验目的: 1、学习8253可编程定时器/计数器定时方法。 2、学习8253多级串联实现大时间常数的定时方法。 3、学习8088/86控制8253可编程定时器的方法。 实验要求: 用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高/1秒钟低的脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。 实验电路及连线: 连线连接孔1 连接孔2 1 8253_CS CS4 2 8253_OUT0L0 3 8253_GATE0VCC 4 8253_CLK08253_OUT1 5 8253_GATE1VCC 6 8253_CLK1F/4(1M) 7 4MHz Fin 实验说明: 1、本实验工作方式0,计数值减完后输出一个脉冲宽度的高电平。而本实验在计数值减完后,管脚状态产生变化(从高到低或从低到高)。直到下一次计数值减完。这样输出的波形为方波。 2、由于定时常数过大,就要用多级串联方式。本实验采用两级计数器。定时常数分别为100和10000。将计数器的输出接到计数器0输入。计数器0 的输出接到LED0。

实验框图: 主程序框图 源程序及分析: CONTROL equ 0c003h ;设置命令寄存器 COUNT0 equ 0c000h ;设置计数器0 COUNT1 equ 0c001h ;设置计数器1 COUNT2 equ 0c002h ;设置计数器2 code segment assume cs:code start proc near ;第一次定时器设定: mov al, 36h; ; 计数器0,16位,方式3,二进制(00110110B=36h) mov dx, CONTROL out dx, al mov ax, 1000 mov dx, COUNT0

相关文档
最新文档