单片机实验报告模板

单片机原理实验报告

实验一 熟悉μ’nSP?IDE集成开发环境下C语言程序的编写

【实验目的】

1. 熟悉μ’nSP?IDE集成开发环境的使用方法;

2. 掌握用SPCE061A单片机C语言编写应用程序的方法。

【实验设备】

1. 装有Windows系统和μ’nSP?IDE集成开发环境的PC机一台,μ’nSP?十六位单片机实验箱一个。

2. 本实验用到的实验箱硬件模块为:SPCE061A核心及周边电路模块(包含32个I/O口)。

【实验要求】

1. 编程要求:编写一个C语言程序。

2. 实现功能:(此处描述自己编写程序的功能);

3. 实验现象:根据功能设计,理论上应得到的现象。

【实验原理】

程序流程图:

【实验结果】

1、源程序清单:

 要求填写程序代码,截图或直接手打皆可

2、程序运行情况(仿真软件):

 (截图)(要求截图中含有变量观察框,汇编地址观察框以及寄存器观察框)

3、程序运行结果:

单片机实验箱硬件连接图片

现象文字描述

【实验总结】

1、实验中遇到的问题及解决办法

2、自己在考虑本实验时的想法及实现情况

      

 

第二篇:单片机实验报告3

实验三 流水灯实验

一、实验目的

进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

二、实验原理

MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。

本实验用到的P1口内部结构如图3-1所示。作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。为了能正确读取引脚信号,锁存器必须先写1。通过C51程序的编写,可以使I/O口的每根引脚在不同的时间输出不同的0、1信号,从而控制外部的设备。

三、实验设备与器件

硬件:微机、单片机仿真器、单片机实验板、连线若干

软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件

四、实验内容

1. 一个LED灯 一个开关

程序:开关按下灯闪三下

#include<reg51.h>

sbit led=P2^0;

sbit sw=P2^1;

void delay( int i )

{

int j;

for(;i>0;i--)

for(j=250;j>0;j--);

}

void main()

{ int a;

while(1)

{ if(sw==0)

for(a=3;a>0;a--)

{ led=0;

delay(600);

led=1;

delay(600);

}

else

led=1;

}

}

2. 8个LED灯 两个开关

单向流水灯

#include<reg51.h>

sbit sw1=P1^0;

void delay( int i )//定义延时函数 {

int j;

for(;i>0;i--)

for(j=250;j>0;j--);

}

void main()//主函数

{ char a,b;

while(1)

{ if(sw1==0)//单向流动(向下移动) { b=0xff;

delay(400);

b=0xfe;

for(a=8;a>0;a--)

{

P2=b;

b=(b<<1|0x01);

delay(100);

}

}

else

P2=0xff;

双向流水灯(自选 移位)

#include<reg51.h>

void delay( int i )//定义延时函数 {

int j;

for(;i>0;i--)

for(j=250;j>0;j--);

}

void main()//主函数

{ char led1,led2;

int a;

while(1)

{ P2=0xff;

delay(400);

led1=0x7f,led2=0xfe;

for(a=4;a>0;a--)

{

P2=led1&led2;

led1=(led1>>1|0x80); led2=(led2<<1|0x01); delay(400);

}

}

}

五、评分标准

实验时实验的完成情况 实验报告的书写

相关推荐