西安交通大学微型计算机接口技术实验报告班级:物联网姓名:学号:实验一基本I/O扩展实验一、实验目的1、了解 TTL 芯片扩展简单 I/O 口的方法,掌握数据输入输出程序编制的方法;2、对利用单片机进行 I/O 操作有一个初步体会。
二、实验内容74LS244 是一种三态输出的8 总线缓冲驱动器,无锁存功能,当G 为低电平时,Ai 信号传送到Yi,当为高电平时,Yi 处于禁止高阻状态。
74LS273 是一种8D 触发器,当CLR 为高电平且CLK 端电平正跳变时,D0——D7 端数据被锁存到8D 触发器中。
实验原理图:三、实验说明利用74LS244 作为输入口,读取开关状态,并将此状态通过74LS273 再驱动发光二极管显示出来,连续运行程序,发光二极管显示开关状态。
四、实验流程图五、实验连线1、244的cs连接到CPU地址A15,Y7—Y0连接开关K1-K8;2、273的CS连接到CPU地址A14,Q7-Q0连接到发光二极管L1-L8;3、该模块的WR,RD连接CPU的WR,RD,数据线AD7-AD0,地址线A7-A0分别与CPU的数据线AD7-AD0,地址线A7-A0相连接。
六、程序源代码(略)七、实验结果通过开关K01 到K08 可以对应依次控制LED 灯的L1 到L8 ,即当将开关Ki 上拨时,对应的Li 被点亮,Ki 下拨时,对应的Li熄灭。
此外,如果将开关拨到AAH 时,将会产生LED 灯左移花样显示;如果开关拨到55H 时,将会产生LED 灯右移花样显示。
七、实验心得通过本次实验,我了解了TTL 芯片扩展简单I/O 口的方法,同时也对数据输入输出程序编制的方法有一定的了解与掌握,对利用单片机进行I/O 操作有一个初步体会,实验使我对自己在课堂上学的理论知识更加理解,同时也锻炼了我的动手操作能力。
实验二可编程定时计数器8254实验一、实验目的1、了解可编程定时器/计数器8254 实验了解计数器的硬件连接方法及时序关系;2、掌握8254 的各种模式的编程及其原理,用示波器观察各信号之间的时序关系。
二、实验原理8254 是Intel 公司生产的可编程间隔定时器。
是8253 的改进型,比8253 具有更优良的性能。
8254 具有以下基本功能:(1)有3 个独立的16 位计数器。
(2)每个计数器可按二进制或十进制(BCD)计数。
(3)每个计数器可编程工作于6 种不同工作方式。
(4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。
(5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。
(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为:n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。
8254是由与CPU 的接口、内部控制电路和三个计数器组成。
8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标识位来区分。
三、实验内容将32Hz 的晶振频率作为8254 的时钟输入,利用定时器8254 产生1Hz 的方波,发光二极管不停闪烁,用示波器可看到输出的方波。
8254 是一种可编程的定时器/计数器芯片,它具有 3 个独立的16 位计数器通道,每个计数器都可以按照二进制或二-十进制计数,每个计数器都有 6 种工作方式,计数频率可高达24MHz,芯片所有的输入输出都与TTL 兼容。
计数器都有 6 种工作方式:方式0—计数过程结束时中断;方式1—可编程的单拍脉冲;方式2—频率发生器;方式3—方波发生器;方式4—软件触发;方式5—硬触发。
6 种工作方式主要有5 点不同:一是启动计数器的触发方式和时刻不同;二是计数过程中门控信号GATE 对计数操作的影响不同;三是OUT 输出的波形不同;四是在计数过程中重新写入计数初值对计数过程的影响不同;五是计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程的不同。
四、实验说明下图是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。
8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。
这两个控制字共用一个地址,由标识位来区分。
8254控制字:8254读出控制字格式状态字格式五、实验流程图六、实验连线1、信号源部分:短路32Hz,CLK1或2接8254的CLK0;2、GATE0-+5V,OUT0-L1; 3.8254的CS连接到CPU地址A14,WR,RD连接CPU的WR,RD;3、8254模块的数据线AD7-AD0,地址线A7-A0分别与CPU的数据线AD7-AD0,地址线A7-A0相连接。
七、程序源代码(略)八、实验结果有实验现象可得:二极管L1有规律地亮灭交替地闪烁。
当改变信号源模块的频率或者修改计数器的计数初值时,二极管L1 闪烁的频率也随之改变。
九、实验心得通过本次实验,我对可编程定时器/计数器8254 的了解更加深刻,也对计数器的硬件连接方法及时序关系有了一定了解和掌握;同时也学到了一些有关8254 的各种模式的编程及其原理的知识,在实验中也能够利用用示波器观察各信号之间的时序关系,对我而言这是一次受益颇多的实验。
实验三可编程并行接口8255实验(交通灯)一、实验目的了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。
二、实验内容可编程并行接口8255实验交通灯实验:利用8255的A口模拟交通信号灯。
三、实验原理1、8255A的内部结构(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A 与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
(2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
(3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。
方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。
对C口按位复位命令字可对C口的每一位实现置位或复位。
A组控制电路控制A口和C口上半部,B 组控制电路控制B口和C口下半部。
(4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
3.1.28255A的工作方式方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。
2、8255A 的工作方式方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。
3、8255A 的状态字4、8255A 的控制字四、实验原理图六、实验步骤(1) 实验连线:该模块的WR、RD 分别连到ISA 总线接口模块的IOWR、IORD。
该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到ISA 总线接口模块的数据(LD0~LD7)、地址线(LA0~LA7)。
8255 模块选通线CE 连到ISA 总线接口模块的0000H。
8255 的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。
(2)运行程序:Tracffic.ASM,观察发光二极管。
七、程序源代码(略)L1-L3和L5-L7分别构成两路交通灯,其中两路交通灯的绿灯L2和L6都具有频闪计时效果,一路的绿灯熄灭后,该路红灯亮,另一路的黄灯亮较短时间,绿灯亮。
九、实验心得通过本次实验,我对可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用的了解更加深刻了,不仅仅限于我在课堂上学到的有关8255的理论知识,这次实验让我在实际操作中体会到了8255的结构、功能等,有利于我对理论知识的掌握,同时接加强了我将理论与实际相结合的能力。
实验四 A/D 转换实验一、实验目的1、熟悉PLX9054操作环境,掌握简单的程序运行方法;2、掌握0809A/D 转换芯片的硬件电路和软件编程。
二、实验原理ADC0809的主要性能:(1)8位逐次逼近型A/D转换器,所有引脚的逻辑电平与TTL电平兼容。
(2)带有锁存功能的8路模拟量转换开关,可对8路0~5V模拟量进行分时切换。
(3)输出具有三态锁存功能。
(4)分辨率:8位,转换时间:100μs。
(5)不可调误差:±1LBS,功耗:15mW。
(6)工作电压:+5V,参考电压标准值+5V。
(7)片内无时钟,一般需外加640KHz以下且不低于100KHz的时钟信号。
ADC0809的内部结构:ADC0809是CMOS的8位模/数转换器,采用逐次逼近原理进行A/D转换,芯片内有模拟多路转换开关和A/D转换两大部分,可对8路0~5V的输入模拟电压信号分时进行转换。
模拟多路开关由8路模拟开关和3位地址锁存译码器组成,可选通8路模拟输入中的任何一路,地址锁存信号ALE将3位地址信号ADDA、ADDB、ADDC进行锁存,然后由译码电路选通其中的一路,被选中的通道进行A/D转换。
A/D转换部分包括比较器、逐次逼近寄存器(SAR)、256R 电阻网络、树状电子开关、控制与时序电路等。
另外ADC0809输出具有TTL三态锁存缓冲器,可直接连到CPU数据总线上。
ADC0809的多路转换:在实时控制与实时检测系统中,被控制与被测量的电路往往是几路或几十路,对这些电路的参数进行模/数、数/模转换时,常采用公共的模数、数模转换电路。
因此,对各路进行转换是分时进行的。
此时,必须轮流切换各被测电路与模数、数模转换电路之间的通道,以达到分时切换的功能。
本实验利用实验板上的ADC0809做A/D转换实验,将模拟信号转换成数字信号并在屏幕上显示,调节电位器观察屏幕上显示的变化。