单片机实验报告文档格式.docx
- 文档编号:15945855
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:11
- 大小:213KB
单片机实验报告文档格式.docx
《单片机实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《单片机实验报告文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
开课实验室:
2013年05月 10日
学院
制造学院
年级、专业、班
姓名
成绩
课程
名称
单片机原理及接口技术
实验项目
名称
I/O接口技术实验
指导教师
李鹏
一、实验目的
1.了解单片机片内4个8位I/O端口的使用。
2.掌握I/O端口的应用及C51的编程方法。
3.熟悉C51编程中的一些相关语句
二、实验内容
通过编写C51程序,实现上下来回循环点亮八个发光二极管,即在单片机上显示实现出流水灯。
三、实验仪器设备
1.单片机实验板一台
2.联接数据线一根
3.计算机一台
四、实验步骤
1.打开Keil软件,新建一个工程
2.
弹出对话框,新建一个文件夹,并保存
3.选择单片机型号Atmel–AT89C51-确定(OK)
4.修改工程属性,点击快捷按钮
将Xtal(MHz)24.0改为11.0592,然后选择Output,勾选上CreateHEXFile,点击ok确定
5.新建程序文件,并保存为“.c”格式
6.将文件添加到改工程中
7.在该文本文件中编写程序
8.编写完成后,进行编译程序。
9.编译无错误后,生成HEX文件
10.打开STC-ISP下载程序“STC-ISP.exe”
选择对应的单片机型号(STC89C52RC)、打开(HEX)程序文件、对应的串行口编号,再选择下载程序,打开单片机上的开关以传输下载文件
11.观察单片机上的现象,并检查是否正确
五、实验程序流程图
六、实验程序(源程序)
#include<
reg51.h>
/*包含头文件reg51.h*/
#defineucharunsignedchar/*宏定义无符号字符变量方便书写*/
uchartab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,
0x7f,0xbf,0xdf,0xef,0xf7,0xf7,0xfb,0xfe};
/*对称,左移点亮,右移点亮*/
voiddelay()/*延时函数*/
{uchari,j;
for(i=0;
i<
255;
i++);
for(j=0;
j<
j++);
}
voidmain()/*主程序*/
{uchari;
while
(1)
{for(i=0;
15;
i++)
{P1=tab[i];
delay();
}
}
七、实验结果记录及分析
答:
实验结果为看到芯片上的八个LED灯成左右来回循环的流水灯显示,这也正是这次实验所要得到的结果。
主要通过编写程序来实现,通过数组的字节操作来实现的。
将八只LED灯的点亮顺序定义为一个数组,再通过主程序函数来实现数组中的内容。
八、心得体会
通过这次的实验,对C51程序的编写有了更深的认识和了解,基本上还是可以编写一些简单的实验内容了,也学着去读相关的程序,能读出一些简单的程序内容。
与此同时,对单片机的4个I/O端口的使用和功能特点也有了更多的认识和了解,这样更加深了我们对单片机这门课程学习的内容的影响。
这次实验遇到的问题主要还是对程序的编写,不过通过这次慢慢的学习和摸索,还是学到了不少,这次主要就是学到了通过数组来实现流水灯。
《中断系统》实验报告
2013年5月 23日
微机原理及接口技术
中断系统实验
1.了解单片机的中断原理。
2.了解单片机响应中断的基本流程。
3.了解单片机的中断编程方法。
利用实验板上的按键S12,实现单片机的外部中断INT0的触发。
中断触发后,点亮板上的8个LED(实验1中的LED),再次按下按键,再次产生中断时LED灭。
如此循环进行。
2.计算机一台
1.熟悉原理图,了解本实验的电路原理。
3.用USB线连接实验板与PC机,利用PC的USB接口给实验板供电
4.编写程序并检查无误,编译并下载到目标板运行实验程序
5.按下实验板上的S12,观察板上LED的亮灭情况是否符合实验要求,如不符合修改程序指导符合要求。
主要的操作步骤与上一个I/O接口技术实验基本相同,唯一不一样的地方就是编写的程一样,要实现的内容不一样,单片机最终显示的结果不一样。
#include<
/*包含头文件reg51.h*/
sbitP3_7=P3^7;
/*定义位变量*/
voidmain()/*主函数*/
{P3_7=0;
/*使p3.7引脚低电平接通有效*/
EA=1;
/*总中断允许*/
EX0=1;
/*允许外部中断0中断*/
IT0=1;
/*选择外部中断0为跳沿触发方式*/
{P1=0;
}/*8只LED灯都亮*/
while
(1);
/*循环*/
}
voidint0()interrupt0using0
/*外部中断0的中断服务函数,第一个0为终端号,第二个为0区工作寄存器区*/
{EX0=0;
/*禁止外部中断0中断*/
P1=~P1;
/*取P1得反,即8只LED灯全灭*/
/*中断返回前,打开外部中断0中断*/
这次实验的结果是实现了利用实验板上的按键S12,实现单片机的外部中断INT0的触发。
中断触发后,点亮板上的8个LED,再次按下按键,再次产生中断时LED灭,如此循环进行。
通过外部中断0(INT0)以及在P3.7端口引脚的RD的接通与断开来实现了8只LED灯的灭和亮并循环。
这次实验室最后一个实验,我觉得也是我把编程和单片机学的较懂的一次实验,因为这次的实验编程自己确实花了很多时间去想,最终确实也没有独立完成,在我们小组成员的共同努力下,最终还是做出来了。
这次遇到最大的问题是我们不知道程序中的“取反”应该怎样编程来实现,老师一句简单的取反,让我们绞尽脑汁也没想出来怎么用,我们想到的用IF函数,也想到用FOR循环,结果一句“P1=~P1”,这样简单一句就实现了,不禁感叹程序的神奇。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告