- 0
- 0
- 约2.34千字
- 约 8页
- 2023-08-03 发布于江西
- 举报
1 . 实验内容要求
(1) 点亮 8 只发光二极管,并使 8 只发光二极管循环亮灯。
(2) 运用简单的语句编写延时子程序, 以控制发光二极管点亮的
间隔时间,并通过调整延时时间来观察延时效果。
用连线 P1 口将的各位端口(P1.0-P1.7)分别接入发光二极管区 的 L0 至 L7,将仿真器插入计算机, 在 KEIL uVision 软件, 新建一个 工程,编写软件,并仿真软件运行。
2 . 思量问题
(1) P1 口与 P0 口的主要区别,如果用 P0 口的输出来控制发光
二极管的点亮,在电路上要做哪些改动?
(2) 实现程序延时的方法有哪些?
3 . 参考程序
ORG 0000H
AJMP MAIN
MAIN:
LOOP:
MOV A,#0FEH
MOV P1,A
ACALL DELAY
MOV R0,#07H
RL A
MOV P1,A
ACALL DELAY
DJNZ R0,LOOP
;送数据初值
;数据送 P1 口点亮发光二极管
;延时
;设置左移 7 次
;左移一位
;数据送 P1 口点亮发光二极管
;延时
;R0 是否为 0,不为 0 转 LOOP 继续
END
执行
AJMP MAIN ;返回主程循环执
DELAY: D1:
D2:
D3:
MOV R1,#100 MOV R2,#100 MOV R3,#50 DJNZ R3,D3 DJNZ R2,D2 DJNZ R1,D1
RET
END
;延时子程序
;子程序返回
;程序结束
P2 口作为输入口,接 8 只开关, P1 口做为输出口,接 8 只发 光二极管,通过设置 8 只拨动开关的状态控制8 只发光二极管的亮灭。
用连线将 P1 口的各位端口(P1.0-P1.7)分别接入发光二极管区 的 L0 至 L7,将仿真器插入计算机, P2 口的各位端口(P2.0-P2.7) 分别接入开关量发生器区的 K0 至 K7。在 KEIL uVision 软件,新建
一个工程,编写软件,并仿真软件运行。
ORG 0000H ;开始
MOV P1,#0FFH
LOOP: MOV A,P2
MOV P1,A
JMP LOOP
;P2 口的开关电平状态读到 A
;把 A 的数据送到 P1 口
ORG 0003H
接 P1 口的 8 个发光二极管循环亮, 用外部单次脉 冲信号申请中 断,中断响应后,使小喇叭响,发光二极管住手闪亮。 MCS-51 单片 机具有两个外部中断输入口(P3.2、P3.3),中断触发方式有两种: 电平触发和跳沿触发(脉冲触发)。在本实验中用脉冲源来摹拟外部 触发信号,使单片机产生中断。
中断服务程序的内容普通包括四个部份:现场保护与现场恢复、 关中断与开中断、中断处理、中断返回。用连线将 P1 口的各位端口 (P1.0-P1.7) 分别接入发光二极管区的 L0 至 L7,将仿真器插入计算 机,P3.2 端口接脉冲源的DOWN 输出端,P3.3 接音响及合成区的Vin1 输出口。在KEIL uVision 软件,新建一个工程,编写软件,并仿真软 件运行。
程序流程
ORG 0000H
JMP START
;开始
JMP EXT0
START:
MOV IE,
MOV IP,
MOV TCON,
MOV SP,#70H
MAIN:
MOV P1,#00H ;全亮
LCALL DELAY
MOV A,#0FEH
LOOP:
MOV P1,A
LCALL DELAY
RL A ;循环左移
AJMP LOOP
EXT0:
PUSH ACC
PUSH PSW
CPL P3.3 ;喇叭响
CALL DEL ;喇叭响的速率
POP PSW
POP ACC
RETI
DELAY:
MOV R5,#20
D1:
MOV R6,#20
D2:
MOV R7,#250
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
DEL:
MOV R4,#250
DJNZ R4,$
RET
END
1 . 实验内容
利用单片机内部定时器中断方式定时, 实现每一秒钟输出状态发 生一次反转。改变定时时间的长度,观察发光二极管闪亮的频率。
2 . 实验原理
MCS-51 单片机内部有两个 16 位定时器,具有 4 种工作方式。特 殊功能寄存器 TMOD 用于选择定时器/计数器 T0、T1 的工作模式和工 作方式、 TCON 用于控制T0、T1 的启动和住手,同时还包含了T0、T1 的状态。定时器计数满时,会产生溢出中断。
3 . 实验步骤
用连线将 P1 口的 P1. 1 接入发光二极管区的 L0,将仿真器插
原创力文档

文档评论(0)