8254常规接口实验(汇编与接口技术课程)


前言

北交大本科必修课程——8254汇编与接口技术常规实验。


一、实验目的

1、掌握8254和微机接口的连接方法,了解8254的基本工作原理和编程方法。
2、理解8254定时/计数器的各种工作方式的特点;通过观察实验波形直观地了解8254几种工作方式的异同。

二、实验内容

实验一

将8254计数器0设为工作方式0,计数器初值设置为N(N<0FH)。将实验台上单脉冲接到CLK0上,手动逐个输入单脉冲,用L0和示波器观察OUT0电平变化(输入N+1个脉冲后OUT0变高电平,L0亮)

思路:
1、首先我们要对8254进行初始化,向命令端口283H输入方式命令00010000,来选择计数器0,只写低字节,工作方式0,二进制计数
2、在向计数器0送计数初值3(这个数由自己决定)
实验现象:
电灯泡:电灯泡L0开始时是处于熄灭状态的,当我们手动给4(N+1)个脉冲后,电灯泡变亮并持续保持亮的状态。
示波器:示波器开始时处于低电平,但当我们手动给4(N+1)个脉冲后示波器变为高电平并不再变化。
结果分析:
方式0在手动给第一个脉冲时才将初值寄存器中的数值放到减一计数器中,在第二个脉冲到来的时候才开始减一,所以才会出现电灯泡和示波器在N+1个脉冲后才变亮和变为高电平的现象。并且方式0在计数结束后out信号一直处于高电平,所以电灯泡和示波器才保持常亮和高电平的状态不改变。
代码如下:

code segment
start :
mov dx, 283h; 命令口地址
mov al, 00010000b; 计数器0;只写低字节;2方式;二进制
out dx, al; 初始化

mov dx, 280h; 选择计数器0
mov ax, 03h; 计数器初值是3
out dx, al

code ends
end start

实验二

编写程序分别显示2,3工作方式下的波形。要求2方式的输出频率为1000Hz,3方式的输出频率为2000Hz。本实验使用8254的定时/计数器0,GATE0通过K1接到+5V或地,CLK0接1MHZ时钟脉冲,OUT0接示波器观测输出波形(连线见图1-2)。
图1-2

方式二:

  • 思路:
    因为输入的脉冲频率为1MHZ,为了使示波器输出频率为1000HZ,我们可以计算出计数初值为1MHZ / 1000HZ= 1000,所以我们首先初始化,选择计数器0,先输入高字节再输入低字节,方式2,以二进制计数;然后向计数器输入计数初值1000。
  • 实验现象:
    可以在示波器上观察到1000HZ的波形和数值
  • 代码如下
code segment
start :
mov dx, 283h; 命令口地址
mov al, 00110100b; 计数器0;先低字节再高字节;2方式;二进制
out dx, al

mov dx, 280h; 选择计数器0
mov ax, 3e8h; 计数器初值1000
out dx, al; 先写低字节
mov al, ah;
out dx, al; 再写高字节
code ends
end start

方式3:

  • 思路:类似于方式2,只不过计数初值为1MHZ / 2000HZ=500
  • 代码如下:
code segment
start :
mov dx, 283h; 命令口地址
mov al, 00110110b; 计数器0;先低字节再高字节;3方式;二进制
out dx, al; 初始化

mov dx, 280h; 选择计数器0
mov ax, 1f4h; 计数器初值500
out dx, al; 先写低字节
mov al, ah
out dx, al; 再写高字节
code ends
end start

实验三

采用定时器0和定时器1的级联方式,周期性的点亮和熄灭发光二极管各0.5秒。(连线见图1-3)
图1-3

思路:
我们知道方式二和方式三都为自动装填计数初值,并且方式三的输出波形近似为高电平:低电平 = 1:1,所以这里我们选择计数器0使用方式2而计数器1使用方式三,并将计数器0的OUT信号作为计数器1的输入时钟。因为计数器0连接的时钟信号为1MHZ,为了周期性的点亮和熄灭发光二极管各0.5秒,所以我们要产生一个周期为1s的方波,其频率为1 / 1s = 1HZ。为了产生该1HZ的方波,所以计数器1和计数器0的计数初值之积应该等于1MHZ / 1HZ = 1000000,这里我们将计数器0和计数器1的计数初值都设置为1000,然后进行实验就可以得到预期的结果。

  • 代码如下:
code segment
assume cs : code
start :
mov dx, 283h; 命令口地址
mov al, 00110100b; 计数器0,先写低字节再写高字节,方式22进制
out dx, al

mov dx, 280h;  计数器0
mov al, 1000;   计数初值1000
out dx, al
mov al, ah
out dx, al;


mov dx, 283h; 命令口地址
mov al, 01110110b; 计数器1,先写低字节再写高字节,方式32进制
out dx, al

mov dx, 281h; 计数器1
mov al, 1000;   计数初值1000
out dx, al
mov al, ah
out dx, al;

code ends
end start

四、实验编程提示

编写4个实验程序(分别是0,2,3,级联方式)并分别执行。在观察各种方式的输出波形时,要分析测试结果的原因。

五、实验步骤

1、根据原理图正确连接实验线路(需要连接粗黑线)。
2、正确理解实验原理。
3、编写实验程序,并上机调试,观察实验结果。

六、思考题

观测到的0方式是怎样的波形,为什么会出现这种现象?

波形是:先是低电平持续一段时间后变为高电平。
原因:当写入计数初值后,启动计数器开始计数,out信号变为低电平,并维持低电平至减法计数器的内容到达0时,停止工作,out信号变为高电平,并维持高电平。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
汇编语言与接口技术》是一本由北京理工大学编写的教材,用于教授汇编语言和接口技术的相关知识。汇编语言是一种低级语言,用于与计算机硬件直接交互。通过学习汇编语言,可以深入了解计算机的工作原理及其内部结构,并能够理解高级语言背后的运行机制。汇编语言编程可以让程序员对计算机的底层操作进行精确控制,提高程序执行的效率。 而接口技术则是指计算机系统中不同硬件或软件之间的连接和通信方式。接口技术是计算机领域中十分重要的一部分,它涉及到了数据传输的规范和标准,以及硬件和软件之间的协同工作。掌握接口技术可以使程序员更好地利用各种硬件设备,并且能够更加灵活地进行系统的设计与开发。 这本教材以系统化的方式介绍了汇编语言和接口技术的相关知识。内容包括了汇编语言的基本概念、指令集、寻址方式等内容,还介绍了实际应用中常用的接口技术和技巧。教材结构清晰,配有丰富的例子和实践项目,可以帮助读者更好地理解和掌握这些知识。 《汇编语言与接口技术》这本教材适用于计算机相关专业的学生以及对汇编语言和接口技术有兴趣的人士。它不仅可以作为课堂教学的参考资料,也可以作为自学的教材。通过学习这本教材,读者可以了解到汇编语言和接口技术在计算机领域中的重要性,提高自己的编程水平和系统设计能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若鱼不是鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值