实验八 可编程定时计数器8253的Proteus仿真实验
定时计数器(8253)实验报告

实验6 8253定时计数器电路接口实验2220083443 赵洪宇一、实验目的掌握8253定时器的编程原理,用示波器观察不同模式下的输出波形。
二、实验设备MUT—Ⅲ型实验箱、8086CPU模块、示波器(实验台无)。
三、实验内容8253计数器0,1,2工作于方波方式,观察其输出波形四、实验原理介绍本实验用到两部分电路:脉冲产生电路、8253定时器/计数器电路(1)电路原理该电路由1片8253组成,8253的片选输入端插孔CS8253,数据口,地址,读写线均已接好,T0、T1、T2时钟输入分别为8253CLK0、8253CLK1、8253CLK2。
定时器输出,GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。
本实验用到两部分电路:脉冲产生电路、8253定时器/计数器电路脉冲产生电路8253的方式控制字8253的状态字(2)电路测试检查复位信号,通过8253定时器/计数器接口实验,程序全速运行,观察片选、读、写、总线信号是否正常。
五、实验步骤1、实验连线:CS0CS8253 OUT08253CLK2 OUT2LED1示波器(实验中无)OUT1 CLK38253CLK0 CLK38253CLK1实验接线原理图如下:注:GATE信号无输入时为高电平2、编程调试程序assume cs:codecode segment publicorg 100hstart:mov dx,04a6h ;控制寄存器mov ax,36h ;计数器0,方式3out dx,axmov dx,04a0hmov ax,7Chout dx,axmov ax,92hout dx,ax ;计数值927Chmov dx,04a6hmov ax,76h ;计数器1,方式3out dx,axmov dx,04a2hmov ax,32hout dx,axmov ax,0 ;计数值32hout dx,axmov dx,04a6hmov ax,0b6h ;计数器2,方式3out dx,axmov dx,04a4hmov ax,04hout dx,axmov ax,0 ;计数值04hout dx,axnext:nopjmp nextcode endsend start3、全速运行,观察实验结果六、实验结果程序全速运行后,LED1闪烁(周期为0.25s),本实验由于实验台没有提供示波器,所以对于实验所要求的观察方式3的波形无法实现。
可编程定时器计数器(8253)(微机实验报告)

可编程定时器/计数器(8253)一、实验目的 1)学会8253芯片和微机接口原理和方法。
芯片和微机接口原理和方法。
2)掌握8253定时器定时器//计数器的基本工作原理、工作方式和编程原理。
二、实验内容按图6虚线连接电路,将计数器0设置为方式0,计数器初值为N (N ≤0FH 0FH)),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图 6按图7连接电路,连接电路,将计数器将计数器0、计数器1分别设置为方式3,计数初值设为10001000,用逻辑笔观察,用逻辑笔观察OUT1输出电平的变化(频率1HZ 1HZ))。
图 7三、编程提示1 1、、8253控制寄存器地址控制寄存器地址283H计数器0地址地址 280H 计数器1地址地址 281HCLK0连接时钟连接时钟 1MHZ2 2、参考流程图(见图、参考流程图(见图8、9): 开 始读计数器值显示计数值有键按下吗?开 始送计数器初值N Y结 束结 束设计数器0为工作方式0向计数器0送初值1000先送低字节后送高字节向计数器1送初值1000先送低字节后送高字节设计数器0为工作方式3设计数器1为工作方式3图 8 图图 9四、实验代码1、图6电路的实验代码电路的实验代码CODE SEGMENT ;CODE SEGMENT ;段定义开始(段定义开始(段定义开始(CODE CODE 段)段)ASSUME CS:CODE ; ASSUME CS:CODE ;规定规定CODE 为代码段为代码段START:MOV START:MOV AL,10H ;AL,10H ;AL,10H ;设置控制字设置控制字0001000000010000(计数器(计数器0,方式0,写两个字节,二进制计数)二进制计数)MOV DX,283H ; MOV DX,283H ;把控制寄存器地址放在把控制寄存器地址放在DX 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV DX,280H ; MOV DX,280H ;把计数器把计数器0地址放在DX 寄存器中寄存器中MOV AL,0FH ; MOV AL,0FH ;将将0FH 存入AL 寄存器寄存器OUT DX,AL ; OUT DX,AL ;将此时将此时AL 的值送入DX 端口端口LP1: IN AL,DX ;LP1: IN AL,DX ;从从DX 端口读入8位,放在AL 寄存器中寄存器中CALL DISP ; CALL DISP ;调用调用DISP PUSH DX ; PUSH DX ;将将DX 内容保存到堆栈段内容保存到堆栈段MOV AH,06H ; MOV AH,06H ;将将06H 存入AH AH,为了下句调用,为了下句调用21中断中断MOV DL,0FFH ; MOV DL,0FFH ;将将0FFH 存入DLINT 21H ; INT 21H ;调用调用21中断中断POP DX ; POP DX ;将将DX 的内容推出栈段的内容推出栈段JZ LP1 ; JZ LP1 ;如果如果DX 的内容是0,就跳转到LP1MOV AH,4CH ; MOV AH,4CH ;将将4CH 存入AH AH,为了下句调用,为了下句调用21中断中断INT 21H ; INT 21H ;调用调用21中断中断DISP PROC NEAR ;DISP PROC NEAR ;定义一个名为定义一个名为DISP 的子程序的子程序PUSH DX ; PUSH DX ;把把DX 的内容保存到堆栈段中的内容保存到堆栈段中AND AL,0FH ;AL,0FH ;将将AL 寄存器的内容与0FH 进行“与”运算,再把结果存入AL 中MOV DL,AL ; MOV DL,AL ;将将AL 的值送入DL 寄存器寄存器CMP DL,9 ; CMP DL,9 ;比较比较DL 中的值与9的大小的大小JLE NUM ; JLE NUM ;如果如果DL 的值小于或等于9时,则跳转到NUM ADD DL,7 ; ADD DL,7 ;将将DL 的值与7进行相加后,再送入DL 中NUM: ADD DL,30H ;NUM: ADD DL,30H ;将将DL 的值与30H 进行相加后,再送入DL 中 MOV AH,02H ; MOV AH,02H ;将将02H 存入AHINT 21H ; INT 21H ;调用调用DOS21中断中断MOV DL,0DH ; MOV DL,0DH ;结合“结合“结合“MOV AH,02H MOV AH,02H MOV AH,02H”就是说输出”就是说输出0DHINT 21H ; INT 21H ;调用中断指令调用中断指令调用中断指令MOV DL,0AH ; MOV DL,0AH ;结合“结合“结合“MOV AH,02H MOV AH,02H MOV AH,02H”就是说输出”就是说输出0AHINT 21H ; INT 21H ;调用调用DOS21中断中断POP DX ; POP DX ;将将DX 的内容推出栈段的内容推出栈段RET ; RET ;子程序在功能完成后返回调用程序继续执行子程序在功能完成后返回调用程序继续执行 DISP ENDP ; DISP ENDP ;子程序结束子程序结束子程序结束CODE ENDS ; CODE ENDS ;代码段结束代码段结束代码段结束END START ; END START ;程序结束程序结束程序结束2、图7电路的实验代码电路的实验代码CODE SEGMENT ;CODE SEGMENT ;段定义开始(段定义开始(段定义开始(CODE CODE 段)段)ASSUME CS:CODE ; ASSUME CS:CODE ;规定规定CODE 为代码段为代码段START:MOV DX,283H ;START:MOV DX,283H ;把控制寄存器地址放在把控制寄存器地址放在DX 寄存器中寄存器中MOV AL,36H ; MOV AL,36H ;设置控制字设置控制字0011011000110110(计数器(计数器0,方式3,写两个字节,二进制计数)二进制计数)OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AX,1000H ; MOV AX,1000H ;该语句是立即寻址方式,就是把该语句是立即寻址方式,就是把1000H 这个数赋给AX MOV DX,280H ; MOV DX,280H ;把计数器把计数器0地址放在DX 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AL,AH ; MOV AL,AH ;将将AX 的高8位存入AL 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将此时将此时AL 的值送入DX 端口端口MOV DX,283H ; MOV DX,283H ;把端口地址放在把端口地址放在DX 寄存器中寄存器中MOV AL,76H ; MOV AL,76H ;设置控制字设置控制字0111011001110110(计数器(计数器1,方式3,写两个字节,二进制计数)二进制计数) OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AX,1000H ; MOV AX,1000H ;把把1000H 赋给AXMOV DX,281H ; MOV DX,281H ;把端口地址放在把端口地址放在DX 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AX 的低8位送入DX 端口端口MOV AL,AH ; MOV AL,AH ;将将AX 的高8位存入AL 寄存器中寄存器中OUT DX,AL ; OUT DX,AL ;将将AL 的值送入DX 端口端口MOV AH,4CH ; MOV AH,4CH ;将将4CH 存入AHINT 21H ; INT 21H ;调用调用DOS21中断中断CODE ENDS ;CODE ENDS ;代码段结束代码段结束代码段结束END START ; END START ;程序结束程序结束程序结束五、实验总结通过实验,学会通过实验,学会8253芯片和微机接口原理和方法,掌握8253定时器定时器//计数。
可编程定时器计数器(8253) 实验报告

实验名称可编程定时器/计数器(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对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。
8253可编程定时计数器应用实验

8253可编程定时计数器应用实验一、实验要求:按照电路图连接好电路,利用8253定时计数器0产生500Hz,250Hz,125Hz 的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。
二、实验目的:1、了解如何利用计数器(以4060为例)制作分频器2、熟悉8253在系统中的典型接法。
3、掌握8253的工作方式及应用编程。
三、实验电路及连线:输入时钟产生模块YQNQLQJQIQHQGQFQEQD图1,分频器4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可8253接口模块X图2,定时器计数器8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。
四、实验说明:8253是一款拥有3个完全相同的16位定时器计数器的定时器计数器芯片,三个通道完全独立,其引脚功能为D0-D7:8位数据双向I/O口WR/RD:写/读信号,低电平有效CS:片选信号,低电平有效GATE0-2:三个定时器计数器的门信号CLK0-2:三个定时器计数器的时钟输入信号OUT0-2:三个定时器计数器的输出信号A0,A1:定时器计数器读写地址选择,00 定时器计数器0;01定时器计数器1;10 定时器计数器2;11 控制寄存器定时器计数器采用倒计数,即每输入一个时钟脉冲自减1,当计数寄存器减为0时OUT输出一个脉冲信号,但输出受工作方式和GATE引脚控制。
定时时间=时钟脉冲周期×预置的计数初值8253的定时器计数器有6种工作模式,具体工作模式由状态寄存器决定,如下SC1,SC0:计数器选择 00:选择计数器001:选择计数器110:选择计数器2RW1,RW0:读/写指示 00:计数器锁存命令01:只读/写低 8位10:只读/写高 8位11:先读/写低8位,再读/写高 8位M2,M1,M0:定时器计数器工作方式选择:000-101,方式0-5BCD:计数寄存器数制选择,1:BCD码;0:二进制码8253每个定时器计数器都有6种工作方式,具体如下所述方式0:计数结果中断方式8253工作于方式0时,在写入初始值n后,GATE为高电平时开始计数,OUT 为输出低电平,直到计数器为0,OUT变为高电平直到下次计数开始再变为低电平。
8253定时计数器实验

8253定时器/计数器实验一、实验目的:1、进一步了解可编程定时/计数器8253的特点与功能;2、掌握8253定时/计数器的应用、编程方法。
二、实验设备:MUT—Ⅲ型实验箱、8086CPU模块、示波器。
三、实验内容:用定时/计数器8253的计数器0、计数器1级联实现1秒的定时。
使OUT1端所接发光二极管每隔1S闪烁一次,模拟电子秒表或信号报警器。
两个计数器皆工作于方式3(输出方波),CLK0端接频率为750KHz的时钟。
四、实验电路:本实验用到两部分电路:时钟脉冲发生器(脉冲产生电路)(见附录)、8253定时器/计数器(1片)。
电路原理图如图1所示。
图1:8253定时/计数器实验电路五、实验步骤:(1)实验连线:CS0连CS8253,8253CLK0连时钟脉冲发生电路的CLK3,OUT0连8253CLK1,OUT1连LED1。
如图2所示。
注意:GATE信号线、数据线、地址线、读写控制信号线均已接好。
图2:线路连接示意图(2)输入以下程序,编译、链接后,全速运行,观察实验结果。
;8253初始化参考程序CODE SEGMENTASSUME CS:CODEORG 0100HSTART:MOV DX,04A6H ;控制寄存器地址MOV AL,00110110B ;计数器0控制字:方式3,二进制计数OUT DX,ALMOV DX,04A0H ;计数器0的口地址MOV AL,0EEH ;写计数初值低8位OUT DX,ALMOV AL,02H ;写计数初值高8位OUT DX,ALMOV DX,04A6H ;控制寄存器地址MOV AL,01110110B ;计数器1控制字:方式3,二进制计数OUT DX,ALMOV DX,04A2H ;计数器1的口地址MOV AL,0E8H ;计数初值低8位OUT DX,ALMOV AL,03H ;计数值高8位OUT DX,ALNEXT: NOPJMP NEXT ;CPU在此循环执行空操作,说明8253独立工作。
微机原理实验 可编程定时器计数器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。
8253定时器实验.

精选文档实验报告实验名称可编程准时器/计数器(8253 )姓名学号班级教师日期一、实验内容与要求1.1 实验内容计数器方式 2 实验:将 8253 芯片的计数器0 的工作方式设置为方式2,读 /写格式设置为01,写入时只写入计数器初值低8 位,高 8 地点 0,采纳二进制格式计数。
计数器初值为N (N>=0FH ),用手动开关逐一输入单脉冲,编程使计数值在屏幕上显示,并同时用TPC-USB平台上的 LED 灯察看 OUT0 电平变化(当输入第N 倍数个脉冲后OUT0 变低电平, LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态)。
计数器方式 3 实验:将计数器 0、计数器 1 的工作方式分别设置为方式3,计数初值设为1000,并同时用 TPC-USB 平台上的 LED 灯察看 OUT1 电平变化(频次1Hz)。
1.2 实验要求(1)拥有必定的汇编编程的基础,能编写一些基本语句来实现实验。
实验前依据实验流程图,写出对应代码;(2)要认识8253准时/计数器芯片内部构造和外面引脚,认识芯片的硬件连结方法、时序关系、各样模式的编程及应用,能娴熟地对其进行编程;(3)熟习实验平台 TPC-USB 认识各个接口的名称与功能,进行实验时能迅速并正确地连结好实验电路;(4)计数器方式 2 实验:连结 PC 与 TPC-USB 平台,用微机实验软件运转程序,用手动开关逐一输入单脉冲,在屏幕上能一次显示计数值,当输入第N 倍数个脉冲后OUT0 变低电平, TPC-USB 平台上的 LED 灯由亮变灭,其余脉冲OUT0 都是高电平, LED 灯都处于亮状态;(5)计数器方式3实验:连结PC与TPC-USB平台,用微机实验软件运转程序,TPC-USB平台上的 LED 灯能周期性地亮灭,频次为 1Hz。
二、实验原理与硬件连线2.1 实验原理TPC-USB 平台上有一块8253 准时 /计数器芯片, PC 能够经过 8253 芯片进行计数和准时。
8253计数器实验报告

8253计数器实验报告8253计数器实验报告引言:实验报告是对实验过程和结果的详细记录和分析,通过实验报告,可以总结出实验的目的、方法、数据和结论,为进一步研究和实践提供参考。
本文将对8253计数器实验进行报告,介绍实验目的、实验步骤、实验结果和结论。
实验目的:本次实验的目的是熟悉8253计数器的工作原理和使用方法,掌握8253计数器的基本功能和应用场景。
实验步骤:1. 准备实验材料:8253计数器、示波器、电源等。
2. 搭建实验电路:根据实验要求,将8253计数器与示波器和电源相连,确保电路连接正确。
3. 设置实验参数:根据实验要求,设置8253计数器的工作模式、计数范围等参数。
4. 运行实验程序:编写实验程序,通过编程控制8253计数器的工作状态,观察实验结果。
5. 记录实验数据:使用示波器等仪器,记录实验过程中的数据和波形图。
6. 分析实验结果:根据实验数据和波形图,分析8253计数器的工作状态和性能。
实验结果:通过实验,我们观察到了8253计数器的不同工作模式下的输出结果。
在定时器模式下,我们设置了不同的计数范围和计数频率,观察到了计数器的计数过程和计数结果。
在计数器模式下,我们设置了不同的计数方向和计数初始值,观察到了计数器的增减过程和最终的计数结果。
结论:通过本次实验,我们对8253计数器的工作原理和使用方法有了更深入的了解。
我们掌握了8253计数器的基本功能和应用场景,能够根据实际需求设置计数器的工作模式和参数。
实验结果表明,8253计数器具有较高的计数精度和稳定性,在计时、计数等领域有广泛的应用前景。
总结:实验报告是对实验过程和结果的详细记录和分析,通过实验报告,可以总结出实验的目的、方法、数据和结论,为进一步研究和实践提供参考。
本次实验报告对8253计数器的实验进行了详细介绍,包括实验目的、实验步骤、实验结果和结论。
通过本次实验,我们对8253计数器有了更深入的了解,掌握了其基本功能和应用场景。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八可编程定时/计数器8253的Proteus仿真实验一、实验要求
利用8086 外接8253 可编程定时/计数器,可以实现方波的产生。
二、实验目的
1、学习8086 与8253 的连接方法。
2、学习8253 的控制方法。
3、掌握8253 定时器/计数器的工作方式和编程原理
三、实验电路及连线
1、Proteus 实验电路
2、硬件验证实验
硬件连接表
四、实验说明
1、8253 芯片介绍
8253 是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V 单电源供电。
2、8253的功能用途:
(1)延时中断
(2)可编程频率发生器
(3)事件计数器
(4)二进制倍频器
(5)实时时钟
(6)数字单稳
(7)复杂的电机控制器
3、8253 的六种工作方式:
(1)方式0:计数结束中断
(2)方式l:可编程频率发生
(3)方式2:频率发生器
(4)方式3:方波频率发生器
(5)方式4:软件触发的选通信号
(6)方式5:硬件触发的选通信号
五、实验程序流程图
六、实验步骤
1、Proteus 仿真
a.在 Proteus 中打开设计文档“8253_STM.DSN”;
b.建立实验程序并编译,仿真;
c.如不能正常工作,打开调试窗口进行调试。
参考程序:
CODE SEGMENT;H8253.ASM
ASSUME CS:CODE
START:
JMP TCONT
TCONTROEQU0A06H
TCON0 EQU0A00H
TCON1 EQU0A02H
TCON2 EQU0A04H
TCONT:
MOV DX,TCONTRO
MOV AL,16H ;计数器0,只写计算值低8 位,方式3,二进制计数
OUT DX,AL
MOV DX,TCON0
MOV AX,20 ;时钟为1MHZ,计数时间=1us*20=20us,输出频率50KHZ
OUT DX,AL
JMP $
CODE ENDS
END START
2、实验板验证
a.通过USB 线连接实验箱
b.按连接表连接电路
c.运行PROTEUS 仿真,检查验证结果。