南邮通达学院《微型计算机接口技术》实验报告格式2015年秋
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
(2015--2016学年第 1 学期)
课程名称微型计算机接口技术
实验名称(1)流光发生器设计、(2)基于中断的字符串屏幕动态显示、(3)测试微机系统串行口实验时间2015 年12 月日指导单位物联网学院
指导教师陆骥
学生姓名韩胜远班级学号13001527 学院(系) 物联网学院专业网络安全
实 验 报 告(一)
实验名称 流光发生器设计 指导教师
陆骥
实验类型
验证
实验学时
2
实验时间 2015.12.
一、 实验目的和要求
目的:运用定时/计数器8254的知识,设计流光发生器。
要求:在开放式微机实验装置上完成相应硬件电路连接;编写程序实现:8254的三个计数器输出不同周期的信号,控制发光二极管,达到流光效果。
二、实验环境(实验设备)
PD-32开放式微型计算机教学实验装置 8254定时器/计数器模块 PC 系列机,Windows 操作系统
汇编语言开发工具TASM5.0,上位机软件PD-BUG
三、实验原理及内容
8254有3个独立的16位计数器,每个计数器有3个引脚,GATE 、CLK 、OUT 。每个计数器有6种工作方式,其中方式2、3有具有初值自动重装功能,所以可以选择计数器工作在方式3,输出的是连续信号,输出信号的周期T out =N ×T CLK,。
8254定时器/计数器模块可见实验书P89,数据线已经接至系统数据总线D 0~D 7,实验机上将地址总线的A 1、A 0引出接插口,可从其中的两个相邻的地址线A 2、A 3连至8254的A 0、A 1,用于片内端口选择。A 5、A 6、A 7接3-8译码器模块,用于片选,8254的最高计数频率不能超过3M 、6M ,输入脉冲可选择47kHz 等。
利用PD-32实验台的8254计数器模块,控制实验台的发光二级管闪烁(点亮、熄灭、点亮、……),循环往复。
根据8254的特点,可设计以下两种方案:
方案一:设置三个计数器初值一样,时钟频率接47KHz 、93KHz 、187KHz ,可达到流光效果。
方案二:设置0豪计数器初值为0,1号计数器初值为23500(十进制),2号计数器初值为32900(十进制),时钟频率都接47KHz ,可达到流光效果。
.486
CODE SEGMENT USE16
ASSUME CS:CODE
ORG 3000H
BEG: JMP START CCONPORT EQU 30CH CCONBIT1 EQU 00010110B CCONBIT2 EQU 01010110B CCONBIT3 EQU 10010110B CDPORT1 EQU 300H CDPORT2 EQU 304H CDPORT3 EQU 308H CHDBIT1 EQU 00H CHDBIT2 EQU 00H START: NOP
NOP
MOV DX,CCONPORT
MOV AL,CCONBIT1
OUT DX,AL
NOP
NOP
MOV DX,CDPORT1
MOV AL,CHDBIT1
OUT DX,AL
NOP
NOP
MOV DX,CCONPORT
MOV AL,CCONBIT2
OUT DX,AL
NOP
NOP
MOV DX,CDPORT2
MOV AL,CHDBIT1
OUT DX,AL
NOP
NOP
WT1: MOV DX,CCONPORT
MOV AL,CCONBIT3
OUT DX,AL
NOP
NOP
MOV DX,CDPORT3
MOV AL,CHDBIT2
OUT DX,AL
WT: NOP
JMP WT CODE ENDS END BEG
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
该实验在施行第二种方案时,出现了许多问题。
1. 一开始编程,计算初值使用公式:T out =N×T CLK,.,由于未考虑到人们视觉能分辨的闪烁时间为0.4秒而设置过小的时间间隔,没有达到实验要求效果,而后通过计算得N=23500和N=32900。
2 . 未考虑到8254内部的计数器是16位,将十进制数误当成二进制的放到EAX 中,正确的输入为MOV AX,V ALUE1 OUT DX,AL MOV AL,AH OUT DX,AL .
3. 要正确设置读/写方式,先读低8位后读高8位。
4. 编程过程中,要使用NOP 语句,避免运行时间过短。
五、指导教师评语
成绩批阅人陆骥日期2016.1.10
实验报告(二)
实验名称基于中断的字符串屏幕动态显示指导教师陆骥
实验类型验证实验学时2实验时间2015.12.
二、实验目的和要求
目的:运用微型计算机系统的中断技术及定时/计数器8254的知识,利用系统定时源设计中断程序。
要求:编程实现:每隔一定时间在系统机屏幕上显示一行字符串(字符串内容自定,例如“HELLO WORLD!”)。即利用系统定时源设计定时中断程序,要求每隔一定的时间在系统机屏幕上显示一行字符串。显示十行之后自动结束。
二、实验环境(实验设备)
硬件:PC机。
软件:“未来汇编”汇编语言开发环
三、实验原理及内容
利用系统定时源(调用1C型中断)设计定时中断,每隔一秒钟在屏幕上显示一行字符串。
实验2_2.asm 程序是每间隔一秒显示一行字符串,显示十行后自动退出。
;filename exam4.asm
.486
DATA SEGMENT USE16
OLD1C DD ?
ICOUNT DB 18H
COUNT DB ?
MESG DB 0DH,0AH,'I AM A GUO FANG SHENG $'
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
CLI
CALL READ1C
CALL WRITE1C
STI
MOV CX,10