实验一 单片机I/O并口视觉实验(流水灯)(仅供参考)
开课学院及实验室:xxxx 实验时间 : xxxx年 xx月 xx日 学 生 姓 名 学生所在学院 课 程 名 称 实验项目名称 xx 学 号 xx 微处理器与微计算机系统 单片机I/O并口视觉实验 (流水灯) 指 导 教 师 xx 项 目 学 分 xx 成 绩 年级/专业/班 课 程 代 码 项 目 代 码 xx 4-1 实验目的
1、了解简单单片机应用系统的设计方法。
2、掌握应用KEIL软件编辑、编译源程序的操作方法。 3、掌握应用PROTEUS仿真软件的操作方法。 4、掌握C51的编程方法。 5、培养良好的实验习惯。
实验内容
1、AT89S52为主控芯片,用PROTEUS仿真设计简单单片机应用系统。 2、编程实现8个发光LED“流水”的现象。
实验原理
1、流水灯
(1)实验原理图
(2)流程图:(我自己没画好请自行画)此处略去
(2)实验程序 1、单灯流水灯
ORG 000H
MOV R7,#0FEH ;初始:11111110 LOOP:
MOV P1,R7 LCALL DELAY MOV A,R7
RL A ;左移 MOV R7,A SJMP LOOP DELAY:
MOV R6,#4H ;最外层4次 DE1:
MOV R5,#250 ;次外层250次 DE2:
MOV R4,#250 ;最外层250次 DJNZ R4,$ DJNZ R5,DE2
DJNZ R6,DE1 ;共:2us*4*250*250=0.5s RET END 2、来回灯 ORG 000H LL:
MOV R7,#0FEH;左移初始化 MOV R1,#7 LOOPL:
MOV P1,R7 LCALL DELAY MOV A,R7
RL A MOV R7,A
DJNZ R1,LOOPL ;左移7次后跳至右移 LR:
MOV R2,#07FH;右移初始化 MOV R1,#7 LOOPR:
MOV P1,R2 LCALL DELAY MOV A,R2
RR A MOV R2,A
DJNZ R1,LOOPR ;右移7次后跳至左移 JJM:
SJMP LL
DELAY:
MOV R6,#4H DE1:
MOV R5,#250 DE2:
MOV R4,#250 DJNZ R4,$ DJNZ R5,DE2
DJNZ R6,DE1 RET END
3、自定义灯 ORG 000H MAIN:
MOV DPTR,#TAB MOV R0,#0 MOV R1,#18 MLOOP:
MOV A,R0
MOVC A,@A+DPTR MOV P1,A CALL DELAY INC R0
DJNZ R1,MLOOP JMP MAIN
TAB:DB 0E7H, 0DBH, 0BDH, 07EH, 0F0H, 0E1H, 0C3H, 087H, 00FH, 087H, 0C3H, 0E1H, 000H, 0FFH, 000H, 0FFH, 000H, 0FFH DELAY:
MOV R6,#4H DE1:
MOV R5,#250 DE2:
MOV R4,#250 DJNZ R4,$ DJNZ R5,DE2
DJNZ R6,DE1 RET END 4、级联
ORG 000H
/********R7为灯的寄存**********/ /*R1控制灯的次数R2控制循环几次*/
/*********单灯两次*************/
51单片机 流水灯 实验(汇编)



