单片机STM实验报告

合集下载

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告步进电机是一种将电脑控制信号转换为机械运动的设备,常用于打印机、数码相机和汽车电子等领域。

本实验使用STM32单片机控制步进电机,主要目的是通过编程实现步进电机的旋转控制。

首先,我们需要了解步进电机的基本原理。

步进电机是一种能够按照一定步长精确旋转的电机。

它由定子和转子两部分组成,通过改变定子和转子的电流,使转子按照一定的角度进行旋转。

在本实验中,我们选择了一种四相八拍步进电机。

该电机有四个相位,即A、B、C、D相。

每个相位都有两个状态:正常(HIGH)和反向(LOW)。

通过改变相位的状态,可以控制步进电机的旋转。

我们使用STM32单片机作为控制器,通过编程实现对步进电机的控制。

首先,我们需要配置STM32的GPIO口为输出模式。

然后,编写程序通过改变GPIO口的状态来控制步进电机的旋转。

具体来说,我们将A、B、C、D相分别连接到STM32的四个GPIO口,设置为输出模式。

然后,通过改变GPIO口输出的电平状态,可以控制相位的状态。

为了方便控制,我们可以定义一个数组,将表示不同状态的四个元素存储起来。

通过循环控制数组中的元素,可以实现步进电机的旋转。

在实验中,我们通过实时改变数组中元素的值,可以实现不同的旋转效果。

例如,我们可以将数组逐个循环左移或右移,实现步进电机的正转或反转。

在实验过程中,我们可以观察步进电机的旋转情况,并根据需要对程序进行修改和优化。

可以通过改变步进电机的旋转速度或步进角度,来实现更加精确的控制。

总结起来,通过本次实验,我们了解了步进电机的基本原理,并通过STM32单片机控制步进电机的旋转。

通过编写程序改变GPIO口的状态,我们可以实现步进电机的正转、反转和精确控制。

这对于理解和应用步进电机技术具有重要意义。

单片机STM32实验报告

单片机STM32实验报告

实验报告课程名称:单片微机原理与车载系统学生姓名蒋昭立班级电科1601学号***********指导教师易吉良成绩2018年12 月17 日实验1 GPIO实验1.1 实验目的1)熟悉MDK开发环境;2)掌握STM32单片机的GPIO使用方法。

1.2 实验设备1)一台装有Keil和串口调试软件的计算机;2)一套STM32F103开发板;3)STlink硬件仿真器。

1.3 基本实验内容1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK 并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:从图片可以看出,例程运行成功,没有错误。

2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。

实现功能:3 个按钮(KEY_UP、KEY0和KEY1),来控制板上的2 个LED(DS0 和DS1)和蜂鸣器,其中KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制DS1,按一次亮,再按一次灭;KEY0 则同时控制DS0 和DS1,按一次,他们的状态就翻转一次。

理解连续按概念及其实现代码。

参数mode 为0 的时候,KEY_Scan 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。

当mode 为1 的时候,KEY_Scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。

寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。

寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。

3)采用库函数方法实现按键输入实验,参考《STM32F1开发指南(精英版)-库函数版本_V1.0》第8章。

水温控制系统stm32实验报告

水温控制系统stm32实验报告

水温控制系统stm32实验报告设计并制作一个水温自动控制系统,控制对象为1升水,容器为搪瓷器皿(其他容器也可)。

水温可以在一定范围内设定,并能实现在10℃-70℃量程范围内对每一点温度的自动控制,以保持设定的温度基本保持不变。

要求(1)可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1℃;(2)可以测量并显示水的实际温度。

温度测量误差在+0.5℃内;(3)水温控制系统应具有全量程(10℃-70℃)内的升温、降温功能(降温可用半导体制冷片、升温用800W以内的电加热器);(4)在全量程内任意设定一个温度值(例如起始温度+15℃内),控制系统可以实现该给定温度的恒值自动控制。

控制的最大动态误差<+4℃,静态误差<+1℃,系统达到稳态的时间<15min(最少两个波动周期)。

人机交互模块的设计温度控制系统经常是用来保证温度的变化稳点或按照某种规律进行变化。

但是通常温度具有惯性大,滞后性严重的特点,所以很难建立很好的数学模型。

所以在本次实验中我们采用了性能高又经济的搭载ARM Cortex-M内核的STM32F429的单片机作为它的微控制处理器。

人机交互模块主要是有普通的按键和一块彩色液晶屏幕所组成。

该实验中采用的是模糊的PID 算法,完成对系统的设计。

温度检测模块的设计传统的测温元件有热电偶,热敏电阻还有一些输出模拟信号的温度传感器。

但这些元件都需要较多的外部元件的支持。

电路复杂,制作成本高。

因此在本次实验中我们采用了美国DALLAS半岛公司推出的一款改进型的智能温度传感器 DS18B20。

此温度传感器读数方便,测温范围广,测温准确,输出温度采用数字显示更加智能化。

温度检测模块是以DS18B20温度传感器作为核心,将测量的温度信号传递给STM32单片机芯片进行温度的实时检测,并通过数码管显示。

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。

stm32f103c8t6单片机课程设计总结

stm32f103c8t6单片机课程设计总结

stm32f103c8t6单片机课程设计总结
一、项目背景及目的
随着现代电子技术的快速发展,嵌入式系统已广泛应用于各个领域。

本课程设计选用STM32F103C8T6单片机作为核心控制器,旨在通过实际项目实践,掌握单片机的基本原理和应用技巧,提高自己的动手能力和创新能力。

二、硬件设计
1.单片机选型:选用STM32F103C8T6单片机,具有较高的性能和性价比,满足项目需求。

2.电路设计:主要包括电源电路、晶振电路、复位电路、接口电路等,确保单片机正常工作。

3.外设选型与连接:根据项目需求,选择合适的外设,如传感器、显示器、驱动电路等,并正确连接。

三、软件设计
1.编程语言:采用C语言进行编程,简洁高效,易于调试。

2.程序结构:分为初始化模块、数据采集模块、处理与控制模块、输出模块等,实现对整个系统的控制。

3.算法与应用:针对项目需求,设计相应的算法,如滤波、pid控制等,实现对系统的精确控制。

四、调试与优化
1.硬件调试:通过调试仪器,如示波器、万用表等,检查电路性能,确保各个电路模块正常工作。

2.软件调试:采用调试工具,如Keil、STM32库等,对程序进行调试与优化,提高系统性能。

3.系统优化:针对实际运行过程中出现的问题,对硬件和软件进行优化,提高系统稳定性和可靠性。

五、总结与展望
通过本次STM32F103C8T6单片机课程设计,掌握了单片机的基本原理和应用技巧,提高了自己的动手能力和创新能力。

单片机实验报告(相当不错,有具体实验结果分析哦)

单片机实验报告(相当不错,有具体实验结果分析哦)

学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。

二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。

以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。

2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。

用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

STM32开发环境建立实验报告

STM32开发环境建立实验报告

实验1 STM32开发环境建立一、实验目的1、掌握嵌入式开发环境的搭建。

2、熟悉MINI STM32开发板的基本使用。

二、实验内容1、检查MINI STM32开发板的完整性。

(1)ALIENTEK MINI STM32开发板底板一个。

(2)ALIENTEK 2.8寸TFTLCD模块一个。

(3)5P MINI USB 数据线一条。

2、上电检测开发板能否正常工作,注意两个USB口的区别。

3、串口驱动的安装。

4、KEIL C软件的安装和使用。

5、JLINK驱动的安装。

6、跑马灯的实验。

三、实验设备硬件:PC机一台MINI STM32开发板一套软件:RVMDK V3.8 一套Windows XP 一套四、实验步骤1、检查开发板完整、正常与否;2、安装开发软件及驱动,并调试;3、熟悉固件库,编写代码实现跑马灯功能。

1)给工程新增HARDWARE组程序里main()函数非常简单,先调用delay_init()初始化延时,接着就是调用LED_Init()来初始化GPIOA和GPIOD为输出。

最后在死循环里面实现LED0和LED1交替闪烁,间隔为300ms。

程序见附录2) 写好程序以后,就编译,看看有没有错误。

如果没有错误的话就下载到STM32板子上。

五、实验结果和实验总结实验最后实现了流水灯的运转。

这次实验主要是让我们了解一下STM32开发板的基本使用,大部分人都是初次接触这个开发板和KEILC软件,都对软件操作不太了解,希望通过这几次实验能够了解并熟练地使用这个软件,用这个软件来编程和完成一些功能的实现。

附录C语言代码:(主要功能的)//初始化端口void LED_Init(void){RCC->APB2ENR|=1<<2; //使能PORTA时钟RCC->APB2ENR|=1<<5; //使能PORTD时钟GPIOA->CRH&=0XFFFFFFF0;GPIOA->CRH|=0X00000003;//PA8 推挽输出GPIOA->ODR|=1<<8; //PA8 输出高GPIOD->CRL&=0XFFFFF0FF;GPIOD->CRL|=0X00000300;//PD.2推挽输出GPIOD->ODR|=1<<2; //PD.2输出高}//延时nmsvoid delay_ms(u16 nms){u32 temp;SysTick->LOAD=(u32)nms*fac_ms;//时间加载(SysTick->LOAD为24bit) SysTick->V AL =0x00; //清空计数器SysTick->CTRL=0x01 ; //开始倒数do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16)));//等待时间到达SysTick->CTRL=0x00; //关闭计数器SysTick->V AL =0X00; //清空计数器}//初始化延迟函数//SYSTICK的时钟固定为HCLK时钟的1/8//SYSCLK:系统时钟void delay_init(u8 SYSCLK){SysTick->CTRL&=0xfffffffb;//bit2清空,选择外部时钟HCLK/8fac_us=SYSCLK/8;fac_ms=(u16)fac_us*1000;}//系统时钟初始化函数void Stm32_Clock_Init(u8 PLL){unsigned char temp=0;MYRCC_DeInit(); //复位并配置向量表RCC->CR|=0x00010000; //外部高速时钟使能HSEONwhile(!(RCC->CR>>17));//等待外部时钟就绪RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1; PLL-=2;//抵消2个单位RCC->CFGR|=PLL<<18; //设置PLL值2~16RCC->CFGR|=1<<16; //PLLSRC ONFLASH->ACR|=0x32; //FLASH 2个延时周期RCC->CR|=0x01000000; //PLLONwhile(!(RCC->CR>>25));//等待PLL锁定RCC->CFGR|=0x00000002;//PLL作为系统时钟while(temp!=0x02) //等待PLL作为系统时钟设置成功{temp=RCC->CFGR>>2;temp&=0x03;}}//主函数int main(void){Stm32_Clock_Init(9); //系统时钟设置delay_init(72); //延时初始化LED_Init(); //初始化与LED连接的硬件接口while(1){LED0=0;LED1=1;delay_ms(300); LED0=1;LED1=0;delay_ms(300); }}。

单片机实验报告(完整版)

单片机实验报告(完整版)

单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。

二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。

3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。

四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。

五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。

广工单片机实验报告

广工单片机实验报告

单片机实验报告一、实验目的:1)熟悉汇编语言,能用汇编语言编写单片机程序。

2)对stm8的功能有进一步的了解,掌握AD转换。

3)利用ADC,将电压采集后,用LED数码管显示电压,显示格式为X.XX 没有滤波二、实验仪器:stm8s105c6单片机、单片机开发试验仪、杜邦线三、实验内容:1、步骤:1)接线。

将单片机与电脑连接起来,将转接板借入单片机试验仪,用杜邦线件PB口与数码管连接起来,PE6(JP8_P1.5)->J4.1(数字"0"脚)电位器。

J15.1连j16.1,j15.2连j16.2,j15.3连j16.3。

2)编写程序。

在电脑上运行ST Visual Develop 软件,建立工程文件;选CPU型号。

然后编写代码,编译,检查是否有错误与警告,如果有,则对程序进行修改。

3)下载程序。

如果没有,就进行程序调试,把程序下载到stm8单片机里面。

4)运行程序,观察数管的显示。

2、主程序(要有注释):intelcall init_led; 初始化IO,驱动数码管call init_adc; 初始化adc.main_loop: ;主循环call adc_convert ; 开启AD转换call data_processing;将采集到的电压值进行处理call data_to_display;将电压值,送到显示区call display;显示jp main_loop;重复init_led:;初始化PB,推挽输出,用于数码管段驱动;mov PB_DDR,#0ffhmov PB_CR1,#0ffhmov PB_CR2,#0;初始化PA,推挽输出,用于数码管位驱动;mov PA_DDR,#0ffhmov PA_CR1,#0ffhmov PA_CR2,#0mov PA_ODR,#0bfh ;PA6为0,即3-8译码C为0;初始化PE,推挽输出,用于数码管位驱动;; 3-8译码器mov PE_DDR,#0ffhmov PE_CR1,#0ffhmov PE_CR2,#0mov PE_ODR,#0ffhretinit_adc:mov ADC_CR2,#0 ; A/D结果数据左对齐,主读高8位.mov ADC_CR1,0 ; ADC时钟=主时钟/2=1MHZ, ADC转换模式=单次,禁止ADC转换mov ADC_CSR,#9 ; 选择通道9mov ADC_TDRH,#1 ;禁止施密特触发器bset ADC_CR1,#0ld a,#100WAIT_ADC_ONdec ajrne WAIT_ADC_ON ; 延时一段时间,至少7uS,保证ADC模块的上电完成 retadc_convert:bset ADC_CR1,#0WAIT_ADC_EOCld a,ADC_CSRand a,#80hjreq WAIT_ADC_EOC ; 等待ADC结束ld a,ADC_DRH ; 读出ADC结果的高8位retdata_processing: ;处理数据,电压值a*500/256,约简后:a*125/64 clrw xmov r01 ,#00h;16位乘数高位mov r02 ,#7dh;16位乘数低位ld r00,a ;采样后电压值ld a,r02 ;取被乘数低8位ld xl,ald a,r00 ;取8位乘数mul x,aldw r04 ,x ;16位乘积送R04,R05ld a,r01 ;取被乘数高8位ld xl,ald a,r00 ;取8位乘数mul x,aaddw x,r03 ;求和ldw r03,xldw x,r04 ;保存结果.完成a*125运算mov couter,#6 ;用移位,完成除法运算,/64adc_div:srlw xdec couterjrne adc_divret ;x=a*125/64data_to_display:;将电压值数据,分别存到个位,十位,千位,显示格式为X.XX ld a,#10div x,ald vol1,ald a,#10div x,ald vol2,ald a,#10div x,ald vol3,aretdisplay: ;动态扫描,显示格式为X.XXclrw xld a,vol1 ;显示第一位ld xl,ald a,(LED_TAB,x)mov PE_ODR,#11110110b ;3-8译码CBA为000,LED1亮ld PB_ODR,acall delayld a,vol2 ;显示第二位ld xl,ald a,(LED_TAB,x)mov PE_ODR,#11110111b ;;3-8译码CBA为001,LED2亮ld PB_ODR,acall delayld a,vol3 ;显示第三位ld xl,ald a,(LED_TAB,x)ld temp,abres temp,#7;显示小数点ld a,tempmov PE_ODR,#11111110b ;3-8译码CBA为010,LED3亮ld PB_ODR,acall delayretLED_TAB: ;八段共阴数码管字模; 0 1 2 3 4 5 6 7 8 9dc.b 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh3、注意事项:1)线路是否连接正确。

单片机STM32实验报告.docx

单片机STM32实验报告.docx

实验报告课程名称:单片微机原理与车载系统2018年12月17日学 班 学 指名 级 号 师蒋昭立 电科1601 16401700119易吉良实验1 GPIo实验1.1实验目的1)熟悉MDK开发环境;2)掌握STM32单片机的GPIO使用方法。

1.2实验设备1)一台装有Keil和串口调试软件的计算机;2)—套STM32F103 开发板;3)STlink硬件仿真器。

1・3基本实验内容1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK 并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:从图片可以看出,例程运行成功,没有错误。

P q⅞klM,IT<LKLτ∣⅞LHil: Ubi pκ*⅝& *rU”1:M Yltv i⅛⅜κ HMll -XE M*l⅛>ιpf⅝Mlh ∣M∙ ħ⅞l AT<Ww* ⅛ΛIi∙CM i≡a?工O-i"jr∙≡∙=≡i=∙" I ≡TI Z≡r GFlO_I-X=JS-Ii i;9f3⅞~⅛τU M CPfLt ⅛7 *"ga∏∙: CkrJPXe-β4⅞I-Ji-I*I930B P QPEB-_V i Ln_tl ι2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。

实现功能:3个按钮(KEY_UP、KEYo 和KEY1 ),来控制板上的2个LED (DS0和DS1)和蜂鸣器,其中KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1控制DS1 ,按一次亮,再按一次灭;KEY0则同时控制DS0和DS1 ,按一次,他们的状态就翻转一次。

理解连续按概念及其实现代码。

参数mode为0的时候,KEY_SCan函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。

最新单片机实习报告~完整版

最新单片机实习报告~完整版

关于单片机应用实习的实习报告一、实习目的本次实习的目的在于加深对MCS-51单片机的理解,初步掌握单片机应用系统的设计方法;掌握常用接口芯片的正确使用方法;强化单片机应用电路的设计与分析能力;提高学生在单片机应用方面的实践技能;培育学生综合运用理论知识解决问题的能力,力求实现理论结合实际,学以至用的原则。

二、设计题目: 单片机数据采集系统设计三、功能描述1.实时采集0-5V的电压信号;2.将采集的0-5V的电压信号实时显示;3.可以轮流采集8路通道,或指定通道数据;4.可以设定报警上下限,并报警。

四、方案设计4.1系统分析根据系统功能要求,可将系统组成结构分成四大部分。

单片机控制中心、键盘接口。

其中,单片机控制中心是核心。

MCU根据按键输入,可切换不同的显示模式或设置不同的参数。

数码显示管第2至4位将实时采集的0~5V电压,数码管第1位显示指定通道数。

通过按键可切换到设定电压上下限报警的模式。

由于我组单片机实验板缺少烽鸣器,因此利用LED 灯来报警。

以下是系统组成结构图:图1 系统组成结构图五、硬件电路设计5.1 单片机最小系统设计最小系统包括CPU 时钟与复位电路,其原理图如下:图2单片机最小系统设计5.2 显示电路设计数 码 管 显 示 显示上下限报警电压 实时显示采集的电压信号 LED 灯 报 警 单片机控制中心键盘接口数码管主要是用于数字的显示,图中采用共阴极。

电源+5V通过470欧的电阻直接给数码管的7个段位供电,P0.0-P0.7对应了两个接数码管的a,b,c,d,e,f,g和小数点位p,P1.0,P1.1,P1.2,P1.3接位选码。

其原理图如下:图3 显示电路设计5.3 按键电路设计其原理图如下:图4 按键电路设计5.4 A/D转换电路设计其原理图如下:图5 A/D转换电路设计5.5 电源电路设计单片机工作电压为5V。

一般使用USB接口供电,直接从USB接口获取5V电源。

其原理如下图。

单片机实验报告

单片机实验报告

单片机实验报告《单片机系统实验》实验报告院系:学号:姓名:2017年12月一、实验目的1.了解32位单片机(STM32系列)原理及其应用,熟悉单片机的资源,掌握单片机的最小系统设计及扩展技术,掌握单片机的编程语言。

2.通过本实验了解LCD液晶工作原理,能通过编程操作液晶的显示。

二、实验设备STM32实验系统一套,PC机一台。

三、实验原理(1)I/O口及定时器实验:STM32的GPIO口控制4个发光二极管,了解其硬件连接方式,学会使用STM32的一个定时器,掌握对定时器计时方式的编程。

编写程序循环点亮4个发光二极管,控制点亮时间为1秒钟闪烁。

(2)外部中断实验:掌握STM32单片机外部中断的用法,学会设置中断优先级,在实验(1)的基础上完成,如果有外部中断发生改变发光二极管的发光规律。

(如,仅其中2个灯亮,再次触发外部中断后,发光二极管重新变成4个灯循环点亮。

)(3)串行口通信实验:掌握STM32单片机与计算机之间的硬件连接方式,了解二者之间的传输协议,进行数据传输。

(4)LCD实验:掌握STM32单片机与液晶之间的硬件连接方式,单片机如何驱动液晶进行显示。

四、内容与步骤1.学会使用IAR或KEIL的编译链接调试环境,熟悉有关STM32使用到的库,并能顺利建立包含各种库文件的工程。

(2学时)2.I/O口实验:在建立工程的基础上能点亮发光二极管。

(2学时)3.定时器实验:循环定时(用定时器做)点亮4个灯,即每1秒闪烁点亮一个灯,循环往复(或叫跑马灯实验)。

(2学时)4.外部中断实验:按键作为触发外部中断的条件,中断发生时,改变发光二极管的点亮规律。

(2学时)5.串行口通信实验:编写串行口通信实验程序,能在计算机与STM32系统间进行ASCII码的传输。

(2学时)6.LCD实验:通过自行编写库文件和了解液晶显示字库,能在液晶上显示“北京航空航天大学机械工程及自动化学院”字样。

(6学时)五、关键代码1.I/O口及定时器实验/*通过定时器3中断函数实现跑马灯,现象为每个LED灯依次点亮1秒后熄灭*/void TIM3_IRQHandler(void){extern uint8_t LED_Status[5];if(TIM3->SR&0X0001)//溢出中断{if(LED_Status[1]==0){LED1_ON;LED2_OFF;LED3_OFF;LED4_OFF;LED_Status[1]=1;}else if(LED_Status[1]==1){LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED_Status[1]=2;}else if(LED_Status[1]==2){LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED_Status[1]=3;}else if(LED_Status[1]==3){LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED_Status[1]=0;}}TIM3->SR&=~(1<<0);//清除中断标志位}2.外部中断实验/*LED灯的发光规律有两种:一种是每个LED灯依次点亮1秒后熄灭,另一种是每次2个LED灯同时点亮,持续1秒后向前移动1个LED灯的位置。

单片机实验报告(学期全部实验)

单片机实验报告(学期全部实验)

单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。

二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。

四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。

实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。

二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。

时间间隔简单的用了一个延时的语句。

因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。

四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。

实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。

二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。

基于stm32谷歌小恐龙实验报告

基于stm32谷歌小恐龙实验报告

基于stm32谷歌小恐龙实验报告
本实验采用STM32单片机来实现谷歌小恐龙游戏,主要利用
STM32外部中断和定时器中断实现游戏的功能,实现了小恐龙的跳跃和障碍物的产生和移动,达到类似于谷歌浏览器上的小恐龙游戏的效果。

在本实验中,我们使用STM32F103C8T6作为单片机,通过外部中
断连接一个按钮,实现小恐龙的跳跃功能。

在每个周期内,程序会检
测按钮是否按下,如果按下,则小恐龙会跳起来避开障碍物。

同时,
利用定时器中断来产生和移动障碍物,以模拟真实游戏中各种障碍物
的产生和移动。

在程序实现过程中,我们同时利用了OLED屏幕显示游戏画面,
提高了实验可操作性和交互性,同时通过USB连接计算机,将单片机
和计算机进行了通信,实现了数据的传输和控制。

本实验的成功实现,不仅提升了我们对STM32单片机的认识和应
用能力,也使我们深入了解了游戏开发的基本原理和实现方式,为后
续的游戏开发打下坚实的基础。

STM32实验报告

STM32实验报告

实验一:一个灯的闪烁一、实验要求1.熟悉使用STM32F103ZET6开发板2.利用C语言程序实现一个灯闪烁二、电路原理图图1-1 LED灯硬件连接图三、软件分析1.本实验用到以下3个库函数(省略了参数):RCC_DeInit();RCC_APB2PeriphClockCmd();GPIO_Init();2.配置输入的时钟:SystemInit()主要对RCC寄存器进行配置,GPIOA连接在APB2上,因此RCC_APB2PeriphClockCmd()函数需要使能APB2Periph_GPIOA3.声明GPIO结构: PF6~PF10口配置为输出GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;4.应用GPIO口:点亮LED1有五种方法①ODR寄存器法:GPIOA->ODR=0xffbf;②位设置/清除寄存器法:GPIOA->BRR|=0X001;③方法③只适用于GPIOx_BSRR寄存器④GPIO_WriteBit()函数法:GPIO_Write(0xffbf);⑤置位复位库函数法:GPIO_ResetBits(GPIOF,GPIO_Pin_8);5.主函数程序:int main(void){RCC_Configuration(); /* 配置系统时钟 */GPIO_Configuration(); /* 配置GPIO IO口初始化 */ for(;;){GPIOF->ODR = 0xfeff; /* PF8=0 --> 点亮D3 */Delay(600000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(600000);}}四、实验现象下载程序后开发板上的LED1灯闪烁五、总结通过对本实验可以发现,和51等8位单片机相比,STM32对I/O端口的操作变得复杂了许多。

单片机STM32实验报告.docx

单片机STM32实验报告.docx

实验报告课程名称:单片微机原理与车载系统2018年12月17日学 班 学 指名 级 号 师蒋昭立 电科1601 16401700119易吉良实验1 GPIo实验1.1实验目的1)熟悉MDK开发环境;2)掌握STM32单片机的GPIO使用方法。

1.2实验设备1)一台装有Keil和串口调试软件的计算机;2)—套STM32F103 开发板;3)STlink硬件仿真器。

1・3基本实验内容1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK 并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:从图片可以看出,例程运行成功,没有错误。

P q⅞klM,IT<LKLτ∣⅞LHil: Ubi pκ*⅝& *rU”1:M Yltv i⅛⅜κ HMll -XE M*l⅛>ιpf⅝Mlh ∣M∙ ħ⅞l AT<Ww* ⅛ΛIi∙CM i≡a?工O-i"jr∙≡∙=≡i=∙" I ≡TI Z≡r GFlO_I-X=JS-Ii i;9f3⅞~⅛τU M CPfLt ⅛7 *"ga∏∙: CkrJPXe-β4⅞I-Ji-I*I930B P QPEB-_V i Ln_tl ι2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。

实现功能:3个按钮(KEY_UP、KEYo 和KEY1 ),来控制板上的2个LED (DS0和DS1)和蜂鸣器,其中KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1控制DS1 ,按一次亮,再按一次灭;KEY0则同时控制DS0和DS1 ,按一次,他们的状态就翻转一次。

理解连续按概念及其实现代码。

参数mode为0的时候,KEY_SCan函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。

单片机STM32实验报告

单片机STM32实验报告

单片机STM32实验报告

STM32单片机实验报告
实验目的
通过本实验,掌握STM32单片机的编程,掌握实验板的控制,熟悉STM32外设,以及学习ARM Cortex-M3架构。

实验内容
本实验使用STM32F103ZET6开发板,实现了LED灯的闪烁,LCD和5*5键盘显示数字键的输入。

实验原理
实验中LED灯的功能使用GPIO口的控制,将PD2脚接线到LED灯,通过编程让PD2脚的低逻辑电平将输出口设置为低电平,实现LED灯的闪烁;LCD1602的数字输入口使用4*4数字键盘,使用其端口旁路输出,实现输入检测;5*5键盘使用端口旁路输出,对输入的检测,并将输入的数字键显示在LCD1602上,实现数字键盘编程。

实验结果。

单片机实验报告

单片机实验报告

单片机实验报告实验项目名称MCS-51系列单片机指令学习实验实验项目类型验证性实验时间2013、5、10、星期五、一二节课一、实验目的MCS-51系列单片机指令系统共有111条汇编语言指令,这些指令按功能的不同可分为五类:29条数据传送类指令,24条算术运算类指令,24条逻辑运算类指令,17条控制转移类指令和17条位操作类指令。

本实验通过单步执行程序中各类指令,来进一步学习和理解各类主要指令的功能,掌握指令的用法。

通过实验掌握Keil软件的使用方法。

二、实验内容(一)、数据传送与算术运算1、体会MOV Rn,direct指令的功能和用法,取n=0,direct=40H。

程序如下:ORG 0000HSUBROUT:MOV 40H ,#0FH;MOV R0 ,40H;MOV A ,R0;HERE:LJMP HERE;ENDA=(OFH ),40H=(OFH ),R0=(OFH )2、体会MOV @Ri,#DATA指令的功能和用法,选择DATA=0FH,i=0。

程序如下:ORG 0000HSUBR:MOV R0,#50H;R0←50HMOV @R0,#0FH;(R0)←0FHMOV A,50H;A←(50H)HERE:LJMP HERE;ENDR0=(50H ),50H=(OFH ),A=(OFH )3、体会查表指令MOVC A,@A+DPTR的功能和用法。

设定40H单元中的内容为0~9之间的一个整数,用查表的方法求出它的平方值(BCD码),结果存入41H单元。

利用MOVC A,@A+DPTR指令查表程序如下:ORG 0000HSTART:MOV DPTR,#SQR;MOV A ,40H;MOVC A ,@A+DPTR;MOV 41H , A;HERE:LJMP HERE;SQR:DB 00H,01H,04H,09H,16HDB 25H,36H,49H,64H,81HEND41H=(25 )4、用加法指令ADD A,R0实现两数相加,如52H+FCH。

stm32实训心得体会

stm32实训心得体会

stm32实训心得体会篇一:STM32 实验2报告实验2MINI STM32按键控制LED灯实验一、实验目的1、掌握嵌入式程序设计流程。

2、熟悉STM32固件库的基本使用。

二、实验内容1、编程使用I/O口作为输入,控制板载的两个LED 灯。

2、使用固件库编程。

三、实验设备硬件: PC机一台MINI STM32开发板一套软件: RVMDK 一套Windows XP 一套四、实验步骤1、设计工程,使用固件库来编程设置。

、在这里我们建立一个文件夹为: STM32-Projects.点击Keil 的菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹STM32-Projecst 之下,在这个目录下面建立子文件夹shiyan1, 然后定位到 shiyan1目录下面,我们的工程文件就都保存到shiyan1 文件夹下面。

工程命名为shiyan1, 点击保存.是这个型号。

、这里我们定位到STMicroelectronics 下面的STM32F103RB( 针对我们的mini 板子、弹出对话框“Copy STM32 Startup Code to project ?.”,询问是否添加启动代码到我们的工程中,这里我们选择“否”,因为我们使用的ST固件库文件已经包含了启动文件。

、接下来,我们在 Template 工程目录下面,新建3 个文件夹 CORE, USER,STM32F10x_FWLib 。

USER 用来放我们主函数文件 , 以及其他包括system_ 等等,CORE 用来存放启动文件等,STM32F10x_FWLib 文件夹顾名思义用来存放ST官方提供的库函数源码文件.、.打开官方固件库包,定位到我们之前准备好的固件库包的目录。

STM32F10x_StdPeriph_Lib_\Libraries\STM32F10x_StdPer iph_Driver 下面,将目录下面的src,inc 文件夹 copy 到我们刚才建立的STM32F10x_FWLib 文件夹下面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机S T M实验报告 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
实验报告
课程名称:单片微机原理与车载系统
学生姓名蒋昭立
班级电科1601
学号
指导教师易吉良
成绩
2018年 12 月 17 日
实验1 GPIO实验
实验目的
1)熟悉MDK开发环境;
2)掌握STM32单片机的GPIO使用方法。

实验设备
1)一台装有Keil和串口调试软件的计算机;
2)一套STM32F103开发板;
3)STlink硬件仿真器。

基本实验内容
1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本》第3章,安装MDK并新建test工程,运行例程,在串口窗宽观察结果,并记录如下:从图片可以看出,例程运行成功,没有错误。

2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本》第8章。

实现功能: 3 个按钮(KEY_UP、KEY0和 KEY1),来控制板上的 2 个 LED(DS0 和 DS1)和蜂鸣器,其中 KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制 DS1,按一次亮,再按一次灭;KEY0 则同时控制 DS0 和 DS1,按一次,他们的状态就翻转一次。

理解连续按概念及其实现代码。

参数 mode 为 0 的时候,KEY_Scan 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。

当 mode 为 1 的时候,KEY_Scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。

寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。

寄存器方法实现支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。

3)采用库函数方法实现按键输入实验,参考《STM32F1开发指南(精英版)-库函数版本》第8章。

库函数实现不支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为0,为不支持连按模式。

库函数实现支持连续按的关键代码,以及程序运行后的效果。

由程序可知,给KEY_Scan函数输入的值为1,为支持连按模式。

创新实验内容
在实验步骤的基础上,通过修改代码,实现如下功能:
1)按下任意一个按键,蜂鸣器响x下后停止,然后DS0闪烁y次,DS1闪烁z次(x、y、z分别为你学号的末3位的数);
由我学号最后三位为119,所以蜂鸣器响1下后停止,然后DS0闪烁1次,DS1闪烁9次。

实验2 定时器实验
实验目的
1)理解定时器工作原理;
2)掌握STM32定时器的使用方法。

实验设备
1)一台装有Keil和串口调试软件的计算机;
2)一套STM32F103开发板;
3)STlink硬件仿真器。

基本实验内容
1)定时器中断实验,参考《STM32F1开发指南(精英版)-库函数版本》第13章,利用TIM3的定时器中断来控制DS1的翻转,在主函数用DS0的翻转来提示程序正在运行。

通过本例程,理解定时器中断原理,记录关键代码,写出定时器中断过程:一开始程序会一直执行死循环里面的代码,让LED0不断的亮然后熄灭来提示程序正在运行。

当计数器计数500ms之后,程序将跳出循环,去执行定时器里面的程序,实现DS1的反转
2)PWM输出实验,参考《STM32F1开发指南(精英版)-库函数版本》第14章,使用TIM3的通道2,把通道2重映射到PB5,产生PWM来控制DS0的亮度。

通过本例程,理解定时器PWM输出功能的使用方法,记录关键代码,写出STM32定时器PWM输出实现过程:
本实验通过重映射复用功能,将TIM3的通道2,把通道2重映射到PB5引脚,通过PWM的高低电平来控制DS0的亮度,电平为高电平时为亮,低电平时为熄灭,由主函数的程序可以看出,随着led0pwmval的数越大,PWM输出的占空比就越大,此时灯就越亮。

3)定时器输入捕获实验,参考《STM32F1开发指南(精英版)-库函数版本》第15章,利用TIM5的通道1(PA0)做输入捕获,捕获PA0上高电平的脉宽(用WK_UP按键输入高电平),通过串口打印高电平脉宽时间。

通过本例程,掌握定时器输入捕获实现过程,记录关键代码,并写出捕获输入实现原理:
创新实验内容
在实验步骤的基础上,通过修改代码,实现如下功能:
1)通过定时器相关功能实现控制蜂鸣器音调。

查找资料理解蜂鸣器发出不同音调的控制原理,按下某个按键,实现“多来米发梭拉西”的发声;
实验3 ADC及显示实验实验目的
1)理解ADC工作原理;
2)掌握STM32ADC的使用方法。

实验设备
1)一台装有Keil和串口调试软件的计算机;
2)一套STM32F103开发板;
3)STlink硬件仿真器。

基本实验内容
1)ADC实验,参考《STM32F1开发指南(精英版)-库函数版本》第22章,将利用STM32的ADC1通道1采样外部电压值(注意:输入电压不能超过!),并在TFTLCD 模块上显示出来。

ADC输入端口查找请参考《STM32F1开发指南(精英版)-库函数版本》第2章实验平台硬件资源详解。

通过本例程,理解ADC原理,记录关键代码,写出ADC采样实现过程:
通过Get_Adc_Average函数可以获得由通道1采样得到的采样值,然后经过转换计算输出我们需要的数字量电压值。

2)内部温度传感器实验,参考《STM32F1开发指南(精英版)-库函数版本》第23章,利用STM32F1的内部温度传感器读取温度值,并在TFTLCD模块上显示出来。

通过本例程,理解STM32内部温度传感器的使用方法,记录关键代码,写出读取内部温度传感器温度值的实现过程:
创新实验内容
在实验步骤的基础上,通过修改代码,实现如下功能:
1)用信号发生器输出正弦波、三角波信号(注意峰值小于!),接入某ADC通道,在TFTLCD上动态显示输入数据(也可以用图形方式显示);
在实现1)中功能的基础上,用TFTLCD显示温度,并显示自己的班级、学号、姓名等信息。

实验总结
通过这三次实验,我遇到了很多问题,比如,如何开始去新建一个工程,如何运行一个程序,如何下载到开发板中。

也学到了如何去解决这些问题,遇见软件问题也多不胜数,比如:调试文件系统程序时,程序编译没有错,仿真时程序总是跑飞到硬件中断。

这是因为初始化文件系统时,前面忘记调用设备选择函数,导致一些参数未能及时存储变量的值,致使程序跑飞,加入设备选择函数后,该现象解决。

这样的还有很多很多,问题越多,在与别人交流的过程中受益匪浅,别人的程序往往使人豁然开朗,通过这几次实验,我不仅加深了对单片机的了解,将理论很好的融入到实践中,同时也让我意识到自己的不足,无论是理论上还是遇到问题的处理能力还有待提高。

相关文档
最新文档