实验三 单片机IO实验PPT教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV R0,#00H
MOV DPTR,#TAB ;
LOOP: MOV A,R7
;
MOVC A,@A+DPTR ;读字段码
MOV P2,#60H ;字段码地址
MOVX @R0,A ;输出字段码
MOV A,R6
MOV P2,#80H ;灯位控制地址
MOVX @R0,A ;输出灯位控制
RL A
;灯位右移
2020/12/12
5
2、 输入/输出实验:
(1)实验要求:P1做输入口,连接至DIP开关接口JP4,P2 口输出连接至8只发光二极管接口JP8,编写程序读取开关状 态,将此状态在发光二极管上显示出来。
(2)电路及连线如下:
2020/12/12
P2
CPU 89C51
P1
(接仿真头)
6
(3)运行程序TP1B,观察现象。
实验三、单片机I/O实验
一、实验目的:
1.学习P1口的使用方法; 2.学习延时子程序的编写和使用; 3.了解LED动态显示电路结构,掌握LED动态显示方法。 4.学习继电器控制的基本方法和经验。
二、实验仪器:
1.C51实验开发板 1块 2.直流稳压电源(DF 1731 SB 3A) 一台 3.PC机 一台 4.仿真器(EASYPROBE) 1只
MOV R6,A
;
LCALL DELAY ;延时
DJNZ R7,LOOP ;灯数计数
SJMP START
DELAY:…
2020/12/12TAB:DB 00H,66H,4FH,5BH,06H
10
(3)实验要求2: 编写程序,显示秒计数值(10进制方式)。
参考程序:
ORG 0000H LJMP START ORG 0040H START:MOV R7,#04H MOV R1,#30H LOOP1: MOV @R1,#00H INC R1 DJNZ R7,LOOP1
0 1 0 1 1 0 1 1 5BH
0 1 0 0 1 1 1 1 4FH 0 1 1 0 0 1 1 0 66H 0 1 1 0 1 1 0 1 6DH 0 1 1 1 1 1 0 1 7DH 0 0 0 0 0 1 1 1 07H
字形
字段码
DpGFEDCBA 十六进制码
01111111
7FH
01101111
(4)修改程序,变为16进制方式显示:
(5)修改程序,变为“分秒”方式显示:
7
3、七段LED动态显示输出:
(1)电路及连线如下:
2020/12/12
8
(2)实验要求1:
编写程序,从左到右显示“1”、“2”、“3”、“4”,调 整延时时间(1s,0.1s,0.0125s,1/160s),观察显示效果。
字段码
十六进制
DpGFEDCBA
码
0 0 1 1 1 1 1 1 3FH 0 0 0 0 0 1 1 0 06H
DJNZ R6,DELAY1
DJNZ R5,DELAY1
RET
2020/12/12 END
4
(4)修改程序TP1A,使指示灯左循环。 (5)*修改程序TP1A,使指示灯两两右循环。 (6)*修改程序TP1A,使指示灯从两边向中间循环。 (7)*修改程序TP1A,使指示灯从中间向两边循环。 (8)*修改程序TP1A,使指示灯右循环间隔时间为0.1秒。
TP1B程序:
ORG 0000H
LJMP START
ORG 0040H
START:MOV P1,#0FFH ; 因P1是准双向口,所以把P1口
;作为输入口时,应先置高电平
MOV A,P1
;读开关状态
MOV P2,A ;把读入的数据输出到P2口输出至指示灯
AJMP START END
2020/12/12
;30H~33H清零
2020/12/12
11
MOV R5,#00H
MOV R1,#30H
MOV R0,#00H
MOV DPTR,#TAB ;
MOV R6,#0FEH ;起始灯位,1号灯
LOOP:MOV A,@R1
;显示
MOVC A ,@A+DPTR ;读字段码
MOV P2 ,#60H ;字段码地址
MOVX @R0,A ;输出字段码
MOV A,R6
MOV P2 ,#80H ;灯位控制地址
MOVX @R0,A ;输出灯位控制
RL A
;灯位右移
MOV R6,A
INC R1
CJNE R1,#34H,MM
MOV R1,#30H
2020/12/12
12
MM: PUSH 01H
LCALL DELAY ;延时 INC R5 CJNE R5,#160,NEXT MOV R5,#00H MOV R1,#33H ;计时 MOV R7,#4 INC @R1 LOOP3:MOV A,@R1 CJNE A,#0AH,NEXT MOV @R1,#00H DEC R1 INC @R1 DJNZ R7,LOOP3 NEXT:POP 01H SJMP LOOP
2020/12/12
13
DELAY: ;MOV R5,# 0AH MOV R4,# 10H
DELAY1:MOV R3,#0B3H DJNZ R3,$ DJNZ R4,DELAY1 ;DJNZ R5,DELAY1 RET
TAB:DB 3FH,06H,5BH,4ቤተ መጻሕፍቲ ባይዱH,66H,6DH,7DH,07H,7FH,6FH END
2020/12/12
1
三、实验内容:
1、 指示灯循环显示:
(1)实验要求:P1口做输出口,接八只发光二极管,编写程 序,使发光二极管循环点亮。
(2)电路及连线如下:
2020/12/12
P1
CPU 89C51
(接仿真头)
2
2020/12/12
3
(3)运行程序TP1A,观察现象。
TP1A程序:
ORG 0000H
LJMP START
ORG 0040H
START:MOV A,#0FEH ;
LOOP: MOV P1,A ;点亮1只LED
RL A
;左循环
LCALL DELAY ;延时1秒
SJMP LOOP
DELAY: MOV R5,#0AH
MOV R6,#00H
DELAY1:MOV R7,#0B3H
DJNZ R7,$
6FH
01110111
77H
01111100
7CH
00111001
39H
01011110
5EH
01111001
79H
01110001
71H
字形
参考程序:
2020/12/12
9
ORG 0000H
LJMP START
ORG 0040H
START:MOV R7,#04H ;灯数
MOV R6,#0FEH ;起始灯位,1号灯