文档库 最新最全的文档下载
当前位置:文档库 › 实验二 中断控制实验实验三 定时/计数器实验

实验二 中断控制实验实验三 定时/计数器实验

《单片机原理与接口技术》

第3章单片机集成功能模块实验实验二中断控制实验

实验三定时/计数器实验

班级:学号:

姓名:成绩:

指导老师:

日期:2017年11月6日

实验二中断控制实验

一、实验目的

学习中断控制技术的基本原理,掌握中断程序的设计方法。

二、实验原理

1、参照实验电路连线图接线,在8051的P1口上接8个发光二极管,在INT0(P3.2)接入触发脉冲电路,利用下降沿触发产生中断。

2、编制主程序,使P1口的8个发光二极管同时亮,延时一会儿在同时熄灭,延时时间自定。外来脉冲每触发一次,主程序便中断一次,在中断服务子程序中,使P1口的8个发光二极管在某一时刻只有一个点亮,并向左循环移动。

三、仪器设备:

1、PC计算机一台。

2、Dais-386PRO+实验系统一套。

四、实验内容:

1、定时器中断

单片机集成的定时器可以产生定时中断,利用定时器T0,编

写程序,使P1.0控制的发光二极管L0每隔1秒交替点亮或熄灭。

实验步骤:

1)按图3-2-1连接实验电路,参考程序:A51\3_2_1.ASM;

2)编写程序,经编译、链接无语法错误后装载到实验系统;

3)运行程序,观察发光二极管L0,应每隔1秒交替点亮或熄

灭;

4)实验完毕后,应使用暂停命令中止程序的运行。

2、外部中断

L0P1.0

发光二极管

单片机图3-2-2 实验接线图SP

单脉冲

P3.2

L0P1.0

发光二极管单片机图3-2-1 实验接线图

P3.2(INT0)连接单脉冲发生器,编写程序,每按一次脉冲产生一次中断,使P1.0控制的发光二极管L0交替点亮或熄灭。

1)按图3-2-2连接实验电路,参考程序:

A51\3-2-2.ASM;

2)编写程序,经编译、链接无语法错误后装载到

实验系统;

3)运行程序,每按动一次单脉冲按钮令发光二极

管L0交替点亮或熄灭;

4)实验完毕后,

五、实验结果讨论:

定时器中断:由于实际晶振为11.0592MHz,所以延时10ms时设置的初值为DBFFH,本程序运用了两种方法设置初值,一种是用HIGH(65536-COUNT)取高8位,一种是(65536-COUNT)/256右移8位来取高八位,然后用中断服务子程序来进行100次循环来延时1s 并且CPL指令取反来实现灯的明暗交替变换。

外部中断:设定外部中断0的下降沿触发,通过P3.2—INT0的单脉冲来控制发光二极管L0交替点亮或熄灭。

实验三定时/计数器实验

一、实验目的

学习定时/计数器的工作方式,掌握程序设计方法。

二、实验原理

8051单片机内部有两个16位可编程定时器/计数器:T0和T1。16位是指它们都是有16个触发器构成,故最大计数模值为216-1。可编程是指它们的工作方式由指令来设定,或者当计数器用,或者当定时器用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。工作在定时方式时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟;工作在计数方式时,时钟脉冲(计数脉冲)由T0和T1(即P3.4和P3.5)输入。

定时器/计数器在计到规定的计数值时可以向CPU发出中断申请,从而完成某种控制功能。定时器/计数器控制寄存器TCON用来负责定时器/计数器的启动、停止以及中断管理。

三、仪器设备:

1、PC计算机一台。

2、Dais-386PRO+实验系统一套。

五、实验内容:

1、定时器实验

使用T0进行定时,编写程序,使P1.0控制的发光二极管L0每隔2秒交替点亮或熄灭。

实验步骤:

1)按图3-3-1连接实验电路,参考程序:A51\3_3_1.ASM;

2)编写程序,经编译、链接无语法错误后装载到实验系统;

3)运行程序,观察发光二极管L0,应每隔2秒交替点亮

或熄灭;

L0P1.0发光二极管单片机图3-3-1 实验接线图

4) 实验完毕后,应使用暂停命令中止程序的运行。 2、计数器实验

T0工作在方式2,即8位自动重装载,当溢出时自动将TH0装入TL0。编写程序,每按动5次单脉冲按钮,使发光二极管L0交替点亮或熄灭1次。

实验步骤:

1) 按图3-3-2连接实验电路,参考程序:A51\3_3_2.ASM ; 2) 编写程序,经编译、链接无语法错误后装载到实验系统;

3) 运行程序,每当按满5次单脉冲按钮,发光二极管L0发生1次跳变; 4) 实验完毕后,应使用暂停命令中止程序的运行。

L0P1.0

发光二极管

单片机

图3-3-2 实验接线图

SP

单脉冲

P3.4

五、实验结果讨论:

定时器实验:实验程序对2^5=32取整和取余装入THx和TLx中,每次延时8ms,通过DJNZ 指令循环200次,但其实延时只有1.6s并没有2S。

计数器实验:C/T=1启动计数器功能,通过P3.4—T0来对计数器0外部输入,每按动5次脉冲按钮,让T0溢出,从而改变LED的状态,对THL重新赋值,可以随意改动按动次数。

定时器、计数器操作与应用实验报告

实验三 定时器、计数器操作与应用实验报告 、实验目的 1、 了解和熟悉FX 系列可编程序控制器的结构和外 部接线方法; 2、 了解 和熟 悉 GX Developer Version 7.0 软件的 使用 方法 ; 3、 掌握 可编 程序 控制器 梯形 图程 序的 编制 与调 试。 二、实验要求 仔 细阅 读实 验指 导书 中关 于编 程软 件的 说明 ,复习 教材 中有 关内 容 , 分 析程 序运 行结 果。 三、实验设备 2 、 开关 量输 入 / 输出 实验 箱 3、 计算 机 4、 编程 电缆 注 意: 1) 开关量输入/输出实验 箱内的钮子开关用来产生模拟的 开关量输入 信 号; 2) 开关量输入/输出实验箱内的LED 用来指示开关 量输出信号; 3) 编程电缆在连接PLC 与计算机时请注意方向。 四、实验内容 1 、梯形图 1 、 FX 系列可 编程 序控 制器 一只 一套 5、 GX Developer Version 7.0 软件 一套

2、梯形图程序 0LD xooo 1OUT YOOO X001 2LD 3OR¥001 4AN I X002 5OUT Y001 6OUT TO K50 9MPS 10AHI TO 11OUT Y002 12MPP 13ASD TO 14OUT¥003 15LD X003 16RST CO 18LD X004 19OUT CO K5 22LD CO 23OUT Y004 24END 3、时序图

r 时序10 □ ?Si 正在进荷囲1SL 金冃勖厂手祜r XI广X3厂X5厂K1Q拧应C 40 J2fl MIB -380 .360 '340 -33 MW 脚 M 创Q,220,200,13Q -1?-14D ,1如■!? 如也 40 如厂「 五、实验步骤 1、程序的编辑、检查和修改; 2、程序的变换; 3、程序的离线虚拟设备仿真测试; 4、程序写入PLC; 5、用PLC运行程序; 6、比较程序的分析结果与实际运行结果。 六、实验报告 1、实验梯形图程序的编写; 2、梯形图程序的理论分析与结果; 3、梯形图程序的实际运行结果; 4、结论。 七、实验心得 通过这样一次实验,我对GX Developer Version 7.0 软件的使用方 法更加的熟悉了,也了解到在实验中需要我们集中精力,仔细认真地完成■XDU "Tlr-.Ll-t-1!- D LJ D-IT--1 z?E I4J 一 — Ti ll IL — 」 ill-t-ll-r — 1

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

实验三单片机定时/计数器实验 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

8254定时计数器应用实验报告

XX 大学实验报告 课程名称: 实验项目名称:8254定时/计数器应用实验学院:信息工程学院 专业:通信工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间:

教务处制

单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。 图(1)是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。 图(1)8254的内部借口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表

1所示。 表1 8254的方式控制字 表2 8254 读出控制字格式 表3 8254 状态字格式 8254 实验单元电路图如下图所示:

五、实验步骤及相应操作结果 1. 计数应用实验 编写程序,将8254 的计数器0 设置为方式3,计数值为十进制数4,用单次脉冲KK1+ 作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动5 次后产生中断请求,在屏幕上显示字符“M”。 实验步骤: (1)实验接线如图2所示。 (2)编写实验程序,经编译、链接无误后装入系统。 (3)运行程序,按动KK1+产生单次脉冲,观察实验现象。(4)改变计数值,验证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、弄清中断的概念、基本原理,掌握中断技术的应用 2、了解中断初始化的方法,中断向量安装和中断服务子程序的 设计方法。 3、了解定时/计数器的工作原理及MCS51单片机的定时器内 部结构 4、掌握时间常数计算方法 5、掌握定时器初始化方法和定时中断程序设计方法 二、实验内容:定时器实验 1、这个是一个电子钟走时程序,利用定时器T0产生50ms中 断,中断计数器中断20次为1秒,利用秒信号进行电子钟 计时。先读懂下面程序段,然后编辑、编译程序,并在伟福 仿真器上模拟调试该程序。 程序清单如下: COUNT EQU 7FH COUNT1 EQU 7EH S_MEM EQU 73H M_MEM EQU 72H H_MEM EQU 71H ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ;“*1” MAIN: MOV SP,#2FH MOV TMOD,#00000001B MOV TH0,#03CH ;50毫秒中断时间常数 MOV TL0,#0BH MOV IE,#10000010B ;开放T0 MOV IP,#0 MOV S_MEM,#0

MOV M_MEM,#0 MOV H_MEM,#0 MOV COUNT,#20 SETB TR0 ;______________________________________________________ W AIT:NOP SJMP W AIT INT_T0: MOV TL0,#0BH MOV TH0,#3CH DJNZ COUNT,EXT_T0 MOV COUNT,#20 ;恢复中断计数器 INC S_MEM ;“*2” MOV A,S_MEM CJNE A,60,EXT_T0 MOV S_MEM,#0 INC M_MEM MOV A,M_MEM CJNE A,#60,EXT_T0 MOV M_MEM,#0 INC H_MEM MOV A,H_MEM CJNE A,#13,EXT_T0 MOV H_MEM,#0 EXT_T0: RETI 2、按下列要求修改程序或回答问题。(实验报告内容) a、把程序改成T1中断计时 ORG 000H LJMP MAIN ORG 001BH

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

一、实验目的 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口线取反

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

信息工程学院实验报告 课程名称:微机原理与接口技术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 实验单元电路图如下图所示:

实验三 8253定时器

实验三8253定时器/计数器实验 姓名:张朗学号:11121535 一、实验目的 1. 学会8255芯片与微机接口的原理和方法。 2. 掌握8255定时器/计数器的工作原理和编程方法。 二、实验内容 编写程序,将8253的计数器0设置为方式2(频率发生器),计数器1设置为方式3(方波频率发生器),计数器0的输出作为计数器1的输入,计数器1的输出接在一个LED上,运行后可观察到该LED在不停地闪烁。 1.编程时用程序框图中的二个计数初值,计算OUT1的输出频率,用表观察LED,进行核对。 2.修改程序中的二个计数初值,使OUT1的输出频率为1Hz,用手表观察LED,进行核对。 3.上面计数方式选用的是16进制,现若改用BCD码,试修改程序中的二个计数初值,使LED的闪亮频率仍为1Hz。 三、实验区域电路连接图

CS3→0040H;JX8→JX0;IOWR→IOWR;IORD→IORD;A0→A0;A1→A1; GATE0→+5V;GATE1→+5V;OUT0→CLK1;OUT1→L1;CLK0→0.5MHz;(单脉冲与时钟单元) 四、程序框图 五、编程

1.T=1.48s CODE SEGMENT ASSUME CS:CODE ORG 1200H START: CLI MOV DX, 0043H MOV AL, 34H OUT DX, AL MOV DX, 0040H MOV AL, 0EEH OUT DX, AL MOV AL, 02H OUT DX, AL MOV DX, 0043H MOV AL, 76H ;01110110设置计数器1,方式3,16位二进制计数OUT DX, AL MOV DX, 0041H MOV AL, 0E8H OUT DX, AL MOV AL, 03H OUT DX, AL JMP $ ;8253自行控制led灯 CODE ENDS END START

3实验三_定时计数器

实验三定时计数器实验 (实验前一定要先完成仿真电路设计,没有完成的不能进入实验室) 一、实验要求 设计一个如图所示的门铃电路,当按下按钮开关时,喇叭发出叮咚的门铃声音。 二、实验目的 掌握单片机定时计数器的定时模式及编程。 三、实验步骤 1、按实验一的方法设计电路原理图。 本实验需要选取的元器件有单片机AT89C51、瓷片电容CAP、电解电容CAP-ELEC、电阻RES、晶振CRYSTAL、按钮BUTTON、普通三极管PN2222、喇叭SPEAKER等。本实验中的元器件参数值:晶振X1频率为12MHz,瓷片电容C1、C2的值为30pF,电解电容C3的值为10uF,电阻R1为470,R2、R3的值为10K,单片机AT89c51的时钟频率12MHz。 2、编写源程序 程序设计方法 1.我们用单片机实定时/计数器T0的方式2来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ 的频率要经过4次250us的定时。 2.在设计过程,只有当按下k1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。

3.“叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。也就是前0.5秒P3.2输出700HZ的频率,后0.5秒输出500HZ的频率。 四、仿真。 在PROTEUS ISIS环境,加载.HEX文件进行仿真。 五、写入实验箱单片机测试 启动ISP在线写程序,将仿真通过的.HEX文件写入综合实验箱的单片机中进行测试。检查是否和仿真的效果相同。 #include unsigned char t500hz; unsigned char t700hz; unsigned int tcnt; bit stop; bit flag; sbit SP1=P3^3; sbit SPOUT=P3^2; void main(void) { TMOD=0x02; TH0=0x06; TL0=0x06; ET0=1; EA=1;

单片机实验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。

实验四 定时器中断实验

实验四 定时器中断实验 一:实验目的 1.熟悉定时器初始化的步骤; 2.熟悉定时器控制寄存器(TCR )的含义和使用; 3.熟悉定时器的原理和应用。 二:实验内容 本实验要求编写一个简单的定时器中断程序,设置一定的周期控制与XF 引脚相连的LCD 指示灯。当定时器中断产生时可以观察到LCD 周期性闪烁。 三:实验原理 1.定时器 .C54xx 系列的DSP 都具有一个或两个预定标的片内定时器,这种定时器是一个倒数定时器,它可以被特定的状态位实现停止、重启动、重设置或禁止。定时器在复位后就处于运行状态,为了降低功耗可以禁止定时器工作。应用中可以用定时器来产生周期性的CPU 中断或脉冲输出。定时器的功能方框图如图9.1所示,其中有一个主计数器(TIM )和一个预定标计数器(PSC )。TIM 用于重装载周期寄存器PRD 的值,PSC 用于重装载周期寄存器TDDR 的值。 图5.1信号,是在器件复位时,DSP 向外围电路(包括定时器)发送的一个信号,此信号将在定时器上产生以下效果:寄存器TIM 和PRD 装载最大值(0FFFFH );TCR 的所有位清0;结果是分频值为0,定时器启动,TCR 的FREE 和SOFT 为0。

定时器实际上是有20bit 的周期寄存器。它对CLKOUT 信号计数,先将PSC (TCR 中的D6~D9位)减1,直至PSC 为0,然后把TDDR (TCR 中的低4位)重新装载入PSC ,同时将TIM 减1,直到TIM 减为0。这时CPU 发出TINT 中断,同时在TOUT 引脚输出一个脉冲信号,脉冲宽度与CLKOUT 一致,然后将PRD 重新装入TIM ,重复下去直到系统或定时器复位。 定时器产生中断的计算公式如下: TINT t c 为 CLKOUT 的周期) 定时器由三个寄存器组成:TIM 、PRD 、TCR 。 TIM :定时器寄存器,用于装载周期寄存器值并自减1。 PRD :周期寄存器,用于装载定时器寄存器。 TCR :定时器控制寄存器,包含定时器的控制状态位。 定时器是一个片内减计数器,用于周期地产生发,后者每个CPU 时钟周期减1,当计数器减至0周期计数器被定时周期值重新装载。 在正常操作模式下,当TIM 自减至0时,TIM 将被PRD 内的数值重装载。在硬件复位或定时器单独复位(TCR 中TRB 位置1)的情况下,主定时器模块输出的是定时器中断(TINT )信号。该中断被发送至CPU ,同时由TOUT 引脚输出。TOUT 脉冲的宽度等于CLKOUT 的时钟宽度。 预定标模块由两个类似TIM 和PRD 的单元构成。它们是预定标计数器(PSC )和定时器分频寄存器(TDDR )。PSC 、TDDR 是RCR 寄存器的字段。在正常操作时PSC 自减为0,TDDR 值装入PSC ,同样在硬件复位或定时器单独复位的情况下,TDDR 也被装入PSC 。PSC 被CPU 时钟定时,即每个CPU 时钟使PSC 自减1。PSC 可被TCR 读取,但不能直接写入。 当TSS 置位时,定时器停止工作。若不需要定时器,终止定时操作,可使芯片工作在低功耗模式,并且可以使用与定时器相关的两个寄存器(TIM 和PRD )作为通用的存储器单元,可以在任意周期对它们进行读或写操作。 TIM 的当前值可被读取,PSC 也可以通过TCR 读取。因为读取这两个存储器需要两个指令,而在两次读取之间因为自减,数值可能改变,因此,PSC 两次读的结果可能有差别,不够准确。若要准确测量时序,在读这两个寄存器值之前可先中止定时器,对TSS 置1和清0后,可重新开始定时。 通过TOUT 信号或中断,定时器可以用于产生周边设备的采样时钟,如模拟接口。对于有多个定时器的DSP ,由寄存器GPIOCR 中的第15位控制使用某一个定时器产生的TOUT 信号。 2.定时器初始化 (1)定时器初始化步骤 ●TCR 的TSS 位写1,定时器停止工作; ●装载TRD ;

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

课程:微处理器原理与应用 课时: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)外部中断控制输出的流水灯电路简图

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用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、实验目的 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 movr1,a mova,TH0

单片机定时计数器实验

实验三单片机定时/计数器实验 一、实验目的 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主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 ③、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 ④、软件流程图

单片机实验三_中断与定时器实验

a b c d e f g 实验三 中断、定时器实验 信息学院 10通信A 柳东旭 1015231030 一、实验目的 1. 学习外部中断和定时器的工作原理及使用方法。 2. 学习外部中断和定时器的初始化程序、应用程序的编写和调试。 二、实验仪器和设备 PC 机、W A VE 软件、仿真器+仿真头、实验板、电源等。 三、实验说明 本实验1通过开关向单片机提出中断请求,单片机响应中断进行计数,并通过LED 数码管指示出计数值,从而观察中断的请求、响应的过程。实验2通过单片机的定时器产生延时,模拟交通灯控制的方法。通过本实验学生可以掌握单片机中断和定时器的工作原理及使用方法以及中断和定时器的初始化程序、应用程序的编写和调试。 四、实验内容 1、开关S0—S1连接P3口做输入,P0输出接LED 数码管,通过S2产生外部中断请求(/INT0)信号,在中断服务程序中完成十进制递增计数,并将计数值显示在LED 数码管上,要求分别采用电平触发和边沿触发。按上述要求完成S3产生外部中断请求。编写初始化程序和中断服务程序。(注意开关抖动处理) 2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,要求发光二极管(LED )按亮0.5秒、暗0.5秒闪烁,LED 亮的同时,从P2.0送出1kHz 的音频信号到音频驱动电路发声(持续0.5秒),将开关编号(0—7)显示在LED 数码管上。要求延时采用内部定时器T0,音频的产生采用内部定时器T1。编写初始化程序和中断服务程序。 五、实验电路连线 P0.0 ---- LED0 P3.2(/INT0)----- S2 P0.1 ---- LED1 P3.3(/INT1)----- S3 P0.2 ---- LED2 P0.3 ---- LED3 P0.4 ---- LED4 P0.5 ---- LED5 P0.6 ---- LED6 P0.7 ---- LED7 LED 连接 外部中断请求输入 a b c d e f g h(dp) P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7

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

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:?验证?综合■设计?创新实验日期:实验成绩: 实验三定时计数器实验 (一)实验目的 1.掌握单片机中断原理; 2.掌握定时器的初始化和定时模式编程。 (二)设计要求 1.采用定时器0/1做16位自动重装(方式0),中断频率为1000HZ; 2.中断函数从取反输出500HZ方波信号; 3.如果由于频率问题实验现象无法观察,请在中断程序中想办法实现。 (三)实验原理 1.单片机定时/计数器(T0/T1)的结构和工作原理 IAP15W4K58S4单片机内部有5个16位的定时/计数器,即T0、T1、T2、T3和T4。T0、T1结构框图如下图(图一)所示,TL0、TH0是定时/计数器T0的低8位、高8位状态值,TL1、TH1是定时/计数器T1的低8位、高8位状态值。TMOD是T0、T1定时/计数器的工作方式寄存器,由它确定定时/计数器的工作方式和功能;TCON是TO、T1定时/计数器的控制寄存器,用于控制T0、T1的启动与停止以及记录T0、T1的计满溢出标志;AUXR称为辅助寄存器,其中T0x12、T1x12 用于设定T0、T1内部计数脉冲的分频系数。、分别为定时/计数器T0、T1的外部计数脉冲输入端。 T0、T1定时/计数器的核心电路是一个加1计数器,如下图(图二)所示。加1计数器的脉冲有两个来源:一个是外部脉冲源:T0、T1,另一个是系统的时钟信号。计数器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1,当计数到计数器为全1时,再输入一个脉冲就使计数值回零,同时使计数器计满溢出标志位TF0或TF1置1,并向CPU发出中断请求。 (图一)

实验四 8253定时计数器应用

实验四8253定时/计数器应用 1.实验目的 掌握8253命令字的设置及初始化和8253的工作方式及应用编程 2.实验内容 8253是INTEL公司生产的通用外围接口芯片之一,它有3个独立的16位计数器,计数 频率范围为0-2MHZ。它所有的计数方式和操作方式都可通过编程控制。其功能是延时 终端、可编程频率发生器、事件计数器、倍频器、实时时钟、数字单稳和复杂的电机控 制器。 3.实训步骤 实现方式0的电路图。设8253端口地址为:40H-43H 要求:设定8253的计数器2工作方式为0 ,用于事件计数,当计数值为5时,发出 中断请求信号,8088响应中断在监视设备上显示M。本实训利用KK1作为CLK输 入,故初值设为5时,需按动KK1键6次,可显示一个 M. 实验七 8253定时/计数器应用实验 一.实验目的 1.熟悉8253在系统中的典型接法。 2.掌握8253的工作方式及应用编程。 二.实验设备

TDN86/88教学实验系统 一台 三.实验内容 (一)系统中的8253芯片 图7-1 8253的内部结构及引脚 1. 8253可编程定时/计数器介绍 8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。它有3个独立的十六位计数器,计数频率范围为0-2MHz。它所有的计数方式和操作方式都通过编程的控制。 8253的功能是:(1)延时中断(2)可编程频率发生器(3)事件计数器 (4)倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器

8253的工作方式:(1)方式0: 计数结束中断(2)方式1: 可编程频率发生器 (3)方式2: 频率发生器(4)方式3: 方波频率发生器 (5)方式4: 软件触发的选通信号 (6)方式5:硬件触发的选通信号 8253的内部结构及引脚如图7-1所示,8253的控制字格式如图7-2所示。 图7-2 8253的控制字

相关文档
相关文档 最新文档