院(系) 计算机学院 专业 计算机科学与技术 班级
姓名 学号 同组人
实验室 S4306 组号 日期
课程 单片机技术 指导教师 成绩
实验项目编号 8103201203 实验项目名称 LED指示灯循环控制设计
一、实验目的
熟悉μVision3编译软件,掌握C51编程与调试方法
二、实验环境(仪器设备、软件)
Win XP、Keil uVision4、Proteus ISIS 7 Professional
三、实验原理(或要求)
LED小灯接P0口,程序启动后小灯依次点亮,从下而上,从上而下,无限循环。小灯闪烁的时间间隔为0.5秒。
四、实验步骤
1、按照教材图A.32,绘制实验三电路原理图;
2、编写实验三的C51程序
3、练习μVision3程序动态调试方法,实现8个LED灯依次点亮功能: P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→P0.5→┅→P0.0无限循环,间隔约50ms;
4、观察仿真结果,完成实验报告。
(1)在Proteus中绘制电路原理图,将元件添加到编辑环境中;
(2)在Keil下调试程序,并进行编译;
(3)连接Proteus 软件和Keil软件,并观察仿真结果。
五、记录与处理(实验数据、误差分析、结果分析)
1.电路原理图如下:
2.使用μVision4软件创建project项目,选择目标CPU(Intel系列的AT89C51)。
3. 添加源程序(右击“Source Group1” →点击“Add file to Group”Source Group1” →添加生成的.c件)
源程序如下:
4. 生成可执行文件,添加.hex文件
5. 仿真运行,观察结果
LED小灯接P0口,程序启动后小灯依次点亮,从下而上,从上而下,无限循环。小灯闪烁的时间间隔为0.5秒。8个LED灯依次点亮功能: P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→P0.5→┅→P0.0无限循环。
六、思考题
总结控制LED小灯循环移位的几种方式
1.移位法
2.查表法
3.循环函数法
七、实验小结
通过本次实验,对uVision4编译软件有所了解,学会在uVision4中进行C51程序录入、编译、和调试。理解Proteus与Keil联合的仿真原理,编写Hex文件,并且来控制小灯循环点亮,用3种不同的方法实现这个操作。
大连理工大学实验报告(三)
实验时间: 2014 年 7 月 1 日 星期 二时间 : 13 : 00 ~ 15 : 00
实验室(房间号): 420 实验台号码: 18
指导教师签字: 成绩:
实验 三 外部中断/INT0实验
(1) 实验目的
学习掌握单片机的中断原理。正确理解中断矢量入口,中断调用和中断返回的概念及物理过程。学习编写“软件防抖”程序,了解“软件防抖”原理。
(2)实验要求
要求:对/int0、/int1两个外部中断进行编程,其中:
l 主程序的功能:LDE灯“全亮”、“全灭”交替进行 --------(状态2);
l Int0中断服务程序功能:2个相邻的LED灯被点亮且循环左移(状态0);
l Int1中断服务程序功能:1个LED灯被点亮且循环右移 ---(状态1);
【注意】:实验仪上的LED灯物理位置最左侧为d0;最右侧为d7。
(3)算法流程:
(4)实验电路:
(5)程序清单:
ORG 8000H
LJMP START
ORG 8003H
LJMP INT_0
ORG 8013H
LJMP INT_1
ORG 8100H
START: MOV SP,#60H
SETB EX0
SETB EX1
SETB EA
;SETB PX1 ;将 INT1设定为高优先级
MOV TCON,#00H
MOV R3,#00H
MOV A,R3
LOOP3: MOV P1,A
CPL A
CPL P3.4
LCALL DELAY
AJMP LOOP3
INT_0: PUSH ACC ;INT_0中断服务程序
PUSH PSW
SETB P3.4
MOV A,#0FCH;两相邻灯亮
STATE0: MOV P1,A
LCALL DELAY
RL A
JNB P3.2,STATE0 ;INT_0有中断时则循环左移
LCALL DELAY
POP PSW
POP ACC
RETI
INT_1: PUSH ACC
PUSH PSW
SETB P3.4
MOV A,#0FEH ;一个灯亮
STATE1: MOV P1,A
LCALL DELAY
RR A
JNB P3.3,STATE1 ;INT_1有中断时则循环右移
LCALL DELAY
POP PSW
POP ACC
RETI
DELAY: PUSH 01H
PUSH 02H
MOV R1,#00H
DELAY1: MOV R2,#00H
DJNZ R2,$
DJNZ R1,DELAY1
POP 02H
POP 01H
RET
END
(6)实验结果与分析:
1.INT0、INT1同一优先级运行实验:
保持上电复位时INT0、INT1默认为 “低优先级”的状态,且将SW1、SW2全部事先置于“0”电平(同时申请中断)后,再启动运行程序,按照表1要求填写结果。
表1 :INT0、INT1同一优先级时 运行记录
当两个同级同时响应时,响应int0中断;同级中断来时不会打断
2.将 INT1设定为高优先级(INT0保持为低优先级)的运行实验:
在程序中使用指令将INT1设定为“高优先级”状态,按照表2内容填写结果。
表2:INT1为高优先级(int0保持为低优先级)时运行状态记录
(7)实验体会:本次实验让我理解了有关中断程序的编写,在编写程序时,首先要思路清晰,写好主程序和从程序。在写主程序的时候,主要是注意中断有效与触发方式,中断服务程序要注意对累加器A的入站保护。
单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实…
通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机…
海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握…
单片机原理实验报告实验一熟悉μ’nSP?IDE集成开发环境下C语言程序的编写【实验目的】1.熟悉μ’nSP?IDE集成开发环境的使…
PIC单片机技术上机实验报告实验项目:定时/计数姓名:专业:班级:学号:学期:1314学年2学期20xx一、实验名称×××二、实验…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…
绪论单片机应用简述电子时钟简介电子时钟的基本特点任务要求设计方案控制系统的硬件设计芯片的选择AT89S51的功能概述AT89S51…
实验一数码管实验一实验目的1了解数码管的显示原理2掌握JXARM92440中数码管显示编程方法二实验原理7段LED由7个发光二极管…