51单片机实验报告
单片机实训报告总结
单片机实训报告总结篇一:51单片机实训报告“51单片机”精简开发板的组装及调试实训报告为期一周的单片机实习已经结束了。
通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。
同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。
此次实训主要有以下几个方面:一、实训目的1.了解“51”精简开发板的工作原理及其结构。
2.了解复杂电子产品生产制造的全过程。
3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。
4.能运用51单片机进行简单的单片机应用系统的硬件设计。
5.掌握单片机应用系统的硬件、软件调试方法二、实验原理流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。
它的电气性能指标:输入电压:~6V,典型值为5V。
可用干电池组供电,也可用直流稳压电源供电。
如图所示:本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。
三、硬件组成1、晶振电路部分单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。
他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。
2、复位端、复位电路给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。
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年。
单片机实训实验报告
一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
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单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
C51单片机实验总结报告
C51单片机实验总结报告HEFEI UNIVERSITY单片机实验报告系别电子信息与电气工程系专业班级学号姓名指导老师完成时间实验一构建单片机最小系统和实验环境熟悉一、预习要求1.构建单片机最小系统,熟悉51单片机的结构及编程方法2.按照程序流程图编写出程序二、实验目的1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容单片机最小系统实验:1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。
2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。
存储单元数据传输实验1、熟悉MCS51汇编指令。
2、进行存储单元数据传输实验,编写程序。
3、运行程序,验证译码的正确性。
四、实验原理1、作出单片机最小系统的组成原理图12.最小系统版的组成:时钟电路,复位电路,电源电路。
3.软件编译环境的熟悉实验中我们使用keilC环境编译程序。
其窗口界面如下:4.测试程序;将从外部RAM3000H单元开始连续存放的;50个单字节数据传送到内部RAM30H单元的50个单元中。
ORG 0000HMOV R0,#32H ;计数初值50MOV A,#78H ;(A)=78H送外部3000H--3050HMOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTRLOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0SETB P1.2CLR P1.3CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0MOV R1,#30H ;内部数据存储区首址30H送R1MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR2LOOP: MOVX A,@DPTR ;读外部数据存储区3000H内容送AMOV @R1,A ;累加器A的内容送内部数据存储区30HINC DPTR ;外部数据存储区地址增一INC DPTR ;内部数据存储区地址增一INC R1DJNZ R0,LOOPSJMP $END五、实验仪器、设备1、单片机最小系统2、Keil C51集成环境软件六、实验注意事项1.注意在星研集成环境下如何进行程序调试2.注意保护实验箱七、实验方法及步骤1、调试单片机最小系统板。
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单片机求平均值实验报告
51单片机求平均值实验报告实验名称:基于51单片机的求平均值实验实验目的:1.掌握51单片机的基本编程原理;2.理解基本电路原理,学会使用万用表等工具对电路进行测量;3.能使用51单片机对多个数值进行求平均值的操作。
实验原理:本实验主要涉及到51单片机基础知识和基本电路原理,涉及到以下几个方面的知识:1.51单片机的工作原理:51单片机的基本原理是通过将程序代码下载到单片机中,通过控制IO口,实现对外部设备的控制和数据的处理。
2.模拟电路基础知识:本实验中使用的是AD转换器,该电路主要由电阻、电容和运算放大器组成,可以将模拟信号转换为数字信号。
3.基本的电子元器件:在本实验中,需要使用到的电子元器件有电阻、电容和电位器,这些元器件是电路中基本的组成部分,掌握它们的使用和特性对于电路的设计和调试都非常关键。
实验材料:1.51单片机板2.数码管3.AD转换器模块4.电阻、电容、电位器5.跳线6.万用表实验步骤:1.搭建实验电路:将51单片机板、数码管、AD转换器模块等按照电路图连接起来。
2.编写程序:根据实验要求编写51单片机程序,实现求平均值的操作。
3.下载程序:将编写好的程序下载到单片机中。
4.测试电路:通过万用表对电路进行测试,检查电路中存在的问题,如有短路、断路等等。
5.开始实验:启动实验程序,将多个数值输入程序中,通过程序对这些数值进行处理,最后输出平均值。
6.记录实验结果:记录每次实验结果,这有助于后期分析实验数据并进行相关研究。
实验结果:通过多次实验,我们最终得到了一组较为稳定的数据,数据如下:输入的数值为:6、8、10、12、14平均值为:10实验结论:通过本实验我们可以发现,51单片机在数据处理中的作用十分巨大,通过编写程序,我们可以方便地对多个数值进行求平均值操作。
电子元器件的选择和故障排除对于电路的设计和调试非常关键,我们需要对电路中常见元器件的使用和特性有一定的掌握,才能确保实验的顺利进行。
“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电压,可使单片机正常工作。
51单片机实验报告范文
51单片机实验报告范文51单片机实验报告实验一点亮流水灯实验现象Led灯交替亮,间隔大约10ms。
实验代码#include〈reg51、h>voidDelay10ms(unsignedintc);voidmain(){)1(elihwﻩ{ﻩP0=0x00;Delay10ms(50);;ffx0=0Pﻩﻩ;)05(sm01yaleDﻩ}}voidDelay10ms(unsignedintc){unsignedchara,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}}实验原理WWhiile(1)表示一直循环。
循环体内首先将P0得所有位都置于零,然后延时约550*10=500ms,接着0P0位全置于11,于就是DLED全亮了。
接着循环,直至关掉电源..延迟函数就是通过多个forr循环实现得。
实验2流水灯(不运用库函数)实验现象起初led只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程#includemain(){unsignedcharLED;LED=0xfe;while(1){ﻩ;DEL=0PﻩDelay10ms(50);;1〈〈DEL=DELﻩ)00x0==0P(fiﻩ{ﻩ;efx0=DELﻩ}ﻩ}ﻩ}voidDelay10ms(unsignedintc){unsignedchara,b;for(;c>0;c-—){ﻩﻩﻩ)—-b;0〉b;83=b(rofﻩ{;)--a;0>a;031=a(rofﻩ}ﻩ}ﻩ}实验原理这里运用了C语言中得位运算符,,位运算符左移,,初始值得二进制为11111110,之后左移一次变成111111000,当变成000000000时通过fif语句重置1111111110、延迟函数在第一个报告已经说出了,不再多说..实验3流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include〈reg51、h>#include〈intrins、h〉voidDelay10ms(unsignedintc);voidmain(void){unsignedcharLED;;EFx0=DELﻩ)1(elihwﻩ{ﻩP0=LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_=DELﻩ}ﻩ}voidDelay10ms(unsignedintc){ unsignedchara,b;for(;c〉0;c——){ﻩfor(b=38;b〉0;b—-){ﻩﻩ;)-—a;0〉a;031=a(rofﻩ}ﻩ}}实验原理利用头文件中得函数,_crol_(,,),可以比位操作符更方便得进行22进制得移位操作,,比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据,,由此比前一个例子不需要fif语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与A-F。
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语言与单片机编程教程。
51单片机生产实习报告(DS1302)
一、实习目的与要求学习51系列单片机的基本原理, 并能熟练运用其基本功能。
用单片机和DS1302时钟芯片做一个实时时钟, 用数码管显示年、月、日、星期、时、分、秒, 利用独立键盘对其进行时间和日历调整。
二、51系列单片机的管脚介绍VCC: 供电电压。
GND: 接地。
P0口: P0口为一个8位漏级开路双向I/O口, 每脚可吸收8TTL 门电流。
当P1口的管脚第一次写1时, 被定义为高阻输入。
P0能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。
在FIASH编程时, P0 口作为原码输入口, 当FIASH进行校验时, P0输出原码, 此时P0外部必须被拉高。
P1口: P1口是一个内部提供上拉电阻的8位双向I/O口, P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后, 被内部上拉为高, 可用作输入, P1口被外部下拉为低电平时, 将输出电流, 这是由于内部上拉的缘故。
在FLASH编程和校验时, P1口作为第八位地址接收。
P2口: P2口为一个内部上拉电阻的8位双向I/O口, P2口缓冲器可接收, 输出4个TTL门电流, 当P2口被写“1”时, 其管脚被内部上拉电阻拉高, 且作为输入。
并因此作为输入时, P2口的管脚被外部拉低, 将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时, P2口输出地址的高八位。
在给出地址“1”时, 它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口: P3口管脚是8个带内部上拉电阻的双向I/O口, 可接收输出4个TTL门电流。
当P3口写入“1”后, 它们被内部上拉为高电平, 并用作输入。
作为输入, 由于外部下拉为低电平, P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口, 如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
51单片机实验一实验报告
51单片机实验一实验报告实验报告班级:姓名:学号:组别:课程名称:单片机原理及应用实验室:实验时间:实验项目名称:实验一MCS-51单片机及其开发系统(仿真器)的认识一、实验目的:学习并掌握单片机仿真系统的操作方法,熟悉系统功能及用法。
(1)了解MCS-51单片机开发常用工具。
(2)了解仿真器构成、功能及连接。
(3)掌握MCS-51开发软件(汇编器)安装、功能及基本操作。
(4)掌握源程序的编辑、汇编、运行(包括连续执行、单步执行和跟踪执行)。
(5)掌握汇编语言指令与机器语言指令之间的对应关系。
(6)掌握ORG、DATA、BIT等伪指令的作用。
(7)掌握在仿真开发系统下浏览、修改特殊功能寄存器、内部RAM、外部RAM 单元的方法。
(8)理解MCS-51单片机在复位期间及复位后有关引脚的状态、特殊功能寄存器的初值。
二、实验内容及原理:MdeWin单片机仿真系统的安装、设置、主要功能操作练习。
三、实验器材:MdeWin单片机仿真系统一套、PC机一台。
四、实验步骤及实验结果分析:一、程序输入练习:首先在Medwin下新建一项目,并新建一后缀名为asm的文件(汇编源文件),并添加入项目中。
按规定的格式输入以上程序(只输源程序部分)。
二、程序运行和控制:1.程序的编译、产生代码并装入:输入源程序完毕后,可在“项目管理”窗口中点击“编译/汇编”选项,如程序无输入错误、语法错误等,编译完成。
在消息窗口中,产生编译成功信息。
如有错误,则消息窗口中指出错误所在行及错误类型,请重新修改源程序。
编译成功后,在“项目管理”窗口中点击“产生代码并装入”选项,对编译无误后产生的OBJ文件进行连接,并把代码装入仿真器。
代码装入仿真器后,即可实行仿真。
可在反汇编窗口中查看编译产生的机器码,并与上述程序中对照。
记录你认为能说明问题的检查结果。
2.程序的全速、断点、单步等执行方式:为提高调试程序的运行速度,程序采用全速断点运行方式。
51单片机实验报告总结
51单片机实验报告总结51单片机实验是必修课程之一,目的是让学生了解和掌握嵌入式系统开发的基本原理和方法。
本次实验涵盖了单片机的基本操作、输入输出控制、时序控制、通信技术、中断处理、PWM技术等内容,让我们一步步进入嵌入式系统的世界。
通过这些实验,我们深刻体会到嵌入式系统开发的艰辛和复杂程度。
在每个实验中,我们需要认真思考实验目的,设计符合要求的电路,编写精确并且有效的程序。
我们还要学会阅读芯片数据手册,并对不同的芯片进行适配,合理利用芯片的资源。
这些实战经验对我们今后从事嵌入式系统开发会有很大帮助。
在这些实验中,我们学会了使用单片机进行输入输出控制。
通过外部电路(比如数码管、LED灯、按键等),让单片机可以感知外界的状态变化,并根据程序控制输出对应的信号。
我们实现了按键控制LED灯亮灭、数码管显示数字和摆动等功能。
在实验中我们还学习了流水灯和矩阵键盘控制的实现方法,这给我们后续实验和项目提供了很好的思路和解决方案。
在时序控制实验中,我们掌握了计时器和定时器的基本原理和使用方法。
它们可以精确地生成特定频率和宽度的高低电平,也能间歇性地输出脉冲信号,这为摆线电机的控制和PWM驱动电机等实际应用打下了基础。
通过这些实验,我们更加深入地了解到计时器、定时器和中断的运作原理和使用方法。
在串口通信和I2C通信实验中,我们还学习了如何使用串口和I2C通信实现数据传输,可以将单片机与其他设备进行沟通和交流。
在日常工程开发中,这样的应用场景非常广泛,例如单片机与PC的数据传输、I2C总线上多个设备之间的通信等。
在PWM技术实验中,我们学习了如何使用定时器和PWM输出控制电机转速,这些技术可以实现高精度的电机控制和驱动,这是在机器人控制、智能家居等应用中必不可少的技术。
在这些实验中,我们不仅学会了单片机的基本原理和使用方法,而且也经历了从理论到实践的探索和体验。
这些实验的收获在于训练我们的动手实践能力,增强我们的团队合作精神,提高我们的问题解决能力,也让我们更加深入地了解嵌入式系统的精髓。
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 单片机实训报告完整版一、设计目标1. 完成温度显示系统的设计,即以单片机位核心微处理器,完成接收处理温度信号和控制八段数码管显示两部分功能电路的设计;2. 使用Protel绘制电路原理图和PCB版图3. 通过使用凌阳单片机开发系统掌握单片机系统的基本开发方法,系统配置方法,IO口的读写方式以及数据处理方法。
4. 掌握基于C语言编程的单片机控制技术,完成实现温度采集、显示系统功能的控制程序设计(信号的接收、信息的处理及八段数码管显示控制程序);5. 软硬件联调,完成系统的最终功能。
二、设计任务1. 完成基于单片机的温度检测显示系统设计,利用自己设计的温度传感电路输出模拟信号,选用相应的A/D 转换芯片将模拟信号转换成数字信号送入单片机,单片机对接收的信号进行处理; 单片机输出经译码电路连接至八段数码管显示温度值。
2. 具体要求完成内容:1)传感器模块学习及信号输入设计2) LED数码管显示部分设计3)绘制电路原理图和PCB版图3)数据处理转换(使用C语言进行)4)软硬件联调实现完整系统设计要求;5)撰写实训报告。
第一部分:原理图及PBC版图制作制作原理图,我们选用的软件是proteldxp2004 ,我们选用这个软件是因为Protel DXP 在前版本的基础上增加了许多新的功能。
新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。
Protel DXP 是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。
Protel DXP 运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。
通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP 提供了全面的设计解决方案。
与较早的版本——Protel99 相比,Protel DXP 2004 不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了VHDL和FPGA设计系统,其功能大大加强了。
51单片机实验报告
开放性实验报告智能实验室姓名:***学号: ********班级:***专业:***********指导老师:****目录实验一IO口的输出应用 (3)一.实验目的 (3)二.实验内容 (3)三.实验器材 (3)四.实验步骤 (3)五.实验结果 (3)六.实验结果分析 (4)程序附录: (4)实验二用STM32驱动小车 (5)一.实验目的 (5)二.实验内容 (5)三.实验器材 (5)四.实验步骤 (5)五.实验结果 (5)六.实验结果分析 (6)程序附录 (6)实验三STM32循迹小车 (7)一.实验目的 (7)二.实验内容 (7)三.实验器材 (7)四.实验步骤 (7)五.实验结果 (7)六.实验结果分析 (8)程序附录: (8)实验四 STM32循迹小车加蜂鸣器 (12)一.实验目的 (12)二.实验内容 (12)三.实验器材 (12)四.实验步骤 (12)五.实验结果 (12)六.实验结果分析 (13)程序附录 (13)实验五 OLED显示 (16)一.实验目的 (16)二.实验内容 (16)三.实验器材 (16)四.实验步骤 (16)五.实验结果 (16)六.实验结果分析 (17)程序附录 (17)总结 (28)实验一IO口的输出应用一.实验目的通过此次实验学习普通IO口作为输出口的应用。
二.实验内容我们通过普通IO口驱动一个LED灯闪烁。
三.实验器材STM32FI03C8T6单片机、LED灯或实验箱。
四.实验步骤1.在MDK开发环境下建立一个工程。
2.程序的编写。
3.程序下载调试五.实验结果本实验的焊接结果如图1所示。
图1 IO口输出实物图六.实验结果分析现象:给单片机供电,LED灯闪烁;原因:LED灯通电,电路连接正确,LED灯一端连接电源,一端连接PC13,P1C13电平由高电平变为低电平,灯亮;反之,灯灭。
程序附录:#include "stm32f10x.h"#include "led.h"#include "delay.h"int main(void){delay_init();LED_Init();while(1){GPIO_SetBits(GPIOC,GPIO_Pin_13);delay_ms(500);GPIO_ResetBits(GPIOC,GPIO_Pin_13);delay_ms(1000);}}实验二用STM32驱动小车一.实验目的通过此次实验熟练掌握STM32的使用二.实验内容通过STM32、驱动模块实现小车直行三.实验器材STM32FI03C8T6单片机、LM298N小车、电池。
51单片机综合实验报告
《单片机原理与接口技术》综合实验报告实验题目:基于单片机的电子日历、数字温度计、音乐播放器学院:电子信息学院专业:12 电子信息工程实验者:潘安乐学号: 1 2 2 8 4 0 1 0 1 0前言21世纪是信息时代,电子技术发展日新月异,在电子信息发展迅猛的年代,我们不仅要掌握8051系列单片机的C语言编程,而且要掌握好按键、LCD、USB 等程序的编写,要知道几乎每一样单片机系统都要与他们打交道的。
并且单片机作为一种经典的微控制器,其技术已经涉及到我们生活、工作、科研,各个领域,已经成为一种比较成熟的技术,作为电子专业的学生,我们学习了单片机,就要将其应用到自己的日常生活中来。
电子日历:在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响,随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如星期、日期等,于是电子万年历诞生了,它集时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。
数字温度计:在科学技术不断发展的今天,温度的检测.控制应用于许多行业,随着电子行业的发展,数字仪表反应快,操作简单,对环境要求不高的优点,市场上逐渐出现越来越多的数字式温度计。
实践表明,低功耗高精度的便携式数字式温度计使用方便,工作稳定,待机时间长,具有广阔的应用前景,本实验所采用的DS18B20可以很好的转换温度值,并且直接显示温度值,它的性能优于传统的感温元件并且省去了A\D、和模拟开关的设计。
数字音乐播放器:本文设计的数字音乐播放器是以单片机为核心元件的数字音乐播放器。
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机实验报告实验一点亮流水灯实验现象Led灯交替亮,间隔大约10ms。
实验代码#include <reg51.h>void Delay10ms(unsigned int c); void main(){while(1){P0 = 0x00;Delay10ms(50);P0 = 0xff;Delay10ms(50);}}void Delay10ms(unsigned int c){unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}实验原理While(1)表示一直循环。
循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。
接着循环,直至关掉电源。
延迟函数是通过多个for循环实现的。
实验2 流水灯(不运用库函数)实验现象起初led只有最右面的那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程#include <reg52.h>#include <intrins.h>void Delay10ms(unsigned int c);main(){unsigned char LED;LED = 0xfe;while (1){P0 = LED;Delay10ms(50);LED = LED << 1;if (P0 == 0x00){LED = 0xfe;}}}void Delay10ms(unsigned int c){unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}实验原理这里运用了C语言中的位运算符,位运算符左移,初始值的二进制为1111 1110,之后左移一次变成1111 1100,当变成0000 0000时通过if语句重置1111 11110.延迟函数在第一个报告已经说出了,不再多说。
实验3流水灯(库函数版)实验现象最开始还是最右边的一个不亮,然后不亮的灯转移到最右边的第二个,此时第一个恢复亮度,这样依次循环。
实验代码#include <reg51.h>#include <intrins.h>void Delay10ms(unsigned int c); void main(void){unsigned char LED;LED = 0xFE;while(1){P0 = LED;Delay10ms(50);LED = _crol_(LED,1);}}void Delay10ms(unsigned int c) {unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}实验原理利用头文件中的函数,_crol_( , ),可以比位操作符更方便的进行2进制的移位操作,比位操作符优越的是,该函数空位补全时都是用那个移位移除的数据,由此比前一个例子不需要if语句重置操作。
数码管实验实验现象单个数码管按顺序显示0-9和A-F。
#include<reg51.h>void Delay10ms(unsigned int c);unsigned char code DIG_CODE[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};void main(void){unsigned char i = 0;while(1){P0= ~DIG_CODE[i];i++;if(i == 16){i = 0;}Delay10ms(50);}}void Delay10ms(unsigned int c) //Îó²î 0us{unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}实验原理根据数码管的点亮原理,依次找到代表0-9,A-F的位码,用循环和延迟函数就可以达到要求了。
实验动态数码管#include<reg51.h>#define GPIO_DIG P0#define GPIO_PLACE P1unsigned char code DIG_PLACE[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code DIG_CODE[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; unsigned char DisplayData[8];void DigDisplay();void main(void){unsigned char i;for(i=0; i<8; i++){DisplayData[i] = DIG_CODE[i];}while(1){DigDisplay();}}void DigDisplay(){unsigned char i;unsigned int j;for(i=0; i<8; i++){GPIO_PLACE = DIG_PLACE[i];GPIO_DIG = DisplayData[i];j = 10;while(j--);GPIO_DIG = 0x00; }}实验原理依然找到相应数字和字母的编码,由于必须通过快速扫描利用视觉暂留来实现数码管的显示,分段码和位码,不断扫描。
最后如果更换数字的话,需要消隐操作,防止数码管重复显示所带来的不清楚。
实验外部中断实验现象每按一下独立按键,就会在数码管显示屏上+1。
#include < reg51.h >#include <intrins.h>sbit LS138A=P2^2;sbit LS138B=P2^3;sbit LS138C=P2^4;unsigned int LedNumVal_1,LedNumVal_2,LedOut[8]; Unsigned char code Disp_Tab[]= {0x3f ,0x06 , 0x5b ,0x4f, 0x66 , 0x6d , 0x7d , 0x07 , 0x7f , 0x6f , 0x40};void delay(unsigned int i){char j;for(i; i > 0; i--)for(j = 200; j > 0; j--);}void main(void){ unsigned char i;P0=0xff;P1=0xff;P2=0xff;IT0=1;EX0=1;IT1=1;EX1=1;EA=1;while(1){LedOut[0]=Disp_Tab[LedNumVal_1%10000/1000];LedOut[1]=Disp_Tab[LedNumVal_1%1000/100]|0x80; LedOut[2]=Disp_Tab[LedNumVal_1%100/10];LedOut[3]=Disp_Tab[LedNumVal_1%10];LedOut[4]=Disp_Tab[LedNumVal_2%10000/1000];LedOut[5]=Disp_Tab[LedNumVal_2%1000/100];LedOut[6]=Disp_Tab[LedNumVal_2%100/10];LedOut[7]=Disp_Tab[LedNumVal_2%10];for( i=0; i<8; i++){ P0 = LedOut[i];switch(i){case 0:LS138A=0; LS138B=0; LS138C=0; break;case 1:LS138A=1; LS138B=0; LS138C=0; break;case 2:LS138A=0; LS138B=1; LS138C=0; break;case 3:LS138A=1; LS138B=1; LS138C=0; break;case 4:LS138A=0; LS138B=0; LS138C=1; break;case 5:LS138A=1; LS138B=0; LS138C=1; break;case 6:LS138A=0; LS138B=1; LS138C=1; break;case 7:LS138A=1; LS138B=1; LS138C=1; break; } delay(150);}}}void counter0(void) interrupt 0 using 1{EX0=0;LedNumVal_1++;EX0=1;}void counter1(void) interrupt 2 using 2{EX1=0;LedNumVal_2++;EX1=1;}实验原理对于数码管的显示采用138译码器,通过switch语句与数字一一对应,通过P3.2 P3.3外部中断接口使数码管成功计数。
外部中断函数为INT0与INT1。