利用8255扩展单片机的并口,实现2个开关对2位数码管的显示控制,要求当开关K1按下时数码管显示内容加1,K2按下时数码管显示内容减1。 要求设计硬件电路、编写并调试程序,在PROTEUS中仿真实现。提交电路图、程序清单和仿真图。

(2)程序如下: - ORG 0000H
- LJMP MAIN
- ORG 0003H
- LJMP KEY1
- ORG 0013H
- LJMP KEY2
- ORG 0030H
- MAIN:MOV IE,#0FFH
- MOV TCON,#0AH
- MOV A,#80H
- MOV DPTR,#0FFFFH
- MOVX @DPTR,A
- STAR:MOV R2,#24
- MOV A,R2
- MOV B,#10
- DIV AB
- ACALL LOOP
- LCALL DELAY
- MOV A,#02H
- LCALL LOOP1
- MOV A,B
- ACALL LOOP
- LCALL DELAY
- MOV A,#01H
- LCALL LOOP1
- LJMP STAR
- LOOP:MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV DPTR,#0FFFCH
- MOVX @DPTR,A
- RET
- LOOP1:MOV DPTR,#0FFFDH
- MOVX @DPTR,A
- RET
- KEY1:INC R2
- RETI
- KEY2:DEC R2
- RETI
- DELAY:MOV R6,#49
- aa:NOP
- NOP
- DJNZ R3,aa
- NOP
- NOP
- NOP
- RET
- TAB:DB 0C0H,0F9H,0A4H,0B0H,99H
- DB 92H,82H,0F8H,80H,90H
- SJMP $
- END
复制代码

完整的Word格式文档51黑下载地址:
第五次大作业.docx
(59.05 KB, 下载次数: 19)
|