预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共28页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章I/O接口扩展设计及应用并行接口的基本概念可编程并行接口芯片8255A/CS 7.2.28255A的操作说明 18255工作方式 方式0:基本式输入输出 方式1:选通式输入输出 方式2:双向传送方式8255A的扩展接口电路MOV A,#98H ;方式控制字→A MOV DPTR,#7FFFH ;选通控制寄存器 MOVX@DPTR,A ;方式控制字送入8255A MOV DPTR,#7FFCH ; MOVXA,@DPTR ;读PA口数据 MOV DPTR,#7FFDH ; MOVX@DPTR,A ;送PB口输出例7-4在一个8031的应用系统中,利用扩展8255A设计一个EPROM2764编程器,要求8255A的PA口作为D0~D7数据输出口,PB口作为低8位地址口,PC口作为高5位的地址口。并将起始地址设定为ADR1,长度为L16的外扩RAM中用户程序固化到起始地址为ADR2的2764EPROM中。EPROM编程器逻辑图用户程序固化子程序框图①对8255的初始化编程用下列程序实现: START:MOVDPTR,#7FFFH ;选通控制寄存器 MOVA,#80H ; MOVX@DPTR,A ;方式控制字送接口 MOVA,#0FH ;置/复位控制字 MOVX@DPTR,A ;1→PC7,2764编程无效START1:MOVDPTR,#addr1 ;RAM起始地址→DPTR MOVR4,#addr2L ; MOVR5,#addr2H ;EPROM起始地址→R5,R4 MOVR6,#L16L ;长度→R7,R6 MOVR7,#L16H ; MOVA,R6 JNZ LOOP DECR7 ;调整长度值LOOP:MOVX A,@DPTR ;取RAM中数据 INC DPTR ;RAM地址指针加1 PUSH DPL ; PUSH DPH ;RAM地址压入堆栈 MOV DPTR,#07FFCH ;A口地址→DPTR MOVX @DPTR,A ;数据→A口 INC DPTR ;选通B口地址 MOV A,R4 ; MOVX @DPTR,A ;低8位地址→B口 INC DPTR ;选通C口地址 MOV A,R5 ; ANL A,#1FH ;地址高5位PC0~PC4 SETB ACC.6 ;0→PC7 MOVX @DPTR,A ;开始写EPROM MOV A,R4 ; INC A ;EPROM地址加1 MOV R4,A ; JNZ LOOP1 ;若A不为0转LOOP1 INC R5 ;否则R4有进位到高位,即R5加1 LOOP1:ACALLDL50 ;延时DL50子程为50ms延时子程序 MOV DPTR,#7FFFH ; MOV A,#0FH;1→PC7(控制口), MOVX @DPTR,A ;停止编程 POP DPH ; POP DPL ;RAM地址指针出栈 DJNZ R6,LOOP ; DJNZ R7,LOOP;长度减为0结束,非0继续 RET7.4用TTL芯片扩展简单的I/O接口 1.用74LS377扩展8位输出端口2.用74LS373扩展一个8位并行输入口 ORG 0 LJMP BEGIN ; ORG 03H ;入口地址 LJMP PINT0 ;初始化 BEGIN:SETB IT0 ;下降沿触发 MOV R0,#30H ;数据缓冲首址 SETB EX0; ;开中断 SETB EA ;CPU开中断  …  ;中断服务: PINT0:MOVDPTR,#07FFFH ;指向373输入口 MOVX A,@DPTR ;读入 MOV @R0,A ;送数据缓冲区 INC R0 ;修改R0指针 RETI ;返回输入接口输出接口扩展逻辑①8位并行输出口74LS273,由P2.7和相“或”控制,地址为7FFFH MOV DPTR,#7FFFH MOV A,#DATA MOVX @DPTR,A7.5显示器与键盘接口入口:显示数据首址送R0 DIR: MOV P2,#7FH ;P2.7=0 MOV R1,#0FFH ;R1指向L1 MOV DPTR,#TAB ;段码表首址 MOV R7,#4 ; DIR1: MOV A,@R0 ;取要显示数据 ANL A,#0FH MOVC A,@A+DPTR ;查表 CPL A ;取反 MOVX @R1,A ;送段码显示 INC R0 ;指向下一个要显示数据 DEC R1 ;指向下一个LED DJNZ R7,DIR1 ;未完继续 RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7