可编程定时器计数器实验报告
定时器、计数器操作与应用实验报告
实验三定时器、计数器操作与应用实验报告、实验目的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所示。
微机原理实验 可编程定时器计数器82548253实验
图2 8253/8254定时器/计数器实验连线图
六、实验源程序清单
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START:MOV AL, 00010110B;控制字00-计数器0,01-低8位,011-方式3,0-二进制
OUT 03H,AL;将控制字写入控制寄存器
实验报告(45)
总分
指导教师签字:
年月日
备注:
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
图1可编程定时器/计数器8253/8254原理图
(2).计数器都有6种工作方式:
方式0—计数过程结束时中断;
方式1—可编程的单拍脉冲;
方式2—频率发生器;
方式3—方波发生器;
方式4—软件触发;
方式5—硬件触发。
(3)6种工作方式主要有5点不同:
一是启动计数器的触发方式和时刻不同;二是计数过程中门控信号GATE对计数操作的影响不同;三是OUT输出的波形不同;四是在计数过程中重新写入计数初值对计数过程的影响不同;五是计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程的不同。
九、实验总结
硬件实验相对来说趣味性大了很多,同时也使得程序没那么复杂不过存在的问题突出表现于受到硬件实验条件的制约,硬件上的小问题就有可能导致不能出显预想的结果这也就使得在硬件连接上要很小心。
十、思考题
1.若8254模块选通线CS连到MCU主模块的地址A12,则应如何修改程序?
答:改变了存储芯片的地址范围所以将程序对应的地址范围改过即可。接A12对应地址范围是6800~6FFFH;接A14对应地址范围是3800~3FFFH。
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个脉冲清零。
OUTPUT00OUTPUT012、示范梯形图3、接线方法:INPUT 00接PO1INPUT 01接PO2OUTPUT 01 接输出显示LED灯FL1四、实验步骤1、按实验要求对PLC编程,或运行PLC程序DVP2;2、下载实验程序,成功完成后,使PLC处于运行状态,RUN指示灯亮;3、按下PO1十次观察输出变化,LED灯亮;此时按下PO2,LED灯灭。
定时计数器实验报告
实验3.3.1 定时/计数器实验一、实验目的1、了解MCS-51单片机定时/计数器的工作原理与工作方式;2、掌握定时/计数器T0和T1在定时器和计数器两中方式下的编程;3、学习定时/计数器T2的可编程时钟输出功能;4、掌握使用Proteus进行单片机系统仿真的方法。
二、实验内容1、使用定时器T0与定时器T1进行定时,在P1.0和P1.1引脚上输出方波信号,通过示波器观察波形输出,测量并记录方波周期。
2、将定时/计数器1设定为计数方式,每次计数到10在P1.0引脚上取反一次,观察发光二极管的状态变化。
3、定时器2可以作为时钟发生器使用,并在P1.0引脚上输出占空比为50%的方波。
编程定时器2,使用示波器测量输出时钟,测量时钟周期。
三、实验环境PC机一台,Proteus仿真软件、KEIL uVision2软件一套四、硬件电路接线图说明:SW1打到上边触点时用于实验内容1和内容3,SW1打到下边触点时与KK1一起用于实验内容2。
内容1内容2 内容3内容1:#include"sst89x5x4.h" sbit wave1=P1^0; sbit wave2=P1^1; void main(){TMOD=0x11;TH0=0x0F8;TL0=0x00;TH1=0x0F8;TL1=0;TR0=1;TR1=1;while(1){if(TF0==1){TH0=0x0F8;TL0=0x00;wave1=~wave1;TF0=0;}else if(TF1==1) {TH1=0x0F8;TL1=0;wave2=~wave2;TF1=0;}}}内容2:#include"sst89x5x4.h" sbit P10=P1^0;void main(){TMOD=0x60;TH1=0xF6;TL1=0xF6;TR1=1;for(;;){while(TF1==0);P10=~P10;TF1=0;}}内容3:#include"sst89x5x4.H"void main(){RCAP2H=0xFF;RCAP2L=0x00;T2MOD=0x02;T2CON=0x04;while(1);}七、实验步骤1、打开Proteus,画好硬件电路图并保存;2、打开KEIL uVision2,建立工程并按程序清单编写好源程序,编译连接;3、将Proteus和KEIL uVision2连接调试,验证电路和程序的功能。
可编程定时计数器实验实验报告
微机原理实验报告实验名称 8253可编程定时/计数器实验一、实验目的1、掌握8253芯片结构及工作方式;2、熟悉8253可编程定时/计数器的编程。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中的8253模块Lab6000p实验箱中的8253模块连线如图所示:图1 8253模块的连线AD0~AD7、A0、A1、/WR、/RD已分别连至系统总线DB0~DB7、AB0、AB1、/IOW、/IOR;三个通道的OUT、GATE、CLK以及CS引出留给用户连接。
三、实验内容和实验步骤1、8253计数实验1)实验要求5个脉冲后LED0亮。
2)电路连接图2 电路连线3)程序代码见附录程序3.14)实验步骤1、在Lab6000p实验箱上完成连接电路;2、开启计算机电源,开启Lab6000p实验箱电源;3、启动W A VE6000软件;4、确认W A VE6000与Lab6000p连接;5、输入源代码;6、编译源代码(F9);7、连续运行程序(Ctrl+F9),按动单脉冲按键观察LED显示情况。
2、定时实验1)实验要求在LED上实现1秒钟亮/1秒钟灭。
2)电路连接将OUT0的输出接至OUT1的输入,其余连线和实验1中相同。
3)实验代码见程序附录3.24)实验步骤1、在Lab6000p实验箱上完成连接电路;2、开启计算机电源,开启Lab6000p实验箱电源;3、启动W A VE6000软件;4、确认W A VE6000与Lab6000p连接;5、输入源代码;6、编译源代码(F9);7、连续运行程序(Ctrl+F9),按动单脉冲按键观察LED显示情况。
四、实验结果1、8253计数实验在5个脉冲后,LED0灯亮。
2、定时实验在LED上实现1秒钟亮/1秒钟灭。
五、问题思考1、若CS连至地址译码/CS3,程序该如何修改。
答:只需将相应的端口地址修改即可,CS3对应的基地址应为0b00h。
2、为什么定时/计数器初值赋4,5个脉冲后LED才亮。
实验四定时器计数器8253应用实验报告
南昌理工学院实验报告二O一二年月日课程名称:微机原理与接口技术实验名称:定时、计数器8253A应用班级:姓名:同组人:指导教师评定:签名:【一、实验名称】定时、计数器8253A应用【二、实验目的】学习8253A可编程定时、计数器与8088CPU的接口方法;了解8253A的工作方式;掌握8253A在各种方式下的编程方法。
【三、实验内容和原理】1、实验原理8253A的A0、A1接系统地址总线A0、A1,故8253A有四个端口地址。
8253A的片选地址为40H~4FH。
因此,本实验仪中的8253A四个端口地址为40H、41H、42H、43H,分别对应通道0、通道1、通道2和控制字。
采用8253A通道0,工作在方式3,输入时钟CLK0为1MHZ的方波,并要求用接在GATE0引脚上的导线是接地或甩空来观察GATE对计数器的控制作用,用示波器观察输出波形。
2、实验线路连接(1)8253A的GATE0接+5V。
(2)8253A的CLK0插孔接分频器74LS393的T4插孔,分频器的频率源为4MHZ。
【四、实验条件】微型计算机一台,工具箱,示波器【五、实验过程】运行实验程序:单机时,实验程序起始地址为F000:9180。
在系统显示监控提示符“P."时:输入F000按F1键输入9180按EXEC键。
将CLK0接T6,OUTO插孔连接一个发光的二极管。
附:实验参考程序:ORG 08C0H ;?L8253: MOV DPTR,#0C003HMOV A,#36HMOVX @DPTR,AMOV DPTR,#0C000HMOV A,#00HMOVX @DPTR,AMOV A,#10HMOVX @DPTR,ASJMP $END【六、实验结果】当CLK0接T6时,发现发光的二极管的亮度是在改变的。
当CLK0接T7时,发现发光的二极管的亮度的变化没有CLK0接T6时快。
当CLK0接T4时,肉眼无法发现发光的二极管灯的亮度有改变。
实验二 定时器及计数器实验
16位计数器
32位计数器
计数方向
顺数
顺/倒可切换使用(看上表)
设定值
1~32767
-2147483648~+2147483647
指定的设定值
常数K或数据寄存器
同左但是数据寄存器要一对(2个)
当前值的变化
顺数后不变化
顺数后变化(循环计数器)
输出接点
顺数后保持动作
顺数后保持动作,倒数复位
复位动作
扫行RST命令时,计数器的当前值为零,输出接点恢复
如果使用累计定时器,在线圈驱动断开后,定时器复位,但输出触点保持原来的状态。
试将上面例子中和定时器T0改为T250,观察程序运行结果。
(3)输入上面例程中的程序,观察程序运行结果。
2、计数器
计数器有16位向上计数和32位向上/向下计数用的两种。向上/向下计数器的计数方向由特殊辅助继电器8299~M8234的ON/OFF来指定。
(1)计数器的编号(C)如下表所示(编号按10进制分配)
16位向上计数器
0~32767
32位向上/向下计数器
-2147483648~+2147483647
一般用
停电保持用
停电保持专用
特殊用
FX2N系列
C0~C99,
100点
C100~C199,
100点
C200~C219,
20点
C220~C234,
15点
计数器有16位向上计数和32位向上/向下计数用的两种。向上/向下计数器的计数方向由特殊辅助继电器8299~M8234的ON/OFF来指定。
32位计数器增计数/减计数切换用的辅助继电器编号
计数器No.
方向切换
可编程定时器计数器实验报告
实验名称可编程定时器/计数器(8253)学生姓名学生学号专业班级指导老师2015-1-7实验六可编程定时器/计数器(8253)一、实验目的掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容1. 设计8253定时器/技术器仿真电路图;2. 根据仿真电路图,编写代码,对8253定时器/计数器进行仿真。
三、实验要求1. 要求计数器2工作于模式1(暂稳态触发器),计数初值为1250;2. 计数器0工作于方式3 (方波模式),输出一个1KHz的方波,8253的输入时钟为1MHz计数初始值格式为BCD3. 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 x CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n x CLKi周期,占空比为((n+1)/2)/((n-1)/2) 的近似方波序列。
8253定时器/计数器控制字决定这定时器0,1,2的工作模式。
一旦CPU对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。
- 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寄存器。