当前位置:文档之家› 单片机应用实验指导书-实验2

单片机应用实验指导书-实验2

实验二指示灯循环控制基础实验
实验名称:指示灯循环控制基础实验学时安排:2学时
实验类别:综合性实验要求:必做
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一、实验目的和任务
1、掌握80C51单片机程序的调试与下载方法。

2、掌握80C51单片机并口的特性及程序控制方法。

二、实验原理简介
80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。

ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。

STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。

本课程的全部实验只用到MCU1,其P0口用作普通I/O口,为提高I/O口的利用率,除驱动8个发光二极管外,P0口还连接有数码管、点阵管、字符液晶、行列键盘等设备。

图2-1为P0口控制8个发光管的电路结构,P0口某口线输出低电平时,相应的发光管点亮,口线输出高电平时发光管熄灭。

在做发光管相关实验时,应将实验箱上LED101~LED108发光管右上侧的拨码开关JUMP2拨到ON一侧,使发光管限流电阻公共端连接到MCU1电源正极(即Vcc端)。

三、实验设备
1、PC机一台;
2、ZSC-1单片机实验箱一台。

四、实验内容和步骤
1、编写一段程序,用P0口作为控制端口,使发光管LED101~LED108轮流点亮。

①在Keil中编写源程序。

汇编语言参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV A,#0FEH ;准备点亮第一只发光管
NEXT: MOV P0,A
ACALL DELAY ;软件延时
RL A ;准备点亮下一只发光管
SJMP NEXT
; 延时子程序DELAY
DELAY: MOV R2,#5
DELAY2: MOV R3,#100
DELAY3: MOV R4,#100
DJNZ R4,$
DJNZ R3,DELAY3
DJNZ R2,DELAY2
RET
END
②在Keil中创建工程,加入源程序文件,设置选项,进行汇编/编译、连接、转换处
理,生成HEX格式的单片机程序文件。

③用串行电缆连接实验箱和PC机的RS232串口,运行PC机上的STC_ISP_V483.exe,进
行程序下载。

具体步骤:
a.在STC_ISP_V483主界面选择MCU型号为STC12C5A60S2,打开②中生成的HEX格式程
序文件,选择COM1串口,设置最高波特率为38400bps;
b.将实验箱电源电路中的总电源开关拨到左侧位置,使主电源接通,将MCU1电源开
关拨到下方位置,使1#单片机断电;
C.点击STC_ISP_V483主界面中的下载按钮,约等待5s,待系统提示“请给MCU上电”
时再将MCU1电源开关拨到上方位置,使1#单片机通电,开始下载程序,数秒后下
载结束,写入单片机Flash存储器中的程序自动开始运行。

④观察LED显示效果,若与要求的效果不同,或者想试验其它效果,就需要修改源程
序,重新进行汇编/编译、连接、转换处理,生成最新HEX文件,再按③中介绍的步
骤下载和运行最新程序。

2、用C语言编写发光管控制程序,实现相同功能。

实验步骤同上,参考程序如下:
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay_ms(uint);
uchar LedCtrl;
main()
{ LedCtrl=0xfe;
while(1)
{ P0=LedCtrl;
delay_ms(1000);
LedCtrl=_crol_(LedCtrl,1); //_crol_函数的功能?
}
}
void delay_ms(uint x) //以毫秒为单位的软件延时函数{
uint i,j;
for (i=x; i>0; i--)
for (j=114; j>0;j--);
}
五、注意事项和要求
1、注意程序的完整性、正确性和逻辑性,对出现的语法和逻辑错误要认真分析原因。

2、STC12C5A60S2单片机的CPU采用了优化的内部时钟电路,程序运行速度比传统80C51
单片机快了8-12倍,因此程序中控制软件延时的循环变量的取值要相应增大,具体
取值可通过多次试验后确定。

3、程序下载前,也可利用Keil进行软件模拟调试,以便于观察各寄存器、内存单元以
及P0口的变化情况。

六、作业及预习要求
1、分析各参考程序的结构和功能,对其中的主要语句进行注释。

2、自行编写步骤3的汇编或C语言程序。

3、自己设想一种由更多LED组成的花样控制图案,绘出电路图,并编程实现(选做)。

七、参考书目
1.林立,单片机原理及应用-基于Proteus和Keil C,北京:电子工业出版社,2013.1.
2.周立功,单片机实验与实践,北京:北京航空航天大学出版社,2004.8.。

相关主题