实验三定时器计数器应用实验一
【报告】单片机定时器计数器实验报告

【关键字】报告单片机定时器计数器实验报告篇一:单片机计数器实验报告计数器实验报告㈠实验目的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 $;等待中断MAIN1: PUSH PSW PUSH ACC CLR TR0CLR TR1 MOV TL1,#0B0H MOV TH1,#3CHDJNZ 20H,RETUNT MOV 20H ,#14HSHOW: MOV R0,TH0 MOV R1,TL0MOV A,R1 MOV B,#0AH DIV ABMOV C,ACC.3MOV P1.0,C MOV C,ACC.2 MOV P1.1,C MOV C,ACC.1 MOV P1.2,C MOV C,ACC.0 MOV P1.3,CMOV A,B MOV C,ACC.3MOV P1.4,C MOV C,ACC.2 MOV P1.5,C MOV C,ACC.1 MOV P1.6,C MOV C,ACC.0MOV P1.7,C ;保护现场;装入计数值低8位;装入计数值高8位,50ms;允许T1中断;未到1s,继续计时;1s到重新开始;显示计数器T0的值;读计数器当前值;将计数值转为十进制;显示部分,将A中保存的十位赋给L0~L3 将B中保存的各位转移到A中;将个位的数字显示在L4~L7上;RETUNT:MOV TL0,#00H;将计数器T0清零MOV TH0,#00HSETB TR0SETB TR1POP ACCPOP PSWRETI ;中断返回在频率为1000HZ时,L0~L7显示为50;频率为300HZ时,L0~L7显示为15,结果正确,程序可以正确运行。
定时器、计数器操作与应用实验报告

实验三定时器、计数器操作与应用实验报告、实验目的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、比较程序的分析结果与实际运行结果。
实验三流水灯实验(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”,对应的外部引脚则输出“低电平”、“高电平”。
《自动控制原理》实验指导书

《自动控制原理》实验指导书31000字实验一、开关量控制与监测实验目的:掌握开关量控制与监测的基本原理及方法。
实验器材:PC机、PLC编程软件、PLC编程器、PLC实验箱、直流电源、继电器、开关。
实验内容:1. 使用PLC编程软件进行PLC的程序编写。
2. 使用直流电源作为控制电源,将继电器与开关连接,利用PLC实现开关量控制和监测。
实验步骤:1. 利用PLC编程软件进行PLC的程序编写。
2. 将直流电源的正极与继电器的常闭端相连,继电器的常开端与开关相连。
3. 将开关的另一端与PLC的输入端相连,PLC的输出端与继电器的控制端相连。
4. 将直流电源的负极与PLC实验箱的接地端相连。
5. 将PLC编程器连接到PC机上,将编写好的程序下载到PLC实验箱中。
6. 按下开关,观察继电器的输出,检查程序的正确性。
实验结果:1. 开关按下,PLC输出信号,继电器吸合。
2. 开关松开,PLC输出信号,继电器断开。
实验二、模拟量采集和控制实验目的:掌握模拟量采集和控制的基本原理及方法。
实验器材:PC机、PLC编程软件、PLC编程器、PLC实验箱、直流电源、电位器、LED灯。
实验内容:1. 使用PLC编程软件进行PLC的程序编写。
2. 使用电位器作为模拟量输入信号源,利用PLC采集电位器的模拟量信号,并控制LED灯的亮度。
实验步骤:1. 利用PLC编程软件进行PLC的程序编写。
2. 将电位器的信号通过模拟量转换模块输入到PLC的模拟量输入端。
3. 利用PLC的模拟量比较指令,将电位器的模拟量信号转换成数字量信号。
4. 根据数字量输出信号的状态,控制LED灯的亮度。
5. 将直流电源的负极与PLC实验箱的接地端相连。
6. 将PLC编程器连接到PC机上,将编写好的程序下载到PLC实验箱中。
7. 调节电位器,观察LED灯的亮度变化。
实验结果:1. 电位器调整时,模拟量输入信号发生变化。
2. 根据模拟量输入信号的大小,PLC输出数字量信号,控制LED灯的亮度。
第3次《单片机原理与应用》-定时计数器

定时器初始化编程:
使用定时器工作之前,先写入控制寄存器, 确定好定时器工作方式。 初始化编程格式:
MOV TMOD,# 方式字 MOV THx,#XH MOV TLx,#XL (SETB EA ) (SETB ETx) SETB TRx ;选择方式 ;装入Tx时间常数 ;开Tx中断 ;启动Tx定时器
TMOD,#01H ;设置T0为方式1定时
ACALL PT0M0
HERE: AJMP HERE
;调用初始化子程序PT0M0
;原地循环,等待中断
22
PT0M0: MOV
TL0,#0CH
;T0初始化,装初值的低8位
MOV
TH0,#0FEH
;装初值的高8位
;允许T0中断 ;总中断允许 ;启动T0 ;中断子程序,T0重装初值 ;P1.0的状态取反
本例,主程序用一条转至自身的短跳转指令来代替。
21
参考程序如下:
ORG 0000H ;程序入口 ;转主程序 ;T0中断入口 ;转T0中断处理程序IT0P ;主程序入口 ;设堆栈指针
RESET: AJMP MAIN ORG 000BH
AJMP IT0P ORG MAIN: MOV MOV 0100H SP,#60H
2)中断方式:初始化后执行其它任务,中断服务程序处理溢出。 ORG 0000H LJMP MAIN ORG 000BH(001BH) ;Tx中断入口 LJMP PTS MAIN: … ;初始化后执行其他程序 PTS: … ;溢出中断服务程序 MOV THx,#XH ;重装时间常数 MOV TLx,#XL RETI
即T0每隔1ms产生一次中断,CPU响应中断后,在中断服务 子程序中对P1.0取反。为此要做如下几步工作。
PLC应用技术实验3 定时器和计数器器指令的应用

PLC 应用技术实验指导书
1 实验3 定时器和计数器指令的应用
一、实验目的
1. 熟悉CPM2A 型PLC 的交流和直流电源的连接,熟悉输入开关板和I/O 端子的连接。
2. 通过实验程序熟悉定时器和计数器指令的基本应用方法。
二、实验内容
1. 认真阅读实验程序,理解并熟悉实验程序的功能。
2. 输入程序。
3. 调试并监控程序运行。
三、实验步骤
1. 正确连接PLC 所需的各种电源。
连接实验程序的需要的输入开关板和I/O 的接线端子。
2. 输入用定时器指令编写的延时10s 导通的定时程序(见图1)。
运行、监控并调试,观察结果。
3. 输入用计数器指令编写的计数10次的计数程序(见图2)。
运行、监控并调试,观察结果。
4. 用定时器和计数器器指令编写一个既有定时器,又有计数器的延时10s 导通的定时电路程序。
输入、修改、运行、监控并调试,观察结果。
●自编梯形图程序:
四、实验总结及思考
1. 总结本次实验中各个程序运行的结果。
2. 写出上述梯形图程序的指令语句表。
3. 若延时时间修改为50s ,应该修改定时器的什么值,如何修改?
4. 按现在的程序,计数电路中的1.02输入端子上应该接动合还是动断按钮?为什么?
00000 00002 00005
图1 延时10s 的定时电路的梯形图 00000 00004 00007 图2 计数10次的计数电路的梯形图。
定时器计数器中断综合实验

报告成绩:教师签字:批改日期:评语:学生实验报告课程名称单片机原理及接口技术姓名实验名称定时器/计数器、中断综合实验班级实验目的掌握51系列单片机中断系统及定时器的工作原理及使用技巧学号实验日期实验内容(1)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个. 方向循环点亮8只LED,每个LED点亮时间为50ms;(2)在以上基础上加外部中断内容,由外部中断请求时,8只LED全亮(3)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间改为2s实验地点实验组号实验设备计算机 wave6000程序 lab2000p试验箱同组人1.实验电路及连线本次试验不做要求2.程序流程图本次实验无3.源程序(1 ORG 0000H MOV TL0,#58HLJMP MAIN SETB EAORG 0003H SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EHMAIN: MOV A,#01H MOV TL0,#58HLOOP: MOV P1,A RL AMOV TMOD,#01H MOV P1,AMOV TH0,#9EH RETIEND(2ORG 0000H SER0:MOV TH0,#9EHLJMP MAIN MOV TL0,#58HORG 0003H RL ALJMP SER1 MOV P1,AORG 000BH RETILJMP SER0 SER1:PUSH ACCORG 1000H PUSH PSWMAIN: MOV A,#01H MOV A,#0FFH LOOP: MOV P1,A MOV P1,AMOV TMOD,#01H LCALL DELAY MOV TH0,#9EH POP PSWMOV TL0,#58H POP ACCSETB EA RETISETB ET0 DELAY:MOV R7,#0FFH SETB TR0 L1:MOV R6,#0FAH SETB EX0 DJNZ R6,$SETB IT0 DJNZ R7,L1SJMP $ RETEND(3 ORG 0000H SETB EALJMP MAIN SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EH MAIN: MOV A,#01H MOV TL0,#58H LOOP: MOV P1,A DJNZ R0,EXIT MOV R0,#28H MOV R0,#28HMOV TMOD,#01H RL AMOV TH0,#9EH MOV P1,AMOV TL0,#58H EXIT:RETIEND4.结果记录及分析(1)结果: P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间为50ms;分析:用定时器方式0,使用定时功能,定时器以中断方式工作。
定时器计数器实验报告

定时器计数器实验报告定时器计数器实验报告引言:定时器计数器是一种常用的电子元件,它可以在电路中起到计时和计数的作用。
在本次实验中,我们将探索定时器计数器的基本原理和应用,并通过实际操作来验证其性能和功能。
一、实验目的本次实验的目的是熟悉定时器计数器的工作原理,掌握其使用方法,并通过实验验证其性能和功能。
二、实验器材和原理1. 实验器材:- 定时器计数器模块- 电源- 示波器- 连接线- 电阻、电容等元件2. 实验原理:定时器计数器是一种能够产生精确时间间隔的电子元件。
它通常由一个时钟信号源和一个计数器组成。
时钟信号源提供固定频率的脉冲信号,计数器根据时钟信号的输入进行计数,并在达到设定值时触发相应的操作。
三、实验步骤1. 连接电路:将定时器计数器模块与电源和示波器连接起来,确保电路连接正确。
2. 设置参数:根据实验要求,设置定时器计数器的工作频率、计数范围等参数。
这些参数可以通过调节电阻、电容等元件来实现。
3. 运行实验:启动电源,观察示波器上的波形变化。
根据设定的参数,定时器计数器将在一定时间间隔内产生脉冲信号,并在达到计数值时触发相应的操作。
4. 数据记录和分析:记录实验过程中的数据和观察结果,并进行分析。
比较实验结果与理论预期的差异,找出可能的原因并提出改进措施。
四、实验结果与讨论通过实验,我们观察到定时器计数器在不同参数设定下的工作情况。
根据实验数据和观察结果,我们可以得出以下结论:1. 定时器计数器的工作频率与输入时钟信号的频率有关。
当时钟信号频率较高时,定时器计数器的计数速度也会相应增加。
2. 定时器计数器的计数范围决定了其能够计数的最大值。
当计数器达到设定的计数范围时,将触发相应的操作。
3. 定时器计数器可以应用于各种计时和计数的场合,如脉冲计数、频率测量等。
通过调节参数,可以实现不同的功能。
根据实验结果,我们可以进一步探索定时器计数器的应用领域和优化方法,提高其性能和功能。
五、实验总结通过本次实验,我们深入了解了定时器计数器的原理和应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定时器/计数器应用实验一
设计性试验
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
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA ;关总中断
CLR ET1 ;禁止定时器1中断
MOV TMOD, #00010000B ;设置定时器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
/*********
设计要求:(b)单片机的定时器/计数器以查询方式工作,
在P1.0口线上产生周期为200us的连续方波
编写:吕小洋
说明:用定时器0的免装初值方式2以中断方式工作
时间:2012年11月10日
***************/
ORG 0000H
START: LJMP MAIN
ORG 000BH
LJMP TTC0
ORG 0100H
MAIN: MOV SP, #2FH
SETB EA ;开总中断
SETB ET0 ;定时器0允许中断
MOV TMOD, #02H ;设置T0为工作方式2
MOV TH0, #88H ;设置计数初值
MOV TL0, #88H
SETB TR0 ;启动定时器
HERE: LJMP HERE ;等待中断
/****中断服务程序****/
ORG 0200H
TTC0: CPL P1.0 ;输出取反
RETI ;中断返回
END
五、实验总结
通过本次试验,我掌握了定时器/计数器定时功能的使用方法,能够利用定时器产生特定脉宽的波形,掌握了定时器/计数器的中断、查询使用方法。
同时掌握了单片机系统的硬件和软件设计方法。
加强了自己的编程能力。
六、思考题
1、在P1.0口线上产生周期为500微秒,占空比为2:5的连续矩形波。
/**(1)定时器0定时200us以查询方式、方式2 Array定时器1定时300us以查询方式、方式1工作
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA ;关总中断
CLR ET0 ;禁止定时器0中断
CLR ET1 ;禁止定时器1中断
MOV TMOD, #00010010B ;设置工作方式
MOV TH0, #37H ;设置T0的计数初值
MOV TL0, #37H
MOV TH1, #0FEH ;设置T1的计数初值
MOV TL1, #0D4H
SETB TR0 ;启动定时器0
LOOP: JNB TF0, LOOP ;查询计数是否溢出CPL P1.0 ;输出取反
CLR TF0 ;清除T0计数溢出标志
CLR TR0 ;关定时器0
SETB TR1 ;启动定时器1
LOOP1: JNB TF1, LOOP1
CPL P1.0 ;输出取反
MOV TH1, #0FEH ;重装计数初值
MOV TL1, #0D4H
CLR TF1 ;清除T1计数溢出标志
CLR TR1 ;关闭定时器1
SETB TR0 ;启动定时器0 LJMP LOOP ;重复循环 END
/******(2)定时器0定时200us 以中断方式、方式2工作,
定时器1定时300us 以中断方式工作******/
ORG 0000H START: LJMP MAIN ORG 000BH LJMP TTC0
ORG 001BH LJMP TTC1 ORG 0100H MAIN: MOV SP, #2FH
SETB EA ;开总中断
SETB ET0 ;允许定时器0中断 SETB ET1 ;允许定时器1中断 MOV TMOD, #00010010B ;设置T0、T1 MOV TH0, #38H ;设置T0的计数初值
MOV TL0, #38H
MOV TH1, #0FEH ;设置T1的计数初值 MOV TL1, #0D4H
SETB TR0 ;启动定时器0
HERE: SJMP HERE
ORG 0200H
TTC0: CPL P1.0 ;输出取反
CLR TR0 ;关定时器0
SETB TR1 ;启动定时器1
RETI
ORG 0300H
TTC1: CPL P1.0 ;输出取反
MOV TH1, #0FEH ;重装计数初值
MOV TL1, #0D4H
CLR TR1 ;关闭定时器1
SETB TR0 ;启动定时器0
RETI
END
/******(3)定时器0定时200us以查询方式工作, Array定时器1定时300us以中断方式工作
ORG 0000H
START: LJMP MAIN
ORG 001BH
LJMP TTC1
ORG 0100H
MAIN: MOV SP, #2FH
SETB EA ;开总中断
CLR ET0 ;禁止定时器0中断
SETB ET1 ;允许定时器1中断
MOV TMOD, #00010001B ;设置T0、T1都为工作方式1
MOV TH0, #0FFH ;设置T0的计数初值
MOV TL0, #38H
MOV TH1, #0FEH ;重装T1计数初值
MOV TL1, #0D4H
SETB TR0 ;启动定时器0
LOOP: JNB TF0, LOOP ;查询T0计数是否溢出CPL P1.0 ;输出取反
CLR TF0 ;清除T0计数溢出标志
CLR TR0 ;关定时器0
MOV TH0, #0FFH ;重装T0计数初值
MOV TL0, #38H
SETB TR1 ;启动定时器1
LJMP LOOP
TTC1: CPL P1.0 ;输出取反
CLR TR1 ;关闭定时器1
SETB TR0 ;启动定时器0
MOV TH1, #0FEH ;重装T1计数初值
MOV TL1, #0D4H
RETI END。