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

定时器和计数器是数字逻辑电路中常见的功能模块,用于时间测量和事件计数。
以下是一个可能的定时器计数器的定时实验设计方案:
实验名称:定时器计数器的定时实验
实验目的:
1. 了解定时器和计数器在数字电路中的应用;
2. 学习定时器的工作原理和使用方法;
3. 掌握计数器的功能及其在事件计数中的应用。
实验内容:
1. 定时器实验:
-设计一个简单的定时器电路,利用集成电路或开发板上的定时器模块,实现不同时间间隔的脉冲输出。
-调节定时器参数,观察输出信号的频率和占空比的变化。
2. 计数器实验:
-将定时器的输出信号连接到计数器输入端,通过计数器实现对脉冲数量的计数。
-设置计数器的初始值和计数方式,观察计数器的计数过程及计数结果。
实验器材与设备:
1. 集成电路或开发板上的定时器和计数器模块
2. 连接线、电源等实验器材
3. 示波器或数码多用表等测试仪器
4. 相关的实验软件和工具
实验注意事项:
1. 理解定时器和计数器的工作原理,正确连接和设置实验电路。
2. 注意电路连接的准确性,确保信号传输正常。
3. 在实验过程中注意观察输出信号波形和计数结果,及时调整参数以获取所需实验数据。
预期结果:
通过该实验,学生可以深入了解定时器和计数器在数字电路中的应用,掌握定时器的工作原理和调节方法,以及理解计数器在事件计数中的作用。
学生将能够实际操作定时器计数器模块,设计并搭建相应的实验电路,观察实验结果并进行数据分析。
这样的定时器计数器的定时实验设计旨在帮助学生加深对数字逻辑电路中定时和计数功能的理解,培养其实验操作能力和问题解决能力。
定时器计数器实验报告

定时器计数器实验报告
《定时器计数器实验报告》
实验目的:通过定时器计数器实验,掌握定时器的基本原理和使用方法,以及
探究定时器在电子设备中的应用。
实验材料:定时器计数器、电源供应器、示波器、电阻、电容等元器件。
实验步骤:
1. 搭建电路:按照实验指导书上的电路图,搭建定时器计数器的电路。
2. 接通电源:将电路接通电源,并调节电源供应器的输出电压和电流。
3. 调节参数:通过调节电阻、电容等元器件的数值,调节定时器计数器的工作
频率和工作周期。
4. 测量波形:使用示波器测量定时器计数器输出的波形,观察波形的频率、占
空比等参数。
5. 实验记录:记录实验过程中的关键参数和观察结果,包括电路连接方式、元
器件数值、波形频率和占空比等。
实验结果:
经过实验观察和记录,我们得出了定时器计数器在不同参数设置下的工作波形,包括方波、脉冲波等。
通过调节电阻、电容等元器件的数值,我们成功改变了
定时器计数器的工作频率和工作周期,并且得到了不同频率和占空比的波形。
实验总结:
通过本次实验,我们深入了解了定时器计数器的工作原理和使用方法,掌握了
定时器在电子设备中的应用。
定时器计数器是一种非常重要的电子元器件,广
泛应用于各种电子设备中,如计时器、脉冲发生器、频率分频器等。
掌握了定
时器计数器的基本原理和使用方法,对我们今后的电子工程实践和研究具有重要意义。
在今后的学习和工作中,我们将继续深入研究和应用定时器计数器,不断提高自己的电子技术水平,为电子设备的设计和应用做出更大的贡献。
单片机定时器计数器实验报告

单片机定时器计数器实验报告单片机定时器计数器实验报告篇一:单片机计数器实验报告计数器实验报告㈠实验目的1. 学习单片机内部定时/计数器的使用和编程方法;2. 进一步掌握中断处理程序的编程方法。
㈡实验器材1. 2. 3. 4. 5.G6W仿真器一台MCS—51实验板一台PC机一台电源一台信号发生器一台㈢实验内容及要求8051内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms 中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。
㈣实验说明1. 本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。
2. 计数脉冲由信号发生器输入(从T0端接入)。
3. 计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421码表示,个位用L8~L5的8421码表示4. 将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动次数并显示㈤实验框图(见下页)程序源代码 ORG 00000H LJMP MAINORG 001BH AJMP MAIN1 MAIN:MOV SP,#60HMOV TMOD,#15H MOV 20H,#14H MOV TL1,#0B0H MOV TH1,#3CHMOV TL0,#00H;T0的中断入口地址 ;设置T1做定时器,T0做计数器,都于方式1工作 ;装入中断次数 ;装入计数值低8位 ;装入计数值高8位MOV TH0,#00HSETB TR1 ;启动定时器T1 SETB TR0 ;启动计数器T0 SETB ET1 ;允许T1中断 SETB EA ;允许CPU中断 SJMP $;。
定时计数器实验报告

定时计数器实验报告定时计数器实验报告引言:定时计数器是一种常见的电子设备,用于测量和计时不同事件的发生频率。
本实验旨在通过搭建一个简单的定时计数器电路,探究其工作原理和应用。
一、实验目的本实验的主要目的是研究定时计数器的原理和功能,通过实际操作和测量,了解其在电子领域中的应用。
二、实验器材1. Arduino开发板2. 七段数码管3. 连接线4. 电阻、电容等元器件三、实验步骤1. 搭建电路:根据实验指导书提供的电路图,连接Arduino开发板、七段数码管和其他所需元器件。
2. 编写代码:使用Arduino开发环境,编写程序控制七段数码管显示计数值,并设置定时器。
3. 上传代码:将编写好的代码上传到Arduino开发板中。
4. 运行实验:按下开发板上的复位按钮,观察七段数码管的显示结果,并记录计数值。
四、实验结果与分析在实验过程中,我们发现七段数码管能够正确显示计数值,并且每隔一定时间自动加1。
通过调整定时器的参数,我们可以改变计数的速度。
五、实验应用定时计数器在实际生活中有着广泛的应用。
以下是一些常见的应用场景:1. 交通信号灯控制:交通信号灯通过定时计数器来控制不同方向的信号灯切换,保证交通流畅和安全。
2. 音乐节拍器:定时计数器可以用于控制音乐节拍器的节奏,使音乐演奏更加准确和有节奏感。
3. 工业自动化:在工业生产线上,定时计数器可以用于控制机器的运行时间和生产速度,提高生产效率。
4. 游戏计时器:定时计数器可以用于游戏中的计时功能,例如倒计时、积分统计等。
5. 实验测量:定时计数器可以用于实验中对事件发生频率的测量,如测量电路的频率响应等。
六、实验总结通过本次实验,我们深入了解了定时计数器的原理和应用。
定时计数器在电子领域中有着广泛的应用,可以用于各种计时、测量和控制任务。
通过调整定时器的参数,我们可以灵活地控制计数的速度和精确度。
在今后的学习和实践中,我们将进一步探索定时计数器的应用,并将其运用到更多的领域中。
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开发板连接到电脑,并下载程序到开发板中。
定时器计数器应用实验报告

实验名称:定时器/计数器应用实验日期:见自己实验数据得分:同组人:不填指导教师:姓名一、实验目的1.掌握51单片机定时器/计数器的基本结构、工作原理和工作方式。
2.掌握定时器/计数器T0、T1工作在定时器和计数器两种状态下的编程方法。
3.学习和掌握定时器/计数器工作在定时器和计数器两种状态下,分别采用中断和查询方式控制的编程方法。
4.熟练掌握利用软件扩展定时器/计数器量程的原理和编程技巧。
二、实验设备PC机一台,单片机实验系统一套三、实验内容设定时器/计数器工作于定时方式,定时时间为100ms,每当100ms到申请中断。
每10秒种将A的内容循环左移一次,送P1口显示。
四、实验原理51单片机有2个16位的定时器/计数器,分别是T0和T1。
它们有两种工作状态,可以工作在定时方式和计数方式;定时是对内部的机器周期进行加法计数,计数是对外部输入的计数脉冲进行加法计数,T0的外部计数脉冲从P3.4引脚输入,T1的外部计数脉冲从P3.5引脚输入;计数满产生溢出,硬件使定时器/计数器T0、T1的中断请求标志TF0、TF1置位;如果定时器/计数器允许中断,则可以采用中断方式进行溢出处理,而如果定时器/计数器不允许中断,则可以采用查询方式进行溢出处理。
若定时器/计数器T0工作在定时状态,在实验系统的晶振频率f OSC=12MH Z时,T0工作在方式1,16位最大计数量程,最长的定时时间是65mS多,要想实现10S定时,必须对T0进行量程扩展。
实验中采用R7进行软件扩展,即R7对T0定时50mS进行计数,计数200次就是定时10S。
每10S对累加器A进行一次左移,然后送P1口显示。
实验电路连接图如图1所示。
图1 定时器/计数器应用实验接线图根据此实验原理编写的实验源程序清单见附页。
五、实验步骤1.在E盘下为工程建立文件夹姓名3;2.新建工程项目文件姓名3.uv2,保存在文件夹姓名3中,并为工程选择目标器件为AT公司的AT89S51;3.编辑源程序,建立源文件姓名3.ASM,保存在文件夹姓名3中;4.将源文件姓名3.ASM添加到工程项目组中;5.设置调试环境,选择调试模式为Proteus软件仿真;6.运行程序,根据设计的数据记录表格进行实验,观察发光管显示的状态,并记录实验现象;7.实验数据经过实验指导教师检查正确后,实验结束。
定时计数器实验报告

定时计数器实验报告定时计数器实验报告一、引言定时计数器是一种常见的电子设备,它可以根据预设的时间间隔进行计数,并在达到设定值时触发相应的操作。
在本次实验中,我们将通过搭建一个简单的定时计数器电路来了解其工作原理和应用。
二、实验目的1. 掌握定时计数器的基本原理;2. 学习使用集成电路和其他元件搭建定时计数器电路;3. 了解定时计数器在实际生活中的应用。
三、实验器材1. 集成电路:555定时器芯片;2. 电阻:100Ω、10kΩ;3. 电容:10μF;4. 开关:按键开关;5. LED灯:红色。
四、实验步骤1. 将555定时器芯片插入面包板中,并连接电源和地线;2. 将100Ω电阻连接到芯片的引脚6和7之间;3. 将10kΩ电阻连接到芯片的引脚7和8之间;4. 将10μF电容连接到芯片的引脚1和2之间;5. 连接按键开关到芯片的引脚2和8之间;6. 连接LED灯到芯片的引脚3。
五、实验原理555定时器芯片是一种多功能集成电路,它可以通过外部元件的连接和设置,实现不同的计时和触发功能。
在本次实验中,我们使用555定时器芯片作为定时计数器的核心。
555定时器芯片的工作原理是基于两个比较器和一个RS触发器的组合。
当芯片上电后,引脚2和6的电平会进行比较,如果引脚6的电平高于引脚2,则芯片的输出为低电平;反之,输出为高电平。
当芯片输出为高电平时,电容开始充电,直到电压达到2/3的供电电压,此时芯片的输出变为低电平,电容开始放电,直到电压降至1/3的供电电压,芯片的输出再次变为高电平。
这样,芯片的输出就形成了一个周期性的方波信号。
六、实验结果与分析经过搭建和调试,我们成功实现了定时计数器电路。
当按下按键开关时,LED 灯开始闪烁,每隔一段时间亮起一次,然后熄灭,如此循环往复。
定时计数器在实际生活中有着广泛的应用。
例如,我们可以将其用于定时控制家电设备的开关,实现定时开关灯、定时煮饭等功能。
此外,定时计数器还可以应用于工业自动化领域,用于计时、触发和控制各种生产过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
班级学号姓名同组人
实验日期室温大气压成绩
一、实验目的
1、掌握定时器1计数实验的程序,并能作出简单的修改并实现其功能;
2、通过本次实验,了解对定时器的计数功能和看门狗的喂狗过程及其错误喂狗产生的中断的功能;
3、掌握将CAP1.2的下降沿捕获改成CAP1.3的下降沿捕获,并且实现在按KEY3计数的
同时,LED1根据T1TC的值闪烁相应的次数,当T1TC的值大于9时,LED1闪烁相
应的次数后,系统会错误喂狗产生中断,中断执行蜂鸣器报警。
二、实验设备
微型电子计算机(含软件H-JTAG V0.3.1和ADSv1_2)、Easy ARM2131开发板。
三、实验原理
四、实验内容(对书上299页的程序进行修改,阴影部分为修改部分)
#include "config.h"
#define BEEP 1 << 7 // P0.7控制蜂鸣器,低电平蜂鸣
#define WDT 0// WDT中断号
const uint32 LED1 = (1 << 18); // P1.18控制LED1,低电平点亮
********************************************************************************************* ************
** 函数名称:main() for CAP1.2
** 函数功能:Timer1的计数器实验-CAP1.2下降沿
** 调试说明:需要将跳线JP10连接KEY2。
*******************************************************************************
void __irq WDT_Int (void)
{
uint32 i;
T1TC=0;
IO0CLR = BEEP; // 蜂鸣器报警
for (i=0; i<0x7fffff; i++);
IO0SET = BEEP;
VICIntEnClr = 1 << WDT; // 看门狗喂狗中断,只能通过禁止VIC中断的方法返回}
void DelayNS (uint32 dly)
{
uint32 i;
for ( ; dly>0; dly--)
for (i=0; i<50000; i++);
}
int main (void)
{
uint32 cnt,cnt2,i;
PINSEL0 = 0x00000000; // P0.7管脚连接GPIO
PINSEL1 = 1 << 4; // P0.18连接捕获1.3
PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]连接GPIO
IO1DIR = LED1; // 设置LED1控制口为输出
IO1SET = LED1; // LED1熄灭
IO0DIR = BEEP; // 蜂鸣器控制口输出
IO0SET = BEEP;
T1CCR = (1 << 10); // 设置CAP1.3下降沿捕获
T1CTCR = (0x02 << 0) | // 计数器,在CAP的下降沿递增
(0x03 << 2); // 选择CAPn.3
T1TC = 0;
T1TCR = 0x01; // 启动定时器
VICIntSelect = 0x00000000; // 连接所有中断到向量中断
VICVectCntl0 = 0x20 | WDT; // 分配WDT中断到slot0
VICVectAddr0 = (uint32)WDT_Int; // 中断服务程序地址
WDMOD = 0x00; // 清除看门狗超时位WDTOF
VICIntEnable = 1 << WDT; // 中断使能
/* 初始化看门狗*/
WDTC = 0x60600000; // 设定看门狗超时值
WDMOD = 0x01; // 看门狗中断使能
WDFEED = 0xAA; // 第一次喂狗启动WDT
WDFEED = 0x55;
cnt2=0;
IRQEnable(); // 使能IRQ中断
while(1)// 等待CAP的下降沿
{
cnt=T1TC;
if(cnt2!=cnt) //当T1TC有增加的时候执行
{
for(;cnt>0;cnt--)
{
IO1CLR =LED1 ;
DelayNS(50);
IO1SET = LED1;
DelayNS(50);
}
cnt2=T1TC;
if(T1TC>9)
{
WDFEED = 0xAA;
WDFEED = 0x54;
}
}
}
return 0;
}
本次实验中通过变量cnt存后面的T1TC的值,通过cnt2存前面的T1TC的值,当前面的T1TC值和后面的T1TC的值不同时,就执行灯闪烁,闪烁的次数等于当前cnt存着的T1TC值,当T1TC的值大于9时,灯还要闪烁其相应的值后,产生中断报警。
在实验时可以通过打开MEMORY窗口观察T1TC的值,一般情况。