单片机实验报告.docx
- 文档编号:3050499
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:34
- 大小:629.29KB
单片机实验报告.docx
《单片机实验报告.docx》由会员分享,可在线阅读,更多相关《单片机实验报告.docx(34页珍藏版)》请在冰豆网上搜索。
单片机实验报告
南京晓庄学院电子工程学院
实验报告
课程名称:
单片机系统设计与应用
姓名:
森
专业:
电子信息科学与技术
年级:
14级
学号:
05
2016年12月1日
实验项目列表
序号
实验项目名称
成绩
指导教师
1
单片机仿真软件的使用
2
单片机I/O接口应用实验——流水灯
3
外部中断实验——工业顺序控制模拟
4
定时/计数器实验——矩形波
5
定时/计数器实验——计数器
6
综合实验
7
8
9
10
注:
1、实验箱端口为com6。
2、芯片选择切换到51
3、停止运行使用实验箱上的复位按钮
实验室号:
___实验时间:
成绩:
实验一仿真软件的使用
1.实验目的和要求
1)熟悉KeilC51软件界面,以及编辑、编译、运行程序的步骤;
2)掌握单片机仿真软件使用和调试的方法。
2.实验原理
KeilC51软件使用
在KeilC51集成开发环境下,建立一个工程并编辑源程序,熟悉KeilC51集成开发环境下各种菜单、命令的使用。
3.主要仪器设备(实验用的软硬件环境)
安装有KeilC51软件的PC机1台
4.操作方法与实验步骤
KeilC51软件使用
(1)建立用户文件夹
(2)建立工程
(3)建立文件并编码。
输入以下源程序,并保存在项目所在的目录中
(4)把文件加入工程中
(5)编译工程。
编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。
(6)调试。
利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。
(7)目标代码文件的生成。
运行生成相应的.HEX文件。
5.实验内容及程序
1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。
注意:
DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。
P83-5源程序
#include
#defineucharunsignedchar
xdataunsignedcharbuffer1[10]_at_0x2000;
//在xdata区定义数组变量BUF1,首地址为2000H
dataunsignedcharbuffer2[10]_at_0x40;
//在data区定义数组变量BUF2,首地址为40H
voidmain(void)
{
uchari;
for(i=0;i<10;i++)
buffer1[i]='A';
for(i=0;i<10;i++)
buffer2[i]=buffer1[i];//把data区中的内容传送给xdata区
while
(1);
}
6.实验现象
P83-5运行效果图
2)将DATA区地址为20H的单元赋初值为05H,地址为21的单元赋初值为06H,将这两个单元的数据拼成56H,存入XDATA区地址为2000H的单元。
程序(程序中请对应写出关键注释语句)
P275源程序
#include
#include
#defineaXBYTE[0x2001]
#definebXBYTE[0x2002]
main(void)
{
a=0x05;
b=0x06;
a=a<<4;
b=a|b;
}
P275运行效果图
实验室号:
___实验时间:
成绩:
实验二单片机I/O接口应用—流水灯
1.实验目的和要求
1)进一步掌握单片机仿真软件的使用方法。
2)掌握单片机最小系统的构成。
3)掌握单片机I/O口的使用方法,如何控制I/O口检测按键及驱动LED发光二极管。
4)熟悉C51程序编程和调试方法。
2.电路原理图(附proteus电路原理图)
3.主要仪器设备(实验用的软硬件环境)
安装有KeilC51软件与Proteus仿真软件PC机1台
单片机试验箱一套
4.实验说明及实验步骤
●P1口为准双向口,P1的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。
●延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环实现。
在系统时间允许的情况下可以采用后一种方法。
本实验中延时子程序采用指令循环来实现。
1)源程序设计
分析设计要求,根据任务要求,绘制源程序流程图,然后使用KeilC进行源程序文件的设计与调试,观察并分析程序调试结果。
2)硬件运行
加载目标代码至单片机中,运行,观察运行结果
5.实验内容及程序
1)在P1口实现流水灯。
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(uinti)//延时函数
{uchart;
while(i--)
{for(t=0;t<120;t++);
}
}
voidmain()//主程序
{P1=~0xfe;//高电平点亮第一个灯
while
(1)
{
delay(500);//500为延时参数
P1=_crol_(P1,1);//P1中的数据循环左移1位,实现流水灯
}
}
2)任选某P端口接开关,控制流水灯的启动和停止。
接线:
P10-P17接D0-D7;P2.x接K0
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(uinti)//延时函数
{uchart;
while(i--)
{for(t=0;t<120;t++);
}
}
sbitKEY=P2^0;//定义P2^0口作为开关
voidmain()//主程序
{P1=~0xfe;//高电平点亮第一个灯
while
(1)
{
if(KEY==0)//开关接地,低电平启动流水灯
{
delay(500);//延时
P1=_crol_(P1,1);//P1中的数据循环左移1位,实现流水
}
}
}
*3)设计花样流水灯:
自行设计两种花样流水灯,利用开关实现两种流水灯的切换,例如K0控制第一种流水灯的启动和停止;K1控制第二种流水灯的启动和停止,两种流水灯可以通过两个开关实现切换。
程序(程序中请对应写出关键注释语句)
#include
#defineucharunsignedchar//定义无符号字符型变量
sbitS0=P0^0;//将S0定义为P0.0
unsignedcharstate;
voidflow(void);//申明函数flow
voidkey_scan(void);//申明函数key_scan
voiddelay()//延时函数
{
uchari,j;
for(i=0;i<125;i++)
for(j=0;j<125;j++);
}
voiddelay1ms(void)//延时消抖函数
{
uchari,j;
for(i=0;i<10;i++)
for(j=0;j<10;j++);
}
voidmain()
{
state=0;
while
(1)
{
key_scan();
switch(state)
{
case0:
P1=0xff;break;
case1:
flow();break;
}
}
}
voidkey_scan(void)//开关检测函数
{
P0=0xff;
if((P0&0x0f)!
=0x0f)//检测到有按键按下
{
delay1ms();//延时1ms再去检测
if(S0==0)
state=0;
else
state=1;
}
}
voidflow(void)//流水灯点亮函数
{
P1=0xfe;
delay();
P1=0xfd;
delay();
P1=0xfb;
delay();
P1=0xf7;
delay();
P1=0xef;
delay();
P1=0xdf;
delay();
P1=0xbf;
delay();
P1=0x7f;
delay();
}
6.实验讨论及分析
如果将P1口高4位定义为输入,低4位定义为输出,将高4位输入的值在低4位显示出来,请写出对应程序。
实验室号:
___实验时间:
成绩:
实验三外部中断实验——工业顺序控制模拟
1.实验目的和要求
1)掌握单片机系统中断原理和使用方法。
2)掌握中断处理程序的编写方法
2.电路原理图(附proteus电路原理图)
3.主要仪器设备(实验用的软硬件环境)
安装有KeilC51软件与Proteus仿真软件PC机1台
单片机试验箱一套
4.实验说明及实验步骤
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律的完成预定的动作,对这类继续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模
注射
延时
开模
产伸
产退”顺序动作,用单片机最易实现。
1)源程序设计
分析设计要求,根据任务要求,绘制源程序流程图,然后使用KeilC进行源程序文件的设计与调试,观察并分析程序调试结果。
2)硬件运行
加载目标代码至单片机中,运行,观察运行结果
5.实验内容及实验程序
P1口控制注塑机的八道工序,现模拟控制八只发光二极管的点亮,即正常情况下P1口走亮流水(低电平点亮LED)。
P2.4为开工启动开关,高电平启动。
未启动及开关停止时LED全灭。
INT0为外部故障1输入模拟开关,产生故障1使P1.0~P1.3口接的LED闪烁8次;INT1为外部故障2输入模拟开关,产生故障2使P1.4~P1.7口接的LED闪烁8次;
接线:
P10-P17接D0-D7;,INT0接KK1-(单次脉冲);INT1接KK2-(单次脉冲)
附程序(程序中请对应写出关键注释语句)
#include
#defineucharunsignedchar//定义无符号字符变量
#defineuintunsignedint//定义无符号整型变量
sbitK0=P2^4;//将K0定义为P2.4
voiddelay(uintt);//申明延时函数delay()
voiddelay(uintt)//延时函数
{
ucharj;
for(;t>0;t--)
for(j=0;j<1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告