试用8051串行口扩充I/O口,控制16个发光二极管,画出电路并编写显示程序。
正确答案:
将8051的串行口扩充为I/O口,最常用的方式是外接移位寄存器74164,原理图如下:
对应的程序可写成:
MOV R0,DBUF; 显示缓冲区指针
MOV SCON,0; 初始化,设置串口工作方式
SETB P0.1
CLR P0.1; 移位寄存器清零
MOV A,@R0; 读数据
MOVX ABUF,A;显示
JBC TI,$; 等待传输完毕
CLR TI; 清除发送中断标志
INC R0; 移动显示区指针
MOV A,R0; 读下一位
MOVX SBUF,A
JBC TI,$
CLR TI
END
对应的程序可写成:
MOV R0,DBUF; 显示缓冲区指针
MOV SCON,0; 初始化,设置串口工作方式
SETB P0.1
CLR P0.1; 移位寄存器清零
MOV A,@R0; 读数据
MOVX ABUF,A;显示
JBC TI,$; 等待传输完毕
CLR TI; 清除发送中断标志
INC R0; 移动显示区指针
MOV A,R0; 读下一位
MOVX SBUF,A
JBC TI,$
CLR TI
END
答案解析:有
微信扫一扫手机做题