一、实验目的:
1. 通过AT89C51单片机控制 8 个发光二极管,八个发光二极管分别接 在单片机的 P0.0-P0.7 接口上,输出“ 0”时,发光二极管亮。开始时P0.0 →P0.1⋯ .→P0.7,实现亮点以 1HZ频率循环移动。
2. 用 PROTEUS设计,仿真以 AT89C51为核心的发光二极管流水灯实验 装置。
3. 掌握发光二极管的控制方法。 二、PROTEU电S 路设 :计
三、实验仪器和设备
PC机、PROTEU软S 件或 W-A-51综合开发学习板 四、源程序设 :计根据电路图自行编写并调 。试
广东海洋大学张瑛
1
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、K 2、K 3、K4的输入状态,并按照二 进制编码关系 0-F 输出到数码管显示。 (如 K4K3K2K1全部按下,则显示 F;若只有 K2按下,则显示 2。)
2. 掌握 LED数码管的静态显示。 3. 掌握 I/O 口的控制方法。 二、PROTEU电S 路设计:
广东海洋大学
张瑛
2
三、实验仪器和设备
PC机、PROTEU软S 件或 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
广东海洋大学
张瑛
3
实验三 外中断优先级实验
一、实验目的:
1. 理解单片机中断优先级和优先权。
2. 用 PROTEUS设计,仿真基于 AT89C51单片机的中断优先级实验。 3. 掌握中断编程方法。
单片机主程序控制 P0口数码管循环显示 0~8;外中断 0、外中断 1 发 生时分别在 P2 口、P1 口依次显示 0~8。通过实验可演示高优先级可中断 低优先级,但低优先级的中断请求不能中断高优先级。
二、PROTEU电S 路设计:
RP1
RESPACK-8
1
1
2 034 5 6 7 8 9 0 p 2 3 4 5 6 0 0 0 0 0 0 p p p p p p
RN3
C1
U1
19
30pf
X1
CRYSTAL
C2
18
30pF
9
10k
R1
XTAL1 P0.0/AD0
P0.1/AD1
P0.2/AD2
XTAL2 P0.3/AD3
P0.4/AD4 P0.5/AD5 P0.6/AD6
RST
P0.7/AD7
39 38
37 36 34 33 32 35
p00 p01 p02 p03 p04 p05 p06
1 2 p01
p02 3 p03 4 p04 5 p05 6 p06 7
8 p00
16 15 14 13 12 11 10 9
300
21 22
1 2 3 4 5 6 7 8
RN1
C3
29
10uF
30 31
PSEN ALE EA
RN2
16 15 14 13 12 11 10 9
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51
P3.0/RXD
P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
10 12 13 14 15 16 17 11
300
P2.0/A8 P2.1/A9 P2.2/A10
P2.3/A11 P2.4/A12
P2.5/A13 P2.6/A14 P2.7/A15
23 25 27 28
24 26
300
三、实验仪器和设备
PC机、PROTEU软S 件或 W-A-51综合开发学习板 四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H LJMP MAIN
广东海洋大学 张瑛
4
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
广东海洋大学5
张瑛
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倒计时实验。 二、PROTEU电S 路设计:
广东海洋大学
张瑛
6
三、实验仪器和设备
PC机、PROTEU软S 件或 W-A-51综合开发学习板 四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H AJMP MAIN ORG 000BH ;T0
中断入口
AJMP LOOP ORG 0030H
MAIN:
MOV TMOD,#01H ; 设置 T0 用于定时,模式 1 方式 MOV TH0,#3CH ; 装入定时初值 MOV TL0,#0B0H MOV IP,#02H MOV IE,#82H ;T0
中断允许
MOV DPTR,#TAB MOV R0,#60 MOV R1,#16 SETB TR0 LOOP1:
广东海洋大学
张瑛
7
MOV A,R0 MOV B,#10 DIV AB
MOVC A,@A+DPTR MOV P2,#80H MOV P0,A ACALL DEL0 MOV A,B MOVC A,@A+DPTR MOV P2,#40H MOV P0,A ACALL DEL0 AJMP LOOP1 LOOP:
MOV TH0,#3CH MOV TL0,#0B0H DJNZ R1,LOOP2 MOV R1,#16
DEC R0
CJNE R0,#0FFH,LOOP2 MOV R0,#60 LOOP2: RETI DELAY: MOV R2,#20 DEL0:
MOV R3,#50 DJNZ R3,$ DJNZ R2,DEL0 RET
TAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END
实验五
矩阵式键盘的设计一、实验目的:
1. 掌握键盘设计中按键识别的原则。
2. 用 PROTEUS设计一个常规 4× 4 的矩阵键盘。 3. 键盘编码规则自己定义,分别对应数字键 0-9 、键显示在数码管上显示对应的数据。 二、PROTEU电S 路设计:
广东海洋大学
张瑛
A-F,按下对应的按8
三、实验仪器和设备
PC机、PROTEU软S 件或 W-A-51综合开发学习板 四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H AJMP START ORG 30H
START:MOV DPTR,#TABLE
MOV P1,#07H HH: MOV P2,#0F0H H1: JB P2.4,H2 MOV A,#00H LJMP LL H2: JB P2.5,H3 MOV A,#01H LJMP LL H3: JB P2.6,H4 MOV A,#02H LJMP LL H4: JB P2.7,H1 MOV A,#03H LL: MOV P2,#0FH L1: JB P2.0,L2
广东海洋大学
张瑛
9
MOV R0,#00H LJMP CB L2: JB P2.1,L3 MOV R0,#01H LJMP CB L3: JB P2.2,L4 MOV R0,#02H LJMP CB L4: JB P2.3,L1 MOV R0,#03H CB: MOV B,#04H MUL AB ADD A,R0 MOVC A,@A+DPTR CPL A MOV P0,A LJMP HH
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END
实验六
AD 转换程序设计
一、实验目的:
1. 掌握转换器 ADC0809的使用。
2. 用 PROTEUS设计,仿真基于 AT89C51单片机的 A/D 转换实验。3. 通过改变电位器的值改变模拟量的输入,经转换为数字量在 显示,比对模拟量和数字量的关系。 二、PROTEU电S 路设计:
广东海洋大学
张瑛
LED 上
10
三、实验仪器和设备
PC机、PROTEU软S 件或 W-A-51综合开发学习板 四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H LJMP START ORG 0030H
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H START:
MOV R1,#00H MOV R2,#08H MOV DPTR,#TABLE CLR EX0 LOOP:
CLR P2.0 MOVX @R1,A MOV R3,#20H DELY: DJNZ R3,DELY
SETB P3.2 WAIT: JB P3.2,WAIT
MOVX A,@R1 MOV R5,A ANL A,#0FH MOVC A,@A+DPTR
广东海洋大学
张瑛
11
CPL A SETB P3.5 CLR P3.4 MOV P1,A ACALL DLY MOV A,R5 ANL A,#0F0H SWAP A
MOVC A,@A+DPTR CPL A SETB P3.4 CLR P3.5 MOV P1,A ACALL DLY SJMP LOOP DLY:MOV R4,#175 DL:MOV R6,#125 DL1:DJNZ R6,DL1 DJNZ R4,DL RET
HERE: SJMP HERE
END
实验七
一、实验目的:
双机通信实验
1. 掌握单片机串口通信程序的设计。 2. 了接 RS232接口通信的特点。
3. 双机通信:分别把接收到的对方通过逻辑开关输入的信息在本地数 码管上显示, 如下图甲机的逻辑开关数据为 81H,乙机通过串口接收该 数据并数码关管显示,而甲机显示乙机发送的数据 二、PROTEU电S 路设计:
88H。
广东海洋大学
张瑛
12
三、实验仪器和设备
PC机、PROTEU软S 件或 W-A-51综合开发学习板 四、源程序设计:
根据电路图自行编写并调试。
ORG 0000H LJMP START ORG 0050H START: MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON,#50H MOV PCON,#00H SETB TR1 AABB:MOV A,P1 MOV SBUF,A L1:JBC TI,L2 SJMP L1 L2:JBC RI,NEXT2 JMP L2 EXT2: OV A,SBUF MOV P0,A SJMP AABB
END
广东海洋大学
张瑛
13
因篇幅问题不能全部显示,请点此查看更多更全内容