微机原理与接口技术报告Word格式.docx
《微机原理与接口技术报告Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术报告Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。
8255管脚图
1)与CPU连接部分
根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:
(1)数据总线DB:
编号为D0~D7,用于8255与CPU传送8位数据。
(2)地址总线AB:
编号为A0~A1,用于选择A、B、C口与控制寄存器。
(3)控制总线CB:
片选信号、复位信号RST、写信号、读信号。
当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
2)与外设接口部分
根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:
(1)A口:
编号为PA0~PA7,用于8255向外设输入输出8位并行数据。
(2)B口:
编号为PB0~PB7,用于8255向外设输入输出8位并行数据。
(3)C口:
编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
3)控制器部分
8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。
如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:
(1)A组控制器:
控制A口与上C口的输入与输出。
(2)B组控制器:
控制B口与下C口的输入与输出。
2.74LS07简介
74LS07是集电极开路输出的六缓冲器/驱动器。
管脚排列如下图,其中14脚Vcc接+5V电源,7脚GND接电源地,1A是通道1的输入端、1Y是通道1的输出端,2A是通道2的输入端、2Y是通道2的输出端,依此类推。
输出和输入是同相位的,但是输出端要通过电阻外接到正电压上,这个外接正电压最高可以达到30V。
3.键盘设置
PA0
PA1
PA2
PA3
PC0
6
上档键
0/7
1/8
PC1
2/9
3/.
4
5
三、电路原理图、连线图
电路原理图
电路连线图
四、程序流程图
流程图
五、源程序
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
TABLEDB7DH,00H,3FH,06H,5BH,4FH,66H,6DH,00H,07H,7FH,6FH,80H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVSI,3000H
MOVAL,00H
MOV[SI],AL
MOV[SI+1],AL
MOV[SI+2],AL
MOV[SI+3],AL
MOVDI,3003H
MOVAL,81H
MOVBX,0000H;
设置标志位
PUSHBX
OUT63H,AL
BEGIN:
CALLDIS
CALLCLEAR
CALLCCSCAN
JNZINK1
JMPBEGIN
INK1:
CALLDIS
CALLDALLY
JNZINK2
INK2:
MOVCH,0FEH
MOVCL,00H
COLUM:
MOVAL,CH
OUT60H,AL
INAL,62H
TESTAL,01H
JNZLONE
TESTCH,0002H;
测试1键
JZDetectShift
JMPKCODE
DetectShift:
POPBX;
上档子程序
NOTBX
LONE:
TESTAL,02H
JNZNEXT
MOVAL,04H
KCODE:
POPBX
TESTBX,0FFFFH;
测试标志位
JNZKCODE1;
如果标志位有效,跳至KCODE1
ADDAL,CL
CALLPUTBUF
PUSHAX
JMPKON
KCODE1:
PUSHBX
ADDAL,07H
KON:
JNZKON
POPAX
NEXT:
INCCL
MOVAL,CH
TESTAL,08H
JZKERR
ROLAL,1
MOVCH,AL
JMPCOLUM
KERR:
CCSCAN:
MOVAL,00H
NOTAL
ANDAL,03H
RET
CLEAR:
OUT61H,AL
DIS:
MOVSI,3000H
MOVDL,0F7H
MOVAL,DL
AGAIN:
OUT60H,AL
MOVAL,[SI]
MOVBX,OFFSETTABLE
ANDAX,00FFH
ADDBX,AX
MOVAL,[BX]
INCSI
JZOUT
RORAL,1
MOVDL,AL
JMPAGAIN
OUT:
DALLY:
PUSHCX
MOVCX,0010H
T1:
MOVAX,0010H
T2:
DECAX
JNZT2
LOOPT1
POPCX
PUTBUF:
MOVSI,DI
DECDI
CMPDI,2FFFH
JNZGOBACK
GOBACK:
RET
CODEENDS
ENDSTART
六、总结与讨论
本次课程设计历时两周,这两周我们都很积极的去实验室测试程序,读程序,两周过得很快,这短短的时间,也让我学到了很多以前不知道的东西,对汇编程序也有了很大的了解,对接口设计也是了解的非常多,很感谢组员的积极配合,老师的教导,以后还是很希望能有这样的锻炼机会。