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

合集下载

单片机定时器实验报告

单片机定时器实验报告

一、实验目的1. 理解单片机定时器的工作原理和功能。

2. 掌握单片机定时器的编程方法,包括初始化、设置定时时间、启动定时器等。

3. 学会使用定时器实现定时功能,并通过实验验证其效果。

二、实验器材1. 单片机实验板2. 连接线3. 51单片机4. 计时器5. 示波器6. 电脑7. Keil软件三、实验原理定时器是单片机的一种重要外设,用于实现定时功能。

51单片机内部有两个定时器,分别为定时器0和定时器1。

定时器的工作原理是通过定时器计数器对机器周期进行计数,当计数器达到设定值时,定时器溢出,并产生中断请求。

定时器0和定时器1都具有四种工作模式,分别为:1. 模式0:13位定时器/计数器2. 模式1:16位定时器/计数器3. 模式2:8位自动重装模式4. 模式3:两个8位计数器本实验采用定时器0工作在模式1,实现50ms的定时功能。

四、实验步骤1. 将单片机实验板连接到电脑,并启动Keil软件。

2. 创建一个新的项目,并添加51单片机头文件(reg51.h)。

3. 编写定时器初始化函数,设置定时器0工作在模式1,并设置定时时间为50ms。

4. 编写定时器中断服务函数,用于处理定时器溢出事件。

5. 编写主函数,设置定时器中断,并启动定时器。

6. 编译并下载程序到单片机实验板。

7. 使用示波器观察定时器0的溢出信号。

五、实验代码```c#include <reg51.h>#define TIMER0_MODE1 0x01// 定时器0初始化函数void Timer0_Init() {TMOD &= 0xF0; // 清除定时器0模式位TMOD |= TIMER0_MODE1; // 设置定时器0工作在模式1TH0 = 0xFC; // 设置定时器0高8位初值TL0 = 0x18; // 设置定时器0低8位初值ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}// 定时器0中断服务函数void Timer0_ISR() interrupt 1 {TH0 = 0xFC; // 重新加载定时器0高8位初值TL0 = 0x18; // 重新加载定时器0低8位初值// ... (其他处理)}void main() {Timer0_Init(); // 初始化定时器0while(1) {// ... (其他处理)}}```六、实验结果与分析1. 编译并下载程序到单片机实验板,使用示波器观察定时器0的溢出信号,可以看到定时器0每隔50ms产生一个溢出信号。

单片机定时器实验报告

单片机定时器实验报告

单片机定时器实验报告
单片机定时器实验报告
简介
•实验名称:单片机定时器实验
•实验目的:掌握单片机中定时器的工作原理及使用方法•实验设备:单片机开发板、电源等
实验内容
1.单片机定时器的基本概念和原理
2.单片机定时器的分类和特点
3.实验步骤和流程
–步骤1:搭建实验电路
–步骤2:编写单片机程序
–步骤3:下载程序到单片机
–步骤4:观察定时器的工作情况
4.实验结果和分析
实验结果
•在实验过程中,我们成功搭建了单片机定时器实验电路,并编写了相应的程序。

通过下载程序到单片机,观察到定时器按照预设
的时间间隔产生中断,并执行相应的任务。

•实验结果表明,我们掌握了单片机定时器的使用方法,可以实现定时功能。

实验分析
•单片机定时器是一种重要的计时和控制设备,广泛应用于各种电子设备中。

•通过本次实验,我们深入了解了单片机定时器的工作原理和使用方法,对于日后的电子设计和开发有着重要的意义。

实验总结
•通过本次实验,我们学习了单片机定时器的基本知识,掌握了单片机定时器的使用方法,并成功实现了定时功能。

•在实验过程中,我们发现了一些问题,并通过调试和修改程序进行了解决。

这对我们提高了动手实践和问题解决能力有很大帮助。

•通过本次实验,我们对于单片机定时器有了更深入的了解,为今后的学习和应用打下了坚实的基础。

参考资料
•《单片机原理与应用》
•单片机实验教材及课件。

单片机定时器实验原理

单片机定时器实验原理

单片机定时器实验原理一、概述单片机定时器是单片机的重要组成部分,它能够实现定时控制、时间间隔生成等功能。

通过单片机定时器实验,可以更好地了解单片机的内部结构和工作原理,为进一步开发单片机应用系统打下坚实的基础。

二、实验目的1. 掌握单片机定时器的结构和原理。

2. 学会使用单片机定时器进行时间间隔控制。

3. 了解单片机定时器的应用范围和限制。

三、实验原理1. 单片机定时器的结构单片机定时器通常由一个计数器和一个控制逻辑组成。

计数器负责记录脉冲数,控制逻辑负责控制计数器的计数和复位。

单片机定时器通常采用可编程计数脉冲,可以实现任意时间间隔的生成。

2. 单片机定时器的原理单片机定时器的工作原理是基于计数器的计数。

当单片机接收到一个启动信号时,计数器开始计数,当计数达到预设的时间间隔时,单片机输出相应的信号或执行相应的操作。

通过改变计数器的预设值,可以改变时间间隔的长短。

3. 单片机定时器的应用单片机定时器在许多领域都有应用,如智能家居、工业控制、通信设备等。

在智能家居中,可以通过单片机定时器控制家电设备的开启和关闭;在工业控制中,可以通过单片机定时器实现生产线的自动化控制;在通信设备中,可以通过单片机定时器实现时间戳的生成和数据传输的时间控制。

四、实验步骤1. 准备实验器材和软件环境,包括单片机、定时器芯片、编程器、开发板等。

2. 连接实验设备,并调试确保连接正常。

3. 编写实验程序,并上传到单片机中。

4. 观察并记录实验结果,分析误差原因。

5. 根据实验结果,调整程序参数,进行多次实验,直到达到满意的效果。

五、实验注意事项1. 实验过程中要保持设备连接的稳定性,避免意外断开。

2. 编程和调试过程中要确保程序正确,避免误操作导致设备损坏。

3. 注意观察实验现象,及时记录实验数据,分析实验结果。

4. 实验结束后,要清理实验现场,确保设备复位。

六、实验结果分析通过实验,我们能够得到较为准确的时间间隔控制结果。

实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(io口和定时器实验)

实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。

二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。

2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。

3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。

5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。

三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。

当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。

E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。

综上,画出实验电路原理图。

2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。

图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。

实验5程序流程图如图3-5,3-6所示。

图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。

单片机实验总结范文

单片机实验总结范文

一、实验背景随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。

为了更好地掌握单片机原理和应用,我们进行了一系列的实验,以下是我对本次单片机实验的总结。

二、实验内容本次实验主要围绕以下几个方面展开:1. 单片机最小系统搭建:通过学习单片机基本原理,我们搭建了单片机最小系统,了解了单片机的基本工作原理。

2. 数码管显示实验:学习了数码管的原理,掌握了数码管显示的基本方法,实现了数字的动态显示。

3. 中断控制实验:了解了中断的概念,掌握了中断的编程方法,实现了数码管的中断控制。

4. 串口通信实验:学习了串口通信的基本原理,掌握了串口通信的编程方法,实现了单片机之间的数据交换。

5. 定时器实验:了解了定时器的原理,掌握了定时器的编程方法,实现了单片机的定时功能。

三、实验过程1. 实验一:单片机最小系统搭建在指导老师的帮助下,我们按照电路图搭建了单片机最小系统,并验证了系统的正常工作。

2. 实验二:数码管显示实验通过学习数码管的原理,我们编写了相应的程序,实现了数字的动态显示。

3. 实验三:中断控制实验我们学习了中断的概念,并编写了中断服务程序,实现了数码管的中断控制。

4. 实验四:串口通信实验我们学习了串口通信的基本原理,并编写了串口通信程序,实现了单片机之间的数据交换。

5. 实验五:定时器实验我们了解了定时器的原理,并编写了定时器程序,实现了单片机的定时功能。

四、实验心得1. 通过本次实验,我对单片机的基本原理和应用有了更深入的了解。

2. 在实验过程中,我学会了如何搭建单片机最小系统,掌握了数码管、中断、串口通信和定时器等模块的编程方法。

3. 在实验过程中,我遇到了许多问题,通过查阅资料、请教老师和同学,我学会了如何解决这些问题,提高了自己的动手能力和解决问题的能力。

4. 本次实验让我认识到理论与实践相结合的重要性,只有将所学知识运用到实际中,才能真正掌握单片机技术。

五、总结本次单片机实验让我受益匪浅,通过实验,我不仅掌握了单片机的基本原理和应用,还提高了自己的动手能力和解决问题的能力。

单片机实验——精选推荐

单片机实验——精选推荐

实验一认识实验一.实验目的1.了解仿真器的硬件结构与接线。

2.了解MCS-51单片机复位功能及复位后的内部状态。

3.通过示例程序的键入与执行,学习仿真器的使用与操作方法。

二.实验内容1.对照实验指导书,查对实验机具体接线。

2.按照开发系统的使用方法,分别查看复位后PC、SP、DPTR等特殊功能寄存器及片内、片外RAM的内容。

3.熟悉开发器的使用,将下面程序键入实验机。

ORG 2000H2000 74AA MOV A,#0AAH2002 75F0BB MOV B,#0BBH2005 E5F0 MOV A,B2007 78CC MOV R0,#0CCH2009 E8 MOV A,R0200A 80FE SJMP $4.程序键入后,检查各存储单元所储机器码是否正确如有误,重新键入,达到修正的目的。

5.单步执行示例程序,逐步检查执行结果,核查与分析结果是否相符,直到执行完最后一条指令。

6.练习连续执行示例程序,检查执行结果,核查与分析结果是否相符。

7.自己在示例程序中插入一条指令,执行并查看结果,然后删除,熟悉插入/删除操作。

8.将示例程序移到另外一个存储区,执行并查看结果,熟悉程序块移动操作。

三.实验预习要求1.认真阅读指导书的相关内容,熟悉开发系统的各种操作。

2.实验前应写出规定操作任务的具体操作方法步骤。

四.思考题1.MCS-51单片机怎样实现内部复位,画出一种复位电路。

2.PC、SP、P0、P1、P2、P3复位状态是什么?各有何意义?3.示例程序中最后一条指令SJMP $的作用是什么?如果取掉这一条指令,程序的执行将发生什么变化?4.实验机监控系统怎样实现程序“单步执行”功能?五.实验报告要求1.按实验顺序,写出实验操作的方法步骤。

2.写出实验中所遇到的问题与解决过程。

写出思考题的答案。

实验二建立数据区、数据块传送一.实验目的1.进一步熟悉实验机操作,练习程序调试方法。

2.理解并掌握建立数据区与数据块传送程序。

51单片机定时器实验内容

51单片机定时器实验内容

51单片机定时器实验内容
51单片机定时器实验的内容可以根据不同的需求和目的进行调整,以下是
一些可能的实验内容:
1. 定时器初始化实验:实验目标是了解如何初始化51单片机的定时器,包括设置定时器的工作模式、计数值、初始值等。

实验中可以编写代码,让定时器在初始化后自动开始计时,并在达到指定时间后产生中断或输出信号。

2. 定时器中断实验:实验目标是了解如何使用51单片机的定时器中断功能,实现定时器在达到指定时间后自动触发中断,并在中断服务程序中执行特定的操作。

实验中可以编写代码,让定时器在达到指定时间后自动进入中断服务程序,并在其中执行特定的操作,如点亮LED灯等。

3. 定时器PWM输出实验:实验目标是了解如何使用51单片机的定时器PWM输出功能,实现定时器输出PWM波形。

实验中可以编写代码,让定时器输出不同占空比的PWM波形,并通过调整占空比来控制LED灯的亮
度等。

4. 定时器与外部事件同步实验:实验目标是了解如何使用51单片机的定时器与外部事件同步,实现定时器在外部事件发生时自动开始计时或停止计时。

实验中可以编写代码,让定时器在外部事件发生时自动开始计时或停止计时,并在达到指定时间后执行特定的操作。

以上是一些常见的51单片机定时器实验内容,通过这些实验可以深入了解51单片机的定时器工作原理和用法,并提高编程技能和硬件控制能力。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
三、实验原理
1、定时常数的确定
定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率 的1/12。本实验中时钟频率为6.0 MHZ,现要采用中断方法来 实现1秒延时,要在定时器1中设置一个时间常数,使其每隔 0.1秒产生一次中断,CPU响应中断后将R2中计数值减一,令 R2=10,即可实现1秒延时。 时间常数可按下述方法确定: 机器周期=12÷晶振频率=12/(6×10⁶)=2us 设 计 数 初 值 为 X , 则 ( 216-X ) ×2×10-6=0.1 , 可 求 得 X=15536,化为十六进制则X=3CB0H,故初始值为TH1=3CH, TL1=0B0H

7
五、程序
ORG 0000H LJMP MAIN ORG 401BH LJMP INT ORG 4100H MOV SP, #70H MOV TMOD, #10H MOV IE, #88H ;定时器/计数器1中断程序入口地址
MAIN:
MOV MOV MOV MOV SETB
R2 , #10 A, #0FEH TH1, #3CH TL1, #0B0H TR1
2
2、初始化程序
包括定时器初始化和中断系统初始化,主要是对IP、IE、 TCON、TMOD的相应位进行正确的设置,并将时间常数送 入定时器中。由于只有定时器中断,IP便不减一工作外,还要将时间常 数重新送入定时器中,为下一次中断做准备。主程序则用来 控制发光二极管循环点亮。
3
中断允许控制寄存器IE
D7 EA
D6
D5
D4 ES
D3 ET1
D2 EX1
D1 ET0
D0 EX0
0 禁止,1允许
4
定时/计数器控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 中断请求标志 启动定时/计数器
0 停止 1 启动
;将A的值送入P1口
INT:
;中断服务程序关闭定时器 ;判1s到否? ;1s到,重置软件延时时间常数 ;将累加器A中的值循环左移 ;重置时间常数初值 ;重新启动定时器T1 ;中断返回
CZ:

9
;设置堆栈指针 ;设置计数器方式1 ;CPU中断开放标志位和定时器 ;1溢出中断允许位均置位 ;软件延时时间1s=10×0.1s ;将0FEH送入累加器A ;装入时间常数 ; 启动定时器T1

8
LOOP:
MOV P1, A LJMP LOOP CLR TR1 DJNZ R2, CZ MOV R2 , #10 RL A MOV TL1,#0B0H MOV TH1,#3CH SETB TR1 RETI END
触发方式选择
0 低电平 1 下降沿
5
模式控制寄存器TMOD TMOD用于控制T0、T1的工作方式和4种工作模式。 其中低4位用于控制T0,高4位用于控制T1。其格式 如下: D7 D6 GATE C/T D5 M1 D4 M0 D3 D2 GATE C/T D1 M1 D0 M0
T1控制 GATE—门控位 C/T—计数/定时选择 M1 M0—工作方式选择
实验三
一、实验目的
定时器实验
——循环彩灯实验
1、学习8051内部定时器的使用和编程方法。 2、进一步掌握中断处理程序的编写方法。
二、实验内容
由8051内部定时器1按方式1工作,即作为16位定 时器使用,每0.1秒钟T1溢出中断一次,软件延时1S。 P1口的P1.0~P1.7分别接发光二极管的L1~L8。要 求编写程序模拟一循环彩灯,使其循环点亮。
T0控制
6
四、实验步骤
P1.0~P1.7分别接发光二极管L1~L8。
注:
1、编程前先在E盘目录下建一个文件夹,并取一个英名名 字,即名字中不能有汉字和数字。编完程序将其存于该目录 下。 2、做完实验将实验箱右上角的CPU板卸下,再关实验箱。 3、因用户实验程序区位于4000H-----5FFFH,在编写实验 程序时要注意,程序的起始地址应为4000H。
相关文档
最新文档