马世宽微机原理作业分析.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
马世宽微机原理作业分析

微机原理作业 题 目 院:机电学院专 业:姓 名指导老师:2015年月日 图2.1电路图 3.硬件功能 3.1可编程并行通信接口芯片8255A 图3.1 8255内部原理图 图3.2 8255引脚图 3.1.1 并行输入/输出端口A,B,C 8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7~PA0、PB7~PB0、PC7~PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。 3.1.2 A组和B组控制部件 端口A和端口C的高4位(PC7~PC4)构成A组;由A组控制部件实现控制功能。 端口B和端口C的低4位(PC3~PC0)构成B组;由B组控制部件实现控制功能。 A组和B组利用各自的控制单元来接收读写控制部件的命令和CPU通过数据总线(D0~D7)送来的控制字,并根据他们来定义各个端口的操作方式。 3.1.3 数据总线缓冲存储器 三态双向8位缓冲器,是8255A与总线之间的数据接口。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。 3.1.4读/写控制部件 8255A完成读/写控制功能的部件。能接收CPU的控制命令,并根据控制命令向各个功能部件发出操作指令。 CS 片选信号:由CPU输入,有效时表示该8255A被选中。 RD, WR 读、写控制信号:由CPU输入。RD有效表示CPU读8255A,WR有效表示CPU写8255A。RESET 复位信号:由CPU输入。RESET信号有效,清除8255A中所有控制字寄存器内容,并将各个端口置成输入方式。 定义工作方式控制字: 工作方式0:8255A中各端口的基本输入/输出方式。 键盘输入模块 图3.3 8255控制口 3.2键盘 下图是一个4x4键盘的结构图,因为4x4键盘有8个管脚,于是将键盘接8255A的PC口,进行键盘扫描一般要求有一部分的I/O口的工作方式是输入,另一部分I/O是输出,具体到4x4键盘则要求4个I/O引脚输入,另外4个输出,这一点PC口刚好符合,而PA、PB口要么全部输入或输出,所以只能是PC口接键盘。 图3.4 键盘 3.3 LED显示屏 因为要计算-9~9的四则运算,为了显示更加清晰、明了,本次设计共使用了5块LED显示屏,这样就可以显示出输入的算式。电路图如下图所示。 图3.5 LED显示屏 软件设计 4.1 程序流程图 否 是 否 是 否 是 图4.1 主程序流程图 4.2 程序代码 编程也可以主要分为三部分;键盘扫描、数据处理、数码管显示,另外还有译码电路,8255A口的地址是0040H,B口地址为0041H,C口地址为0042H, 控制字寄存器地址0043H。8255A采用的是方式0,A、B口输出,C口的高低四位作为两个4位的端口。 PORT_A EQU 40H ;8255 A口地址 PORT_B EQU 41H ;8255 B口地址 PORT_C EQU 42H ;8255 C口地址 PORT_CTL EQU 43H ;8255 控制口地址 DATA SEGMENT ZIFUCHUAN DB 80 DUP(?) ;保存输入的字符串 NUMBER1 DB 0 ;保存第一个操作数 NUMBER2 DB 0 ;保存第二个操作数 NUMBER1SIGN DB + ;第一个数的符号 NUMBER2SIGN DB + ;第二个数的符号 COMPUTESIGN DB # ;运算符号 H DB 0 ;键盘行号 L DB 0 ;键盘列号 DISCODE ?DB??? 3FH,06H,5BH,4FH,? 66H,6DH,7DH,07H,? 7FH,6FH, 4BH,03H, B4H,30H ;数字及运算符号段码表 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR BEGIN: PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX START1: MOV NUMBER1SIGN,+ MOV

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档