单片机与pc机通讯课程设计--8251A可编程通讯接口与PC机通讯.doc_第1页
单片机与pc机通讯课程设计--8251A可编程通讯接口与PC机通讯.doc_第2页
单片机与pc机通讯课程设计--8251A可编程通讯接口与PC机通讯.doc_第3页
单片机与pc机通讯课程设计--8251A可编程通讯接口与PC机通讯.doc_第4页
单片机与pc机通讯课程设计--8251A可编程通讯接口与PC机通讯.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计 IV 设设计计说说明明书书 8251A 可编程通讯接口与 PC 机通讯 学生姓名周勇 学号1018014086 班级计本 103 班 成绩 指导教师冯永政 数学与计算机科学学院数学与计算机科学学院 2013 年 9 月 10 日 课程设计任务书 20132014 学年第一学期学年第一学期 专业: 计算机科学与技术 学号: 1018014086 姓名: 周勇 课程设计名称: 课程设计 IV 设计题目: 8251A 可编程通讯接口与 PC 机通讯 完成期限:自 2013 年 9 月 2 日至 2013 年 9 月 14 日共 2 周 设计依据要求及主要内容 一、目的任务: 依据实验器材提供的功能,利用可编程串行接口 8251 芯片,实现与 PC 机通讯。 二、设计内容: 1. 复习相关课程内容:微机原理及应用课程相关内容;汇编语言程序设计的相关内容;熟悉模拟 电路、数字电路的相关知识; 2. 熟悉实验相关器材的主要功能。 3. 在上述基础上,根据课程设计的基本要求,完成以下各项任务(反映在设计说明书中): (1)题目要求涉及的硬件电路图及摘要说明。 (2)题目的工作原理及相应描述。 (3)程序流程框图。 (4)程序文本输入及实验完成。 三、设计要求: 1.软件程序文档 ;2.硬件电路图(用专用软件);3.完成实验;4.完成设计说明书。 课程设计评阅 评语: 指导教师签名: 年 月 日 摘 要 设计了一个 8251 可编程通讯接口与 PC 机通信,8251 是一种可编程的通用同步/异步接收发送器, 被广泛应用于 Intel80X86 为 CPU 的 微型计算机中。本设计采用 8253 芯片的分频作为 8251 的收发时 钟频率,实现 8251 可编程通信接口与 PC 机的通讯。 关键词:异步;串行通信;8251 目 录 1 课题描 述 1 2 课题分 析 2 2.1 8251 基本功 能 2 2.2 8251 的内部结 构 2 2.3 8251 编程 字 2 3.设计过 程 4 3.1 电路图设 计 4 3.2 硬件设 计 4 3.3 软件设 计 4 4 验证测 试 12 5 总 结 13 参考文 献 14 0 1 课题描述 利用 8253 芯片的分频作为 8251 的收发时钟频率,8251 异步串行通信,实现 8251 可编程通信接 口与 PC 机的通讯。采用查询 I/O 方式,故收/发程序中只需检查发/收准备好的状态是否置位,即可 收发 l 个字节,每按动一次任一数字键,就把该键值通过 8251 发送给 PC 机接收,并在 PC 机屏幕上 显示出该键值。 1 2 课题分析 2.1 8251 基本功能 8251A 是一种可编程的通用同步/异步接收发送器,通常作为串行通信接口使用,被广泛应用 Intel80X86 为 CPU 的 微型计算机中。其基本功能为: (1)它是全双工、双缓冲器的接收/发送器。 (2)可工作在同步或异步工作方式。同步方式工作时,波特率在 064K 范围内;异步方式时,波特率 在 0 92K 范围内。 (3)同步方式时,字符可选择为 58bit,可加奇偶校验位,可自动检测同步字符。 (4)异步方式时,字符可选择为 58bit,可加奇偶校验位,自动为每个字符添加一个启动位,并允许 通过编程选择 1、25、或 2 位停止位。 2.2 8251 内部结构 本设计采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经 移位寄存器从数据输出线 TXD 逐位串行输出。 图 2.1 8251 内部结构 2.3 8251 编程字 (1)工作方式控制字 D1D0 确定是工作于同步方式还是异步方式。D1D0=00 为同步方式,当方式设为同步时,方式控制 字后必须装入 同步字符,并由同一个方式控制字规定装入单同步字符还是双同步字符;D1D000 为 异步方式,且有 3 种组合来 选择输入的时钟频率与波特率之间的系数。 D3D2 确定每个字符的数据位(不包括奇偶校验位) 。 2 D5D4 确定是否校验和奇偶校验的性质。 D7D6 含义因同步方式或异步方式而异。异步方式(D1D000)时用来确定停止位个数。同步方式时 D6 用来确定 是内同步(SYNDET 脚为输出)还是外同步(SYNDET 为输入) ,D7 用来确定同步字符个数。 外同步方式时,同步字 符只用于发送,接收时不作用。 例:某异步通讯,数据位为 8 位,1 位起始位、2 位停止位、奇校验、波特率系数为 16。 则有:11011110B=0DEH MOV DX,309H ;8251A 命令口 MOV AL,0DEH OUT DX,AL (2)工作命令控制字 D0 设置为 1 允许 8251A 开始发送操作。只有命令字的 D0=1,引脚 TXDRY(通知 CPU:发送器准备 好)才可能有效(为 1) 。可作为发送中断屏蔽位。 D1 设置为 1 强制引脚 DTR 有效,表示数据终端准备好,通知调制解调器:8251A 已准备好。 D2 设 置为 1 允许 8251A 开始接收数据。只有命令字 D2=1,RXRDY 才有可能为 1。允许接收时必须使错误标 志复位(见 D4) 。在同步方式时还必须指定进入同步搜索操作(见 D7) 。 D3 设置为 1 迫使 TXD 端发送低电平,以此作断点字符。 D4 设置为 1 则对状态字中的所有操作出错标志(FE,OE,PE)复位。 D5 设置为 1 强制 RTS 引脚(请求发送)有效,向调制解调器提出发送请求。 D6 设置为 1 强制 8251A 内部复位,使之回到准备接收方式字的状态。 D7 只用于同步方式。为使 8251A 进入同步搜索操作,将输入的信息和同步字符比较。 (3)状态字 状态字的作用是 8251A 向 CPU 送去数据传送操作中的各种状态信息。方式字,同步字符,命令字 都是 CPU 写入 8251A 的,以控制 8251A 的工作方式和操作。那么,8251A 在发送,接收数据的过程中 实际工作状态如何呢?如一个字符接收全了 没有?接收的数据有没有错误?有什么类型的错 误?发 送缓冲器空了没有?发送移位寄存器空了没有?等等,这些在发送/接收数据操作过程中的状态信息随 时寄存在 8251A 内部的状态冲寄存器内,CPU 可以通过 I/O 读操作(=1)把状态字读入加以分析,控 制 CPU 和 8251A 之间的数据交换。 状态位 D0(TXRDY)发送器准备好。状态位 D1(RXRDY)接收准备好。 状态位 D2(TxE)发送器空。状态位 D3(PE)奇偶校验错标志 状态位 D4(OE)溢出(覆盖)错误标志。状态位 D5(FE)帧格式错误标志 状态位 D6(SYNDET)同步检测。状态位 D7(DSR)数据装置准备好。 3 3 设计过程 3.1 电路设计 本次设计利用实验机内的 8253 芯片的分频作为 8251 的收发时钟频率。利用实验机内小键盘,每 按动一次任一数字键 ,就把该键值通过 8251 发送给 PC 机接收,并在 PC 机屏幕上显示出该键值。 图 3.1 8251 与 CPU 的连接 3.2 硬件设计 采用最简单的发送线 TxD、接收线 RxD 和 地线 GND 三 根线连接就能进行通信。采用 8251A 作为 接口的主芯片再配置少量附加电路,如波特率发生器、 RS232C 与 TTL 电平转换电路、地址译码电 路等就可构成一个串行通信接口。 3.3 软件设计 (1) 程序流程图 4 开始 8253初始化 写8253定时器初值 设置0AH号中断向量 8251初始化 显示提示信息 CPU接受键入字符 8251TxRDY 8251串行发送字符 开放IRQ2中断 开中断 等中断 是结束符“!”/ 禁止IRQ2中断 返回DOS 结束 Y Y N N 主程序流程图 开始 保护现场 串行接受字符并保存 显示接受字符 恢复现场 发中断结束命令 中断返回 结束 中断服务程序流程图 图 3.2 主程序流程图 图 3.3 中断服务程序流程图 (2)程序清单 CODE SEGMENT ;PC8251.ASM,8251TXDPCRXD ASSUME CS:CODE SECOPORT EQU 03F9H SEDAPORT EQU 03F8H PA EQU 0FF21H ;字位口 PB EQU 0FF22H ;字形口 PC EQU 0FF23H ;键入口 ORG 1A00H START: JMP START0 BUF DB KZ DB LCNTKZ DW ;LKEY DB 5 ZP DW DATA1: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1HDB86 H,8EH,0FFH,0CH,89H,0DEH,0C7H,8CH,0F3H,0BFH,8FH START0: CALL FOR8251 MOV ZP,OFFSET BUF CALL BUF1 ;DISP:8251-1 REDIKEY: CALL DISPKEY CMP KZ,10H JC WATTXD JMP FUNCKEY WATTXD: MOV DX,SECOPORT IN AL,DX TEST AL,01H JZ WATTXD MOV AL,KZ MOV DX,SEDAPORT OUT DX,AL MOV BX,ZP MOV BX,AL CMP BX,OFFSET BUF+5 JZ ZP1 INC BX MOV ZP,BX JMP REDIKEY ZP1: MOV ZP,OFFSET BUF JMP REDIKEY FUNCKEY: CMP KZ,1FH JNZ REDIKEY CALL BUF2 ;GOOD MONIT: CALL DISP JMP MONIT DISPKEY: CALL DISP CALL KEY XD: MOV BX,LCNTKZ 6 MOV CX,BX MOV AH,AL CMP AL,CH JE XD1 MOV CL,88H XD1: DEC CL CMP CL,82H JE XD3 CMP CL,0EH JE XD3 CMP CL,00H JE XD2 MOV AL,20H JMP XD3 XD2: MOV CL,0FH XD3: MOV BX,LCNTKZ MOV CH,AH MOV BX,CX MOV KZ,AL RET KEY: MOV AL,0FFH MOV DX,0FF22H OUT DX,AL MOV BL,00H MOV AH,0FEH MOV CX,08H KEY1: MOV AL,AH MOV DX,0FF21H OUT DX,AL ROL AL,01H MOV AH,AL NOP NOP NOP NOP 7 NOP NOP MOV DX,0FF23H IN AL,DX NOT AL NOP NOP AND AL,0FH JNZ KEY2 INC BL LOOP KEY1 JMP NKEY KEY2: TEST AL,01H JE KEY3 MOV AL,00H JMP KEY6 KEY3: TEST AL,02H JE KEY4 MOV AL,08H JMP KEY6 KEY4: TEST AL,04H JE KEY5 MOV AL,10H JMP KEY6 KEY5: TEST AL,08H JE NKEY MOV AL,18H KEY6: ADD AL,BL CMP AL,10H JNC FKEY MOV BL,AL MOV BH,0H MOV SI,OFFSET DATA2 MOV AL,BX+SI RET 8 NKEY: MOV AL,20H FKEY: RET DATA2:DB 07H,04H,08H,05H,09H,06H,0AH,0BH,DB 01H,00H,02H,0FH,03H,0EH,0CH,0DH FOR8251: CALL T8253 MOV AL,65H OUT DX,AL MOV DX,03F9H MOV AL,25H OUT DX,AL MOV DX,03F9H MOV DX,65H OUT DX,AL MOV DX,03F9H MOV AL,4EH OUT DX,AL MOV DX,03F9H MOV AL,25H OUT DX,AL RET T8253: MOV DX,43H ;9600 MOV AL,76H OUT DX,AL MOV DX,41H MOV AL,0CH OUT DX,AL MOV DX,41H MOV AL,00H OUT DX,AL MOV DX,03F9H MOV DX,03F9H RET DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H ;显示子程序 ,5MS 9 MOV BX,OFFSET BUF DIS1: MOV AL,BX MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,BX POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX DIS2: MOV CX,00A0H INC BX ROR CL,1 ;SHR CL,1 JMP DIS1 LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET BUF1: MOV BUF,08H MOV BUF+1,02H MOV BUF+2,05H MOV BUF+3,01H MOV BUF+4,17H MOV BUF+5,01H RET BUF2: MOV BUF,09H MOV BUF+1,00H MOV BUF+2,00H MOV BUF+3,0DH MOV BUF+4,10H MOV BUF+5,10H 10 RET BUF3: MOV BUF,0EH MOV BUF+1,18H MOV BUF+2,18H MOV BUF+3,10H MOV BUF+4,10H MOV BUF+5,10H RET CODE ENDS END START 11 4 验证测试 采用 DICE-8086 对本设计进行验证。在 P.态下,运行实验程序,如在 PC 机和实验系统联机状态下, 可用鼠标左键单击菜单栏“文件”或工具栏“新建图标” , 建立以“.ASM”为后缀的文件,输入源文 件并保存,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中 “R 运行”或工具图标运行,运行后的结果如图 4.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论