单片机实验报告

更新时间:2023-09-24 11:46:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验2 数据排序实验

一、实验目的

熟悉MCS-51指令系统,掌握数据排序程序的设计方法。

二、实验设备

1.Dais MCS-51 单片机实验系统软件 2.PC机

一套

一套

三、实验线路

四、实验内容

编写并调试一个排序程序,其功能为用冒泡法(参见单片机教材84页)将RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。程序流程图如下:

开始 清标志位 根据(R0)取数 A (R0)+1送R0 (A)<((R0))? Y N 置标志位,交换内容 N 长度减1=0? Y 标志位=0? N N 结束 五、实验步骤

1.按要求编写实验程序S2,在CPU内部的RAM 50H~5AH中放入不等的数据,并填入下表。

2.运行该程序后检查50H~5AH内容是否按从小到大排列,结果记录下表中:

RAM 状态 运行前内容 运行后内容 50 51 52 53 54 55 56 57 58 59 5A

六、思考题

修改程序S2,将50H~5AH中内容按从大到小排列,并且记录下程序运行前后的结果,分析是否正确。

实验5 工业顺序控制

一、实验目的

掌握工业顺序控制程序的简单编程,中断的使用。

二、实验设备

1.Dais-958PH+单片机实验开发系统 2.PC机

一套

一套

三、实验线路

四、实验内容

在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律的完成预定的动作,对这类继续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模?注射?延时?开模?产伸?产退”顺序动作,用单片机最易实现。

8031的P1.0~P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平动作。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。

程序流程图如下:

开始 开中断.P1,P3初始化 关输出

现场保护 报警 等开工 工序1延时 工序2延时 故障清除了吗? Y N : : 工序7延时 恢复现场 返回 中断服务子程序

五、实验步骤 按实验电路图接好连线。执行程序,把K1接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1,报警停,又从刚才报警时一道程序执行下去。可以单步、单步跟踪,非全速断点、全速断点、连续执行功能调试软件,直到符合程序设计要求为止。

六、思考题

如何修改程序,使每道工序中有多位输出。

实验6 8255控制交通灯

一、实验目的

了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。

二、实验设备

1.Dais-958PH+单片机实验开发系统 2.PC机

一套

一套

三、实验线路

四、实验内容

用8255作输出口,控制12个发光二极管燃灭,模拟交通灯管理。

程序流程图如下:

开始 8255初始化 四个路口红灯亮 东西绿灯亮 南北红灯亮 延时 东西黄灯闪烁 南北红灯亮 延时 东西红灯亮 南北绿灯亮 延时 东西红灯亮 南北黄灯闪烁 延时

五、实验步骤

8255的PA0~PA7、 PB0~PB3接发光二极管L15~L13、L11~L9、L7~L5、L3~L1。 执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

六、参考程序

ORG 0BB0H

JOD0: MOV SP,#60H MOV DPTR,#0FFDBH MOV A,#88H

MOVX @DPTR,A ;8255初始化 MOV DPTR,#0FFD8H MOV A,#0B6H MOVX @DPTR,A INC DPTR MOV A,#0DH

MOVX @DPTR,A ;点亮4个红灯 MOV R2,#25H ;延时 LCALL DELY

JOD3: MOV DPTR,#0FFD8H

MOV A,#75H MOVX @DPTR,A INC DPTR MOV A,#0DH

MOVX @DPTR,A ;东西绿灯亮,南北红灯亮

MOV R2,#55H

LCALL DELY ;延时 MOV R7,#05H ;闪烁次数 JOD1: MOV DPTR,#0FFD8H MOV A,#0F3H MOVX @DPTR,A INC DPTR MOV A,#0CH

MOVX @DPTR,A ;东西黄灯亮,南北红灯亮

MOV R2,#20H

LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0F7H MOVX @DPTR,A INC DPTR MOV A,#0DH

MOVX @DPTR,A ;南北红灯亮 MOV R2,#20H

LCALL DELY ;延时

DJNZ R7,JOD1 ;闪烁次数未到继续 MOV DPTR,#0FFD8H MOV A,#0AEH MOVX @DPTR,A INC DPTR MOV A,#0BH

MOVX @DPTR,A ;东西红灯亮,南北绿灯亮

MOV R2,#55H

LCALL DELY ;延时 MOV R7,#05H ;闪烁次数 JOD2: MOV DPTR,#0FFD8H MOV A,#9EH MOVX @DPTR,A INC DPTR MOV A,#07H

MOVX @DPTR,A ;东西红灯亮,南北黄灯亮

MOV R2,#20H

LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0BEH MOVX @DPTR,A INC DPTR MOV A,#0FH

MOVX @DPTR,A ;东西红灯亮 MOV R2,#20H

LCALL DELY ;延时

DJNZ R7,JOD2 ;闪烁次数未到继续 LJMP JOD3 ;循环 ;--------------------------------------------- DELY: PUSH 02H DEL2: PUSH 02H

DEL3: PUSH 02H ;延时 DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RET

;--------------------------------------------- END

本文来源:https://www.bwwdw.com/article/460d.html

Top