***数学计算机科学系实验报告
专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室
同组同学:
实验时间:2013年3月20日指导教师签字:成绩:
实验项目:发光二极管闪烁
一实验目的和要求
1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。
2.掌握单片机使用。
二实验环境
PC机一台,实验仪器一套
三实验步骤及实验记录
1.在pc机上,打开Keil C。
2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。
3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。
4. 在弹出的对话框中选择 CPU 厂商及型号。
5.选择好 Atmel 公司的 89c51 后 , 单击确定。
6.在接着出现的对话框中选择“是”。
7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。
8.保存新建的文件,单击SAVE。
9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。
10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。
11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。
12.在编辑框里输入代码如下:
#include "reg51.h" //包含头文件
sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT
#define uchar unsigned char
#define uint unsigned int
delay(uint time) //int型数据为16位,所以最大值为65535 {
uint i,j; //定义变量i,j,用于循环语句
for(i=0;i<time;i++) //for循环,循环50*time次
for(j=0;j<50;j++); //for循环,循环50次
}
void main() //主函数
{
while(1) //进入while死循环
{
led=~led; //led电平取反来控制LED亮灭
delay(5000); //延时,修改延时即可修改闪烁频率
}
}
13.单击快捷键或单击Project/Rebuild all the files,如果在错误与警告
处看到 0 Error(s) 表示编译通过。
14.单击Options for Target,单击 Output, 选中 Create HEX Fi。
再单击“确定”,再次编译产生HEX文件。
15.STC-ISP 软件烧写程序,步骤如下:
步骤1、选择单片机型号STC12C5A60S2。
步骤2、打开程序文件(后缀为.HEX 的文件)。
在相应工程下找到待下载的HEX
文件,点击打开即可。
步骤3、选择串行口COM3。
步骤4、用USB线连接电脑和主板,将主板和核心板上的电源都关闭,点击“Download下载”,打开核心板上的电源开关(注意不是主板上的电源开关),
等待完成下载。
16.在单片机上,用1位杜邦线将J8_5与J13_1连接。
17.打开单片机电源开关,观察现象。
四实验结果与分析
发光二极管闪烁。