微机原理与接口技术B实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆交通大学
学生实验报告
实验课程名称微机原理与接口技术B
开课实验室机电自动控制实验室
学院年级专业班
学生姓名学号
开课时间2017 至2018 学年第 1 学期
注:实验成果考核方式采用非实验报告形式的,可自行制定
实验二 Protues软件使用
一.实验目的:
掌握单片机仿真软件。
二.实验器材:
PC 机一台
三.实验内容:
任务A:闪烁灯
1、任务要求:如图2.1所示,在P1.0 端口上接一个发光二极管D1,使D1 在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。
2、电路原理图:
图2.1电路原理图
任务B:模拟开关灯
1、任务要求:如图2.2所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2、电路原理图:
图2.2电路原理图
任务C:多路开关状态指示
1、任务要求:如图2.3所示,AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。
2、电路原理图:
图2.3电路原理图
四.实验代码:
任务A:
ORG 0 //起始地址为00H
START: CLR P1.0 //p1.0置零,开关灯亮
LCALL DELAY //延时0.2s
SETB P1.0 //p1.0置1,开关灭
LCALL DELAY //延时0.2s
LJMP START //主程序为死循环
DELAY: MOV R5,#20 //延时子程序,延时0.2秒
D1: MOV R6,#20 //赋值R6为20
D2: MOV R7,#248 //赋值R7为248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET //子程序返回
END //程序结束
任务B:
ORG 00H
START: JB P3.0,LIG // JB 指定位1转移
CLR P1.0 //开关按下,把p1.0置零,灯亮
SJMP START //主程序为判断开关状态,点亮灯的死循环LIG: SETB P1.0 //开关未按下,把p1.0置1,灯灭
SJMP START //跳转至主程序
END //程序结束
任务C:
ORG 00H
START: MOV A,P1 //一次把p1端口的状态全部读入
ANL A,#0F0H //取高四位状态来显示
RR A //右循环
RR A
RR A
RR A
ORl A,#0F0H //或命令
MOV P1,A //把A的值赋给p1口
SJMP START //跳转至主程序
END //程序结束
五.实验结果:
任务A仿真结果实验结果实现了P1.0接的发光二极管一亮一灭。
任务B仿真结果
实验结果实现了P3.0接的开关控制p1.0接的发光二极管的亮灭。
任务C仿真结果
实验结果实现了p1.0-p1.3接的开关分别控制p1.4-p1.7接的发光二极管的亮灭。
六.实验调试分析
这次是第一次微机实验,对于理论课并没有学得很好的我,其实是对这次实验是充满期待的,希望能在试验中恍然大悟理论课所讲的内容。这节课主要讲的是编程软件和仿真软件,让我初步感受到了单片机的神奇,可以通过不同的接口和元器件实现多种功能。虽然课上没有把软件完全熟练,但课后仔细琢磨了一下,达到了基本可以独立操作的水平。
实验三 p1口亮灯实验
一.实验目的
通过实验了解单片机最小系统;掌握P1口作为输入输出方式使用时,CPU 对P1口的操作方法。
二.实验器材
PC机一台单片机开发板一台
三.实验内容
1、任务要求:
任务1:任务1:在P1.0端口上接一个发光二极管D1
任务2:在P1.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。
任务3:在P1.3端口上接一个发光二极管D4,使D4在不停地一亮一灭,一亮一灭的时间间隔为0.1秒。(自己编写程序)
任务4:监视开关s1(接在P3.4端口上),用发光二极管D4(接在单片机P1.3端口上)显示开关状态,如果开关合上,D1亮,开关打开,D1熄灭。
任务5:监视开关s1、S2、S3、s4(接在P3.4,P3.5,P3.6,P3.7端口上),用发光二极管D4、D5、D6、D7(接在单片机P1.3-P1.6端口上)显示开关状态,S1-S4分别控制D4-D7的开关(开关闭合,对应的灯亮,开关断开,对应的灯灭)(自己编写程序)
2、实验电路图(参考开发板原理图):
四.实验代码:
任务1:
ORG 0
START: CLR P1.0 //置零
LJMP START //跳转至主程序
END //程序结束
任务2:
ORG 0
START: CLR P1.0 //置零
LCALL DELAY //无条件转移至延时子程序SETB P1.0 //将p1.0口置为高电平
LCALL DELAY //无条件转移至延时子程序LJMP START //跳转至主程序
DELAY: MOV R5,#20 //延时子程序,延时0.2秒D1: MOV R6,#20 //赋值R6为20
D2: MOV R7,#248 //赋值R7为248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET //子程序返回
END //程序结束
任务3:
ORG 0