- 16
- 0
- 约7.82千字
- 约 56页
- 2022-03-25 发布于广东
- 举报
* * 8.3.4 用串行口扩展I/O接口 【例8-3】利用单片机串行口扩展16位并行输入口,如图8.15所示。编写程序,读入5组并行I/O口输入的16位数据,并存储到内部RAM缓冲区。 80C51单片机的串行口的方式0可以用于并行I/O口扩展。 * * 解:C51语言程序如下: #includereg52.h #includeintrins.h #define uchar unsigned char uchar inData[10]; uchar n; sbit P10=P1^0; void receive2B(void) //读入2个字节数据 { uchar i; P10=0; //74LS165装入数据 _nop()_; P10=1; //启动移位输入 ES=0; //关闭串行口中断 * * for(i=0;i2;i++) { while(RI==0) //查询方式读入数据 RI=0; inData[i+2*n]=SBUF; } ES=1; //开放串行口中断 } void main( ) { SCON=0x10; //串行口方式0,允许输入 for(n=0;n
原创力文档

文档评论(0)