8253定时计数器

8253定时计数器
8253定时计数器

微机原理实验报告

专业班级通信1301 姓名张麒学号20135440 实验题目8253定时计数器日期 2015.6.8

微机接口 8253定时器实验报告剖析

浙江工业大学计算机学院实验报告 实验名称 8253定时器实验 姓名 学号 班级 教师 日期

一、实验内容与要求 1.1 实验内容 计数器方式2实验:将8253芯片的计数器0的工作方式设置为方式2,计数器初值为N,用手动开关逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用TPC-USB平台上的LED 灯观察OUT0电平变化(当输入第N倍数个脉冲后OUT0变低电平,LED灯由亮变灭,其余脉冲OUT0都是高电平,LED灯都处于亮状态)。 计数器方式3实验:将计数器0、计数器1的工作方式分别设置为方式3,计数初值设为1000,并同时用TPC-USB平台上的LED灯观察OUT1电平变化(频率1Hz)。 1.2 实验要求 (1)具有一定的汇编编程的基础,能编写一些基本语句来实现实验。实验前根据实验流程 图,写出对应代码; (2)要了解8253定时/计数器芯片内部结构和外部引脚,了解芯片的硬件连接方法、时序关 系、各种模式的编程及应用,能熟练地对其进行编程; (3)熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接 好实验电路; (4)计数器方式2实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用手动开 关逐个输入单脉冲,在屏幕上能一次显示计数值,当输入第N倍数个脉冲后OUT0变低电平,TPC-USB平台上的LED灯由亮变灭,其余脉冲OUT0都是高电平,LED灯都处于亮状态; (5)计数器方式3实验:连接PC与TPC-USB平台,用微机实验软件运行程序,TPC-USB 平台上的LED灯能周期性地亮灭,频率为1Hz。 二、实验原理与硬件连线 2.1 实验原理 1、8253定时/计数器芯片的内部结构:

实验三-定时器、计数器应用实验二

实验三-定时器、计数器应用实验二

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

开始 系统初始化装计数初值并 启动定时器 定时? 时间到 输出取反 结束 清除溢出标志N Y 四、实验程序流程框图和程序清单及实验结果 /********* 设计要求:(1)单片机的定时器/计数器以查询方式工作,设定计数功能, 对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0 口线状态,在P1.0口线上接示波器观察波形 编写:吕小洋 时间:2012年11月16日18:09:40 ***************/ ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器1中断 MOV TMOD, #01100000B ;设置计数器1为工作方式2 MOV TH1, #9CH ;设置计数初值 MOV TL1, #9CH SETB TR1 ;启动计数器 LOOP: JNB TF1, LOOP ;查询计数是否溢出 CPL P1.0 ;输出取反 CLR TF1 ;清除计数溢出标志 LJMP LOOP ;重复取反 END

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

8253定时器(微机原理)1

接口实验三 8253定时器 / 计数器 一、实验目的 ⒈学会8253芯片和微机接口的原理和方法。 ⒉. 掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1. 用8253的0通道产生周期为30毫秒的方波,去控制发光二极管的亮和灭。 2.用8253的0通道和1通道级联的工作方式,产生周期为20秒的方波,去控制发光二极管的亮和灭。 3. 用8253的0通道产生1、2、3、4、5、6、7、8(1的高音)这八个音阶频率的方波信号,送到小喇叭去控制其发声。 三、实验接线图 图1

图2 图3 图6-5 四、实验原理 对8253编程,使OUT1输出周期为2MHZ(周期为0.5μS)的时钟直接加到CLK1,则OUT1输出的脉冲周期最大只有0.5μS*65536=32768μS=32.768MS,达不到20秒的延时要求,为此,需用几个通道级连的方案来解决这个问题。 设N0=5000,工作于方式2,则从OUT0端可得到序列负脉冲,频率为2MHZ/5000=400HZ,周期为2.5MS。再把该信号连到CLK1,并使通道1工作于方式3,使OUT1输出周期为20秒(频率为1/20=0.05HZ)的方波即可,应取时间常数N1=400HZ/0.05HZ=8000。

分频电路由一片74LS393组成, T0-T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 五、编程指南 ⒈8253芯片介绍 8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。 8253的功能用途: ⑴延时中断⑸实时时钟 ⑵可编程频率发生器⑹数字单稳 ⑶事件计数器⑺复杂的电机控制器 ⑷二进制倍频器 2,8253的六种工作方式: ⑴方式0:计数结束中断⑷方式3:方波频率发生器 ⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号 ⑶方式2:频率发生器⑹方式5:硬件触发的选通信号 六、实验程序框图 七、实验步骤 ⒈按图1连好实验线路 ⑴8253的GATE0接+5V。

8253计数器定时器接口实验

微机原理实验报告 实验五 8253计数器/定时器接口实验 1.实验目的 1)学会通过PC总线、驱动器、译码器等在PC机外部扩充为新的芯片; 2)了解8253计数器/定时器的工作原理; 3)掌握8253初始化的程序设计; 4)掌握8253方式0的计数方式的使用方法和方式3方波产生的方法。 2.实验内容 将实验装置上的1片8253定时器/计数器接入系统,具体做两个内容的实验。 1)实验一:将8253的计数器0设置为工作于方式0,设定一个计数初值,用手 动逐个输入单脉冲,观察OUT0的电平变化。 硬件连接:断开电源,按图2-1将8253接入系统。具体包括: (1)将8253的CS接I/O地址输出端280H-287H; (2)将8253的计数器0的CLK0与单脉冲信号相连,以用来对单脉冲进行计数; (3)将8253的GATE0用专用导线接向+5V,以允许计数器0工作; (4)将8253的OUT0接到LED发光二极管,以显示8253计数器0的输出OUT0的 状态。 图2-1 8253实验一的连线图 2)实验二:将8253的计数器0、1均设置为工作于方式3(方波),按图2-2重 新接线。要求是当CLK0接1MHz时,OUT1输出1Hz的方波,OUT的输出由LED 显示出来。将计数器0与计数器1串联使用,计数器0的输出脉冲OUT0作为计数器1的时钟输入CLK1。

图2-2 8253实验二的连线图3.程序及框图 1)程序框图 图4-1给出了8253实验一的流程图。 图4-1 程序流程图 图4-2给出了8253实验二的流程图。 2)程序代码 实验一程序代码: CTRL EQU 283H TIME0 EQU 280H TIME1 EQU 281H DATA SEGMENT MESS DB 'ENTER ANY KEY RETURN TO DOS!',0DH,0AH,'$' DATA ENDS CODE SEGMENT

可编程定时器计数器(8253) 实验报告

实验名称可编程定时器/计数器(8253)学生姓名 学生学号 专业班级 指导老师 2015-1-7

实验六可编程定时器/计数器(8253) 一、实验目的 掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1.设计8253定时器/技术器仿真电路图; 2.根据仿真电路图,编写代码,对8253定时器/计数器进行仿真。 三、实验要求 1.要求计数器2工作于模式1(暂稳态触发器),计数初值为1250; 2.计数器0工作于方式3(方波模式),输出一个1KHz的方波,8253的 输入时钟为1MHz,计数初始值格式为BCD。 3.8253与系统的连接如图1所示。 图1计数器8253与8086连接原理图

注:实验过程中,发现图1有误。应将8253定时器/计数器右边部分的电阻R2与按钮交换位置。 四、实验原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 8253的工作方式3被称作方波发生器。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUTi输出低电平,装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。 8253定时器/计数器控制字决定这定时器0,1,2的工作模式。一旦CPU对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。控制字的格式如图2所示。

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

信息工程学院实验报告 课程名称:微机原理与接口技术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

定时器实验报告

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

8253定时计数器知识点总结

8253定时/计数器知识点总结 1、8253简介 8253是用来测量时间或者脉冲的个数,通过计量一个固定频率的脉冲个数,将时间信息转化为数字信息,供计算机系统使用。8253有着较好的通用性和灵活性,几乎可以在所有由微处理器组成的系统中使用。 2、性能描述 (1)每个8253芯片有3个独立的16位计数器通道; (2)每个计数器通道都可以按照二进制或二—十进制计数; (3)每个计数器的计数速率可以高达2MHz; (4)每个通道有6种工作方式,可以由程序设定和改变; (5)所有的输入、输出电平都与TTL兼容。 3、结构组成 结构框图如下 (1)数据总线缓冲器 8253内部实现与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某一时刻的实时计数值。(2)读写逻辑控制 控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的址地信号以实现片选、内部通道选择以及对读/写操作进行控制。 (3)控制寄存器 在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。 (4)计数通道0号、1号、2号 三个独立的、结构相同的计数器/定时器通道,每个通道包含一个16位计数寄存器存放计数初始值,一个16位的减法计数器,一个16位的锁存器。 锁存器在计数器工作的过程中,跟随计数值的变化。 接收到CPU的读计数值命令时,锁存计数值,供CPU读取。

读取完毕之后,输出锁存器又跟随减1计数器变化。 另外,计数器的值为0的状态,还反映在状态锁存器中,可供读取。 4、引脚说明 与CPU 的接口信号: (1)D0—D7:双向三态数据线,与CPU 相连用以传送数据、控制字以及状态信息。 (2)CS :片选输入信号,低电平有效。 (3)W R RD ,:读/写控制信号,低电平有效。 (4)10,A A :8253的内部计数器和一个控制寄存器的编码选择信号,其功能如下: 10,A A 与其他控制信号,如CS ,W R RD ,共同实现对8253的寻址,如下图: 8253寻址读写操作逻辑表

定时计数器的基本应用

实验二定时/计数器的基本应用 课程:单片机技术及C51程序设计 1、实验目的 掌握定时/计数器T0,T1的方式选择和编程方法; 了解中断服务程序的设计方法。 2、实验电路 图2-1 实验2电路图 3、实验内容 利用定时器T0工作在方式3,用TL0计数器对应的8位定时器实现一个发光管以1s闪烁,用TH0计数器对应的8位定时器实现另一个发光管以

0.5s 闪烁。 4、程序框图 考程序流程图如图2-2所示。 5、源程序 源程序:

/************************ 程序预处理部分 ************************/ #include //52系列单片机头文件 #define uchar unsigned char #define uint unsigned int /************************ 变量定义部分 ************************/ sbit LED1=P1^0; sbit LED2=P1^1; uint num1,num2; /************************ 主程序部分 ************************/ void main() { TMOD=0x03; //设置定时器0为工作方式3(0000 0011)TH0=6; //装初值 TL0=6; EA=1; //开总中断 ET0=1; //开定时器0中断 ET1=1; //开定时器1中断 TR0=1; //启动定时器0 TR1=1; //启动定时器0的高8位计数器 while(1) //程序停止在这里等待中断发生 { if(num1>=3686) //如果到了3686次。说明1秒时间到 { num1=0; //然后把num1清0重新再计3686次 LED1=~LED1; //让发光管状态取反

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

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

第三章 8253定时

第三章8253定时/计数器 对零件产品计数 统计车辆流量等 测量转速 计数 计数器:对电脉冲计数 电脉冲 定时的本质-计数: 对时间基准的计数 任何一个周期运动的周期皆可作为时间标准 将若干小片时间累积起来,就获得一定时间.以秒为单位计时,即60秒就是1分钟,计满60分钟就是1小时. 秒的定义:是Ce-133原子基态两个超细能级间跃迁所对应辐射的9192631770个周期的时间.T=1.087827757*10-10s 定时作A/D转换采集信号 定时发送控制信号 计算机,总线的主频 定时作用举例 微机定时的方法 软件定时:CPU执行指令,预先知道所编程执行指令的周期,循环执行指令以延时 硬件定时:单稳电路,可编程通用定时器/计时器. 例intel8253 3个独立16位计数通道 每个通道可任选6种工作方式之一种 24脚双列直插芯片 6.1 框图与引脚 6.1.1 框图 1. 数据总线缓冲器 8位,三态,双向缓冲器,是CPU和8253交换数据的唯一通道. 2.读写控制逻辑 高电平时禁止三态和读写逻辑 控制数据的传送方向. A0 A1 不同组合决定CPU访问的芯片内部不同端口. CS=0 A0 A1 不同组合决定CPU 读写不同端口 框图 3 .控制字寄存器 A0A1=11时访问控制字寄存器,控制字D6D7决定写入那个通道寄存器,各个通道的控制寄存器的控制字,决定各通道工作方式等内容. 4. 通道0,1,2计数器 三个通道计数器相同 16位通道寄存器CR:接受初始计数值,开始计数之前,由CPU用输出指令预置入CR中. 16位计数单元CE:对CLK的输入脉冲信号,从预置的初始值减1计数,当初始值减为0时,由OUT 输出电平或脉冲,GATE引脚可控制输入脉冲是否能输入. 输出锁存器OL,锁存CE的内容,CPU可随时读取OL中CE的当前值,不影响计数器脉冲输入和计数器的继续计数.

8253定时

8253定时/计数器实验 一、实验目的 了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。二、实验内容 编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。 1.8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。其主要有以下特点: ①有3个独立的16位计数器,每个计数器均以减法计数。 ②每个计数器都可按二进制计数或十进制(BCD码)计数。 ③每个计数器都可由程序设置6种工作方式。 ④每个计数器计数速度可以达2MHz。 ⑤所有I/O都可与TTL兼容 2.8253部分管脚的功能简介: D0-D7——数据总线缓冲器 A0-A7——地址输入线,用来选择3个计数器和控制寄存器中的一个。 CLK——时钟脉冲输入端。计数脉冲加到CLK输入端,可进行二进制或十进制减1的计数。 GATE——门控脉冲输入,用以控制计数或复位。通常当其为低电平时,禁止计数器的工作,即此输入信号即可完成外部触发启动定时作用,又可用于中止计数或定时作用。 OUT——计数到零或定时时间到脉冲输出。当预置的数值减到零时,从OUT输出端输出一信号,在不同的方式下,可输出不同形式的信号。可以用作中断请求,也可用作周期性的负脉冲或方波输出。 三、实验内容及步骤 本实验需要用到单片机最小应用系统CPU模块(F1区)、8253模块(H3区)、时钟发生电路模块(C4区)和计数器/频率计(A4区)。 1.用导线单片机最小应用系统P 2.0、P2.1、P2.7、RD、WR分别接8253的A0、A1、CS-8253、RD、WR;单片机最小应用系统的P0口JD4F接8253模块的D0-7口JD0H,时钟发生电路模块的250kHz接8253模块的CLK0; GATE0接+5V,OUT0接计数器/频率计(A4区)的F IN 。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH20_8253.ASM”,进行编译,直到编译无误。 4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。 5.从计数器/频率计可以看到OUT0输出的频率是CLKO的256分频(大约=970Hz)。 四、源程序(见光盘中的程序文件夹) 五、思考题 1.比较8253的六种工作方式的异同,并列表分析。 2.分析如何根据实验电路确定8253的端口地址? 六、实验电路

实验三定时器计数器应用实验一

定时器/计数器应用实验一 设计性试验 2012年11月14日星期三第三四节课 一、实验目的 1、掌握定时器/计数器定时功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS的连续方波,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS的连续方波,在P 1.1口线上接示波器观察波形。 三、电路原理图

四、实验程序流程框图和程序清单及实验结果 /********* 设计要求:(a)单片机的定时器/计数器以查询方式工作, 在P1.0口线上产生周期为200us的连续方波 编写:吕小洋 说明:用定时器1的方式1以查询方式工作 时间:2012年11月10日 ***************/ ORG 0000H 开始 系统初始化

START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器1中断 MOV TMOD, #00010000B ;设置定时器1为工作方式1 MOV TH1, #0FFH ;设置计数初值 MOV TL1, #9CH SETB TR1 ;启动定时器 LOOP: JNB TF1, LOOP ;查询计数是否溢出 MOV TH1, #0FFH ;重置计数初值 MOV TL1, #9CH CLR TF1 ;清除计数溢出标志 CPL P1.0 ;输出取反 LJMP LOOP ;重复取反 END

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

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

定时器/计数器应用实验二 一、实验目的和要求 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

8253定时器计数器实验

洛阳理工学院实验报告

(1)、连接实验电路 连线: 8253 CS ------ 端口地址 300CS PACK IMS ----- 393 1A 393 1QD ------ 8253 CLK1 8253 OUT1 ---- 8253 CLK2 8253 OUT2 ---- 发光二极管 L15 8253 GATE1 -- (A10)+5V 8253 GATE2 -- (A10)+5V 结果如下图所示: (2)、实验程序如下所示: CS8253 EQU 0303H COUNT0 EQU 0300H COUNT1 EQU 0301H COUNT2 EQU 0302H CODE SEGMENT ASSUME CS:CODE START PROC NEAR MOV DX,CS8253 MOV AL,01110110B OUT DX,AL

MOV DX,COUNT1 MOV AX,307 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,CS8253 MOV AL,10110110B OUT DX,AL MOV DX,COUNT2 MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL JMP $ START ENDP CODE ENDS (3)、经编译、链接无语法错误后装载到实验系统,全速运行程序,观察发光二极管L15,应有周期为1s的点亮、熄灭。结果如下图所示: 一秒后又熄灭,如此往复。 (4)、做完实验后,应按暂停命令中止程序的运行。 二、8253计数器实验 验证8253的工作方式3,CLK1每输入5个单脉冲信号,改变一次OUT1状态。 实验电路: DATA BUS D7~D0 D0 8 OUT0 10 D1 7 GATE0 11 D2 6 CLK0 9 D3 5 D4 4 D5 3 D6 2 OUT1 13 D7 1 GATE1 14 CLK1 15 CS 21 RD 22 WR 23 OUT2 17 A0 19 GATE2 16 A1 20 CLK2 18 8253 /CS 300CS IOR IOW A0 A1 VCC 1.8432MHz OUT0 GATE1 CLK1 OUT1 OUT2 CLK2 GATE2 +5V SP单次正脉冲 L15发光二极管显示

8253定时计数器实验

8253定时器/计数器实验 一、实验目的: 1、进一步了解可编程定时/计数器8253的特点与功能; 2、掌握8253定时/计数器的应用、编程方法。 二、实验设备: MUT—Ⅲ型实验箱、8086CPU模块、示波器。 三、实验内容: 用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。 两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。 四、实验电路: 本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。电路原理图如图1所示。 图1:8253定时/计数器实验电路 五、实验步骤: (1)实验连线: CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。如图2所示。注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。 图2:线路连接示意图

(2)输入以下程序,编译、链接后,全速运行,观察实验结果。 ;8253初始化参考程序 CODE SEGMENT ASSUME CS:CODE ORG 0100H START: MOV DX,04A6H ;控制寄存器地址 MOV AL,00110110B ;计数器0控制字:方式3,二进制计数 OUT DX,AL MOV DX,04A0H ;计数器0的口地址 MOV AL,0EEH ;写计数初值低8位 OUT DX,AL MOV AL,02H ;写计数初值高8位 OUT DX,AL MOV DX,04A6H ;控制寄存器地址 MOV AL,01110110B ;计数器1控制字:方式3,二进制计数 OUT DX,AL MOV DX,04A2H ;计数器1的口地址 MOV AL,0E8H ;计数初值低8位 OUT DX,AL MOV AL,03H ;计数值高8位 OUT DX,AL NEXT: NOP JMP NEXT ;CPU在此循环执行空操作,说明8253独立工作。 CODE ENDS END START 实验说明: 实验中,计数器0的时钟由时钟发生器的CLK3提供,其频率为750KHz。程序中,计数器0的计数初值设为750,计数器1的计数初值设为1000。计数器0的OUT0输出的方波频率为:750KHz/750=1000Hz,即为CLK1的输入频率。则计数器2的UT0的输出方波的周期为:1000/1000Hz=1秒。可见,采用计数器级联后,输出周期范围可以大幅度提高,这在实际控制中是非常有用的。 实验结果: 程序全速运行后,LED1闪烁(周期为1s)。(可用示波器观察8253的CLK0、OUT0及OUT1的波形) 六、作业题 1、不改变电路连接,修改程序,使计数器0和计数器1都按BCD码计数使LED1每隔1秒闪烁一次,模拟电子秒表或信号报警器。 2、不改变电路连接,修改程序,使发光二极管LED1每隔2S闪亮一次,模拟信号报警器。

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

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

8253定时器计数器接口与数字电子琴

实验目的 1.通过程序改变定时器的数值来改变声音频率 2.通过编程来获得声调和节奏,使计算机演奏出乐曲来。 硬件设计 利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的通断。 8255的A 口设置为输出,8255的A 口的低两位用来控制扬声器驱动,当输出端口的PA0位为“1”或为“0”时,将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。这样通过控制PA0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。此外,通过控制PA0的通断时间,就能发出不同的音长。8255的PA1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。8253有三个定时器,分为0号、1号和2号定时器,驱动扬声器的是0号定时器,该定时器工作在方式3,是一个频率发生器,它负责向扬声器发送指定频率的脉冲信号。当8255的PA0和PA1都为1时,8253发出指定频率的声音信号的前提下,声音信号通过与门到达驱动器驱动扬声器发声。 硬件原理图如图1所示: 图1 硬件原理图 8253 计数器 与门 扬声器驱动 扬声 器 8255 PA0 8255 PA1 门控 控制喇叭 Q0

扬声器驱动电路如图2所示。 图2 扬声器驱动电路 软件设计 系统要求实现2个功能,电子琴和音乐盒的功能。两者发声的方法一样,只是一个数据是从键盘读取的,另一个是已经保存好的数据。首先我们可以用一个子程序实现单个音调的产生,对8253输入不同的计数初值生成不同频率的波形,然后延时一段时间。电子琴程序主要是读取键盘按键,根据键值产生不同的音调即可。而乐曲的播放先将乐曲的音符编码表和节拍编码表建立好的,然后在播放时读取数据。 1. 单音调子程序SOUND 单音调子程序的调用前需要进行以下几个方面工作: 1)确定相应的音调所对应的频率,查表可以得到,再由频率得到对应的8253计数初值。 2)确定音长,即一个音符所持续的时间。 在单音调子程序中实现发出一个音符的声音,持续所需的时间,流程图如图3所示:

相关文档
最新文档