8255控制打印机完整版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.

一、设计基本原理说明及系统资源分配

1. 工作原理说明

本次设计采用8255A工作方式0,其A口充当打印机数据线,C口的PC0接打印机选通信号线,C口的PC4接打印机“忙”线BUSY,B口不用,8255A的初始化可以通过74LS138译码器来实现。为了用键盘来设定打印内容,可以先定义一个数据段,然后调用DOS的1号功能完成数据存储。在满足一定的条件下,CPU现将打印内容依次送到8255A,然后再送到打印机打印,数据全部传送并打印完毕后退出程序。

2. 资源分配

⑴A端口作为传输字符的通道,工作于方式0,输出方式。

⑵B端口不用。

⑶C口的PC0接打印机选通信号线,PC4接打印机“忙”线BUSY。

⑷设CPU为8086,8255A的端口地址为:

A端口: 00D0H C端口: 00D4H

B端口: 00D2H 控制口:00D6H

.

二、程序流程图

三、设计方案

采用查询方式传输数据实现对打印机控制:(自定义打印字符串)参考程序:

PRT_DATA EQU 5FFFH

PRT_STRO EQU P1.5

PRT_BUSY EQU P1.7

ORG 0000H

LJMP START

ORG 0040H

START: MOV SP,#60H

SETB PRT_STRO

SETB PRT_BUSY

MOV DPTR,#PRT_TAB

MOV R0, #00H

PR_STR: MOV A, R0

MOVC A,@A+DPTR

CJNE A,#0FFH,PRINT

SJMP $

PRINT:

LCALL PRT_CHAR

INC R0

AJMP PR_STR

PRT_CHAR:

PUSH PSW

PUSH DPH

PUSH DPL

SETB PRT_BUSY

NOP

JB PRT_BUSY,$

MOV DPTR,#PRT_DATA

MOVX @DPTR,A

SETB PRT_STRO

CLR PRT_STRO

NOP

NOP

SETB PRT_STRO

POP DPL

POP DPH

POP PSW

RET

PRT_TA DB 0AH,27,1BH,38H,1,0AH,0AH, 0DH,0FFH

PRT_TAB DB 0DH,31H,32H,33H,34H,35H,36H,37H,38H,39H,0AH,0FFH END

四、硬件电路总体设计

硬件电路总体设计见附录A

五、软件程序设计

1. 软件设计思路

应用系统中的应用软件是根据系统功能要求设计的,应该可靠地

实现系统的各种功能。一个优秀的应用系统的软件应具有下列特点:(1)根据软件功能要求,将系统软件分成若干个相对独立的部分。设计出软件的总体结构,使其结构清晰、简捷、流程合理。

(2)要树立结构化程序设计风格,各功能程序实现模块化、子程序化。既便于调试、链接,又便于移植、修正。

(3)建立正确的数学模型。即根据功能要求,描绘出各个输入和输出变量之间的数学关系,它是关系到系统性能好坏的重要因素。

(4)为提高软件设计的总体效率,以简明、直观的方法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。

(5)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断资源等。

(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。

2. 软件设计流程图

打印机程序控制流程图如图3所示

图3 软件设计流程图3. 软件设计源程序

软件设计源程序见附录B

参考文献

[1] 李朝青. 单片机原理及接口技术. 北京:北京航空航天大学出版社,2006

[2] 华光,陈大钦. 电子技术基础(模拟部分). 北京:高等教育出版社,1999

[3] 康华光,邹寿彬. 电子技术基础(数字部分). 北京:高等教育出版社,2000

[4] 何立民. 单片机应用技术选编. 北京:北京航空航天大学出版社,2000

[5] 何立民.单片机应用系统设计系统配置与接口技术. 北京:北京航空航天大学出版社,1990

[6] 李广弟. 单片机基础. 北京:北京航空航天大学出版社,1994

[7] 张伟,张杰. 单片机原理及应用. 北京:机械工业出版社,2005

[8] 汉才. 单片机原理与接口技术. 北京:清华大学出版社,1996

. 附录A:硬件原理图

.

附录B:8255控制微型打印机的软件源程序

CODE_K1 EQU 01H

CODE_K2 EQU 02H

CODE_K3 EQU 03H

CODE_K4 EQU 04H

IRCOM EQU 30H

COM EQU 32H

IRIN EQU P3.2

WLED EQU P1.2

ORG 0000H

JMP BEGIN

ORG 0030H

BEGIN: ACALL BZ

SETB IRIN

ACALL LED_BL

LOOP : MOV R0,#IRCOM;

ACALL IR_IN

ACALL OP

JMP LOOP

DELAY: MOV R6,#50

D1: MOV R7,#100

相关文档
最新文档