单片机实验报告2
单片机实训实验报告总结

一、实验背景与目的随着科技的不断发展,单片机作为一种微小的计算机系统,在工业控制、智能家居、汽车电子等领域得到了广泛的应用。
为了提高学生的实践能力和创新意识,本实训课程旨在通过实际操作,让学生掌握单片机的原理、编程和调试方法,培养学生的动手能力和团队协作精神。
本次实训以51单片机为核心,结合数码管、LED灯、按键等外围电路,设计了多个实验项目,包括LED流水灯、交通灯控制系统、简易计算器、温湿度监控系统等。
通过这些实验,使学生深入了解单片机的硬件结构和软件编程,提高学生的实际操作能力和问题解决能力。
二、实验内容与过程1. 实验一:LED流水灯(1)实验目的:掌握51单片机的I/O口编程,实现LED灯的流水效果。
(2)实验步骤:① 硬件连接:将LED灯连接到P1口;② 编写程序:使用循环语句和延时函数控制LED灯的流水效果;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察LED灯的流水效果。
2. 实验二:交通灯控制系统(1)实验目的:学习单片机在交通灯控制系统中的应用,实现红黄绿灯的变换及倒计时功能。
(2)实验步骤:① 硬件连接:将LED灯连接到P1口,按键连接到外部中断INT0;② 编写程序:设置定时器中断,实现倒计时功能;编写外部中断程序,实现红黄绿灯的变换;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察交通灯的工作状态和倒计时效果。
3. 实验三:简易计算器(1)实验目的:掌握矩阵键盘扫描原理、LCD1602显示屏控制,实现基本的四则运算。
(2)实验步骤:① 硬件连接:将矩阵键盘和LCD1602显示屏连接到单片机;② 编写程序:实现矩阵键盘扫描、LCD1602显示控制和运算逻辑处理;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察计算器的工作状态和运算结果。
4. 实验四:温湿度监控系统(1)实验目的:学习单片机在温湿度监控系统中的应用,实现温度和湿度的实时显示。
(2)实验步骤:① 硬件连接:将温度传感器和湿度传感器连接到单片机,将LED灯连接到P1口;② 编写程序:实现温度和湿度的实时采集,并根据采集到的数据控制LED灯的亮灭;③ 程序下载:将程序烧录到单片机中;④ 实验验证:观察LED灯的亮灭状态和数码管上的温度、湿度值。
单片机实验报告

单⽚机实验报告单⽚机实验报告姓名学号时间地点实验题⽬软件开发环境和简单程序设计⼀、实验⽬的1. 学习I/O⼝的使⽤⽅法。
2. 学习延时⼦程序、查表程序的编写和使⽤。
⼆、实验主要仪器及环境PC机、W A VE软件、仿真器+仿真头、实验板、电源等。
三、实验内容1、P0⼝做输出⼝,接⼋只LED,编写程序,使LED循环点亮,间隔0.5秒。
2、P1.0--P1.7作输⼊⼝接拨动开关S0--S7;P0.0--P0.7作输出⼝,接发光⼆极管L1—L8,编写程序读取开关状态,将此状态在对应的发光⼆极管上显⽰出来,同时将开关编号(0—7)显⽰在LED数码管上四、实验步骤1、先编写好程序并通过伟福仿真软件调试。
2、将编好的程序通过仿真器掻到实验板上进⾏相应的实验。
五、实验程序流程框图、实验程序1. ORG 0000HAJMP MAINMAIN: MOV A,#01H;置初值LOOP: MOV P0,A ;数据输出RL A ;左移⼀位ACALL DELAYSJMP LOOPDELAY:MOV R0,#10 ;延时0.5sK1:MOV R1,#125K2:MOV R2,#200K3:DJNZ R2,K3DJNZ R1,K2DJNZ R0,K1RETP0⼝循环点灯框图AJMP STARTORG 0030HSTART: MOV DPTR,#TABLESETB P1MOV P2,#00HMAIN: MOV A,P1 ;读P1⼝值CJNE A,#0FFH,LOOP;判断是否有输⼊SJMP MAINLOOP: MOV P0,AMOV R0,#00HLOOP1:RRC AJNC LOOP2INC R0 ;计数AJMP LOOP1LOOP2:MOV A,R0MOVC A,@A+DPTR ;查表MOV P2,A ;P2⼝输出AJMP MAINTABLE:DB 03FH 06H 5BH 4FH 66H 6DH 7DH 07HP1⼝输⼊/输出框图六、实验程序分析、讨论及测试1、实验1欲改变LED循环的⽅向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算⽅法。
单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
单片机原理及应用实验二报告

单片机原理及应用实验二报告实验二:单片机IO口的输入输出实验一、实验目的:1.理解并掌握单片机IO口的输入输出原理;2.掌握基础的输入输出编程技巧;3.熟悉单片机实验的基本流程和实验报告格式。
二、实验器材:1.STM32F103C8T6开发板2.LED灯3.电阻(220Ω)4.面包板、杜邦线等。
三、实验原理:单片机的IO口是实现与外部器件进行通信的重要接口,通过编程,我们可以控制IO口的状态(低电平或高电平)来实现对外部器件的控制或检测。
IO口的输入输出原理主要有两种:1.三态输出方式:通过设置IO口的DDR寄存器来将IO口设置为输出模式(推挽输出),并通过设置IO口的ODR寄存器来控制IO口的输出状态为低电平或高电平;2.上拉输入方式:通过设置IO口的DDR寄存器来将IO口设置为输入模式,同时设置IO口的CR寄存器的PUPD位为上拉使能,通过读取IO口的IDR寄存器可以获取IO口的输入状态。
四、实验步骤:1.连接电路:将STM32F103C8T6开发板的VDD和VSS(即5V和GND)分别连接到面包板的3V3和GND,将LED的阳极(长脚)连接到STM32F103C8T6开发板的PA0引脚,将LED的阴极(短脚)通过一个220Ω的电阻连接到GND。
2. 打开Keil uVision5软件,创建一个新的工程,并选择适合的芯片型号(STM32F103C8T6)。
3.编写代码实现将PA0引脚设置为输出模式,并控制LED的亮灭。
五、实验代码:```c#include "stm32f10x.h"void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);int main(void)GPIO_Configuration(;while (1)GPIO_SetBits(GPIOA, GPIO_Pin_0); // 点亮LEDGPIO_ResetBits(GPIOA, GPIO_Pin_0); // 关闭LED}```六、实验结果与分析:七、实验心得:本次实验主要学习了单片机IO口的输入输出原理,了解了三态输出方式和上拉输入方式,并通过实际编写代码的方式,在STM32F103C8T6开发板上实现了控制LED的亮灭。
单片机原理及应用实验报告2

单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。
二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。
单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。
单片机的编程方法一般采用汇编语言编写程序。
汇编语言是一种低级语言,可以直接对单片机进行操作。
通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。
本次实验主要通过控制LED灯的亮灭来演示单片机的应用。
在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。
三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。
四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。
在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。
实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。
单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。
五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。
例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。
2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。
例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。
3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。
例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。
51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
单片机实验报告——流水灯

电子信息工程学系实验报告课程名称:单片机原理及接口成绩:实验项目名称:实验2 流水灯实验时间: 2011-10-21指导教师(签名):班级:电信092 姓名:蔡松亮学号: 910706247一、实验目的:进一步熟悉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口为例,内部结构如下图所示:图 P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。
输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。
作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。
I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。
三、实验环境:硬件:PC机,基本配置CPU PII以上,内存2G软件:keil 2,Proteus 7.5四、实验内容及过程:1、用Proteus画流水灯电路图流程:1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:图 1 打开搜索元器件窗口2)、搜索添加元器件,如图2 所示:图2 搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。
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单片机的基础知识和使用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
二、实验地点:图书馆816-2
三、实验目的:掌握中断控制单元的设置方法及中断的编程方法。
四、实验内容
1.内容及要求:
(1)用单次脉冲信号申请中断,在中断处理程序中对输出信号进行翻转,在此实验中使用P1.0口接一发光二极管显示。
程序如下:
ORG 0000H
LJMP START
ORG 0013H
LJMP INT
ORG 1000H
START:
SETB P1.0
SETB EX1
SETB PX0
SETB IT1
SETB EA
INT:
CPL P1.0
RETI
END
(2)用单次脉冲信号申请中断,要求程序中对每次中断进行计数,并将计数结果显示在发光二极管上。
在本实验中用P1口接了八个发光二极管来实现。
程序如下:
ORG 0000H
LJMP START
ORG 0013H
LJMP INT
ORG 1000H
START:
MOV A,#00H
MOV P1,A
SETB EX1
SETB PX0
SETB IT1
SETB EA
INT:
INC P1
RETI
END
2.流程图如下:
图1 信号翻转流程图
图2 计数器加1流程图
3.实验步骤
(1.1)将P3.2与单脉冲用导连接,P1.0接一个发光二极管,用二极管的亮、灭来显示翻转。
(1.2)打开试验箱,编写中断程序。
(1.3)编译、运行中断程序并观测试验箱。
若试验箱中的发光二极管随着单脉冲按键进行着亮灭亮灭,即说明实现了输出信号的翻转,实验成功。
(2.1)关闭试验箱,将P1.0至P1.7对应连接八个发光二极管,单脉冲连接P3.3。
(2.2)打开试验箱,编写中断和累加的程序。
(2.3)编译、运行实验程序并观测试验箱。
若八个发光二极管显示的数值等于按下单脉冲键的次数,则实验成功。
五、实验中遇到的问题及解决方法
问题1:实验时,将P3.2口接单脉冲,编写程序时,却写成了0013H,允许中断
1中断。
问题2:刚开始编写计数程序时,没有给P1赋初值,导致计数结果出错。
六、实验现象
1.试验箱上的发光二极管随着单脉冲按键进行着亮、灭、亮、灭的过程,如图3、图4所示:
图3 实验现象图
图4 实验现象图
2.当按下单脉冲按键时,八个发光二极管显示的数值等于按下单脉冲键的次数,如图5、图6所示:
图5 按键1次的实验现象图
图6 按键2次的实验现象图
七、实验总结及心得
第二次做实验,相比于第一次感觉熟练了很多。
通过实验,加深理解了中断工作的原理和中断执行的过程,掌握了中断控制单元的设置方法及中断的编程方法,并结合试验箱完成了实验操作。
在实验中还巩固学习了中断允许寄存器IE 中各位的功能、中断优先级寄存器IP各个位的含义、TCON寄存器中与中断有关的各标志位功能,这些知识在课堂上虽已经学习过但掌握的并不熟练,通过这次实验使我加深了学习,并学会了如何在编程中合理运用。