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单片机实习报告
本次单片机实习内容主要包括对单片机的基本原理和应用进行学习,并完成了一些简单的实操项目,以及对实习过程中遇到的问题进行分析和解决。
在实习的过程中,我主要学习了单片机的基本结构、工作原理、编程语言和应用技巧等知识,并完成了几个简单的实操项目,如LED灯控制、数码管显示以及按键输入等。
通过这些项目的实操,我对单片机的应用有了更深入的理解和掌握。
在实习过程中,我遇到了一些问题,如编程逻辑不清晰、硬件连接错误等,导致项目无法正确运行。
针对这些问题,我及时查阅资料,向同学和老师请教,并通过反复排查和调试最终解决了这些问题。
通过这些问题的解决,我对单片机的应用有了更深入的理解和掌握,也提高了自己的问题分析和解决能力。
总的来说,本次单片机实习让我对单片机有了更深入的了解和掌握,提高了自己的实操能力和问题解决能力,在未来的学习和工作中,我会更加努力地学习和应用单片机相关知识,为将来的成长打下良好的基础。
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单片机实现简易的闹钟功能:即用户可以设置闹钟时间,当到达闹钟的设定时间的时候,单片机会控制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单片机是一种高度集成的微处理器,由中央处理器、存储器、输入输出接口和时钟电路等组成。
其核心是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单片机实验主要包括以下几个方面: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单片机开发板、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单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
51单片机实验报告
51单片机实验报告51单片机是一种广泛应用于控制领域的微型处理器。
本文将介绍我所进行的两个基础实验,包括实验目的、实验内容、实验原理和实验结果。
实验一——点亮LED灯实验目的:了解51单片机的基本接口和编程方法;学会使用单片机的开发工具和调试器;掌握51单片机控制LED灯的方法。
实验内容:将LED灯连接至51单片机的P1.0引脚,并进行控制。
编写程序,使得LED灯能稳定地点亮。
实验原理:单片机可通过其IO口控制外部设备,使用高低电平来控制LED灯的开关。
P1.0是51单片机的一个输出端口,可通过赋予其电平状态从而控制LED的点灯与熄灭。
当单片机输出高电平时,LED灯会点亮,否则会熄灭。
实验结果:经过编写程序和调试后,成功实现了LED灯的点亮和熄灭。
按下按键即可改变LED的状态。
实验二——数码管计数器实验目的:了解51单片机的数字口和中断响应机制;掌握编写定时器中断程序的方法;学会使用键盘进行输入和外接数码管进行输出。
实验内容:通过对8位数码管控制台的编程,实现对数字的控制,使用定时器中断实现计数器功能,加深对51单片机中断响应机制的理解。
实验原理:单片机中断请求源包括外部中断源、定时器/计数器中断源以及串口中断源。
本次实验使用定时器中断,可实现一定时间间隔内数字的加减;使用键盘进行输入,采用P3口中断请求源实现按键响应,输出则通过数码管接口外设实现。
实验结果:通过定时器计数器、中断响应和数码管接口外设,成功实现一组数字的计数。
按下按键即可进行数字的加减,并通过数码管显示出来。
结语:本文所述实验为51单片机的基础操作,相信可以为读者提供实用的参考和帮助,帮助大家更加深入地理解51单片机的基础知识和使用方法。
51单片机实训实验报告
课设实习报告题目:步进电机姓名:杨帅班级: 3100303专业:机电一体化学号: 23号一、目的设计一个可以用单片机控制的步进电机正反转。
二、内容1、单片机采用AT89C51。
2、步进电机。
3、要求电路设计合理,系统功能可靠、稳定。
三、功能介绍按下开始按钮后,步进电机正转后自动反转。
四、步进电机的工作原理步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。
控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。
控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。
同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
五、硬件结构图六、硬件电路图七、程序流程图八、程序编程#include <at89x51.h>#define TIME0H 0xfc#define TIME0L 0xff //定时器0溢出时间:1ms//********************************************************* ****************************************//**//*******************************全局变量**********************************//**//********************************************************* ****************************************unsigned char uc_StepSelect=0; //励磁电流选择序号。
c51单片机实验报告
C51单片机实验报告实验目的本实验旨在通过对C51单片机的学习和实践,了解单片机的基本原理和使用方法,掌握C语言与单片机的编程技巧。
实验器材•C51单片机•电脑•C语言开发环境•连接线实验步骤步骤一:准备工作1.将C51单片机与电脑连接,确保连接线连接正确且稳固。
2.在电脑上安装C语言开发环境,如Keil等。
3.打开C语言开发环境,创建一个新的工程。
步骤二:编写程序1.在新建的工程中,打开主程序文件。
2.根据实验要求,编写相应的C语言程序。
3.确保程序逻辑正确,没有语法错误。
步骤三:编译程序1.在C语言开发环境中,点击编译按钮,对程序进行编译。
2.检查编译结果,确保没有出现错误提示。
步骤四:下载程序1.将编译成功的程序下载到C51单片机中。
2.确保下载过程中连接稳定,避免中断导致下载失败。
步骤五:运行程序1.完成程序下载后,断开C51单片机与电脑的连接。
2.将C51单片机连接到相应的电路中。
3.打开电源,启动C51单片机。
4.观察程序的运行情况,检查是否符合预期的结果。
实验结果根据实验要求,我们可以通过观察C51单片机的运行结果来验证程序的正确性。
如果程序实现了预期的功能,且单片机能够正常运行,即可认为实验结果是成功的。
实验总结本次实验通过对C51单片机的学习和实践,我们掌握了单片机的基本原理和使用方法,同时也提升了C语言与单片机的编程技巧。
在实验中,我们遵循了一步一步的思路,从准备工作到编写程序、编译程序、下载程序以及最终的运行程序,每个步骤都有条不紊地进行,确保实验的顺利进行。
通过本次实验,我们深刻认识到了单片机在现代电子技术中的重要性,它广泛应用于各个领域,如家电、汽车、通信等。
掌握单片机的原理和使用方法,对于我们今后的学习和工作都具有重要的意义。
参考资料[1] C51单片机实验指导书[2] C语言与单片机编程教程。
c51单片机实验报告
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
51单片机实验报告
实验一数据传送实验实验内容:将8031内部RAM 40H—4FH单元置初值A0H—AFH, 然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。
将程序经模拟调试通过后, 运行程序, 检查相应的存储单元的内容。
源程序清单:ORG 0000HRESET: AJMP MAINORG 003FHMAIN: MOV R0, #40HMOV R2, #10HMOV A, #0A0HA1:MOV @R0, AINC R0INC ADJNZ R2, A1MOV R1,#40HMOV R0, #50HMOV R2, #10HA3: MOV A, @R1MOV @R0, AINC R0INC R1DJNZ R2, A3LJMP 0000H思考题:1.按照实验内容补全程序.2.CP.对8031内部RAM存储器有哪些寻址方式?直接寻址, 立即寻址, 寄存器寻址, 寄存器间接寻址。
3.执行程序后下列各单元的内容是什么?内部RAM 40H~4FH ___0A0H~0AFH______________________内部RAM 50H~5FH___0A0H~0AFH_______________________实验二多字节十进制加法实验实验内容:多字节十进制加法。
加数首地址由R0 指出, 被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。
将程序经模拟调试通过后, 运行程序, 检查相应的存储单元的内容。
源程序清单: ORG 0000HRESET: AJMP MAINORG 0100HMAIN: MOV SP, #60HMOV R0, #31HMOV @R0, #22HDEC R0MOV @R0, #33HMOV R1, #21HMOV @R1, #44HDEC R1MOV @R1, #55HMOV R2, #02HACALL DACNHERE: AJMP HEREDACN: CLR CDAL: MOV A, @R0ADDC A, @R1DA AMOV @R1, AINC R0INC R1DJNZ R2, DALCLR AMOV ACC.0 , CRET思考题:1.按照实验内容补全程序。
51单片机实验报告
51单片机实验报告
摘要
本实验为51单片机模拟实验,在实验中,用单片机程序控制使得
LED灯按一定程序闪烁,以达到模拟的目的。
本实验利用单片机采用闪烁
程序编写实现LED灯和蜂鸣器的模拟输出,实现LED灯按照一定规律闪烁,蜂鸣器产生指定频率。
关键词:51单片机;LED;蜂鸣器;模拟
1实验目的
本实验旨在利用51单片机模拟LED灯和蜂鸣器的闪烁,利用串口助
手模拟输出。
2实验原理
本实验的实验原理主要是利用51单片机程序实现LED的模拟输出,
利用定时器控制LED灯的闪烁,实现LED按规律闪烁;利用PWM控制蜂鸣器,设置频率实现蜂鸣器的模拟输出。
3实验设备
(1)51单片机开发全套组件,包括51单片机主板、串口助手、编
程器;
(2)LED灯;(3)蜂鸣器。
4实验过程
(1)硬件接线:
将51单片机主板的LED0、LED1、LED2和蜂鸣器接到P2口,符合接线图的要求。
(2)编写并烧写程序:
编写程序完成LED灯和蜂鸣器的模拟输出,将程序烧写到51单片机中,实现输出模拟过程。
5实验结果
实验结果表明,实验中所编写的51单片机程序能够正确地控制LED 灯和器的输出,LED灯按一定程序闪烁。
51单片机学习板实验报告
电子信息工程学院电子技术综合实验报告题目:51单片机学习板年级:2010专业:光信息科学与技术学号:姓名:2012 年 4 月 5 日1、功能与技术指标:1)USB2.0接口:用于宏晶科技STC系列单片机下载程序,以及电源供电,也可用于串口通信;2)ISP下载接口:用于Atmel公司AT系列单片机下载程序,以及电源供电;3)DB9串口母头:用于宏晶科技STC系列单片机下载程序,也可用于串口通信;4)输入/输出引脚(I/O口)a)P0:P0.0~P0.7,P0口8位双向I/O口,占32~39b)P1:P1.0~P1.7, P1口8位准双向I/O口,占1~8c)P2:P2.0~P2.7,P2口8位准双向I/O口,占21~28d)P3:P3.0~P3.7,P,3口8位准双向I/O口,占10~175)控制口线a)(29脚):外部程序存储器读选通信号;b)(30脚):地址所存允许/编程信号;c)外部程序存储器地址允许/固化编程电压输入端;d)/VPD(9脚):RST是复位信号输入端,VPD是备用电源输入端。
6)电源及其它a)VCC(40脚):电源端+5V;b)GND(20脚):接地端;c)XTAL1、XTAL2(18~19脚):时钟电路引脚。
2、原理与框图:图一51单片机电路原理图3、安装调试步骤第一步51单片机学习板裸板检测a)电源部分b)端口部分第二步焊接51单片机学习板步骤1:焊接电阻(20个)。
2:焊接二极管(1个)。
3:焊接晶振(1个),Y1直接焊接,Y2用军品排座,然后插上晶振。
4:焊接瓷片电容(11个)。
5:焊接电解电容(2个)。
6:检查电源部分是否错误。
7:焊接按键(5个)和电位器(2个)。
8:焊接发光二极管(9个)。
9:焊接防反插座(2个),自锁开关(1个)。
10:焊接单排插针(9个)、军品单排座(1个)、简易牛角座(1个)、芯片座(2个)。
11:焊接剩下元器件。
12:管脚修整,剪断已焊接元件多余的引脚,并检查是否所有的器件均焊接完成。
51单片机数码管显示实验报告
51单片机数码管显示实验报告实验目的:1.学习51单片机的编程方法和硬件连接方法;2.掌握使用51单片机驱动数码管显示的方法。
实验器材:1.51单片机开发板;2.公共阳极共阳向数码管一个;3.若干杜邦线。
实验原理:数码管是一种数字显示器件,由7个发光二极管和若干个选通器件构成。
每个发光二极管可以发出两种颜色的光,通常使用红色和绿色。
这篇实验报告以共阳数码管为例,共阳数码管的每个发光二极管的阳极都连接到电源VCC上,而七个阴极分别用来选择一些数字进行显示。
当要选择一些数码管显示时,需要对对应的阴极进行低电平使能,而使能其他阴极保持高电平,这样就可以通过控制每个数码管的阴极低电平使能来选择要显示的数字。
实验步骤:1.将51单片机开发板上的数码管连接到51单片机开发板的P1口和P0口上,连接方式如下图所示:```-----------------VCC-P0.0--,a,-----------------P0.1--,b,------P0.2--,c,---,数字2P0.3--,d,------P0.4--,e,------P0.5--,f,---,数字1P0.6--,g,------P0.7--,h,-----------------------P1.0P1.1```2. 在Keil µVision中新建工程,编写程序。
3.利用P0口控制数码管的阴极,利用P1口选择数码管要显示的数字。
4.在主程序中循环选择每个数码管,并通过P0口设置要显示的数字。
实验结果:```---------------------------------P1.0P1.1P0.6P0.7空空数字2数字1abcdefgh---------------------------------```实验结论:通过本次实验,学习了51单片机的编程方法和硬件连接方法,并掌握了使用51单片机驱动数码管显示的方法。
同时,还了解了数码管的工作原理和编程的基本步骤。
51单片机实验报告册
《单片机原理及接口技术》实验报告册系部班级姓名学号鄂尔多斯学院电子信息工程系二零一二年三月实验一单片机I/O口应用实验(流水灯)一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论指导老师签字:实验二继电器控制实验一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论指导老师签字:实验三步进电机控制实验一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论指导老师签字:实验四单片机控制数码管实现简单秒表一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。
3.硬件电路连线(1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;4.程序设计内容(1).8X8 点阵LED工作原理说明8X8点阵LED结构如下图所示从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现。
5.汇编源程序ORG 00HSTART: NOPMOV R3,#3LOP2: MOV R4,#8MOV R2,#0LOP1: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,AINC R2LCALL DELAYDJNZ R4,LOP1DJNZ R3,LOP2MOV R3,#3LOP4: MOV R4,#8MOV R2,#7LOP3: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,ADEC R2LCALL DELAYDJNZ R4,LOP3DJNZ R3,LOP4MOV R3,#3LOP6: MOV R4,#8MOV R2,#0LOP5: MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,@A+DPTRMOV P1,AINC R2LCALL DELAYDJNZ R4,LOP5DJNZ R3,LOP6MOV R3,#3LOP8: MOV R4,#8MOV R2,#7LOP7: MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,@A+DPTRMOV P1,ADEC R2LCALL DELAYDJNZ R4,LOP7DJNZ R3,LOP8LJMP START DELAY: MOV R5,#10D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHTABB: DB 01H,02H,04H,08H,10H,20H,40H,80HEND6.C语言源程序#includeunsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay(void){unsigned char i,j;for(i=10;i>0;i--)for(j=248;j>0;j--);}void delay1(void){unsigned char i,j,k;for(k=10;k>0;k--)for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){unsigned char i,j;while(1){for(j=0;j<3;j++) //from left to right 3 time{for(i=0;i<8;i++){P3=taba[i];P1=0xff;delay1();}}for(j=0;j<3;j++) //from right to left 3 time{for(i=0;i<8;i++){P3=taba[7-i];P1=0xff;delay1();}}for(j=0;j<3;j++) //from top to bottom 3 time{for(i=0;i<8;i++){P3=0x00;P1=tabb[7-i];delay1();}}for(j=0;j<3;j++) //from bottom to top 3 time{for(i=0;i<8;i++){P3=0x00;P1=tabb[i];delay1();}}}}指导老师签字:。
“51”单片机实习报告
“51”单片机实习报告学院:电气与控制工程学院专业:班级:姓名:学号:目录一.前言二.实训的目的及要求三.实训原理四.硬件的安装与调试五.软件部分六.系统测试七.元器件清单八.心得体会九.参考文献前言51精简开发板是一款以8051系列单片机为核心的精简开发板。
8051系列单片机是一款应用非常广泛的8位微处理芯片,由于其功能齐全,产品技术成熟,资料广泛,又是学习其他很多单片机的基础。
单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。
因此拥有一块单片机开发板对单片机学习具有着极其重要的意义。
本课题设计的单片机开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。
利用程序开发语言开发程序并实现ISP在线下载到单片机,无需配置单独的下载器。
单片机使用ISP在线下载程序,加快了程序设计者调试的进度,使设计者所设计的程序尽快得到验证。
通过对开发板上的模块进行实验,可以提高针对不同硬件进行编程的能力,同时通过实验现象对所用的硬件也有了更深一步的认识,因此该开发板具有一定的实用价值和现实意义。
实训的目的及要求1.了解“51”精简开发板的工作原理及其结构;2.了解复杂电子产品生产制造的全过程;3.熟练掌握电子元器件的焊接方法与技巧,训练动手能力,培养工程实践观念。
实训原理1.主要性能指标输入电压:DC 4.5V~5V;典型值:5V2.功能分区与模块简介[1] 单片机单片机也称单片微控制器(Single Chip Microcontroller),它集成度高、运算快、体积小、运行可靠、价格低廉,在过程控制、数据采集、机电一体化、智能仪器仪表、家用电器以及网络技术等方面得到广泛应用。
[2] 电源部分电源部分由开关、稳压集成、电源指示灯几部分组成,本款51板输入电压4.5V~5V,典型输入电压为5V,也可通过板上的稳压集成芯片78M05给单片机提供5V电压,可使单片机正常工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图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、蜂鸣器发声程序