51单片机实验报告-上传

合集下载

51单片机实验报告(共五则)

51单片机实验报告(共五则)

51单片机实验报告(共五则)第一篇:51单片机实验报告51单片机实验报告实验一点亮流水灯实验现象 Led灯交替亮,间隔大约10ms。

实验代码#include 〈reg51、h> void Delay10ms(unsigned int c);voidmain(){)1(elihwﻩ{ ﻩP0= 0x00;Delay10ms(50);;ffx0 =0Pﻩﻩ;)05(sm01yaleDﻩ } } void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}} 实验原理W W hi i le(1)表示一直循环。

循环体内首先将P0 得所有位都置于零,然后延时约5 5 0*10=500ms,接着 0 P0 位全置于 1 1,于就是 D LED 全亮了。

接着循环,直至关掉电源..延迟函数就是通过多个for r 循环实现得。

实验 2 流水灯(不运用库函数)实验现象起初 led 只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后 led 除最后一个都亮,接着上述过程 #includemain(){unsigned char LED;LED = 0xfe;while(1){ ﻩ;DEL = 0PﻩDelay10ms(50);00x0 == 0P(fiﻩ {;1〈〈 DEL = DELﻩ)ﻩ;efx0 = DELﻩ} ﻩ}ﻩ} void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)—-b;0〉b;83=b(rofﻩ{ ﻩﻩﻩ;)--a;0>a;031=a(rofﻩ} ﻩ} ﻩ} 实验原理这里运用了C语言中得位运算符, , 位运算符左移, , 初始值得二进制为1111 1 110, 之后左移一次变成1111 1 100 0,当变成00000 0000 时通过 f if 语句重置 1 1 11 1 11110、延迟函数在第一个报告已经说出了,不再多说..实验 3 流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include 〈reg51、h> #include 〈intrins、h〉void Delay10ms(unsigned int c); void main(void){unsigned char LED;;EFx0 = DELﻩ)1(elihwﻩ{ ﻩP0 = LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_ = DELﻩ} ﻩ} void Delay10ms(unsigned in t c){unsigned chara, b;for(;c〉0;c——){ ﻩfor(b=38;b〉0;b—-){ ﻩﻩ;)-—a;0〉a;031=a(rofﻩ} ﻩ}}实验原理利用头文件中得函数,_cro l_(,), 可以比位操作符更方便得进行 2 2 进制得移位操作, , 比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据, , 由此比前一个例子不需要f if 语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与 A-F。

51单片机实习报告

51单片机实习报告

51单片机实习报告
本次单片机实习内容主要包括对单片机的基本原理和应用进行学习,并完成了一些简单的实操项目,以及对实习过程中遇到的问题进行分析和解决。

在实习的过程中,我主要学习了单片机的基本结构、工作原理、编程语言和应用技巧等知识,并完成了几个简单的实操项目,如LED灯控制、数码管显示以及按键输入等。

通过这些项目的实操,我对单片机的应用有了更深入的理解和掌握。

在实习过程中,我遇到了一些问题,如编程逻辑不清晰、硬件连接错误等,导致项目无法正确运行。

针对这些问题,我及时查阅资料,向同学和老师请教,并通过反复排查和调试最终解决了这些问题。

通过这些问题的解决,我对单片机的应用有了更深入的理解和掌握,也提高了自己的问题分析和解决能力。

总的来说,本次单片机实习让我对单片机有了更深入的了解和掌握,提高了自己的实操能力和问题解决能力,在未来的学习和工作中,我会更加努力地学习和应用单片机相关知识,为将来的成长打下良好的基础。

51单片机实验报告

51单片机实验报告

51单片机实验报告
实验目的:
本实验旨在让学生熟悉并掌握51单片机的基本知识和编程能力,进一步了解单片机的原理和应用。

实验内容:
本次实验主要包括以下几个内容:
1.熟悉51单片机的基本原理和结构;
2.学习51单片机的汇编语言编程;
3.使用51单片机进行简单的I/O控制;
4.学习串口通信的原理和编码。

实验步骤:
1. 配置开发环境:安装Keil C编译器和Proteus电路仿真软件;
2.学习汇编语言编程基础知识,包括寄存器的使用、指令的执行等;
3.编写第一个程序:实现将一个数字显示在数码管上;
4.学习I/O控制:通过按键来控制LED灯的亮灭;
5.学习串口通信:通过串口与计算机进行通信,实现数据的发送与接收。

实验结果:
在实验过程中,我成功编写了几个基本的程序,并在Proteus中进行
了仿真。

通过按键来控制LED灯的亮灭,也成功地使用串口进行了数据的
发送和接收。

通过实验,我更深入地理解了51单片机的工作原理和编程
方法。

实验总结:
通过本次实验,我对51单片机有了更深的理解,并掌握了一些基本
的编程技巧。

通过实际操作,我培养了自己的动手能力和问题解决能力。

作为一门基础课程,51单片机为我今后的学习打下了坚实的基础。

我相信,在今后的学习和实践中,我能够更加熟练地运用51单片机进行各种
应用和项目的设计。

该报告共计1200字。

参考资料:
[1]《单片机技术与应用》.吕春阳、吕立民、钱锋.电子工业出版社,2024年。

C51单片机实验报告

C51单片机实验报告

C51单片机实验报告
一、实验内容
本次实验的目的是实现用C51单片机实现简易的闹钟功能:即用户可以设置闹钟时间,当到达闹钟的设定时间的时候,单片机会控制LED灯或者蜂鸣器发出报警信号来提醒用户。

二、实验任务
本次实验任务如下:
1.使用C51单片机读取外部时钟的时间。

2.实现从按键输入闹钟设定的时间。

3.使用定时器实现任务调度,即在每个时刻检查一次外部时钟的时间是否到达闹钟的设定时间,如果到达设定时间,则控制LED灯或者蜂鸣器发出报警信号。

三、实验过程
1.硬件部分:本实验使用的硬件是硬件C51单片机,它具有单片机主频11.059MHz,外部内存2K和内部RAM 128字节。

本次实验采用的C51单片机核心是AT89C51,它具有4K字节的Flash存储器,它有128个8位I/O口和3个定时器/计数器。

本次实验使用到的外设有:LCD1602显示模块、4个4*4的数字键盘、AT24C02的IIC从机存储器、LED灯和蜂鸣器。

2.软件部分:本次实验使用的软件工具是Keil C51编译器,使用它来编写C51单片机程序。

c51单片机实验报告

c51单片机实验报告

c51单片机实验报告C51单片机实验报告引言C51单片机作为一种常见的微控制器,广泛应用于各种电子设备中。

本实验报告旨在介绍C51单片机的基本原理、实验过程和结果分析,以及对其在实际应用中的潜力进行探讨。

一、C51单片机的基本原理C51单片机是一种高度集成的微处理器,由中央处理器、存储器、输入输出接口和时钟电路等组成。

其核心是Intel公司开发的8051系列单片机,具有高性能、低功耗和易于编程等优点。

C51单片机采用汇编语言进行编程,可以实现各种功能,如数据处理、控制和通信等。

二、实验过程本次实验选取了LED灯的控制作为示例,通过C51单片机控制LED灯的亮灭来展示其基本功能。

1. 实验材料准备准备工作包括C51单片机开发板、连接线、电源和LED灯等。

确保所有材料齐全并连接正确。

2. 编写程序使用汇编语言编写程序,通过控制特定的IO口来控制LED灯的亮灭。

程序需考虑到时序和逻辑关系,确保正确的控制信号发送到LED灯。

3. 烧录程序将编写好的程序通过烧录器烧录到C51单片机中,确保程序能够正确运行。

4. 运行实验将电源接入开发板,开启电源。

通过按下相应的按键或其他输入方式,触发C51单片机发送控制信号,从而控制LED灯的亮灭。

三、实验结果分析经过实验,我们成功地实现了通过C51单片机控制LED灯的亮灭。

通过改变程序中的控制信号,我们可以实现不同的灯光效果,如闪烁、流水灯等。

这说明C51单片机具有良好的可编程性和控制能力。

此外,我们还发现C51单片机具有较高的稳定性和可靠性。

在实验过程中,单片机能够稳定地工作,并根据程序的要求正确地控制LED灯的状态。

这为其在实际应用中提供了良好的基础。

四、C51单片机在实际应用中的潜力C51单片机作为一种常见的微控制器,广泛应用于各种电子设备中。

其可编程性和控制能力使得它在工业自动化、家电控制、通信设备和电子产品等领域有着广阔的应用前景。

例如,在工业自动化领域,C51单片机可以用于控制机器人、自动化生产线和仪器设备等。

51单片机实验报告

51单片机实验报告

51单片机实验报告51单片机是一款非常流行的单片机芯片,被广泛应用于各种电子产品中。

在这篇文章中,我们来探讨一下51单片机的一些实验,以及对于这些实验的理解和体会。

第一部分:实验内容我们进行的51单片机实验主要包括以下几个方面:1. 闪烁LED灯实验:这个实验是入门级别的,主要是为了熟悉51单片机的基本操作和编程方法。

在这个实验中,我们使用了一块51单片机开发板和几个LED灯,通过控制单片机的IO口信号来实现LED灯的闪烁。

2. 按键控制LED实验:这个实验是在闪烁LED实验的基础上进一步延伸的,主要是为了了解如何通过外部按键来控制单片机的输出。

在这个实验中,我们运用了单片机的外部中断和定时器等功能,实现了按键控制LED灯的亮灭。

3. LCD1602显示屏实验:这个实验是为了让我们熟悉如何在51单片机中使用LCD1602液晶显示屏。

在这个实验中,我们使用了I2C总线来与LCD1602进行通信,通过向LCD1602发送命令和数据来实现字符的显示。

4. 电机驱动实验:这个实验是让我们了解如何使用51单片机来控制电机的运转。

在这个实验中,我们运用了单片机的PWM控制功能,通过改变PWM波的占空比来控制电机的转速和方向。

第二部分:实验体会通过这些实验,我对于51单片机有了更深刻的理解和体会。

在这里,我想分享一下我的一些体会。

首先,我认为51单片机具有非常强大的控制能力和灵活性。

通过编写程序,我们可以控制单片机的各种IO口、定时器、PWM输出等功能,从而实现各种复杂的控制任务。

同时,由于其能够直接操作硬件,所以可以快速响应各种外部事件,对实时性要求较高的应用场景有很好的适应性。

其次,我发现在51单片机开发中,良好的软硬件结合非常重要。

由于51单片机具有丰富的外部中断、定时器等功能,因此我们可以很好地利用这些硬件资源来实现各种功能。

同时,在编写程序时,我们也需要充分发挥51单片机的硬件优势,例如使用定时器来完成计时任务,使用外部中断来完成输入检测等等。

51单片机实验报告

51单片机实验报告

51单片机实验报告
根据所提供的信息,我可以为您提供一个基本的51单片机实验报告的样例。

以下是一个可能的实验报告结构:
实验名称:51单片机的基本使用
实验目的:掌握51单片机的基本使用方法和功能。

实验器材:51单片机开发板、USB接口线、计算机、电源。

实验步骤:
1. 连接电源,将开发板与计算机连接。

2. 打开软件IDE,新建一个工程。

3. 在工程中编写代码,实现将LED灯进行亮灭交替的功能。

4. 将编写好的代码下载到51单片机开发板中。

5. 检查电路连接是否正确,确保没有问题。

6. 启动51单片机开发板,观察LED灯的亮灭情况。

7. 记录实验结果。

8. 关闭开发板和计算机。

实验结果:
通过编写的代码,成功地实现了LED灯的亮灭交替功能。

LED灯每隔一段时间亮起,然后又灭掉,不断循环。

实验分析:
实验结果表明,51单片机因其高性价比和广泛应用领域,可以使用简单的代码实现一些基本功能。

在这个实验中,我们使
用了51单片机的GPIO口控制LED灯的亮灭,通过不断循环的方式实现了交替闪烁的效果。

实验总结:
通过这次实验,我了解了51单片机的基本使用方法,学会了如何编写简单的代码来控制外部设备。

这对于我以后的学习和应用起到了很好的基础作用。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图1-2 New Project菜单
图1-3 文件窗口
3
选择所要的单片机,这里我们选择常用的Ateml公司的AT89C51。此时屏幕如图1-4所示。完成上面步骤后,就可以进行程序的编写了。
4
首先我们要在项目中创建新的程序文件或加入已经存在的程序文件。如果您没有现成的程序,那么就要新建一个程序文件。点击图1-5中1的新建文件的快捷按钮,在2中出现一个新的文字编辑窗口,这个操作也可以通过菜单File-New或快捷键CTRL+N来实现。
unsigned char code DIG_CODE[19]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xc7,0x8c,};
XBYTE[0xb000]=A[n];
XBYTE[0xa000]=A[n];
以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。
安装好后,让我们一起来建立一个小程序项目吧。即使你手中还没有一块实验板,甚至没有一块单片机,不过没有关系我们可以通过KEIL软件仿真看到程序运行的结果。
XBYTE[0XA000]=0XC0;
XBYTE[0X9000]=0XC0;
XBYTE[0X8000]=0XF9;
3.显示P232:
XBYTE[0XB000]=0XC8;
XBYTE[0XA000]=0XA4;
XBYTE[0X9000]=0XB0;
XBYTE[0X8000]=0XC8;
4.显示----:
{
Delay10ms();
XBYTE[0xC000]=0X07;
m=XBYTE[0xC000];
m=m&0x0f;
if(m!=0x0f)
{
if(m==0X0e)KeyValue=1;
if(m==0X0d)KeyValue=5;
if(m==0X0b) KeyValue=9;
if(m==0X07)KeyValue=12;
首先当然是运行KEIL51软件。运行几秒后,出现如图1-1的屏幕。
图1-1
2
点击工程菜单,选择弹出的下拉式菜单中的NewuVisionProject,如图1-2。接着弹出一个标准Windows文件对话窗口,如图1-3。在“文件名”中输入您的第一个C程序项目名称,“保存”文件。这是KEIL uVision4项目文件,以后我们可以直接点击此文件以打开先前做的项目。
{
XBYTE[0xB000]=DIG_CODE[16];
XBYTE[0xa000]=DIG_CODE[14];
XBYTE[0x9000]=DIG_CODE[17];
XBYTE[0x8000]=DIG_CODE[17];
}
}
学生实验心得
通过这次单片机实验,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
在这个窗口我们可以用c语言或者汇编语言编写程序。
5
可以用c语言或者汇编语言编写程序,编写好之后点击保存,并且文件后缀名是.c或者.ASM,并且在项目中添加写好的程序,如图所示,
保存好c文件后,双击源组1,找到c程序,点击添加即可。
此时再点击1键,选择Output,在Creat HEX File前面打勾,让程序
通过这次实验,我发现了自己的不足之处,比如动手能力还需加强,处理各种问题的能力还需加强,我将不断发展壮大自己,争取在以后的学习生活中有更好的表现。
非常感谢Z老师在本次实验中的精心指导!
学生(签名):
年 月 日
指导
教师
评语
成绩评定:
指导教师(签名):
年 月 日
当给74LS273芯片赋值为0x0d时,为检测键盘第三列,原理同第一列。
当给74LS273芯片赋值为0x0e时,为检测键盘第四列,原理同第一列。

void KeyDown(void)
{
char m=0,n=0;
XBYTE[0xC000]=0x00;
m=XBYTE[0xC000];
if(m!=0x0f)
void main()
{
unsigned charn;
P2=0x01;
while(1)
{
for(n=0;n<7;n++)
{P2=_crol_(P2,1);
Delay10ms(50);
}
for(n=0;n<7;n++)
{P2=_cror_(P2,1);
Delay10ms(50);
}
}
}
void Delay10ms(unsigned int a)
Delay10ms();
n++;
}}
五、键盘子程序的应用
开机显示HELL,按A显示P001,按数字键则左移,按字母键则返回HELL:
while(1)
{
KeyDown();
if(KeyValue==10)//按a的时候
{int w=0,x=0,y=0,z=0;
XBYTE[0xB000]=DIG_CODE[18];
三、
LED可分为共阳极或共阴极,各段码位和显示段码的对应关系如下图所示:a~dp依次对应D0~D7。
共阳极或共阴极的十六进制数及空白字符与P的显示段码如下图所示,分别对地址:8000H,9000H,A000H,B000H赋值可让LED显示出字符。

用一个数组DIG_CODE[19]数组来装显示段码,并且对地址赋值即可。
{unsigned charb,c;
for(;a>0;a--)
for(b=38;b>0;b--)
for(c=130;c>0;c--) ;
}
实验三
一、
二、
MCS-51单片机显示部分,外接4片74LS273芯片作为4位LED显示器的静态显示接口,并行输出端分别接LED显示器的各段对应的引脚上。在单片机应用系统中,显示器显示用静态显示显示。
XBYTE[0XB000]=0XBF;
XBYTE[0XB000]=0XBF
XBYTE[0XB000]=0XBF
XBYTE[0XB000]=0XBF
实验
一、键盘电路
二、键盘译码地址
MCS-51单片机键盘部分,外接1片74LS273芯片作为扫描的输出接口,地址为:0C000H,输入接口在74HC244对应的引脚上,地址为:0C000H。
三、键盘原理
当给74LS273芯片赋值为0x07时,为检测键盘第一列,若为K5按下,则74HC244的1A2口的值为0,1A1,1A3,1A4口值为1。故推出接受到的值为0x0d;反之,若74HC244接受的值为0x0d,则是K5键被按下。
当给74LS273芯片赋值为0x0b时,为检测键盘第二列,原理同第一列。
XBYTE[0xB000]=DIG_CODE[w];
XBYTE[0xa000]=DIG_CODE[x];
XBYTE[0x9000]=DIG_CODE[y];
XBYTE[0x8000]=DIG_CODE[z];
}
KeyValue=10;
f++;
Delay10ms(20);
}
KeyDown();
if(KeyValue>9)
XBYTE[0xa000]=DIG_CODE[0];
XBYTYTE[0x8000]=DIG_CODE[1];
Delay10ms(5);
while(f>0)
{KeyDown();
if(KeyValue>=11)
f=-1;
if(KeyValue<=9)
{
w=x;x=y;y=z; z=KeyValue;
m=XBYTE[0xC000];
m=m&0x0f;
if(m!=0x0f)
{
if(m==0X0e)KeyValue=3;
if(m==0X0d)KeyValue=7;
if(m==0X0b) KeyValue=10;
if(m==0X07)KeyValue=14;
}
XBYTE[0xC000]=0X0e;
m=XBYTE[0xC000];
编译生成用于芯片烧写的HEX文件。
设置好后,依次点击编译按钮,此时我们可以在最下面看到有无错误,有无警告,是否生成HEX文件。
6
选择好下载软件,用STC-ISP软件 ,界面如图所示:
其中单片机型号选择STC89C52RC系列,并且点击打开程序文件,找到我们保存的HEX文件,打开之后点击下载即可。

依照实验内容开始进行实验,熟悉Keil软件的使用,自行建立工程,并新建一个文件(汇编文件为.ASM扩展名,C文件为.C扩展名),编写自己的程序,再把此文件添加到工程当中,最后进行编译,如果没有错误,则可以仿真测试或者下载到单片机进行实验。

#include<reg51.h>
sbit LED2=P2^2;
void main()
{
while(1)
{
P2=0x03;
}
}
实验二

1、熟悉单片机I/O口的特点
2、掌握单片机I/O口的编程

1、P1口流水灯灯程序编写(调试时连接JP3的8个跳线)
2、蜂鸣器发声程序
相关文档
最新文档