实验四8253定时器.计数器接口(川大微机原理实验资料和内容以及MASM使用方法)

合集下载

定时计数器(8253)实验报告

定时计数器(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的工作状态
二、实验要求
编写程序,使8253的定时/计数器2工作在方式3下,使逻辑笔交替显示三、实验算法
先对8253进行初始化,选择计数器2工作在方式3下,输入计数值ffH,则O2端输出以FFH为周期的方波,将O2端连到逻辑笔输入端即可观察现象。

四、实验电路图
如图所示:
五、程序清单
T IM_CTL EQU 203H
TIMER0 EQU 200H
TIMER1 EQU 201H
TIMER2 EQU 202H
MODE23 EQU 0B6H
MODE13 EQU 76H
CODE SEGMENT
ASSUME CS:CODE
START:
TT: CLI
MOV DX,TIM_CTL
MOV AL,MODE23
OUT DX,AL ;8253初始化,选择计数器2工作在方式3下 MOV DX,TIMER2
MOV AL,0FFh
OUT DX,AL
MOV AL,0FFh ;设置输入数值为FFFFH
OUT DX,AL
WT: JMP WT ;无限循环显示程序现象
CODE ENDS
END START
六、实验现象结果与分析
K0打开,逻辑笔有红绿变化
七、实验体会
通过本实验知道了如何运用8253定时计数,了解了8253的功能特点,知道了如何运用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定时/计数器应用1.实验目的掌握8253命令字的设置及初始化和8253的工作方式及应用编程2.实验内容8253是INTEL公司生产的通用外围接口芯片之一,它有3个独立的16位计数器,计数频率范围为0-2MHZ。

它所有的计数方式和操作方式都可通过编程控制。

其功能是延时终端、可编程频率发生器、事件计数器、倍频器、实时时钟、数字单稳和复杂的电机控制器。

3.实训步骤实现方式0的电路图。

设8253端口地址为:40H-43H要求:设定8253的计数器2工作方式为0 ,用于事件计数,当计数值为5时,发出中断请求信号,8088响应中断在监视设备上显示M。

本实训利用KK1作为CLK输入,故初值设为5时,需按动KK1键6次,可显示一个M.实验七 8253定时/计数器应用实验一.实验目的1.熟悉8253在系统中的典型接法。

2.掌握8253的工作方式及应用编程。

二.实验设备TDN86/88教学实验系统一台三.实验内容(一)系统中的8253芯片图7-1 8253的内部结构及引脚1. 8253可编程定时/计数器介绍8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。

它有3个独立的十六位计数器,计数频率范围为0-2MHz。

它所有的计数方式和操作方式都通过编程的控制。

8253的功能是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253的工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253的内部结构及引脚如图7-1所示,8253的控制字格式如图7-2所示。

图7-2 8253的控制字8253的初始化编程如下图:2. 系统中的8253芯片系统中装有一片8253芯片,其线路如图7-3所示。

DW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART: IN AL,21HAND AL,7FHOUT 21H,ALMOV AL,____HOUT 43H,AL ;8253控制口地址A1: MOV AL,____HOUT 42H,ALHLTSTIJMP A1HLTSTIJMP A1MOV AX,014DHINT 10H ;显示’M’MOV AX,0120HINT 10H ;显示空格MOV AL,20HOUT 20H,ALIRETCODE ENDSEND START实验步骤(1)按图接线。

8253定时器、计数器仿真实验报告

8253定时器、计数器仿真实验报告

实验名称8253定时器/计数器仿真实验学生姓名学生学号专业班级指导老师2014-12-31实验五8253定时器/计数器仿真实验一、实验目的1.针对特定的芯片,学会用Proteus ISIS设计仿真电路图;2.掌握8253工作原理,对8253进行仿真;3.了解电路一般仿真方法。

二、实验内容1.配置Proteus仿真环境;2.根据电路图,用合适的代码对其进行仿真。

三、实验步骤1.安装Proteus和masm32编译器;2.在Proteus里配置masm32编译器。

配置过程如下:图 1 添加/移除代码生成工具(1)a)把masm32.bat 复制到c:\masm32\bin 里面(c:\masm32 为你自己安装masm32的路径);b)启动Proteus ISIS 后,选择菜单源代码——>设定代码生成工具。

打开如图1所示;c)点击“新建”,然后选择c:\masm32\bin\masm32.bat文件,就出现图2;图 2 添加/移除代码生成工具(2)d)图中红圈位置分别填上ASM 和EXE。

然后点确定。

使用masm32 编译器就配置好了。

3.在画好电路图后,选择菜单源代码——>添加/删除源文件。

出现图3;图 3 添加/移除源代码(3)4.代码生成工具选择masm32,然后点新建,创建自己的源代码。

比如8253.asm,点确定;5.接下来点击源代码——>1.8253.asm,编辑自己的代码。

完成后保存;6.点击源代码——>全部编译。

出现图4表示编译成功,表示程序可以执行。

图 4 代码成功编译7.点击Proteus中的调试菜单的相应功能,完成仿真。

四、实验结果1.仿真电路图如图5所示;图 5 8253仿真电路图2.8253定时器/计数器仿真波形图如图6所示;图 6 定时器输出3.实验代码如下所示:CODE SEGMENT ;H8253.ASMASSUME CS:CODESTART: JMP TCONTTCONTRO EQU 0A006HTCON0 EQU 0A000HTCON1 EQU 0A002HTCON2 EQU 0A004HTCONT: MOV DX,TCONTROMOV AL,16H ;计数器0,只写计算值低8位,方式3,二进制计数OUT DX,ALMOV DX,TCON0MOV AX,1000 ;时钟为1MHZ ,计数时间=1us*20 =20 us 输出频率50KHZOUT DX,AXJMP $CODE ENDSEND START五、实验总结本次实验,没有用到实验箱,避免了找一台好机器的烦恼。

微机原理实验 可编程定时器计数器82548253实验

微机原理实验 可编程定时器计数器82548253实验
具体连线如图2所示:
图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。

(完整word版)微机原理完整实验报告+程序

(完整word版)微机原理完整实验报告+程序

实验题目8253定时/计数器实验一、实验目的与要求:1。

学会8253芯片和微机接口原理和方法。

2. 掌握8253定时器/计数器的工作方式和编程原理。

二、实验内容:1、实验原理本实验原理图如图1所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表1所示.8253A的片选地址为48H~ 4FH。

因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字.采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(”0"电平)或甩空(”1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。

2、实验线路连接(1) 8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。

(2) 8253A的GATE0接+5V.3、实验步骤(1) 按图1连好实验线路(2)运行实验程序1.按“调试”按钮2。

选“窗口”“进入示波器窗口",然后最小化3。

按“运行按钮”4.将模拟示波器窗口打开,选择“串行口2",再按ctrl+F2 按钮即可看到波形图1显示“8253-1”用示波器测量8253A的OUT2输出插孔,应有频率为1KHZ的方波输出,幅值0~4V三、实验代码:CODE SEGMENTASSUME CS:CODETCONTRO EQU 004BHTCON2 EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1 EQU 0500HSTART: JMP TCONTTCONT:CALL FORMATCALL LEDDISPMOV DX,TCONTROMOV AL,0B6H ;要使用方式2,0B6H要改为0B4HOUT DX,ALMOV DX,TCON2MOV AL,00 ;输入频率(即时间常数)OUT DX,AL ;要修改频率,只需更改送给AL的值(注意先送低8位,MOV AL,10H ;后送高8位)OUT DX,ALHLTLEDDISP:MOV AL,90H ;显示数据方式命令字送8279控制字MOV DX,CONTPORT ;8279命令状态口OUT DX,ALMOV BYTE PTR DS:[0600H],00 ;置显示位数初值为0 LED1: CMP BYTE PTR DS:[0600H],07H ;判断显示位数满8为否?JA LED2 ;满8位转子程序返回MOV BL,DS:[0600H] ;未满8位从数据区取数MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORT ;8279数据口OUT DX,ALADD BYTE PTR DS:[0600H],01H ;显示位数加1JNZ LED1LED2: RET ;子程序返回FORMAT: MOV BX,0 ;显示8253———1 MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],6D4FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BHRETCODE ENDSEND START四、思考题若改用方式2,并改变时间常数,如何编写程序。

连接(川大微机原理实验资料和内容以及MASM使用方法)

连接(川大微机原理实验资料和内容以及MASM使用方法)

连接无论是单模块程序,还是多模块程序,虽然在对每一个模块汇编后都生成了相应的目标文件.OBJ,但它们却是不可运行的。

只有在将它们连接(LINK)后,才能生成一个可执行(运行)的.EXE文件或程序。

8086目标模块连接程序LINK,能够把一个或多个独立的目标文件.OBJ和定义于库文件.LIB中的子程序与变量,连接装配成一个可重定位的可执行文件.EXE。

在连接过程中,除了生成.EXE程序外,用户还可以根据需要,生成相应的内存映像文件.MAP。

LINK的操作在DOS环境下使用LINK,同使用MASM一样,也有提示应答和命令行两种使用法。

1.提示应答方式在DOS提示状态下,键入LINK命令后,便显示版权信息,接着依次显示目标模块文件名,可执行文件的文件名、映像文件的文件名和库文件名等提示信息。

用户只需根据提示信息,键入或选用相应的文件名就可以了。

例如:C:\MASM >LINKMicrosoft ® Corp. Overlay Linker Version 3.60Copyright © Microsoft Corp. 1983-1987,All rights reservedObject Modules[.OBJ]:EXAMPLE↙—连接EXAMPLE.OBJ目标模块Run File [EXAMPLE.EXE]:↙—生成的默认EXAMPLE.EXE文件List File[NUL.MAP]:↙—默认不生成.MAP文件Libraries[.LIB]: ↙—连接时不需要库文件如果需要连接多个目标模块,则在相邻模块文件名间用空格(Space)或“+”号隔开。

如果选用默认文件名,只需按回车键就可以了。

通常,汇编程序不需要任何库文件,这时也只需按回车键就行了。

假设有MODA.OBJ、MODB.OBJ和MODC.OBJ三个目标模块,程序中调用了MA TH.LIB 库中的某些子程序,且该库文件存放在B盘上的lib子目标中,希望连接时能生成MODA.EXE和MODA.MAP。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二部分 接口程序设计
实验四 8253定时器/计数器接口与数字电子琴
一、 原理
PC 机的主机箱上装有一只小喇叭,由定时器8253和并行接口芯片8255控制其发音,其电路如下:
8253用定时器2来产生896Hz 的音频信号使喇叭发声,我们可以改变定时器2的计数值来改变声音频率,通过发声的延时程序来获得持续时间长短不同的声音,于是就可以通过编程来获得声调(频率)和节奏(延时长短),使计算机演奏出乐曲来。

如果再把
音符 ,3,2,1
,7,6,5,4,3,2,1与数字键1,2,3,4,5,6,7,8,9,…… 对应起来,就可以把计算机变成电子琴。

下面给出有关资料:⑴
⑵计数值计算公式
计数值=1.19318MHZ(时钟频率)/ 给定频率
=1234DCH / 给定频率.。

8253定时器通道2的端口地址:42H(存放计数值,先送低位字节,后送高位字节)
命令寄存器地址:43H
⑶编程参考:
1)计算计数值程序段:
MOV DI,给定频率
MOV DX,12H
MOV AX,34DCH
DIV DI
AX中即为计数值。

2)打开扬声器发声,8255PB0,PB1送出高电平:IN AL,61H
OR AL,3
OUT 61H,AL
3)关闭扬声器,停止发声:
IN AL,61H
AND AL,0FCH
OUT 61H,AL
二、实验内容:
⑴设计程序让微机演奏一段简单乐曲
⑵利用DOS的键盘管理功能,将微机变为一个具有简单功能的电子琴(选作)。

三、实验报告:
1. 整理出运行正确的源程序清单(加以注释)给出详细程序流程图;
2 有什么新的设想?
提示:可以在数据段定义两个表,一个存放乐曲的音调参数(频率对应的计数值),一个存放乐曲的节奏(延时长短)。

然后依次读出、依次发音、直至演奏完整段乐曲。

相关文档
最新文档