湖南工程学院嵌入式实验报告IO口的应用
- 格式:doc
- 大小:509.50 KB
- 文档页数:4
嵌入式系统实验报告在本学期的嵌入式系统课程中,我与我的实验伙伴进行了多次实验。
在这篇报告中,我将分享我们实验的过程和结果。
实验一:GPIO控制LED灯在这个实验中,我们使用了Raspberry Pi 3B+开发板和一根杜邦线。
我们在电路板上将一盏LED灯与GPIO引脚连接起来,并编写了一个程序来控制这个引脚的电平状态。
在这个实验中,我们学习了GPIO的基本概念以及如何使用Python编程语言编写GPIO控制程序。
我们成功地让LED灯在不同的时间间隔内闪烁,并且了解了如何使用GPIO.setup()和GPIO.output()函数来控制GPIO引脚的输入和输出。
实验二:串口通信在第二个实验中,我们使用了两个Raspberry Pi 3B+开发板和两根串口线。
我们连接了两个板子的GPIO引脚,使得它们可以通过串口进行通信。
我们使用Python编写了两个程序来进行通信。
一个程序将发送一条消息,另一个程序将接收这个消息并将其打印出来。
通过使用串口通信,我们学会了如何使用Python编写程序来完成数据交换,并掌握了串口通信的基本概念。
实验三:Pi camera模块在第三个实验中,我们使用了Pi camera模块和一个Raspberry Pi 3B+开发板。
我们将摄像头连接到开发板上,并编写了一个程序来捕捉摄像头图像。
我们学习了如何使用Python编程语言来控制Pi camera模块,包括如何设置摄像头参数并如何捕捉静态图像。
我们还尝试了使用OpenCV库来处理图像。
实验四:蓝牙控制在最后一个实验中,我们使用了一个蓝牙透传模块、Raspberry Pi 3B+开发板和一些电路元件。
我们将蓝牙透传模块连接到GPIO引脚,并编写了一个程序来通过蓝牙信号控制电机。
在这个实验中,我们学习了如何使用蓝牙模块进行无线控制。
我们通过使用Python编写控制程序,成功地将蓝牙信号转换成GPIO引脚的电平信号来控制电机。
总结在这个嵌入式系统的实验中,我们学习了许多关于嵌入式系统的知识和技能。
上海电力学院嵌入式软件开发基础实验报告题目:【ARM】存储器实验4.1及 I/O接口实验4.2 专业:电子科学与技术年级:姓名:学号:4.1存储器实验一、实验目的(1)通过实验熟悉ARM的内部存储空间分配;(2)掌握对存储区域进行访问的方法。
(3)熟悉用寄存器配置存储空间的方法。
二、实验设备硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件,PC 机。
软件:Embest IDE Pro ARM 集成开发环境,Windows 98/2000/NT/XP。
三、实验内容掌握 S3C44B0X 处理器对存储空间的配置和读写访问的方法,熟练使用命令脚本文件对 ARM 存储控制寄存器进行正确配置;使用汇编编程,对 RAM 按字、半字和字节读写;C 语言编程,对 RAM 按字、半字和字节读写。
四、实验原理1. 存储控制器S3C44B0X 处理器的存储控制器可以为片外存储器访问提供必要的控制信号,它主要包括以下特点:支持大、小端模式(通过外部引脚来选择)地址空间。
包含 8 个地址空间,每个地址空间的大小为 32M 字节,总共有 256M 字节的地址空间。
所有地址空间都可以通过编程设置为 8 位、16 位或 32 位对准访问。
8 个地址空间中,6 个地址空间可以用于 ROM、SRAM 等存储器,2 个用于ROM、SRAM、FP/EDO/SDRAM 等存储器。
7 个地址空间的起始地址及空间大小是固定的。
1 个地址空间的起始地址和空间大小是可变的。
所有存储器空间的访问周期都可以通过编程配置。
提供外部扩展总线的等待周期。
支持 DRAM/SDARM 自动刷新。
支持地址对称或非地址对称的 DRAM。
2. 电路设计Embest EduKit-III 实验板上的存储系统包括一片 1M×16bit 的 Flash (SST39VF160)和一片 4M ×16bit 的 SDRAM (HY57V65160B)。
《嵌入式设备驱动技术》课程实验报告班级:学号:姓名:指导老师:成绩:实验九内存与I/O访问一、目的与任务目的:掌握I/O端口和I/O内存的访问方法。
任务:编写I/O端口和I/O内存的访问程序。
二、内容、要求与安排方式1、实验内容与要求:1)I/O端口和I/O内存访问方法的验证。
2)I/O内存访问方法的验证。
2、实验安排方式:采用1人1组,上机在Linux系统下进行编程实验。
三、实验设备1、所用设备:PC机一台四、实验过程IO端口:当寄存器或内存位于IO空间时,称为IO端口。
一般寄存器也俗称I/O 端口,或者说I/O ports,这个I/O端口可以被映射在Memory Space,也可以被映射在I/O Space。
IO内存:当寄存器或内存位于内存空间时,称为IO内存。
访问IO端口访问IO端口有2种途径:I/O映射方式(I/O-mapped)、内存映射方式(Memory-mapped)。
前一种途径不映射到内存空间,直接使用intb()/outb()之类的函数来读写IO端口;后一种MMIO是先把IO端口映射到IO内存(“内存空间”),再使用访问IO内存的函数来访问IO端口。
直接使用IO端口操作函数:在设备打开或驱动模块被加载时申请IO端口区域,之后使用inb(),outb()等进行端口访问,最后在设备关闭或驱动被卸载时释放IO 端口范围。
in、out、ins和outs汇编语言指令都可以访问I/O端口。
内核中包含了以下辅助函数来简化这种访问:inb( )、inw( )、inl( )分别从I/O端口读取1、2或4个连续字节。
后缀“b”、“w”、“l”分别代表一个字节(8位)、一个字(16位)以及一个长整型(32位)。
inb_p( )、inw_p( )、inl_p( )分别从I/O端口读取1、2或4个连续字节,然后执行一条“哑元(dummy,即空指令)”指令使CPU暂停。
outb( )、outw( )、outl( )分别向一个I/O端口写入1、2或4个连续字节。
姓名学号时间地点实验题目I/O口输入、输出实验一、实验目的1. 学习I/O口的使用方法。
2. 学习延时子程序、查表程序的编写和使用。
二、实验仪器和设备PC机、WA VE软件、仿真器+仿真头、实验板、电源等。
三、实验说明本实验1通过单片机的I/O口控制LED的亮灭,从而观察I/O口的输出。
实验2通过单片机的I/O口接受按键动作信息,然后通过LED和数码管指示。
通过本实验学生可以掌握单片机I/O口输入输出的控制方法,同时也可以掌握单片机延时子程序、查表程序的编写和调试方法。
要求预先编写好程序并通过伟福仿真软件调试。
四、实验内容1、P0口做输出口,接八只LED,编写程序,使LED循环点亮,间隔0.5秒。
2、P1.0--P1.7作输入口接拨动开关S0--S7;P0.0--P0.7作输出口,接发光二极管L1—L8,编写程序读取开关状态,将此状态在对应的发光二极管上显示出来,同时将开关编号(0—7)显示在LED数码管上。
编程时应注意P1作为输入口时应先置1,才能正确读入值。
五、实验电路连线P0.0 ---- LED0 P1.0 ----- S0P0.1 ---- LED1 P1.1 ----- S1P0.2 ---- LED2 P1.2 ----- S2P0.3 ---- LED3 P1.3 ------ S3P0.4 ---- LED4 P1.4 ------ S4P0.5 ---- LED5 P1.5 ------ S5P0.6 ---- LED6 P1.6 ------ S7P0.7 ---- LED7 P1.7 ------ S8实验1:P0口循环点灯实验2:P1、P0口输入输出a b cdef gh(dp)a b c d e f g h(dp)P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7实验2: LED 数码管各段与I/O 的连接六、程序框图及程序P0口循环点灯ORG 0000H;设定程序汇编起始地址 MOV A,#07FH ;设置初始值01111111 LP: MOV P0,A ;点亮LED0RR A ;将A 里面的值循环右移一位 LCALL DELAY ;调用延时子程序 LCALL DELAY SJMP LP ;循环点亮LED 灯DELAY: MOV R2,#0FAH ;0.25S 的延时程序 L1: MOV R3,#0FAH L2: DJNZ R3,L2 ;2*250=500usDJNZ R2,L1 ;500*250*2=250000us RET ;返回主程序P1口输入/输出ORG 0000 ;设定起始地址MOV P1,#0FFH ;P1口置1LOOP: MOV A,P1 ;读P1口CJNE A,0FFH,LED ;查询是否有按键按下SJMP LOOP ;等待LED: MOV P0, A ;有键按下,将值读入P0ACALL DELAY ;调用延时子程序MOV R5 ,#00H ;置计数初值=0LOOP1: RRC A ;输入右移1位JNC LOOP2 ;若Cy=0,则数码显示INC R5 ;Cy=1,则计数加1SJMP LOOP1 ;跳回继续移位LOOP2: MOV DPTR,#TAB ;所查表的首地址赋给DPTRMOV A,R5 ;计数值做偏移量MOVC A,@A+DPTRMOV P2,A ;显示相应按键值SJMP LOOPTAB:DB 60H,0DAH,0F2H,66H ;DB 0B6H,0BEH,0E0H,0FEH ;DELAY: MOV R2,#0FAH ;0.25S的延时程序L1: MOV R3,#0FAHL2: DJNZ R3,L2 ;2*250=500usDJNZ R2,L1 ;500*250*2=250000usRET ;返回主程序七、思考题1、实验1欲改变LED循环的方向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算方法。
嵌入式系统实验报告(五)--IO接口驱动138352019陈霖坤一实验目的学习嵌入式Linux操作系统设备驱动的方法。
二实验内容与要求根据硬件接口资料,实现任意一个设备的基本控制功能,包括驱动程序和用户程序。
三从外设到用户空间1内核空间与用户空间Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G。
Linux内核将这4G字节的空间分为两部分。
将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。
而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为“用户空间”。
内核空间和用户空间都是指虚拟空间,也就是虚拟地址。
这个概念的由来,跟CPU的发展有很大关系,在目前CPU的保护模式下,系统需要对其赖以运行的资料进行保护,为了保证操作系统内核资料,我们把内存空间进行划分,一部分为操作系统内核运行的空间,另一部分是应用程序运行的空间,所谓空间就是内存的地址。
在386以前的CPU实模式下,操作系统内核与用户程序的内存空间是不做区分的,也就不存在内核空间和用户空间的说法了。
CPU的保护模式的一个重大特点,也就是硬件直接支持的内存访问模式,虚拟地址空间到物理地址空间的映射。
这种工作模式与内核空间用户空间在技术上的相辅相成,也是促成内存空间划分的原因。
操作系统为了保护自己不被普通程序的破坏,对内核空间进行了一些定义,比如访问权限,换入换出,优先级等等。
也就是说内核空间只允许内核访问,用户程序如果要访问内核空间就需要经过内核的审核。
2ioremap几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。
根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:(1)I/O映射方式(I/O-mapped)处理器(如X86)为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O 端口空间",CPU通过专门的I/O指令(如X86的IN和OUT指令)来访问这一空间中的地址单元。
实验报告课程名称嵌入式系统实验名称键盘的应用专业计算机技术与科学班级学号姓名指导教师胡瑛年月日实验二键盘的应用实验名称键盘的应用评分实验日期年月日指导教师胡瑛姓名专业班级学号一、实验目的掌握键盘的工作原理及应用二实验内容按下KEY0键,LED0灯闪烁一次,按下WK_UP键,LED1灯闪烁一次。
原理图如图1、2所示:图1 LED灯电路原理图图2 键盘的电路原理图Led.h:void LED_Init(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE); //使PE端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHZ GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_6); //PE.6输出高GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //推挽输出GPIO_Init(GPIOE, &GPIO_InitStructure);GPIO_SetBits(GPIOE,GPIO_Pin_5);}Led.c:void KEY_Init(void) //初始化{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENAB LE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //KEY0GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉输入GPIO_Init(GPIOE, &GPIO_InitStructure); //初始化,下拉输入GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成输入默认下拉GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA.0}main.c:int main(void){vu8 key=0;delay_init(); //延时函数初始化LED_Init(); //LED端口初始化KEY_Init(); //初始化与按键连接的硬件端口while(1){key=KEY_Scan(0); //得到键值if(key){switch(key){case WKUP_PRES: //控制LED0闪烁LED0=!LED0delay_ms(300);LED0=!LED0;break;case WKUP_PRES: //控制LED1闪烁LED1=!LED1delay_ms(300);LED1=!LED1;break;}}else delay_ms(10);}}三实验结果实现按键闪烁,按下KEY0键,LED0灯闪烁一次,按下WK_UP键,LED1灯闪烁一次.四.实验体会成功编写了按键闪烁程序,明白了实验的原理,更加深入的理解了嵌入式。
嵌入式实验四实验报告实验四:嵌入式编程设计
实验设计目的:
1. 学习使用嵌入式开发工具进行编程设计;
2. 学习使用C语言编写嵌入式程序;
3. 学习使用GPIO模块进行输入输出;
4. 学习使用中断处理函数。
实验器材:
1. 嵌入式开发板;
2. USB数据线;
3. 电脑;
4. LED灯;
5. 电阻;
6. 蜂鸣器;
7. 其他必要的电路元件。
实验步骤:
1. 连接开发板和计算机,安装开发板驱动程序;
2. 打开嵌入式开发工具,创建一个新的工程;
3. 在工程中添加一个C文件,编写程序;
4. 编写程序实现以下功能:
- 使用GPIO模块控制LED灯的亮、灭;
- 使用GPIO模块读取按键状态;
- 使用GPIO模块控制蜂鸣器的开、关;
- 使用Timer模块计时;
- 使用中断处理函数处理外部中断;
- 其他必要的功能;
5. 编译程序,下载到开发板;
6. 运行程序,测试功能是否正常。
实验结果与分析:
实验结果应当是LED灯、蜂鸣器、按键正常工作,可以通过按键控制LED灯的亮、灭、蜂鸣器的开、关。
实验总结:
通过本次实验,我学会了使用嵌入式开发工具进行编程设计,掌握了使用C语言编写
嵌入式程序的方法。
通过实验,我深入理解了嵌入式系统的原理和实现方法,对嵌入
式系统的应用有了更加深入的了解。
在今后的学习和工作中,我将能够更好地运用嵌
入式技术解决实际问题。
一、实验背景随着信息技术的飞速发展,嵌入式系统在各个领域得到了广泛的应用。
为了让学生更好地掌握嵌入式系统设计的相关知识,提高学生的动手能力和实际操作能力,我们开展了嵌入式实验设计实训。
本次实训以ARM处理器为平台,通过实际操作,让学生了解嵌入式系统的基本原理和设计方法。
二、实验目的1. 熟悉ARM处理器的基本架构和编程环境。
2. 掌握嵌入式系统设计的基本流程和方法。
3. 培养学生的动手能力和实际操作能力。
4. 提高学生对嵌入式系统的认知和应用能力。
三、实验内容1. 实验环境(1)硬件平台:ARM处理器开发板(2)软件平台:Keil uVision5、GNU ARM Embedded Toolchain2. 实验步骤(1)搭建实验环境首先,将开发板连接到计算机,并安装Keil uVision5和GNU ARM Embedded Toolchain软件。
接着,配置开发板,使其能够正常运行。
(2)编写程序根据实验要求,编写嵌入式系统程序。
程序主要包括以下几个方面:1)初始化:设置时钟、GPIO、中断等。
2)主循环:实现程序的主要功能。
3)中断处理:处理外部中断。
4)延时函数:实现延时功能。
(3)编译程序将编写好的程序编译成可执行文件。
(4)下载程序将编译好的程序下载到开发板上。
(5)调试程序在开发板上运行程序,通过串口调试软件观察程序运行情况,并对程序进行调试。
(6)实验报告根据实验内容,撰写实验报告。
3. 实验项目(1)点亮LED灯通过控制GPIO端口,实现LED灯的点亮和熄灭。
(2)按键控制LED灯通过检测按键状态,控制LED灯的点亮和熄灭。
(3)定时器实现定时功能使用定时器实现定时功能,例如定时关闭LED灯。
(4)串口通信实现串口通信,发送和接收数据。
四、实验结果与分析1. 点亮LED灯实验成功实现了通过控制GPIO端口点亮LED灯的功能。
2. 按键控制LED灯实验成功实现了通过检测按键状态控制LED灯的功能。
1、熟悉 GPIO 内部结构和工作模式、2、掌握基于库函数的开发方法3、掌握 GPIO 输入输出控制STM32 固件库向下实现与寄存器的直接相关操作, 向上为用户提供配置寄存 器的标准接口。
Typedef struct {U16 GPIO_Pin;GPIOSpeed_TypeDef GPIOMode_TypeDef } GPIO_InitTypeDef; GPIO_SetBits GPIO_Speed; GPIO_Mode;1LCDGPIO_SetBits(GPIOA,GPIO_Pin_8); //PA8=1 ,背光灯亮;GPIO_ResetBits(GPIOA,GPIO_Pin_8); //PA8=0 ,背光灯灭。
(1)复制创建的工程模板文件夹到桌面,并将文件夹改名为“LCD 背光控制”。
将原工程模板编译一下,直到没有错误和警告为止。
(2)在main.c 文件中输入如下源程序,对GPIO 管脚进行初始化,给PA.8 引脚赋值控制LCD 背光亮灭。
编译工程,如没有错误,则会在output 文件夹中生成“工程模板.hex”文件,如有错误则修改源程序直至没有错误为止。
(3)将生成的目标文件通过ISP 软件下载到开发板微控制器的FLASH 存储器当中,复位运行,检查实验效果。
LED在STM32 的工程里添加用户自己的.c 和.h 文件,保存在外设文件夹内。
(1)新建led.c 和led.h 文件并将其保存在APP 文件夹led 目录中。
(2)编写led.c 源代码,保存。
(3)编写led.h 源代码,保存在MDK 中设置包含头文件路径。
(4)编写主函数,完成LCD 背光控制。
实验报告课程名称:嵌入式系统学院:信息工程专业:电子信息工程班级:学生姓名:学号:指导教师:开课时间:学年第一学期实验名称:IO接口(跑马灯)实验时间:11.16 实验成绩:一、实验目的1.掌握 STM32F4 基本IO口的使用。
2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。
3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。
二、实验原理本次实验的关键在于如何控制STM32F4的IO口输出。
IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。
所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。
三、实验资源实验器材:探索者STM32F4开发板硬件资源:1.DS0(连接在PF9)2.DS1(连接在PF10)四、实验内容及步骤1.硬件设计2.软件设计(1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。
然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。
(2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。
(3)采用 GPIO_Set 函数实现IO配置。
LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。
实验报告
课程名称嵌入式系统
实验名称I/O口的应用
专业计算机科学与技术
班级
学号
姓名
指导教师胡瑛
月
实验一 I/O口的应用
实验名称I/O口的应用评分
实验日期年月日指导教师胡瑛
姓名专业班级学号
一、实验目的
掌握CORTEX-M3芯片I/O的工作原理及应用
二实验内容
通过STM32F103ZE芯片的PE5、PE6引脚控制LED0、LED1依次闪烁。
原理图如图1所示:
图1 LED灯电路原理图
图2 引脚对应
源程序:
Led.h:
#ifndef __LED_H
#define __LED_H
#include "sys.h"
#define LED0 PEout(6) // PE6
#define LED1 PEout(5) // PE5
void LED_Init(void); //初始化
#endif
Led.c:
#include "led.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);//打开PE端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //LED0-->PB.6 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚模式为推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOE, &GPIO_InitStructure); //根据设定参数初始化GPIOE.6
GPIO_SetBits(GPIOE,GPIO_Pin_6); //PE.6 输出高电平
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1-->PE.5端口配置
GPIO_Init(GPIOE, &GPIO_InitStructure); //根据设定参数初始化GPIOE.5 GPIO_SetBits(GPIOE,GPIO_Pin_5); //PE.5 输出高电平
}
main.c:
main(void)
{
delay_init(); //初始化延时函数
LED_Init(); //初始化LED端口
while(1)
{
GPIO_ResetBits(GPIOE,GPIO_Pin_6); //LED0 对应引脚GPIOE.6拉低,灯亮
GPIO_SetBits(GPIOE,GPIO_Pin_5); //LED1对应引脚GPIOE.5拉高,灯灭
delay_ms(300); //延时300ms
GPIO_SetBits(GPIOB,GPIO_Pin_6); //LED0对应引脚GPIOE.6拉高,灯灭
GPIO_ResetBits(GPIOE,GPIO_Pin_5); //LED1对应引脚GPIOE.5拉低,灯亮
delay_ms(300); //延时300ms
}
}
三实验结果
LED0亮、LED1灭,时隔30秒,LED0灭、LED1亮,时隔30秒,LED0亮、LED1灭,时隔30秒......LED0和LED1依次闪烁。
四.试验体会
通过这次实验,我进一步了解了单片机,而且在这次实验中,我体会到了老师说的那句话:我们是站在巨人的肩膀上来进行学习和实验的,体会到了合作的重要性。
一个人也可能实现这一系列的过程,但是要花费很多精力和时间。
群策群力,分工明确,可以使我们更好、更快地完成我们的工作。