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输出高
}
//延时nms
void 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/8
fac_us=SYSCLK/8;
fac_ms=(u16)fac_us*1000;
}
//系统时钟初始化函数
void Stm32_Clock_Init(u8 PLL)
{
unsigned char temp=0;
MYRCC_DeInit(); //复位并配置向量表
RCC->CR|=0x00010000; //外部高速时钟使能HSEON
while(!(RCC->CR>>17));//等待外部时钟就绪
RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;
PLL-=2;//抵消2个单位
RCC->CFGR|=PLL<<18; //设置PLL值2~16
RCC->CFGR|=1<<16; //PLLSRC ON
FLASH->ACR|=0x32; //FLASH 2个延时周期
RCC->CR|=0x01000000; //PLLON
while(!(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);
}
}
软件开发实验报告doc
软件开发实验报告 篇一:软件开发实验报告 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:CASE工具PowerDesigner的使用 实验地点:专业班级: 指导教师: XX年10月22日 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:搭建Visual Studio开发环境,设计实验地点:致远楼B303指导教师:崔秀娟XX年9月28日 篇二:软件开发平台实验报告 课程设计报告 课程名称: 软件开发平台与工具任课教师: 姓名: 学号: 1. 引言 1.1. 课程设计项目 1.2. 背景简介从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结,
由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。B/S 架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式(web开发平台)。对于web开发平台,我的个人理解是: 1.以web 2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。 2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA 等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。 3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。
激光脉冲测距实验报告讲解
激光脉冲测距
1 目录 一工作原理 (3) (1)测距仪工作原理 (3) (2)激光脉冲测距仪光学原理结构 (3) (3)测距仪的大致结构组成 (4) (4)主要的工作过程 (4) (5)激光脉冲发射、接收电路板组成及工作原理 (5) 二激光脉冲测距的应用领域 (5) 三关键问题及解决方法 (6) (1)优点 (6) (2)问题及解决方案 (7) 2 一工作原理 (1)测距仪工作原理 现在就脉测距仪冲激光测距简要叙述其工作原理。简单地讲,脉冲法测距的过程是这样的:测距仪发射出的激光经被测量物体的反射后又被测距仪接收,测距仪同时记录激光往返的时间t,光速c 和往返时间t 的乘积的一半,就是测距仪和被测量物体之间的距离。一般一个典型的激光测距系统应具备以下四个模块:激光发射模块;激光接收模块;距离计算与显示模块;激光准直与聚焦模块,如图2-1 所示。系统工作时,由发射单元发出一束激光,到达待测目标物后漫
反射回来,经接收单元接收、放大、整形后到距离计算单元计算完毕后显示目标物距离。在测距点向被测目标发射一束强窄激光脉冲,光脉冲传输到目标上以后,其中一小部分激光反射回测距点被测距系统光功能接收器所接受。假定光脉冲在发射点与目标间来回一次所经历的时间间隔为t,那么被测目标的距离 D 为:式中:c 为激光在大气中的传播速度;D 为待测距离;t 为激光在待测距离上的往返时间。 R=C*T/2 (公式1) 图一脉冲激光测距系统原理框图激光脉冲测距仪光学原理结构2() 3
图二)测距仪的大致结构组成(3 时钟脉冲门控电路、脉冲激光测距仪主要由脉冲激光发射系统、光电接收系统、 振荡器以及计数显示电路组成4)主要的工作过程(其工作过程大致如下:首先接通电源,复原电路给出复原信号,使整机复原,准备进行测量;同时触发脉冲激光发生器,产生激光脉冲。该激光脉冲有一小部分能量由参考信号取样器直接送到接收系统,作为计时的起始点。大部分光脉冲能量射向待测目标,由目标反射回测距仪的光脉冲能量被接收系统接收,这就是回波信号。参考信号和回波信号先后由光电探测器转换成为电脉冲,并加以放大和整形。整形后的参考信号能触发器翻转,控制计数器开始对晶格振荡器发出的时钟脉冲进行计数。整形后的回波信号使触发器的输出翻转无效,从而使计数器停实验装置实止工作。这样,根据计数器的输出即可计算出待测目标的距离。三单片机开放板和激光脉冲发射、接收电路验装置包括“”“”。 4 (5)激光脉冲发射、接收电路板组成及工作原理 激光脉冲发射/接收电路板原理框图如图2.3所示。图中EPM3032为CPLD;MAX3656为激光驱动器;MAX3747为限幅放大器;T22为单端信号到差分信号转换芯片;T23为差分信号到单端信号转换芯片;LD为半导体激光器;PD为光电探测器。板子上端的EPM3032被编程为脉冲发生器,输出重复频率为1KHz,脉冲宽度为48ns的电脉冲信号。此信号经MAX3656放大后驱动LD发光。板子下端的EPM3032被编程为计数器,对125MHz晶振进行计数。其计数的开门信号来自上端的TX信号,关门信号来自PD的输出。计数器的计数结果采用12 位二进制数据输出,对应的时间范围为0~32.7?s。 二激光脉冲测距的应用领域 激光测距仪一般采用两种方式来测量距离:脉冲法和相位法.脉冲法测距的过程是这样的:测距仪发射出的激光经被测量物体的反射后又被测距仪接收.测距仪同时记录激光往返的时间.光速和往返时间的乘积的一半.就是测距仪和被测量物体之间的距离.脉冲法测量距离的精度是一般是在+/-1米左右.另外.此类测距仪的测量盲区一般是15米左右。 激光测距仪已经被广泛应用于以下领域:电力.水利.通讯.环境.建筑.地质.警务.消防.爆破.航海.铁路.反恐/军事.农业.林业.房地产.休闲/户外运动等。 由于激光在亮度、方向性、单色性以及相干性等方面都有不俗的特点,它一出现就吸引了众多科学工作者的目光,并被迅速地被应用在工业生产方面、国防军工方面、房地产业、各级科研机构、工程、防盗安全等各个行业各个领域:激光焊接、激光切割、激光打孔(包括斜孔、异孔、膏药打孔、水松纸打孔、钢板打孔、包装印刷打孔等)、激光淬火、激光热处理、激光打标、玻璃内雕、激光微调、激光光刻、激光制膜、激光薄膜加工、激光封装、激光修复电路、激光布线技术、激光清洗等。有关于激光的研究与生产制造也如火如荼地开展了起来。 5
电子科技大学软件开发环境实验报告
电子科技大学软件开发 环境实验报告 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】
本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。 五、实验内容: 本实验要求实现一个exe程序。这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。用户通过以下命令进行压缩: C:\> –c uncompress_filename compress_filename 上述命令中,是程序名,-c表示要进行压缩。uncompress_filename是要压缩的文件名,可以包含路径信息,而compress_filename是压缩之后的文件名,同样可以包含路径信息。用户可以通过如下命令进行解压: C:\> –u compress_filename uncompress_filename 上述命令中,-u表示要执行解压命令。compress_filename是要解压的文件名,可以包含路径信息;uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。 提示:在实现程序时,需要考虑如何存储huffman树或者编码表或者词频表等等。 本实验要求实现两个版本的程序,一是C语言版本的,二是C++版本的。对这两个版本的要求如下: 对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系 图以及它们的文字说明等内容; 对于每一个版本的程序,都需要在实验报告中给出源代码。为了便于查重,代码 中注释的比例要占到总行数的20%; C++版本的程序,需要给出类关系图。 实验报告的评分标准,包括以下几个方面: 实验报告是否规范
光电探测技术实验报告
光电探测技术实验报告 班级:08050341X 学号:28 姓名:宫鑫
实验一光敏电阻特性实验 实验原理: 光敏电阻又称为光导管,是一种均质的半导体光电器件,其结构如图(1)所示。由于半导体在光照的作用下,电导率的变化只限于表面薄层,因此将掺杂的半导体薄膜沉积在绝缘体表面就制成了光敏电阻,不同材料制成的光敏电阻具有不同的光谱特性。光敏电阻采用梳状结构是由于在间距很近的电阻之间有可能采用大的灵敏面积,提高灵敏度。 实验所需部件: 稳压电源、光敏电阻、负载电阻(选配单元)、电压表、 各种光源、遮光罩、激光器、光照度计(由用户选配) 实验步骤: 1、测试光敏电阻的暗电阻、亮电阻、光电阻 观察光敏电阻的结构,用遮光罩将光敏电阻完全掩 盖,用万用表测得的电阻值为暗电阻 R暗,移开遮光罩,在环境光照下测得的光敏电阻的 阻值为亮电阻,暗电阻与亮电阻之差为光电阻,光 电阻越大,则灵敏度越高。 在光电器件模板的试件插座上接入另一光敏电阻, 试作性能比较分析。 2、光敏电阻的暗电流、亮电流、光电流 按照图(3)接线,电源可从+2~+8V间选用,分别在暗光和正常环境光照下测出输出电压V暗和V亮则暗电流L暗=V暗/R L,亮电流L亮=V亮/R L,亮电流与暗电流之差称为光电流,光电流越大则灵敏度越高。 分别测出两种光敏电阻的亮电流,并做性能比较。 图(2)几种光敏电阻的光谱特性 3、伏安特性: 光敏电阻两端所加的电压与光电流之间的关系。 按照图(3)分别测得偏压为2V、4V、6V、8V、10V、12V时的光电流,并尝试高照射光源的光强,测得给定偏压时光强度的提高与光电流增大的情况。将所测得的结果填入表格并作出V/I曲线。 注意事项: 实验时请注意不要超过光电阻的最大耗散功率P MAX, P MAX=LV。光源照射时灯胆及灯杯温度均很高,请勿用手触摸,以免烫伤。实验时各种不同波长的光源的获取也可以采用在仪器上的光源灯泡前加装各色滤色片的办法,同时也须考虑到环境光照的影响。
互联网软件开发及应用实验报告
自学考试计算机系列课程实践性环节实验报告本 课程名称互联网软件开发及应用 实验学期 1 至 2 学年第 1 学期 年级 10级专业计算机网络及应用 学生姓名邓希良考号 010********* 指导教师 实验最终成绩 重庆大学计算机学院制
一、实验目的 锻炼和培养学生的实际操作技能和动手能力,使学生通过上机实验,加深对课堂所学理论的理解,最终达到综合锻炼和提高的目的。 二、实验内容 a) 建立一个表单,包含多个对象(文本框、密码框、单选、多选、下拉选择、多行文本输入域等),表单提交时对数据进行验证; b)建立与a)中表单对象对应的数据库和表 c)表单提交的数据在另外的页面中显示并用Session保存 d)通过Session把数据传送到下一个页面后写入到数据库中; e)从数据库中读取信息并在网页中显示出来 三、实验步骤(设计) 步骤 1 创建一个包含文本框、密码框、单选、多选、下拉选择、多行文本输入域的表单。