0 1 0 0 × 1 1 × 1 1 × × 1 × × 无操作(三态) 禁止(三态) 无操作(三态) 4.8253A功能
8253A既可作定时器又可作计数器:
(1)计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信号。
(2)定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。 5.8253A控制字 7 6 5 4 3 2 1 0 数制控制:0=二进制,1=BCD 00 选计数器0 说明:
(1)8253A每个通道对输出CLK按二进制或十进制从预置值开始减1计数,减到0时从OUT输出一个信号。
(2)8253A编程时先写控制字,再写时间常数。 6.8253A工作方式
(1)方式0:计数结束产生中断方式
当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变
26
01 选计数器1 02 选计数器2 11 非法 工作方式选择:000 方式0 001 方式1 ×10 方式2 ×11 方式3 100 方式4 00 计数器锁存命令 101 方式5 01 只读/写低8位,高8位自动置0 10 只读/写高8位,低8位自动置0 11 先写低8位,后写高8位 成高电平。
(2)方式1:可编程单次脉冲方式
当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。 (3)方式2:频率发生器方式
当初值装入时,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但GATE为低时,立即停止计数,强逼OUT变高,当GATE再变高时,便启动一次新的计数周期。
(4)方式3:方波发生器
当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。
(5)方式4:软件触发选通
当写入控制字后,OUT输出为高;装入初值且GATE为高时开始计数,当计数结束,OUT端输出一个宽度等于一个时钟周期的负脉冲。
(6)方式5:硬件触发选通
在GATE上升沿启动计数器,OUT一直保持高电平;计数结束,OUT端输出一个宽度等于一个时钟周期的负脉冲。
三、实验原理图
图3—7
四、 实验内容
本实验原理图如图3—7所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,端口地址如表3-2所示。8253A的片选地址为40H~ 4FH。 因此, 本实验仪中的8253A四个端口地址为40H、41H、42H、43H,分别对应通道0、通道1、通道2
27
和控制字。采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(“0”电平)或甩空(“1”电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。
五、实验线路连接
(1)8253的GATE0接+5V。
(2) 8253的CLK0插孔接分频器74LS393(左上方)的T4插孔,分频器的频率源为4MHZ。
六、 实验步骤
1、 按实验原理图连好实验线路
2、 仔细阅读,弄懂实验程序并画出程序流程图 3、 运行实验程序
(1)联机时,实验程序文件名为\\DVCC\\H8EXE\\H85S.EXE。 (2)单机时,实验程序起始地址为F000:9180。
在系统显示监控提示符“P.”时: 输入F000 按F1键 输入9180 按EXEC键
4、用示波器测量8253左侧OUT0插孔,应有方波输出。
七、实验参考程序
CODE SEGMENT ASSUME CS:CODE ORG 1180H
START: JMP TCONT TCONTRO EQU 0043H TCON0 EQU 0040H
TCONT: MOV DX,TCONTRO MOV AL,36H OUT DX,AL MOV DX,TCON0 MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL JMP $ CODE ENDS END START
28
实验六 使用8251A串行接口应用实验—双机通信(发送)
一、实验目的
1、掌握双机通信的原理和编程方法 2、进一步学习8251A的使用方法
二、预备知识
8251A是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工、双工通信。
1.8251A内部结构
I/O缓冲器是双向三态,通过引脚D0~D7和系统数据总线直接接口,用于和CPU传递命令、数据、状态信息。读写控制逻辑用来接收CPU的控制信号、控制数据传递方向。CPU对8251A的读写操作控制表如表3—4所示。
收发器功能是从引脚RXD(收)TXD(发)收发串行数据。接收时按指定的方式装配成并行数据,发送时从CPU接收的并行数据,自动地加上适当的成帧信号转换成串行数据。8251A内部的调制解调器控制器,提供和外接的调制解调器的握手信号。
表3—4 CS 1 0 0 0 0 C/D 任意 1 0 1 0 RD 任意 1 1 0 0 WR 任意 0 0 1 1 操作 无操作,D0~D7呈高阻 写控制字 写数据 读状态 读数据 2.8251A的方式控制字和命令控制字
方式控制字确定8251A的通信方式(同步/异步)、检验方式(奇校/偶校/不样)、字符长度及波特率等,格式如下图3—8所示。命令控制字使8251A处于规定的状态以准备收发数据,格式如下图3—9。方式控制字和命令控制字无独立的端口地址,8251A根据写入的次序来区分。CPU对8251A初始化时先写方式控制字,后写命令控制字。
29
7 6 5 4 3 2 1 0
异步方式:00=不确定;01=1个停止位;
10=3/2个停止位;11=2个停止位
同步方式:X0=内同步;X1=外同步
0X=2个同步字符;1X=单个同步字符 奇偶校验:X0=无校验;01=奇校验;10=偶校验 字符长度:00=5位;01=6位;10=7位;11=8位
波特率系数:00=同步方式;01=异步×1;10=异步×16;
11=异步×64
图3—8
7
EH 外部搜索方式,1=启动搜索同步字符
6 5 4 3 2 1 0
IR RST ER SBRK 内部复位,1=使8251返回方式指令格式 请求发送,1=迫使RST输出到0
错误标志复位,1=使全部错误标志复位 送中止字符,1=迫使TXD为低;0=正常工作 接收允许,1=允许;0=屏蔽
RXE DTR TXE 数据终端准备好,1=迫使DRT为0 发送允许,1=允许,0=屏蔽
图3—9
3.状态寄存器
30