8255控制打印机.docx
《8255控制打印机.docx》由会员分享,可在线阅读,更多相关《8255控制打印机.docx(14页珍藏版)》请在冰豆网上搜索。
8255控制打印机
一、设计基本原理说明及系统资源分配
1.工作原理说明
本次设计采用8255A工作方式0,其A口充当打卬机数据线,C口的PC0接打卬机选通信号线,C口的PC4接打卬机“忙”线BUSY,B口不用,8255A的初始化可以通过74LS138译码器来实现。
为了用键盘来设定打印内容,可以先定义一个数据段,然后调用DOS的1号功能完成数据存储。
在满足一定的条件下,CPU现将打印内容依次送到8255A,然后再送到打印机打印,数据全部传送并打印完毕后退出程序。
2.资源分配
⑴A端口作为传输字符的通道,—匸作丁•方式0,输出方式。
(2)B端口不用。
⑶C口的PC0接打印机选通信号线,PC4接打卬机“忙”线BUSY。
(4)设CPU为8086,8255A的端口地址为:
A端口:
00D0HC端口:
00D4H
B端口:
00D2H控制口:
00D6H
PRT_STROEQU
Pl.5
PRT_BUSYEQU
Pl.7
ORG
0000H
LJMP
START
ORG
0040H
START:
MOV
SP,#60H
SETB
PRT_STRO
SETB
PRT_BUSY
MOV
DPTR,#PRT_TAB
MOV
RO,#OOH
R_STR:
MOV
A,RO
MOVC
A,©A+DPTR
CJNEA,#OFFH,PRINT
SJMP
RTVT・
$
LCALL
PRT_CHAR
INC
RO
AJMP
PR_STR
PRT_CHAR:
PUSH
PSW
PUSH
DPH
PUSH
DPL
SETBPRT_BUSY
NOP
JBPRT_BUSY,$
MOV
DPTR,#PRT_DATA
MOVX
@DPTR,A
SETB
PRT_STRO
CLRPRT_STRO
NOP
NOP
SETBPRT_STRO
POPDPL
POPDPH
POPPSW
RET
PRT_TA
DBOAH,27,1BH,38H,1,OAH,OAH,ODH,OFFH
PRT_TAB
DBODH,31H,32H,33H,34H,35H,36H,37H,38H,39H,OAH,OFFH
EXD
四、硬件电路总体设计
硬件电路总体设计见附录A
五、软件程序设计
1.软件设计思路
应用系统中的应用软件是根据系统功能要求设计的,应该可靠地实现系统的各种功能。
一个优秀的应用系统的软件应具有下列特点:
(1)根据软件功能要求,将系统软件分成若干个相对独立的部分。
设计出软件的总体结构,使其结构清晰、简捷、流程合理。
(2)要树立结构化程序设计风格,各功能程序实现模块化、子程序化。
既便于调试、链接,又便于移植、修正。
(3)建立正确的数学模型。
即根据功能要求,描绘出各个输入和输出变量之间的数学关系,它是关系到系统性能好坏的重要因素。
(4)为提高软件设计的总体效率,以简明、直观的方法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。
(5)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断资源等。
(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。
2.软件设计流程图
打印机程序控制流程图如图3所示
上电复位
初始化
图3软件设计流程图
3.软件设计源程序
软件设计源程序见附录B
设计总结:
心得体会
本设计用单片机控制接口芯片8255A的方法,利用89S51作为CPU进行控制,设计一个简易微型打卬机系统,并采用查询方式传输数据。
通过此次的设计对8255A控制方式有了较为深入的认识,并对标准微型并行打卬机接口控制逻辑和接口信号性质和常用打卬机控制代码的格式和使用方法有了初步的了解并初步掌握打卬机驱动程序的设计和调试方法,并对微机方面的学习奠定了基础。
感谢老师在此课程设计中的指导和提示,充分信任我的能力,给予我空间让我充分发挥,我获益良多,并是我重温了相关知识,提高了自己理论知识和动手能力。
参考文献
[1]李朝青.单片机原理及接口技术.北京:
北京航空航天大学出版社,2006
[2]华光,陈大钦.电子技术基础(模拟部分).北京:
高等教育出版社,1999
[3]康华光,邹寿彬.电子技术基础(数字部分).北京:
高等教育出版社,2000
[4]何立民.单片机应用技术选编.北京:
北京航空航天大学出版社,2000
[5]何立民.单片机应用系统设计系统配置及接口技术.北京:
北京航空航天大学出版社,1990
[6]李广弟.单片机基础.北京:
北京航空航天大学出版社,1994
[7]张伟,张杰.单片机原理及应用.北京:
机械工业出版社,2005
[8]汉才.单片机原理及接口技术.北京:
清华大学出版社,1996
附录A:
硬件原理图
-i---
£
J
Y.
一
o
2
・"
拓
o
Xi
三
-
半FFFFFFI
半FFFIT半I
u・iL0frs9fo—eufrs9Lo一zfrs9l
££££££££NNNNNNNN
OiLOffS9Zaaaaaaaa
ssaaassa
rl、
«•
f
r
*—
•—
2
K
s
s
\
f
s
////
sisIsIs
rf
〜.
—|r•I*r|O«—•ZffS9Z££££££££
n
<—
ssss
棘一三igDi一工
附录B:
8255控制微型打印机的软件源程序
CODE_K1EQU01H
C0DE_K2EQU02H
C0DE_K3EQU03H
C0DE_K4EQU04H
IRCOMEQU30H
COMEQU32H
IRINEQUP3.2
WLEDEQUPl.2
ORG0000H
JMPBEGIN
ORG0030H
BEGIN:
ACALLBZ
SETBIRIN
ACALLLED_BL
LOOP:
MOVRO,#IRCOM;
ACALLIR_IN
ACALLOP
JMPLOOP
DELAY:
MOVR6,#50
DI:
MOVR7,#100
DJNZR7,$
DJNZR6,D1
DJNZR5,DELAY
RET
LED_BL:
MOVR4,#4
LEI:
CPLWLED
MOVR5,#10
ACALLDELAY
DJNZR4,LEI
RET
BZ:
MOVR6,#0
Bl:
ACALLDE
DJNZR6,B1
MOVR5,#5
ACALLDELAY
RET
DE:
MOVR7,#180
DEI:
NOP
DJNZR7,DEI
RET
DEL:
MOVR5,#1;0.1MS延时
DELAY1:
MOVR6,#1
El:
MOVR7,#17
E2:
DJNZR7,E2;(17*2*2+2*2+1*2+2*2)*2
DJNZR6,E1
DJNZR5,DELAY1;(
RET
OP:
MOVA,COM
CJNEA,#CODE_K1,Al
ACALLMAIN
RET
Al:
MOVA,COM
CJNEA,#CODE_K2,A2
ACALLMAIN
ACALLMAIN
RET
A2:
MOVA,COM
CJNEA,#CODE_K3,A3
ACALLMAIN
ACALLMAIN
ACALLMAIN
RET
A3:
MOVA,COM
CJNEA,#CODE_K4,A4
ACALLMAIN
ACALLMAIN
ACALLMAIN
ACALLMAIN
RET
A4:
RET
IR_IN:
II:
JNBIRIN,12
JMPII
12:
MOVR4,#6
120:
ACALLDEL
DJNZR4,120
JBIRIN,Il
CLRWLED
121:
JBIRIN,13
ACALLDEL
JMP121
13:
MOVR3,#0
LL:
JNBIRIN,14
ACALLDEL
JMPLL
14:
JBIRIN,15
ACALLDEL
JMP14
15:
MOVR2,#0
LI:
ACALLDEL
JBIRIN,N1
MOVA,#08
CLRC
SUBBA,R2
MOVA,@R0
RRCA
MOV@R0,A
INCR3
CJNER3,#8,LL
MOVR3,m
INCRO
CJNERO,#34H,LL
JMPOK
Nl:
INCR2
CJNER2,#3O,L1
OK:
SETBWLED
RET
MAIN:
CLRPl.3
MOVDPTR,#0ff7fh;
MOVA,#83H;
MOVX@DPTR,A
MOVR6,#OEH;
MOVRO,#OBH;AA:
MOVA,R6
MOVCA,@A+PC;
LCALLAEE
INCR6
DJNZRO,AA;
LCALLHWH
LCALLCR;CC:
RET
TAB:
DB2AH,54H,45H,43H,48H,53H,48H,49H,4EH,45H,2AH
AEE:
JBPl.O,AEE
MOVDPTR,#0ff7cH
MOVX@DPTR,A
CLRPl.1
LCALLYS
SETBPl.1
RET
HWH:
MOVA,#0AH
LCALLAEE
RET
YS:
MOVR7,#leH
MOVR5,#00H
MY1:
DJNZR5,MY1
DJNZR7,MY1
RET
CR:
MOVA,#ODH
LCALLAEE
RET
DELL:
MOVR5,#00H
DELAYY:
MOVR6,#00
Ell:
MOVR7,#01H
E22:
DJNZR7,E22
DJNZR6,E11
DJNZR5,DELAYY
RET
END
EXD
指导教师评语:
课程设计成绩:
指导教师签名:
年月日