实验四(一) 串并转换实验(2学时).docVIP

  • 17
  • 0
  • 约1.08千字
  • 约 2页
  • 2020-10-05 发布于浙江
  • 举报
实验四(一) 串并转换实验(2学时) 二、实验内容 (1)在实验箱上完成: 利用8031串行口和串行输入并行输出移位寄存器74LS164,扩展一个8位输出通道,用于驱动一个共阳极数码显示器,在数码显示器上循环显示8031串行口输出的0~9这10个数字 三、实验说明 串行口工作在方式0时,可通过外接移位存储器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。 共阳极数码管的0~9的显示码如下0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09 四、实验步骤 ⑴将串并单元DATA插孔接P3.0插孔。 ⑵将串并单元CLK插孔接P3.1插孔。 ⑶将串并单元CLR插孔接地址线A9下方CLR插孔。上电时对164复位。 ⑷执行程序 ⑸在串并单元数码管上循环显示0~9这10个数字。 #includereg51.h #define uchar unsigned char #define uint unsigned int uint num,i=0; uchar code Table[]={0x03,0x9F,0x25,0x0D,0x99, 0x49,0x41,0x1F,0x01,0x09}; void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; SCON=0x00; while(1); } void T0_() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num==10) { num=0; i++; if(i==10) { i=0; } SBUF=~Table[i]; } }

文档评论(0)

1亿VIP精品文档

相关文档