用AT89S52串行口外加移位寄存器74LS165扩展8位输入口,输入数据由8个开关(K1~K8)提供,另有一个开关K9提供联络信号,当K9=0时,表示要求输入数据。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ;6-2
- ORG 0000H
- AJMP MAIN
- ORG 0023H ;串行口中断入口地址
- AJMP SBR ;转入串行口中断服务程序
- ORG 0030H ;主程序起始地址
- MAIN: MOV SCON ,#10H ;串行口方式0初始化
- JB P1.1, $ ;开关K未闭合,等待
- MOV IE,#90H ;书上91页
- SJMP $ ;等待中断
- SBR : CLR P1.0 ;S/L=0,并行置入数据
- SETB P1.0 ;S/L=1,开始串行移位
- CLR RI ;清发送中断标志
- MOV A,SBUF
- MOV P0,A
- RETI ;中断返回
- END
复制代码
所有资料51hei提供下载:
汇编51单片机串行方式0通过中断接收74LS165信息.rar
(52.38 KB, 下载次数: 12)
|