四、编程提示
1、系统上配有带使能控制的三输入、八输出译码器74LS138一片。系统实验程序中对译码器的定义是:使能控制端G的有效寻址范围为0FFE0H~0FFFFH,译码器输入控制端A、B、C连接地址线A2、A3、A4,其译码输出端Y0~Y7的有效寻址范围分别为0FFE0H、0FFE4H、0FFE8H、0FFECH、0FFF0H、0FFF4H、0FFF8H和0FFFCH,如下图
2、数据发送与接收字节均采用查询方式;
3、8251接口芯片的端口地址:命令状态口=FFE1h,数据口=FFE0h;
4、设置方式字:异步方式,8个数据位,1位起始位,1个停止位,波特率因子为16。 5、TXC、RXC时钟速率一致,可选速率F:38.4KHz、76.8KHz、153.6KHz、307.2KHz,波特率bps=TXC÷16,相应可选bps:2400、4800、9600、19200。
五、实验电路
六、实验步骤
1、实验连线
⑴连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与总线单元上方的G相连。
⑵将8251串行通信单元的T/RXC与分频单元的T6相连,CLK与分频单元的T0相连,8251
· 15 ·
CS与译码单元的Y0相连,将8251串行通信单元RXD与TXD相连。
⑶用8芯扁平电缆将8251串行通信单元的数据总线插座与数据总线单元任一插座相连。 2、打开源程序,编译、连接、下载,设置源内存单元的16个数据,用连续方式运行,最左边LED显示“P.”后,用复位命令结束运行,即可检查源RAM与目标RAM中的内容是否一致。
3、修改源程序,8251开始将源内存单元的数据发送串行口,再从串行口接收数据存到目标内存单元。用复位命令结束程序,检查5000~500Fh内存单元的数据,应与6000~600Fh一致。
检查方法:
方法1:用IDE集成开发环境检查。用复位命令结束程序,打开主界面菜单栏中的“视图”,选择“内存空间”项,如下图所示,选择“程序数据存储区”对话框对应地址,检查数据是否发送接收成功。
方法2:用仿真器键盘与LED检查。用复位命令结束程序,LED最高位显示“P.”闪烁,处于待命状态,从小键盘输入数字4000,LED左四位显示地址(4000),再按“TV/ME”键 ,LED右边两位显示对应地址内存单元的内容,如“01”,此内容可用键盘修改。按“F2/NX”,显示下一单元?,按“F1/LS”键显示上一单元。
注意:要发送的源16个内存单元内容可用程序给定,也可用IDE集成开发环境 “视图”/“内存空间”/“程序数据存储区”对话框,通过上位机键盘预置对应内存地址单元内容,也可用仿真器键盘用上述方法预置,用后两种方法预置后,一定要按“复位”,然后用连续方式运行程序。用复位命令结束运行,即可检查源RAM与目标RAM中的内容是否一致。
七、实验报告要求
1、附程序清单。
2、写出实验运行结果。
· 16 ·
实验六 8259中断控制器实验
一、实验目的
掌握8259中断控制器的接口方法与程序设计。
二、实验内容
编制程序,利用8259芯片的IRX(如IR7)作为中断源,产生单一中断,LED显示中断发生的次数。
三、程序参考流程
四、实验电路
五、编程提示
1、8259接口芯片的端口地址:奇地址端口=FFE1h,偶地址端口=FFE0h;
2、8259中断控制器是专为控制优先级中断设计的芯片。它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。
· 17 ·
8259各中断源中断向量地址如下: 中断序号 0 1 2 3 4 5 6 7
变量地址 20~23h 24~27h 28~2Bh 2C~2Fh 30~33h 34~37h 38~3Bh 3C~3Fh 本实验中使用7号中断源IR7(或其他中断源),中断方式为边沿触发方式,按动AN按钮产生一次中断,编写程序,使系统每次响应外部中断IRX时,显示数字加一(1~9),显示9次后程序从新开始,显示“8259”继续等待中断。
六、实验步骤
1、实验连线
⑴连接138译码输入端A、B、C,其中A连A2,B连A3,C连A4,138使能控制输入端G与总线单元上方的G相连。
⑵将8259CS插孔与译码单元的Y0相连,中断源IR7与单脉冲单元的SP插孔相连。 ⑶用8芯扁平电缆将8259中断控制单元的数据总线插座与数据总线单元任一插座相连。 2、参考系统所带原程序,按流程图修改程序,编译、连接、下载、调试,用连续方式运行程序。
3、观察运行结果
在连续运行方式下运行,LED运行标志“8259”,按动AN按钮,LED数码管最低位显示“1”、下一次显示“2”?? 显示9后,系统显示“8259”继续等待中断。
七、实验报告要求
1、附程序清单。 2、写出实验运行结果。
· 18 ·
实验七 定时/计数器应用——8253输出方波
一、实验目的
学习8253芯片和微机接口的方法,掌握8253定时器/计数器的工作方式和编程原理。
二、实验内容
1、8253是一种可编程定时/计数器,有3个16位计数器,其计数频率范围为0~2MHz。 2、本实验设8253的定时/计数器0工作在方式3,定时/计数器2工作在方式2,产生方波。(如定时器0输出方波频率200HZ,定时器2输出频率50HZ)也可自己设定输出频率。
3、将8253作为定时器,每隔1秒向8259发一次中断请求,做一秒表或电子钟。(自行设计软硬件,此内容选做)。
三、程序参考流程
四、实验电路
五、编程提示
1、8253的功能用途: ⑴延时中断 ⑶事件计数器 ⑸实时时钟 ⑺复杂的电机控制器 8253的6种工作方式:
⑵可编程频率发生器 ⑷二进制倍频器 ⑹数字单稳
· 19 ·