资源描述:
《实验八 串行接口实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验八串行接口实验微电子学【实验目的】1、掌握8031串行口方式1的工作方式及编程方法。2、掌握串行通讯中波特率的设置,在给定通讯波特率的情况下,会计算定时时间常数。3、掌握串行口工作方式的程序设计和单片机通讯程序的编制方法。【实验原理】MCS-51单片机串行通讯的波特率随串行口工作方式选择的不同而不同,它除了与系统的振荡频率f,电源控制寄存器PCON的SMOD位有关外,还与定时器T1的设置有关。1、在工作方式0时,波特率固定不变,仅与系统振荡频率有关,其大小为f/12。2、在工作方式2时,波特率也只固定为两种情况:当
2、SMOD=1时,波特率=f/32当SMOD=0时,波特率=f/643、在工作方式1和3时,波特率是可变的:当SMOD=1时,波特率=定时器T1的溢出率/16当SMOD=0时,波特率=定时器T1的溢出率/32其中,定时器T1的溢出率=f/(12*(256-N)),N为T1的定时时间常数。在实际应用中,往往是给定通讯波特率,而后去确定时间常数。例如:f=6.144MHZ,波特率等于1200,SMOD=0时,则:1200=6144000/(12*32*(256-N)),计算得N=F2H。【实验内容】1.利用8031串行口发送
3、和接收数据,并将接收的数据通过扩展I/O口74LS273输出到发光二极管显示,结合延时来模拟一个循环彩灯。设置串行口工作于方式1,SMOD=0,波特率为1200。循环彩灯的变化花样也可自行设计。实验连线:8031的TXD接RXD;74LS273的CS273接CS0;O0~O7接发光二极管的L1~L8。参考程序见D81.ASM2.双机实验:本实验由两人共同完成。分别设计甲、乙两个程序。甲程序为接收程序,在甲机运行,将接收到的字符在数码管上显示出来;乙程序为发送程序,在乙机运行,每次按P-键后发送,每次发送3个字符。通讯协
4、议:[起始字节(05)][3个数据][结束字符0E],B=2400,用串口通信方式1.实验连线:甲机8031CPU板上的RXD接乙机的TXD,甲机的GND接乙机的GND。甲机:显示数码管的连线方式参考以前的实验乙机:P3.3接P-【实验程序与实验现象】程序一实验程序及注释:D81.ASMORG0000HLJMPSTARTORG4100HPORTEQU0CFA0HSTART:MOVTMOD,#20H;选择定时器模式2,计时方式MOVTL1,#0F2H;预置时间常数,波特率为1200MOVTH1,#0F2HMOV87H,#
5、00H;PCON=00,使SMOD=0SETBTR1;启动定时器1MOVSCON,#50H;串行口工作于方式1,允许串行接收MOVR1,#12H;R1中存放显示计数值MOVDPTR,#TABLEMOVA,DPLMOVDPTR,#L1CLRCSUBBA,DPL;计算偏移量MOVR5,A;存放偏移量MOVR0,ASEND:MOVA,R0MOVCA,@A+PC;取显示码L1:MOVSBUF,A;通过串行口发送显示码WAIT:JBCRI,L2;接收中断标志为0时循环等待SJMPWAITL2:CLRRI;接收中断标志清零CLRT
6、I;发送中断标志清零MOVA,SBUF;接收数据送AMOVDPTR,#PORTMOVX@DPTR,A;显码输出ACALLDELAY;延时0.5秒INCR0;偏移量下移DJNZR1,SEND;为零,置计数初值和偏移量初值MOVR1,#12HMOVA,R5MOVR0,AJMPSENDTABLE:DB01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0FEHDB0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH,00HDELAY:MOVR4,#05H;延时0.5秒DEL1:MOVR3,
7、#200DEL2:MOVR2,#126DEL3:DJNZR2,DEL3DJNZR3,DEL2DJNZR4,DEL1RETEND实验结果记录:程序将产生循环彩灯效果。(0代表亮,1代表灭)8个LED灯一开始从00000001方式点亮,接着按00000011方式点亮,接着按00000111方式点亮.,直到全部点亮后。全灭一次,然后再按11111110点亮,接着11111100点亮,直到灯全灭,这样循环往复实验分析:实验结果与实验要求符合,实验成功。将此实验改为中断方式编程,则程序为:ORG4000HLJMPSTARTORG
8、4023HLJMPINTCORG4100HPORTEQU0CFA0HSTART:MOVTMOD,#20HMOVTL1,#0F2HMOVTH1,#0F2HSETBTR1MOVSCON,#50HMOVIE,#90HMOVR1,#12HMOVDPTR,#TABLESEND:MOVA,R0MOVCA,@A+DPTRMOVSBUF,ASJM