实验一流水灯一、设计任务循环点亮8盏灯二、设计步骤1、电路设计2、程序设计ORG0000HSTART:MOVR2,#08HMOVA,#0FEH;FEH=11111110亮一盏灯NEXT:MOVP1,AACALLDELAY;延时RLA;左移,亮下一盏灯DJNZR2,NEXT;减1不等于0(8盏灯没亮完),转移到NEXTSJMPSTARTDELAY:MOVR3,#0FFHDEL2:MOVR4,#0FFHDEL1:NOPDJNZR4,DEL1DJNZR3,DEL2RETEND3、编译程序4、电路仿真三、思考题1、计算每盏灯亮的时间。如果想加快或者降低流水灯的循环速度,如:显示速度加快一倍或者降低一倍,应该怎样修改程序?答:机器周期=12*振荡周期=12*(1/12MHz)=1us需要1+{[1+(1+2)*255]+2}*255+2个机器周期所以,需要195843个机器周期=195843us=0.195843s显示速度加快一倍方法:将DEL2:MOVR4,#0FFH修改为DEL2:MOVR4,#7FH(将原来的#0FFH减少一半)显示速度降低一倍方法(修改延时程序):DELAY:MOVR3,#0FFHDEL3:MOVR5,#02HDEL2:MOVR4,#0FFHDEL1:NOPDJNZR4,DEL1DJNZR3,DEL2DJNZR5,DEL3RET2、元件AT89C51、RES、CAP、CAP-ELEC、CRYSTAL、BUTTON、LED-YELLOW分别在哪个元件库中获取?答:元件AT89C51从MCS8051元件库中获取元件RES、CAP、CAP-ELEC、CRYSTAL从DEVICE元件库中获取元件BUTTON、LED-YELLOW从ACTIVE元件库中获取3、如果将8个LED反向,阴极端全部接地,应该怎样修改电路和程序?将修改后项目以01-1文件名保存。答:将MOVA,#0FEH改为MOVA,#01H电路修改见01-1文件夹4、观察全速运行、单步运行和跟踪运行的区别,不要书面作答。5、单步运行时,观察当前各个寄存器的值,不要书面作答。