实验7___串行数转换并行数实验.docVIP

  • 30
  • 0
  • 约1.01千字
  • 约 4页
  • 2017-06-08 发布于重庆
  • 举报
实验7___串行数转换并行数实验

实验7 串行数转换并行数实验 学号 座机电话号码8 姓名 吴飞 实验目的 1、掌握8031/80C196串行口方式0工作方式及编程方法。 2、掌握用8031/80C196的P1 口的 I/O功能,输出串行数据。 3、掌握利用串行口入 I/O口,扩展I/O通道的方法。 实验内容 利用单片机的串行口和I/O 端口串行输出,利用74LS164移位转换成并行数据,接在LED灯上显示。74LS164置于通用插座上。 实验说明 串行口工作在方式 0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为 8 位,只能从 RXD 端输入输出,TXD 端总是输出移位同步时钟信号,其波特率固定为Fosc/12。对于 80C196CPU 波特率为 Fosc/2 B+1 ,Fosc 为晶振频率,B 为波特率常数。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI 位置 1,TI 必须由软件清零。用串行口工作方式 0 输出数据/时钟,是自动移位输出,用P1端口串行输出数据时,要编程移位数据,输出数据/时钟。对于80C196用串口发数据 时要将 IOC1.5置 1,选择P2.0脚为TXD功能。同时注意用P1口输出位信号时,需要用到‘与’‘或’运算得到相应位。 实验仪器和设备 计算机和LAB2000P实验箱。 所写程序和调试心得(请画出程序流程图和硬件连线图): 程序流程图: 硬件连线图: 程序: #include void Send164 unsigned char b SCON 0; // 串口方式 0 SBUF b; // 输出 b void main Send164 0x55 ; while 1 ; #include sbit DAT P1^0; sbit CLK P1^1; void Send164 unsigned char b unsigned char i; CLK 1; for i 0; i 8; i++ DAT b 1 ; CLK 0; CLK 1; b 1; void main Send164 0x55 ; while 1 ; 实验心得 通过本次试验,掌握单片机串行口方式0的工作方式和使用。并掌握了单片机P1 口的 I/O功能,输出串行数据。 利用串行I/O口,扩展I/O通道的方法。

文档评论(0)

1亿VIP精品文档

相关文档