并转串的I/O口实验及8×8LED扫描输出实验桂林电子科技大学单片机原理实验报告实验名称并转串的I/O口实验及8×8LED扫描输出实验辅导员意见:信息与通信学院通信工程专业作者学号实验日期年月日成绩:一.实验目的熟悉并掌握并转串的I/O口扩展方法。二.实验设备及器件IBMPC机一台DP‐51PRO单片机综合仿真实验仪一台三.实验内容1.编写程序,通过单片机的P1口控制74HC165的串行数据输入端口,实现并串转换。2.采用8位的拨码开关作为输入数据,验证程序设计的正确性。3.编写一段程序,用P1口控制扫描,用C5区的74HC164控制显示输出,使C3区的8×8LED点阵显示一个“×”四.实验要求1.熟悉并串转换芯片的工作原理,学会使用并串转换芯片扩展单片机的I/O口资源2.学会使用单片机对LED点阵进行扫描显示。五.实验步骤1.短接C4区JP11跳线,将C4区J90接口与A2区J61接口的P10~P15对应相连(/PL对应连接P10等等)。如图3.1实验原理图。2.将D1区的J54接口连接到C4区J98并行数据输入接口,设置拨码开关SW1~SW8的状态。3.打开程序调试软件,下载运行编写好的软件程序,完成一次并串转换操作,把拨码开关的状态读出来。4.查看程序运行结果是否正确。8×8LED扫描输出实验1.使用导线把A2区的J61接口与C3区的J46接口从P10~P17到LD_1~LD_8对应相连。2.使用导线把C5区的J97接口与C3区的J47接口从Q0~Q7到LD_A~LD_H对应相连。3.使用导线把A2区的J58接口和C5区的J43接口从INT0到CLK、从INT1到DINA、从T0到DINB、从T1到CLR对应相连,另外再短接C5区JP10和C3区JP2。4.参考实验七编写一段从74HC164输出八位数据的程序。5.再编写一个完整的LED点阵扫描程序,显示“×”。六.实验参考程序并转串的I/O口实验PLEQUP1.0CLK1EQUP1.1CLK2EQUP1.2SEREQUP1.3Q7EQUP1.5ORG8000HLJMPMAINORG8100HMAIN:MOVSP,#60H;设置堆栈指针MOVR4,#00;延时DJNZR4,$MOVA,#0;变量清零SETBQ7;Q=1,端口设置为输入状态CLRSER;SER=0CLRCLK2;CLK2=0CLRPL;/PL=0NOP;锁存并行输入数据SETBPL;/PL=1NOPMOVR4,#08H;设置循环变量CLRCLK1PLCHG:MOVC,Q7;读入一位串行数据RLCASETBCLK1;时钟脉冲NOPCLRCLK1NOPCLRCLK1NOPDJNZR4,PLCHGMOVR7,A;保存数据,8个拨码开关的状态保存于R7中SJMP$;完成一次并串转换,在此设置断点,查看R7的内容。;END8×8LED扫描输出实验CLKEQUP3.2DINAEQUP3.3DINBEQUP3.4CLEAREQUP3.5ORG8000hAJMPmainORG8100hmain:MOVSP,#70h;设置堆栈指针MOV50H,#07EH;设置发送的列数据MOV51H,#0BDHMOV52H,#0DBHMOV53H,#0E7HMOV54H,#0E7HMOV55H,#0DBHMOV56H,#0BDHMOV57H,#07EHCLRCLEAR;初始化IO口SETBCLKSETBDINASETBDINBSETBCLEARmainloop:MOVR6,#8h;设置扫描次数MOVDPTR,#09000h;读取扫描端口数据MOVR1,#50H;指定列数据指针flashcy:MOVA,@R1;读取列数据MOVR0,AINCR1;列数据指针加1CLRAMOVCA,@a+DPTR;读取扫描端口数据MOVP1,0FFHLCALLsendto;发送列数据MOVP1,aINCDPTRLCALLDELAYDJNZR6,flashcySJMPmainloopsendto:;发送数据程序PUSHACCCLRCLKSENDTIME:MOVR7,#08HMOVA,R0CLRCSENDCY:RRCAMOVDINA,CSETBCLKCLRCLKDJNZR7,SENDCYPOPACCRETDELAY:;延时程序MOVR7,#01DELAY0:MOVR4,#17DELAY1:MOVR3,#28DJNZR3,$DJNZR4,DELAY1DJNZR7,DELAY0RETORG09000HDB0FEh,0FDh,0FBh,0F7h,0EFh,0DFh,0BFh,07Fh;END七实验总结由于理论课跟实验脱节严重,而本次实验的程序又较长较复杂,所以对于本次实验的理解存在很多问题。