广东海洋大学单片机实验报告
- 格式:doc
- 大小:236.00 KB
- 文档页数:13
实验一发光二极管流水灯实验
一、实验目的:
1.通过AT89C51单片机控制8个发光二极管,八个发光二极管分别接在单片机的P0.0-P0.7接口上,输出“0”时,发光二极管亮。开始时P0.0→P0.1….→P0.7,实现亮点以1HZ频率循环移动。
2.用PROTEUS 设计,仿真以AT89C51为核心的发光二极管流水灯实验装置。
3.掌握发光二极管的控制方法。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H
AJMP START
ORG 0030H
START: MOV P0,#0FFH
MOV A,#0FEH
AAA: MOV P0,A
LCALL DELAY
JNB P0.7,BBB
RL A
AJMP AAA
BBB: MOV A,#7FH
CCC: MOV P0,A
LCALL DELAY
JNB P0.0,START
RR A
AJMP CCC
DELAY: MOV R2,#123
DL3: MOV R1,#200
DL2: MOV R0,#20
DL1: DJNZ R0,DL1
DJNZ R1,DL2
DJNZ R2,DL3
RET
END
实验二开关控制LED数码管实验
一、实验目的:
1.通过AT89C51读入4位开关K1、K2、K3、K4的输入状态,并按照二进制编码关系0-F输出到数码管显示。(如K4K3K2K1全部按下,则显示F;若只有K2按下,则显示2。)
2.掌握LED数码管的静态显示。
3.掌握I/O口的控制方法。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
CLR P1.0
MOV DPTR,#TABLE
START:CLR A
JNB P2.0,D1
INC A
D1:JNB P2.1,D2
ADD A,#2
D2:JNB P2.2,D3
ADD A,#4
D3:JNB P2.3,D4
ADD A,#8
D4:MOVC A,@A+DPTR
MOV P0,A
AJMP START
TABLE: DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH END
实验三外中断优先级实验
一、实验目的:
1.理解单片机中断优先级和优先权。
2.用PROTEUS 设计,仿真基于AT89C51单片机的中断优先级实验。
3.掌握中断编程方法。
单片机主程序控制P0口数码管循环显示0~8;外中断0、外中断1发生时分别在P2口、P1口依次显示0~8。通过实验可演示高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTER0
ORG 0013H
LJMP INTER1
ORG 0100H
MAIN: MOV SP,#30H
SETB EX0
SETB IT0
SETB PX0
SETB EX1
SETB IT1
CLR PX1
SETB EA
START: MOV R0,#00H
MOV A,R0
MOV R1,#9
AA: PUSH ACC
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY
POP ACC
INC A
DJNZ R1,AA
LJMP START INTER0: PUSH PSW
PUSH ACC
SETB RS0
MOV R0,#00H
MOV R1,#9
BB: MOV DPTR,#TABLE
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
INC R0
DJNZ R1,BB
POP ACC
POP PSW
MOV P2,#0FFH
RETI
LJMP AA
INTER1: PUSH PSW
PUSH ACC
CLR RS0
SETB RS1
MOV R0,#00H
MOV R1,#9
CC: MOV DPTR,#TABLE
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
CALL DELAY
INC R0
DJNZ R1,CC
POP ACC
POP PSW
MOV P1,#0FFH
RETI
LJMP AA
DELAY: MOV R2,#50
D0: MOV R3,#50
D1: MOV R4,#50
D2: DJNZ R4,D2
DJNZ R3,D1
DJNZ R2,D0
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H
END
实验四60S倒计时实验
一、实验目的:
1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。
2.用PROTEUS 设计,仿真基于AT89C51单片机的60S倒计时实验。