文档介绍:实验一单片机I/O并口视觉实验(流水灯)(仅供参考)开课学院及实验室:xxxx实验时间:xxxx年xx月xx日学生姓名xx学号xx成绩学生所在学院xx年级/专业/班xx课程名称微处理器与微计算机系统课程代码实验项目名称单片机I/O并口视觉实验(流水灯)项目代码4-1指导教师xx项目学分实验目的1、了解简单单片机应用系统的设计方法。2、掌握应用KEIL软件编辑、编译源程序的操作方法。3、掌握应用PROTEUS仿真软件的操作方法。4、掌握C51的编程方法。5、培养良好的实验习惯。 实验内容AT89S52为主控芯片,用PROTEUS仿真设计简单单片机应用系统。编程实现8个发光LED“流水”的现象。实验原理1、流水灯(1)实验原理图(2)流程图:(我自己没画好请自行画)此处略去(2)实验程序1、000H MOVR7,#0FEH;初始:11111110LOOP: MOVP1,R7 LCALLDELAY MOVA,R7 RLA;左移 MOVR7,A SJMPLOOPDELAY: MOVR6,#4H;最外层4次DE1: MOVR5,#250;次外层250次DE2: MOVR4,#250;最外层250次 DJNZR4,$ DJNZR5,DE2 DJNZR6,DE1;共:2us*4*250*250= RET END2、000HLL: MOVR7,#0FEH;左移初始化 MOVR1,#7LOOPL: MOVP1,R7 LCALLDELAY MOVA,R7 RLA MOVR7,A DJNZR1,LOOPL;左移7次后跳至右移LR: MOVR2,#07FH;右移初始化 MOVR1,#7LOOPR: MOVP1,R2 LCALLDELAY MOVA,R2 RRA MOVR2,A DJNZR1,LOOPR;右移7次后跳至左移JJM: SJMPLLDELAY: MOVR6,#4HDE1: MOVR5,#250DE2: MOVR4,#250 DJNZR4,$ DJNZR5,DE2 DJNZR6,DE1 RET END3、000HMAIN: MOVDPTR,#TAB MOVR0,#0 MOVR1,#18MLOOP: MOVA,R0 MOVCA,***@A+DPTR MOVP1,A CALLDELAY INCR0 DJNZR1,MLOOP JMPMAINTAB:DB0E7H,0DBH,0BDH,07EH,0F0H,0E1H,0C3H,087H,00FH,087H,0C3H,0E1H,000H,0FFH,000H,0FFH,000H,0FFHDELAY: MOVR6,#4HDE1: MOVR5,#250DE2: MOVR4,#250 DJNZR4,$ DJNZR5,DE2 DJNZR6,DE1 RET END4、000H/********R7为灯的寄存**********//*R1控制灯的次数R2控制循环几次*//*********单灯两次*************/ MOVR2,#2DANDENG: MOVR7,#0FEH MOVR1,#8LOOP1: MOVP1,R7 LCALLDELAY MOVA,R7 RLA MOVR7,A DJNZR1,LOOP1 DJNZR2