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

实验三定时器、计数器操作与应用实验报告、实验目的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 xooo1OUT YOOOX0012LD3OR¥0014AN I X0025OUT Y0016OUT TO K509MPS10AHI TO11OUT Y00212MPP13ASD TO14OUT¥00315LD X00316RST CO18LD X00419OUT CO K522LD CO23OUT Y00424END3、时序图r 时序10 □ ©Si正在进荷囲1SL 金冃勖厂手祜r XI广X3厂X5厂K1Q拧应C40 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.掌握8253芯片和微机接口的硬件连接方法。
2.掌握8253定时器/计数器的工作方式和编程原理。
二.实验仪器1.微型计算机一台。
DVCC-5286JH型微机原理与接口实验系统,排线、导线若干。
三.实验原理1、实验要求本实验原理图如图所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表所示。
8253A的片选地址为48H~ 4FH。
因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。
采用8253A通道2,工作在方式3(方波发生器方式),输入时钟CLK2 为1MHZ,输出OUT0 要求为1KHZ的方波,并要求用接在GATE2引脚上的导线是接地("0"电平)或甩空("1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形,看是否有频率为1KHZ的方波输出。
实验原理图如图1所示,PB4 PB7和PC0 PC7分别与发光二极管电路L1 L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始化为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~PB7对应黄灯,PC0~PC3对应红灯,PC4~PC7对应绿灯。
8255A工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
8254定时计数器实验 实验报告

8254定时计数器实验实验报告一、实验目的本次实验的主要目的是深入了解和掌握 8254 定时计数器的工作原理、编程方法以及在实际应用中的操作流程。
通过亲自动手实践,提高对计算机硬件接口技术的理解和应用能力。
二、实验设备1、计算机一台2、 8254 定时计数器实验箱三、实验原理8254 是一种可编程的定时/计数器芯片,它包含三个独立的 16 位计数器通道,分别称为计数器 0、计数器 1 和计数器 2。
每个计数器都可以工作在不同的模式下,如方式 0 计数结束中断、方式 1 可重触发单稳态、方式 2 频率发生器、方式 3 方波发生器、方式 4 软件触发选通、方式 5 硬件触发选通。
在本次实验中,我们主要利用 8254 的计数器 0 来产生一定频率的方波信号,并通过指示灯的闪烁来观察其效果。
四、实验步骤1、按照实验箱的说明书,将 8254 芯片正确地插入插槽中,并连接好相关的线路。
2、打开计算机,进入实验环境。
3、编写 8254 的初始化程序,设置计数器 0 的工作模式、计数初值等参数。
选择工作模式 3(方波发生器)。
设定计数初值,以控制方波的频率。
4、编译并运行程序,观察指示灯的闪烁情况。
五、实验代码以下是本次实验中使用的 8254 初始化程序代码(以汇编语言为例):```assemblyMOV DX, 043H ;控制字端口地址MOV AL, 00110110B ;控制字:选择计数器 0,先读/写低 8 位,再读/写高 8 位,工作方式 3,二进制计数OUT DX, ALMOV DX, 040H ;计数器 0 端口地址MOV AL, 00H ;先写低 8 位计数值OUT DX, ALMOV AL, 10H ;再写高 8 位计数值OUT DX, AL```六、实验结果及分析1、实验结果当程序运行后,观察到连接在计数器 0 输出端的指示灯按照设定的频率闪烁,表明 8254 定时计数器工作正常,成功产生了方波信号。
定时器计数器实验报告

定时器计数器实验报告简介:定时器是一种用来产生、计数和处理时间信号的计时装置。
在数字电路中,定时器主要分为内部定时器和外部定时器两类,内部定时器是在单片机内部实现的,外部定时器则是通过外部电路实现的。
计数器则是一种用来计数的电子元件,根据不同的使用场合和要求,计数器可以分为多种类型。
在嵌入式系统中,定时器计数器应用广泛,例如在时钟、延时、计数等方面都有很大的作用。
实验目的:1. 学习定时器和计数器的基本原理及应用。
2. 熟悉定时器和计数器在单片机中的编程方法。
3. 掌握通过定时器和计数器实现延时和计数功能的方法。
实验器材:1. STM32F103C8T6开发板2. ST-LINK V2下载器3. 电脑实验内容:一、实验1:使用定时器和计数器实现延时功能1. 在Keil C中新建一个工程,并编写以下程序代码:```#include "stm32f10x.h"void TIM2_Int_Init(u16 arr,u16 psc){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure ;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);TIM_TimeBaseStructure.TIM_Period = arr;TIM_TimeBaseStructure.TIM_Prescaler=psc;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode _Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE );NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);TIM_Cmd(TIM2, ENABLE);}void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {TIM_ClearFlag(TIM2, TIM_FLAG_Update);GPIO_WriteBit(GPIOB,GPIO_Pin_12,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_12)));}}int main(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStructure);TIM2_Int_Init(9999,7199);while (1);}```2. 将STM32开发板连接到电脑,并下载程序到开发板中。
接口技术实验-8253定时计数器

接口技术实验报告
实验三:可编程定时/计数器8253
一、实验目的
1、学会8253芯片和微机接口的原理和方法。
2、掌握8253定时器/计数器的工作方式和编程原理。
二、实验设备
微机原理实验箱、计算机一套。
三、实验内容
8253计数器0,1工作于方波方式,产生方波。
四、实验原理
本实验用到三部分电路:脉冲发生电路、分频电路以及8253定时器/计数器电路。
脉冲发生电路:实验台上提供8MHZ的脉冲源,见下图,实验台上标有8MHZ的插
孔,即为脉冲的输出端。
脉冲发生电路
分频电路:该电路由一片74LS393组成,见下图。
T0-T7为分频输出插孔。
该计数器在加电时由RESET信号清零。
当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。
分频电路
8253定时器/计数器电路:该电路由1片8253组成,8253的片选、数据口、地址、读、写线均已接好,时钟输入分别为CLK0、CLK1。
定时器输出、GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1。
原理图如下:
注:GATE信号无输入时为高电平
8253定时器/计数器电路
四、实验连线
1、实验连线:
T接8.0MHZ;CLK0插孔接分频器74LS393(左下方)的T2插孔; OUT0接CLK 1;OUT1接发光二极管;
各通道门控信号GATE +5V
2、编程调试程序。
3、全速运行,观察实验结果。
微机原理实验报告_实验讲义_硬件实验_实验三 可编程定时计数器82532021(1)

实验三可编程定时器/计数器(8253)一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容本实验通过和计算机相连的实验箱来完成,实验箱和计算机通过PCl扩展线相连。
实验软件和编程请参照如下步骤:首先,将实验软件(PORTR, MASM, LINK, TD)拷入计算机D盘的某文件夹(文件夹名不能是中文)下;然后,运行PORTR.EXE程序,自动获取实验箱的接口地址;接着,重启计算机,选择DOS启动,进入DOS;在DoS环境下,用EDIT编辑程序,用MASM,LINK,TD汇编、连接、调试程序。
基本实验任务和具体操作如下所示:1.按图2-6虚线连接电路,将计数器。
设置为方式0,计数器初值为N (NWOFH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用示波器观测OUTO电平变化(当输入N个脉冲后OUTO变高电平)。
2.按图2-7连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为IOO0, 用示波器观测OUTl输出电平的变化(频率1HZ)。
286H*-US6253CSJLTb-JL280H~图2-6OUTlCATElCLKKlOUT0GATE0CLK0<IMHZ图2-7三、编程提示1、8253控制寄存器地址283H计数器O地址280H计数器1地址281HCLKO连接时钟IMHZ2、参考流程图(见图2-8、图2-9)图2-8 图2-93、参考程序1:(程序名:E8253_1.ASM)ioport equ 0d400h-0280h ;0d400h为实验箱的接I I地址,应改为运行PoRTR程序自动获取的那个接I 1地址io8253_ctrl equ ioport+283hio8253_cnt0 equ ioport+280hcode segmentassume cs:codestart :mov al, IOh ;设置8253通道0为工作方式0,二进制计数mov dx, io8253_ctrl out dx,almov dx,io8253_cnt0 raov;送计数初值为OFHal, Ofhout dx, al111: in al, dx :读计数初值:调显示子程序call disp push dx movah,06h mov dl, Offh int 21hpop dx jz 111mov ah, 4ch :退出int 21hdisp proc near ;显示子程序push dxand al, Ofh mov dl, al cmp dl, 9 jle num add dl,7 num: add dl l 30h mov ah,02h int 21h movdl,Odh int 21h mov dl, Oah int 21h pop dx ;首先取低四位;判断是否<=9;若是则为‘0'_9', ASCn码加30H ;否则为‘A'」F', ASCIl码加37H;显示;加回车符;加换行符ret ;子程序返回disp endpcode ends end start4、参考程序2:(程序名:E8253_2. ∕∖SM)ioport equ 0d400h-0280h ;0d400h为实验箱的接口地址,应改为运行PORTR程序自动获取的那个接口地址io8253 cntθ equ ioport+280hio8253 cntl equ ioport+28Ih io8253ctrl equ ioport+283h code segmentassume cs:code Startzmov dx,io8253ctrl mov al, 36h out dx, al mov ax, 1000;向8253写控制字:使0通道为工作方式3 ;写入循环计数初值IOOOmov dx, io8253 cntθ out dx,almov al, ah out dx, al;先写入低字节;后写入高字节mov dx,io8253ctrlmov al, 76h out dx, al mov ax, 1000 ;设8253通道1工作方式3 ;写入循环计数初值IOoomov dx,io8253 cntl out dx, al mov al, ah out dx, al mov ah, 4chint 21h ;先写低字节;后写高字节;程序退出code endsend start附加任务:1.改变8253的端口地址(不再是280H~283H,换其他地址),请调整8253芯片的片选/CS 的硬件连线和相关程序;2.基本任务2改为输出IOHZ的负脉冲序列;3. 8253计数器0或计数器1工作在方式1和方式5,完成相应的硬件连线和编程,用示波器观测其输出波形。
可编程定时计数器与中断控制实验报告

可编程定时计数器与中断控制实验报告可编程定时/计数器与中断控制实验报告一、实验目的1、掌握微机中断处理系统的基本原理、学习中断服务程序的编写方法2、掌握8253/8254 定时/计数器的基本原理和编程方法。
二、实验条件1、DOS操作系统平台2、定时/计数器8253芯片、8259A芯片三、实验原理1、可编程定时/计数器8253 功能:(1)8253 含有三个独立的16 位计数器,每个计数器连接外设的信号分别是: CLK:输入的脉冲信号或外部事件,计数器对此脉冲进行减1 计数;GATE:启动/禁止计数的控制信号;OUT:输出信号。
(2)每个计数器可有六种工作方式,均可由程序设置和改变,若一个计数器被设定为方式0,计数初值n,在控制信号GATE 为高时即可对输入的脉冲作减1 计数,OUT维持低电平;计数到0 时,则由OUT 端输出一个高电平信号。
若一个计数器被设定为方式2,输入为周期性脉冲信号,且计数初值可自动重新装入并连续计数,输出信号就成为周期信号,周期为TOUT = n ×TIN(或频率fOUT = fIN/n),即可作为分频器应用。
2、8253 编程:(1)8253 的每个计数器必须在写入控制字和计数初值后才启动工作,一般的初始化编程分为两步:先写入控制字、再写入计数初值。
若要用到2 个以上的计数器,则要对每个计数器分别进行初始化。
所有计数器的方式字都写入同一控制口地址,而各计数器的初值则写入各自口地址。
3、8259A 的操作命令字:(1)8259A 的操作命令字共有3 个,OCW1OCW3。
OCW1 为写入中断屏蔽寄存器IMR(I/O 地址为21H)的中断屏蔽字, 当OCW1 某位(Mi) 为1 时相应的中断申请(IRi)被屏蔽、为0 时所对应的中断申请被允许。
操作命令字OCW2 用于设置中断优先级方式和中断结束方式(写OCW2 所采用的I/O 地址为20H)。
操作命令字OCW3 用于设置或清除特殊屏蔽方式和读取寄存器的状态(写OCW3 所采用的I/O 地址为20H)。
8254定时计数器实验报告

8254定时/计数器应用实验一、实验目的1.掌握 8254 的工作方式及其应用编程。
2.掌握 8254 典型应用电路的接法。
二、实验设备PC机一台,TD—PITE实验装置或TD-PITC实验装置一套,示波器一台。
三、实验内容1.计数应用实验。
编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。
2.定时应用实验。
编写程序,应用8254的定时功能,产生一个1ms的方波。
四、实验原理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是输出波形的频率。
图4.27是8254的内部结构框图和引脚图,它是由于CPU的接口、内部控制电路和三个计数器组成。
8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
GATE0 A0OUT2图4.27 8254的内部接口和引脚8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制器。
这两个控制字共用一个地址,由标志位来区分。
控制字格式如表4.3-4.5所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称
可编程定时器/计数器(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计数器8253与8086连接原理图
注:实验过程中,发现有误。
应将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 8253控制字格式
8253有4个端口,且通过A[1…0]引脚控制着4个端口。
访问端口如所示。
表 1 8253端口地址列表
五、实验步骤及结果
1.确定8253的方式字,以及计数初始值;
根据和实验要求,计算得出
计数器0对应的控制字为27H,计数器0的初值为1000H;
计数器2对应的控制字为0B2H,计数器2的初值为1250。
2.绘制电路图,电路图绘制结果如所示;
图 3 8253仿真电路图
3.根据电路图,确定8253的4个端口号的地址;
CNT0端口端口地址0A000H
CNT1端口端口地址0A002H
CNT2端口端口地址0A004H
控制字端口端口地址0A006H
4.编写代码,代码如下;
CODE SEGMENT
ASSUME CS:CODE
START: JMP TCONT
TCONTRO EQU 0A006H
TCON0 EQU 0A000H
TCON1 EQU 0A002H
TCON2 EQU 0A004H
TCONT: MOV DX,TCONTRO
MOV AL,27H;计数器0,只写初值高8位,方式3,BCD码
OUT DX,AL
MOV DX,TCON0
MOV AL,10H;时钟为1MHZ,计数时间=1us*1000,输出频率1KHZ
OUT DX,AL ;注意1000的BCD码为1000H,此处只需写高位
MOV DX,TCONTRO
MOV AL,0B2H;计数器2,先写初值低8位再写高8位,方式1,二进制数
OUT DX,AL
MOV DX,TCON2
MOV AX,1250;写入计数初值1250
OUT DX,AL
MOV AL,AH
OUT DX,AL
JMP $
CODE ENDS
END START
5.对程序进行编译、链接、仿真,仿真结果如、所示。
图 4 方波图(A通道,黄色)
图 5 脉冲图(D通道,绿色)
六、实验总结
本次实验,重点在于自己找资料,理解透8253的控制方式及工作原理。
只要理解了8253的原理,再配上汇编指令,便轻松完成本次实验。
到现在,一共做了6次实验。
6次实验都是与外设打交道,故常用到的指令就MOV,OUT,IN三条指令,常用到的寄存器就AX,DX,常用到的寻址方式是寄存器间接寻址(DX用在此处)。
当访问的端口地址小于255时,则可以采用直接寻址,不用DX间接寻址;当访问的端口地址大于255时,寄存器间接寻址则是必须的,必须用到DX寄存器。