1、NUCLEO-L476RG试验(一)_LED闪闪亮(环境搭建与开发工具介绍)

1、NUCLEO-L476RG试验(一)_LED闪闪亮(环境搭建与开发工具介绍)
1、NUCLEO-L476RG试验(一)_LED闪闪亮(环境搭建与开发工具介绍)

NUCLEO-L476RG实验心得

(一)

LED闪闪亮

(环境搭建与开发工具介绍)

文档OARP

序号分类姓名范围要求

1 Owner Wolfgang

2 作者Wolfgang

3 作者Wolfgang

4 审核人Wolfgang

5 审核人Wolfgang

6 审核人Wolfgang

7 批准人Wolfgang

文档修订记录

序号版本号修订日期修订概述修订人审核人批准人备注1 1.0 2015-11-10 第一次编制Wolfgang Wolfgang Wolfgang

2 1.1 2015-11-14 调整目录结构,修

改错别字

Wolfgang Wolfgang Wolfgang

3

目录

一、实验开始之前 (4)

二、实验过程 (4)

0、阅读相关文档 (4)

1、安装其他辅助软件 (8)

2、观察板子上电后的功能 (9)

3、看看这些软件都带来了什么? (10)

4、建立第一个实验测试 (14)

三、实验后的心得 (16)

一、实验开始之前

二、实验过程

0、阅读相关文档

拿到板子后,第一步就是看板子原理图、PCB图资料,我们这里要看的是STM NUCLEO板:NUCLEO-L476RG(STM32L476RGT6)

在STM社区资料中能下载到完整的板子原理和PCB资料:

https://www.360docs.net/doc/996677214.html,/document/list/index/category-937

从原理图上可以知道B1的连接关系(图1)

从PCB图上可以看见板子具体的走向,细细品味板子的设计特点(图2)

从原理图上可以看见LD2的引脚关系(图3)

从PCB图上寻找LD2走线与主板设计特点(图4)

看完原理图可能我们还一头雾水,没关系STM社区资料很全,这里有完整的板子功能介绍:

STM32 Nucleo板

https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216562

(图5) 这里为这个PDF点个赞,虽然板子是一样的,可文档里还是把F0~F4 L1~L4的板子贴了一遍。资料十分完整,是个不错的Nucleo板系列资料。看完开发板资料后,我们知道了,原来这Nucleo板不是一个单板的资料,集合ST-LINK和开发板的完整资料,省去我们漫天找在线调试用的x-LINK/x-JTAG的精力。

知道Nucleo板的内容后,我们就可以找相关支持板子开发的相关工具了,这里STM也有完整的介绍,STM32 Nucleo开发板软件开发工具上手指南: (https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216563)

(图6)

从这里,我们知道了连接板子下载程序及在线调试可以通过ST-LINK/V2-1来实现,Windows需要一个ST-LINK/V2-1的驱动。

另外开发平台可以选择 IAR EMbedded Workbench、Keil forARM的MDK-ARM(区别MDK-C51的开发平台)或者TruesTUDIO。

看来需要准备的工具还很多,我们各自的官网去下载:

Keil是从C51的时候就开始使用了,非常熟悉,之前三星的ARM也是用它作为开发平台开发的,这里我们继续选用它做为开发平台:

KEIL软件我们可以去https://www.360docs.net/doc/996677214.html,/下载,这里需要用邮件注册一下就能下载了。

下载安装KEIL后,不要忘了下载KEIL的ARM库

ST-LINK/V2-1 驱动:再次感谢STM论坛提供的资料地址,让我们十分方便

的下载ST-LINK的驱动程序:

a、ST-LINK/V2 Win7、Vista和WinXP的PC端USB驱动

https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216340

b、ST-Link/V2-1在Win7,8的PC端USB驱动

https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216350

Nucleo中的ST-Link固件程序我们先不用下载,更新板内的内容,先下载开发程序能将板子连接、下载、在线调试就好;

另外补充PDF没有介绍的工具:

STM32 STLINK Utility安装程序

https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216343 这个工具可以用来通过ST-LINK来向板子下载已经编译好的二进制程序,另外还能读出板子上的二进制内容。

开发库Patch v1.1.1,适用STM32CubeL4 v1.1.0版本。

https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216648

这是适用于STM32L476x芯片的低功耗开发库

1、安装其他辅助软件

若有经验的开发者,用到以上的几个软件就能进行开发了,但STM并没有止步于此,针对STM众多芯片的芯片产品和产品特点,STM公司还推出了一系列辅助工具这里介绍STM32CubeMX

STM32CubeMX,为STM32配置和C代码的初始化程序的工具,还有PDF的下载地址如下:https://www.360docs.net/doc/996677214.html,/document/detail/index/id-216356

(图7) 从这图上我们可以看出,通过STM32CubeMX工具能根据我们配置信息自动生成我们所需的项目代码,以便我们开发,真可谓十分贴心。特别是如今芯片引脚复用时代,功能的复用真需要更智能方便的配置工具,STM的软实力真不是吹的。

2、观察板子上电后的功能

(图8)

讲了这么多的上位机软件,按耐不住的激动心情,是我们回头来看看板子的时刻了。对照完资料上的内容,我们一一来观察板子,让资料和板子实物有一个完整对应。看完功能对应和跳线的设定为初态后,我们按照说明书的连接方法接上USB就可以上电试车了。

接通USB电源后,上位机可以看见一个1MB的U盘,Nucleo能把STM32L4片内FLASH 当作U盘空间;

Nucleo 板子一个绿色的灯在不断闪烁(LED2),按下用户按钮B1,灯在切换闪烁频率;按下Rest按钮,芯片重启了。

3、看看这些软件都带来了什么?

A、STM32 ST-LINK Utility

(图9)

启动STLU后,我们选择目标(Target)连接,让我们看看这个板子里面有什么。首先看见小版右上角的双色LED灯在不断的闪亮,标示着我们的小板进入了ST_LINK连接状态。

(图10)

经过链接读取之后,我们可以看见NUCLEO的连接方式是SWD,记住这个方式,我们在其它在线工具使用中都有使用这种方式(SWD ST_LINK)来连接我们的小板。今后我们能用这个工具连接、下载我们编译好的程序,由于篇幅有限就不一一介绍它的功能了。

B、STM32CubeMX

(图11)

打开软件,我们就能看见这样的菜单,让我们新建一个项目Hello_LED。

(图12)

软件里支持那么多的MCU和Board,因为是官方板,我们选择Board。

(图13)

选择好内容后我们点击OK。

(图14)

经过一会儿的计算后,出现了芯片配置界面,并且显示出已经被占用的资源,左侧红色打叉的部分是因为占用资源出现冲突的部分,不用十分担心。

(图15)

如果需要新规划一套SPI的功能引脚,我们可以按照上图的所示,先选择芯

片引脚应用类型,再选择应用的功能特点新功能就设计好了。这功能在芯片引脚复用时代,让芯片引脚功能的规划工作量大大减轻。而且芯片资源提早在PCB 设计之前就做好了。

(图16)

这工具更方便的是,芯片规划好后,我们就能生成代码了。对没有听错,就是生成代码。

(图17)

输入项目名称“Hello_LED”,选择IDE类型。点击OK。我们的代码就生成好了。

(图18)

还能用IED打开生成的项目,十分贴心。

补充两点:

a、生成代码之前需要下载SDK库。

(图19)

b、生成代码的目录不能含有中文。

4、建立第一个实验测试

(图20)

用Keil5打开生成的代码后,可以看见含代码驱动库的完整项目代码,打开main.c后,所有设备的初始化已经实现了。

我们只需要增加少量代码就能实现我们的实验的目标了,

a、新增main.h文件输入以下代码:

b、在main.c文件中增加以下代码

c、Build Target

(图21) d、Debug---->Start--->Run

(图22)

这时,我们可以看见寄存器随LD2闪亮熄灭而变化。我们的LED闪闪亮实验就结束了。

三、实验后的心得

a、该实验的核心亮点是使用STM32CubeMX,有了这个工具让芯片的规划和设计速度加快不止一点;在线规划设计芯片功能引脚,生成核心代码、初始化功能引脚,都加快了开发速度。

b、自动生成的项目里有一个文件值得大家关注mxconstants.h,这里定义了芯片引脚的通用变量,增加了程序设计的可读性。

(图23)

c、STM32CubeMX 的功能还有其他功能在以后的实验中进行体验,比如时钟配置,这些都是能在工具中可视化配置并生成代码。

(图24)

(图25)

好了,LED闪闪亮就写到这里吧~~,各位晚安。

软件开发实验报告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.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。

实验七 LED灯控制实验

实验七LED灯控制实验 一、实验目的 1、掌握通过文件系统操作I/O设备的方法; 2、学会使用S5PV210 的GPIO设备实现简单的功能。 二、实验设备 1)装有Ubuntu系统或装有Ubuntu虚拟机的PC 机一台; 2)A8嵌入式实验箱一台; 3)本实验用到的实验箱模块有:S5PV210 CPU板模块,LED 模块 三、实验要求 循环让led1-led4点亮 四、实验原理 在Linux 系统中,所有设备都是以文件的形式被打开并进行读/写操作的,本实验中使用POSIX容的文件操作接口函数对底层设备进行操作。POSIX是Portable Operating System Interface foIX的首字母缩写词,是一套IEEE 和ISO标准。这个标准定义了应用程序和操作系统之间的一个口。只要保证他们的程序设计的符合POSIX 标准,开发人员就能确信他们的程序可以和支持SIX 的操作系统互联。这样的操作系统包括大部分版本的UNIX。POSIX 标准现在由IEEE 的一分支机构Portable Applications Standards Committee(PASC)维护。 本实验需要用到以下几个文件操作函数: 【函数原型】int open(const char *pathname, int oflag); int open(const char *pathname, int oflag, mode_t mode); 【功能】打开名为path 的文件或设备,成功打开后返回文件句柄。 【参数】pathname : 文件路径或设备名 oflag : 打开方式。可选值可以是表1.1中的一个值或几个值的组合 【返回值】成功打开后返回文件句柄,失败返回-1 【头文件】使用本函数需要包含。 表 1.1 打开方式对照表

电子科技大学软件开发环境实验报告

电子科技大学软件开发 环境实验报告 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++版本的程序,需要给出类关系图。 实验报告的评分标准,包括以下几个方面: 实验报告是否规范

软件工具与环境实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 《软件工具与环境》 开 课 学 院 计算机科学与技术学院 指导老师姓名 张能立 学 生 姓 名 曹旭磊 学生专业班级 软件0804班 2010 — 2011 学年 第 一 学期 学生学号 0120810680426 实验课成绩

实验课程名称:软件工具与环境 实验项目名称Eclipse平台及程序调试技术实验成绩 实验者曹旭磊专业班级软件0804 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的及要求 1、掌握Eclispe平台的工作台(Workbench)、透视图(Perspectives)、视图(Views)、 首选项(Preferences)概念。 2、掌握透视图切换的方法。 3、编写一个简单的Java程序,并能正确运行 4.、掌握设置断点及调试跟踪程序的方法。 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) 实验内容及步骤 1、启动Eclispe,在Java透视图、Java Debug透视图、MyEclipse Database Explorer 透视图以及MyEclipse Java Enterprise透视图之间来回切换,与同学或老师讨论一下这些透视图的作用。 2、编写一个在控制台输出“Hello World!”的程序和一个在控制台输出 1+2+3+…+100之和的程序。 3、设置断点,调试1+2+3+…+100之和这个程序,观察循环自变量和求和变量值 的变化。 三、主要仪器设备及耗材 装有java开发环境及eclipseIDE的PC机一台。

软件开发工具与环境实验报告.

南昌大学实践报告 学生姓名:谢某某学号:0149001506109 专业班级:软件工程2006 实践类型:□验证□综合□设计□创新实践日期:2010-11-30 实践成绩: (以下主要内容由学生完成) 一、实验项目名称 利用VC++设计一个简单的电话薄管理程序 二、实验目的 综合运用面向对象程序设计的基础知识,设计一个小型的应用程序,提高解决问题的能力。 三、实验基本内容 设计一个电话簿管理程序,要求: 〔1〕具有添加、删除、显示、修改和查询联系人电话号码的功能。 〔2〕联系人的信息保存到文件中。 〔3〕可以实现为控制台程序或图形界面程序。 〔4〕按学院实验报告要求格式书写实验报告 四、主要仪器设备及耗材 PC一台,Microsoft Visual C++ 6.0 开发环境 五、实验步骤 该电话薄的实现代码如下: #include #include #include #include #include using namespace std; class book { public:

book();//默认构造函数 char inter_face();//首页 void add_person();//添加 void del_person();//删除 void show_all();//显示 void alter();//修改 void select();//查询 void save_new();//保存 private: string name;//姓名 string number;//电话号码 }; book::book() { name = "\0"; number = "\0"; } //首页 char book::inter_face() { system("cls"); cout <>choose; fflush(stdin); return choose; } //添加联系人 void book::add_person() { cout <>name; fflush(stdin); cout <<"电话 : "; cin >>number; fflush(stdin); save_new(); cout <

键盘及LED显示实验

实验三键盘及LED显示实验 一、实验内容 利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INT0,INT1),单片机扫描键盘,并把按键输入的键码一位LED 显示器显示出来。 二、实验目的及要求 (一)实验目的 通过该综合性实验,使学生掌握8255扩展键盘和显示器的接口方法及C51语言的编程方法,进一步掌握键盘扫描和LED显示器的工作原理;培养学生一定的动手能力。 (二)实验要求 1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。 2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。 三、实验条件及要求 计算机,C51语言编辑、调试仿真软件及实验箱50台套。 四、实验相关知识点 1.C51编程、调试。 2.扩展8255芯片的原理及应用。 3.键盘扫描原理及应用。 4.LED显示器原理及应用。 5.外部中断的应用。 五、实验说明 本实验仪提供了8位8段LED显示器,学生可选用任一位LED显示器,只要按地址输出相应的数据,就可以显示所需数码。 六、实验原理图

P1口桥接。 八、实验参考流程图 1.主程序流程图

2.外中断服务程序流程图 外部中断0 外部中断1 定时器0中断程序,用于消抖动:

3.LED显示程序流程图 九、C51语言参考源程序 #include "reg52.h" unsigned char KeyResult; //存放键值 unsigned char buffer[8]; //显示缓冲区 bit bKey; //是否有键按下 xdata unsigned char P_8255 _at_ 0xf003; //8255的控制口 xdata unsigned char PA_8255 _at_ 0xf000; //8255的PA口 xdata unsigned char PB_8255 _at_ 0xf001; //8255的PB口 xdata unsigned char PC_8255 _at_ 0xf002; //8255的PC口 code unsigned char SEG_TAB[] = { //段码 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x0}; sbit bLine0 = P3^2; sbit bLine1 = P3^3; //延时1ms void Delay1ms() { unsigned char i;

单片机实验报告——LED灯控制器

《微机实验》报告LED灯控制器 指导教师: 专业班级: 姓名: 学号: 联系方式:

一、任务要求 实验目的:加深对定时/计数器、中断、IO端口的理解,掌握定时/计数器、中断的应用编程技术及中断程序的调试方法。 实验内容:利用C8051F310单片机设计一个LED灯控制器 主要功能和技术指标要求: 1. LED灯外接于P0.0端。 2. LED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s。 3. 在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。 4. 利用单片机内部定时器定时,要求采用中断方式。 提高要求: 使用按键(KINT)控制LED灯闪烁模式的切换。 二、设计思路 C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,所以T1定时器采用定时方式1,单次定时最长可以达到的时间为 1.027s,可以满足0.5Hz是的定时要求。 基础部分: 给TMOD赋值10H,即选用T1定时器采用定时方式1,三种频率对应的半周期时间为0.25s、0.5s、1s。计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。 要使闪烁持续10s,三种模式需要各循环40、20、10次。 用LOOP3:MOV C,PSW.5 ;PSW.5为标志位,进定时器中断后置一 JNC LOOP3 代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。 为了减少代码长度,可以采用循环结构,循环主题中,将R1、R2分别赋给TH1、TL1,R7为循环次数(用DJNZ语句实现);定时中断里,重新给TH1、TL1赋值时同理。这样,循环时只要把定时时间和循环次数赋给R1、R2、R7即可,达到减少代码长度的效果。

Java开发环境实验报告

浙江大学城市学院实验报告 课程名称面向对象程序设计 实验项目名称Java开发环境实验 学生姓名专业班级学号 一. 实验目的和要求 1.建立并熟悉Java开发环境,熟悉Eclipse集成开发环境 2.能够编写简单的Java应用程序 二. 实验内容 1. 安装和配置Java SDK 2. 安装和配置Eclipse集成开发环境 3. 编写在屏幕上输出信息的Java应用程序 三. 实验结果与分析(可将程序运行结果截屏,也可简单分析运行结果) 1. 用Java SDK开发屏幕输出“Hello World”的程序。程序运行结果如下: 2. 用Eclipse开发屏幕输出“Hello World”的程序。程序运行结果如下:

3. 用Java SDK开发屏幕输出"你好,我开始学OOP了"的程序。程序运行结果如下: 4. 用Eclipse开发屏幕输出"你好,我开始学OOP了"的程序。程序运行结果如下:

四. 讨论、心得(可写遇到的问题及解决方法,或者对技术的理解等) 1. public类有何特点? 有public的类可以在包外使用,否则不可以,与此同时,源文件名必须和类名相同。 2. Java语言是否区分大小写? JA V A语言本身是区分大小写的,但是在用文件路径、文件名对文件进行操作时,这里的文件名和路径是不区分大小写的,这是因为文件系统不区分大小写。 3. JVM和JRE都是什么? JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让电脑系统运行Java应用程序(Java Application)。 JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类函数库(Class Library)。 4.Java如何做到平台无关的? Java 可执行程序并不是直接在操作系统平台上运行,而是在Java运行环境JRE中运行的。 Java运行环境是一个软件系统,能够屏蔽底层软硬件平台的差异性。

实验六LED 控制实验

实验六LED 控制实验 一、实验目的 通过实验学习如何将一个驱动添加到Kconfig,编译到内核; 通过实验掌握在Linux 下驱动程序的编写方法。 二、实验设备 硬件:EduKit-IV 嵌入式教学实验平台、Mini2410 核心子板、PC 机; 软件:Windows 2000/NT/XP、Ubuntu 8.04、其他嵌入式软件包。 三、实验内容 编写EduKit-IV 实验箱Linux 操作系统下LED 灯的应用程序。 编写 EduKit-IV 实验箱Linux 操作系统下LED 灯的驱动; 实验步骤: 下面介绍如何将一个驱动添加到内核中,并且在配置选项中能够通过menuconfig 配置内核时选择该驱动: 1)单击菜单应用程序->附件->终端打开终端,在终端中输入以下命令设置开发所需的环境变量。 $ source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh $ source /usr/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux/path.sh 2)将实验目录$SIMPLEDIR/8.1-led_test/driver 下的eduk4-led.c 复制到目录内核目录$KERNELDIR/drivers/char 下。 3)修改$KERNELDIR/drivers/char 目录下的Kconfig 文件,在文件的末尾按照如下内容修改并保存: …. config MMTIMER tristate "MMTIMER Memory mapped RTC for SGI Altix" depends on IA64_GENERIC || IA64_SGI_SN2 default y help The mmtimer device allows direct userspace access to the Altix system timer. config EDUKIT4_LED tristate "Edukit4 Led" source "drivers/char/tpm/Kconfig" endmenu 这样当make menuconfig 时,将会出现Edukit4 Led 选项。

软件开发实验报告

本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:CASE工具PowerDesigner的使用 实验地点: 致远楼B501 专业班级: 指导教师: 2013年10月22日

2、转换物理模型,学生宿舍管理的PDM如下图:

本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:搭建Visual Studio开发环境,设计 Windows控制台应用程序 实验地点:致远楼B303 指导教师:崔秀娟 2013年9月28日

namespace Test2__02 { class Program { static void Main(string[] args) { int m=0; int n; long sum=0; Console.WriteLine("请输入n的值:"); n = int.Parse(Console.ReadLine()); for (int i = 1; i <= n; i++) { m += i; sum += m; } Console.WriteLine("sum = {0}",sum); Console.WriteLine("请输出sum的值:{0}", sum); } } } (方法二) namespace Test2__02 { class Program { static void Main(string[] args) { int i, j; int n; long sum=0; Console.WriteLine("请输入n的值:"); n = int.Parse(Console.ReadLine()); for (i = 1; i <= n; i++) for (j = 1; j <= i; j++) sum += j; Console.WriteLine("sum = {0}",sum); Console.WriteLine("请输出sum的值:{0}", sum); } }

EDA技术按键控制LED实验

昆明理工大学信息工程与自动化学院学生实验报告 ( 201 —201 学年第学期) 课程名称:EDA技术开课实验室:年月日 一、实验目的 1、熟悉FPGA开发完整流程 2、熟悉管脚分配,熟悉编程 二、实验设备 1、带有quartusII 软件的PC 机一台。 2、 FPGA 实验箱以及电源线下载线。 三、实验要求 实现8 个SW 按键控制8 个led 灯亮灭。

四、实验原理 1、按键控制led 灯原理: 本实验是通过按键的电平控制led灯。其示意图如图 2.1。 图 2.1按键控制led 示意图 8 个SW 按键控制相对的8 个led 灯,当SW1 在上方,其余按键在下方时,此时SW1 为高电平,这时SW1 对应的led 被点亮。 2、模块符号: 图 2.2为按键控制led模块符号。 图 2.2 按键控制led 模块符号 3、源码: module key1(key,led); input[7:0] key; output[7:0] led; reg[7:0] led; always@(key) begin case(key) 8'b00000001:led<=8'b00000001; 8'b00000010:led<=8'b00000010; 8'b00000100:led<=8'b00000100; 8'b00001000:led<=8'b00001000; 8'b00010000:led<=8'b00010000; 8'b00100000:led<=8'b00100000; 8'b01000000:led<=8'b01000000; 8'b00000000:led<=8'b00000000; endcase end endmodule 五、实验步骤 1、打开quartusII 开发环境,建立工程、添加相应源文件(选目标芯片时,应采用EP2C35F672C8芯片)。 2、分配管脚 1)修改tcl 文件:

(LED灯控制实验)

1.实验名称:LED 灯控制实验 2.实验原理:程序通过配置CC2530 IO 寄存器的高低电平来控制LED 灯的状态,用循环语句来实现程序的不间断运行。ZigBee(CC2530)模块硬件上设计有2 个LED 灯,用来编程调试使用。分别连接CC2530 的P1_0、P1_1两个IO 引脚。 3.实验结果:LED1即P1_0输出低电平点亮,LED2即P2_0延时闪烁。 4.实验改进:使LED1和LED2交替闪烁。在LED2延时后改变LED1的状态。 5.代码: #include #define uint unsigned int= #define uchar unsigned char #define LED1 P1_0 #define LED2 P1_1 uint counter=0; uint TempFlag;

void Delay(uint n); void Initial(void); void Delay(uint n) { uint i,t; for(i=0;i<5;i++)= for(t=0;t0) { T1IF=0; TempFlag=!TempFlag; } if(TempFlag) { LED1=!LED1;

Delay(6000); LE D2=!LED2; Delay(60000); } } }

实验一 LED控制实验

实验一 LED控制实验 一.实验目的 在EBDCC2530节点板上运行自己的程序。 通过I/O控制小灯闪烁和蜂鸣器鸣叫。 二.实验环境 硬件:PC机,EBDCC2530节点板,USB接口仿真器。 软件:Windows 98/2000/NT/XP, IAR集成开发环境。 三.实验原理 仔细阅读和查询CC2530设备的数据手册来设置CC2530的I/O引脚,通过I/O引脚输出的高低电平来控制灯的亮与灭和蜂鸣器的鸣叫。本实验设置P1.0、P1.1、P1.4 I/O引脚来选通LED1、LED2、LED3,引脚置为低电平点亮LED,反之熄灭LED。设置P0.1引脚来选通BEEP,引脚置为低电平蜂鸣器鸣叫,反之蜂鸣器不鸣叫。 CC2530的I/O控制口一共有21个,分别为P0、P1、P2。我们以LED1所对应的P1.0引脚所用到的控制寄存器为例,仔细说明控制寄存器中每一位所代表的意义。其他控制寄存器所代表的意义请查看CC2530数据手册。 P1DIR(P1方向寄存器): D7 D6 D5 D4 D3 D2 D1 D0 P1.7方向0:输入1:输出P1.6方 向0: 输入 1:输出 P1.5方 向0: 输入 1:输出 P1.4方 向0: 输入 1:输出 P1.3方 向0: 输入 1:输出 P1.2方 向0: 输入 1:输出 P1.1方 向0: 输入 1:输出 P1.0方 向0: 输入 1:输出 P1SEL(P1功能选择寄存器): D7 D6 D5 D4 D3 D2 D1 D0 P1.7功能 0:普通I/O 1:外设P1.6功 能 0:普 通I/O 1:外设 P1.5功 能 0:普 通I/O 1:外设 P1.4功 能 0:普 通I/O 1:外设 P1.3功 能 0:普 通I/O 1:外设 P1.2功 能 0:普 通I/O 1:外设 P1.1功 能 0:普 通I/O 1:外设 P1.0功 能 0:普 通I/O 1:外设 寄存器的设置: 1)将控制寄存器的某一位置1: 例如:P1DIR |= 0x01; 解释:“|=”表示按位或运算,0x01为十六进制数,转换成二进制数为0000 0001,若P1DIR原来的值为0011 0010,或运算后P1DIR的值为0011 0001,根据上面的计算后P1_0的方向改为输出,其他I/O 口保持不变。 2)将控制寄存器的某一位清0: 例如:P1DIR &= ~0x01; 解释:“&=”表示按位与运算,“~”运算表示取反,0x01为十六进制数,转换成二进制数为1111 1110,P1DIR原来的值为0011 0011,与运算后P1DIR的值为0011 0010,根据上面的计算后P1_0的方向改为输入,其他I/O口保持不变。 四.主要代码 LDE灯实现的主要代码为:

Keil C51 集成开发环境的使用实验报告

Keil C51 集成开发环境的使用 姓名:专业:学号:成绩: 一、实验目的 1、熟悉Kei C51集成开发环境的基本操作; 2、掌握简单Kei C51和汇编程序的编写、调试。 二、实验内容 1、仔细阅读教材相关内容,掌握KeiC51集成开发环境的基本功能; 2、分别用汇编和C51编写清零程序,把片外RAM中的7000H-70FFH单元 中内容清零; 3、分用汇编和C51编写查找相同个数程序。统计片外RAM7000H-700FH中 “00H”的个数并保存在片内RAM30H单元中。 三、实验原理与步骤 1、清零程序 (1)汇编语言程序设计框图 (2)实验步骤 用连续或单步方式运行程序,检查7000H-70FFH单元中执行内容变化。 (3)假使把7000H-70FFH中的内容改成FFH,如何修改程序。 (4)用C51 重新编写该程序,运行并查看结果。 2、查找相同数个数 (1)汇编语言程序设计框图

(2)实验步骤 ①在7000H-700FH单元中放入随机数,其中几个单元输入0; ②用连续或单步方式运行程序; ③观察片内RAM 30H的内容,应显示“00H”的个数。 (3)用C51重新编写程序,运行并查看结果。 四、实验程序 1、清零程序 (1)汇编语言 ORG 0000H MOV R0,#0100H MOV DPTR,#7000H MOV A,#0 LOOP:MOVX @DPTR,A INC DPTR DJNZ R0,LOOP END (2) C语言 #include void main() { char xdata *p=0x7000; int t=0x7100-0x7000 ; while(t--) {*p=00; p++; } } 2、查找相同数个数

实验二控制LED灯点亮实验(精)

实验二控制 LED 灯点亮实验 一、实验目的 1.. 进一步熟悉单片机编程和程序调试方法 2. 学习 P1口的使用方法 3. 学习延时子程序的编写和应用 二、实验内容 1.让实验板上的第 1、 3、 5、 7位置上的灯与第 2、 4、 6、 8位置上的灯交替闪烁。 2、设计出如下要求的流水灯程序。 变化要求:先从第 4个灯向左逐个点亮,接着从第 5个灯向右逐个点亮,然后, 从第 1个向右、第 8个向左同时开始的向内逐个点亮再从中间向两边逐个点亮的。 三、实验相关说明 1、实验电路原理图

100 注意:在实验报告中,请画出实际运行你程序的电路的原理图 2、 LED 灯控制。 从电路原理图可看到 ,当 P1 .0端口输出高电平,即 P1.0=1时 ,发光二极管 L1熄灭;当 P1 .0输出低电平即 P1 .0=0时, L 1亮;在汇编语言里可用 SETB P1.0指令使 P 1. 0端口输出高电平 ,用 CLR P1.0指令使 P1 .0 端口输出低电平, 从而控制 LED 的亮、灭。注意:实验板是用哪个口连接了 LED 。 3.延时子程序的设计、应用 单片机指令的执行时间很短,时间在微秒级,因此,如果我们想看灯闪烁, 那么就必须在用指令控制灯处于亮或灭的状态后, 保证那状态维持一段时间后再转换成另一状态。如何做到维持一段时间呢?方法有很多, 其中最易实现的一种方法是:通过插入一段程序, 每条指令执行都需要 1个或若干个机器周期的时间。因而执行完这段程序就过了一段时间, 通常把这称为延时。延时程序一般采用单重或多重循环程序。可以根据需要延时的时间来设计这段程序包含哪些指令、循

STM开发环境建立实验报告

S T M开发环境建立实 验报告 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

实验1 STM32开发环境建立 一、实验目的 1、掌握嵌入式开发环境的搭建。 2、熟悉MINI STM32开发板的基本使用。 二、实验内容 1、检查MINI STM32开发板的完整性。 (1)ALIENTEK MINI STM32开发板底板一个。 (2)ALIENTEK 寸 TFTLCD模块一个。 (3)5P MINI USB 数据线一条。 2、上电检测开发板能否正常工作,注意两个USB口的区别。 3、串口驱动的安装。 4、KEIL C软件的安装和使用。 5、JLINK驱动的安装。 6、跑马灯的实验。 三、实验设备 硬件: PC机一台

MINI STM32开发板一套 软件: RVMDK 一套 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;//推挽输出 GPIOD->ODR|=1<<2; //输出高 }

实验2-外部中断的LED控制

外部中断的LED控制 实验目的 1.了解中断的作用 2.掌握嵌入式系统中断的处理流程 3.掌握ARM中断编程 实验内容 编写中断处理程序,处理外部中断 预备知识 了解ADT集成开发环境的基本功能;了解中断的作用以及基本处理过程。 实验设备 硬件:JXARM9-2400教学试验箱,PC机; 软件:PC机操作系统Windows 98(2000、XP)+ADT IDE开发环境 基础知识 参照教学实验教程P73-79 实验步骤 1.参照模板工程interrupt新建一个工程,并修改工程设置。 2.加入如下文件到工程中:2400lib.c; 2440init.s; 2440slib.s interrupt.c。 3.参照基础知识编写中断程序和主程序。 4.在中断服务函数中添加代码实现如下功能:每触发一次中断,二极管进行若干次闪烁。 5.参考模板工程interrupt对工程进行设置,然后编译 6.下载斌运行程序,按下外部中断键,实现实验效果。 实验报告要求 简述中断处理的步骤有哪些?说明每一步的主要工作。

main.c代码 /* 包含文件*/ #include "def.h" #include "2410lib.h" #include "option.h" #include "2410addr.h" #include "interrupt.h" #define U8 unsigned char /* functions */ void eint3_isr(void) __attribute__ ((interrupt("IRQ")));; void delay(); /* variables */ int dither_count3 = 0; /***************************************************************************** // Function name : Main // Description : JXARM9-2410 中断实验主程序 // 完成功能: // 外部中断按键引发中断 // Return type : void // Argument : void *****************************************************************************/ void Main(void) { /* 中断初始化*/ Isr_Init(); /* 初始化端口*/ Port_Init(); /* 请求中断*/ Irq_Request(IRQ_EINT3, eint3_isr); /* 使能中断*/ Irq_Enable(IRQ_EINT3); dither_count3 = 0; while(1) { delay(); dither_count3++;

WEB开发技术实验报告

实验一JSP开发环境构建 实验目的:了解动态页面技术及B/S系统 掌握开发环境的构建 理解Eclipse开发WEB应用 实验内容: 实训项目一:安装JDK并配置环境变量 请阐述配置环境变量的方法: 实训项目二:安装TOMCAT并配置Server.xml修改端口号为8090 问题一:如何测试TOMCAT是否已经成功启动? 问题二:在浏览器地址栏输入什么地址可以访问到TOMCA T的测试页? 请阐述配置Server.xml修改端口号为8090基本实验步骤: 实训项目三:应用Eclipse建立项目并浏览一个JSP页面 请阐述应用Eclipse建立项目并浏览一个JSP页面基本实验步骤: 实验心得:(遇到了哪些问题,如何解决的,有那些体会) 实验二JSP语法 实验目的:了解JSP程序的组成元素 掌握JSP中使用JA V A程序片段的方法 实验内容: 实训项目一:编写一个JSP页面输出26个小写英文字母表 实训项目二:编写页面实现九九乘法表 实训项目三:利用成员变量被所有客户共享这一性质,实现一个简单的计数器 实训项目四:使用JA V A表达式输出系统当前时间 实训项目五:编写程序shijian2_9.jsp和computer.jsp两个页面,在第一个页面中使用include动作标记动态包含文件computer.jsp,并向它传递一个矩形的长和宽,computer.jsp 收到参数后,计算矩形的面积,并显示结果。 实训项目六:编写3个JSP页面:main.jsp,first.jsp和second.jsp,将3个JSP文件保存在同一个WEB工程中,main.jsp使用include动作标记加载first.jsp和second.jsp页面。First.jsp 页面可以画一张表格,second.jsp页面可以计算两个正整数的最大公约数。当first.jsp被加载时,获取main.jsp页面include动作标记的param子标记提供的表格行数和列数,当second.jsp 被加载时,获取main.jsp页面include动作标记的param子标记提供的两个正整数的值。 要求:上机编程完成上述实训项目,上机演示给教师检查,从中挑选三个程序的核心代码写在实训报告上 实验核心代码:

《汇编语言》实验报告-搭建开发环境

《汇编语言》实验报告 得分:

1)VC6平台下的汇编语言开发环境搭建(使用MASM32的汇编器+VC6) 配置IDE环境: –在VC的tools/option/Directories页面中添加Irvine32.inc等所在的目录到include files中; 添加Irvine32.lib等所在的目录到library files. –将masm32中的ml.exe和ml.err拷贝到VC的Microsoft Visual Studio\VC98\Bin目录中 创建与配置project: –新建VC的win32 console类型空工程 –创建一个asm后缀的文件,并把汇编代码(教材第85页addsub3.asm)输入该文件中,然后将该asm文件添加到Source Files –选中asm文件,在project settings/Custom Build页面中命令行加: ml /c /coff /Fo$(TargetDir)\$(InputName).obj $(InputPath) 输出中加上: $(TargetDir)\$(InputName).obj –“Project setting”页面的”link”选项卡中“object/library module ”中加入irvine32.lib 2)汇编与链接不带输出的加减法程序(即教材第85页addsubTest.asm); 3)在程序最后加入调用DumpRegs过程的语句,以输出各寄存器的值。 4)以单步执行的方式调试该程序,查看每步结果,并解释每步结果,并写成注 释。(特别注意对标志位的影响) 5)(可选)尝试修改程序。 6)(可选)单步跟踪课件中4.3.3节的程序“ptr应用示例”,结合VC6的内存 查看功能(通过菜单view debug windows Memory调出内存查看窗口)理 解每步的执行结果。(注意课件中只是大部分代码,请补全头文件以及程序 退出宏。) 一、配置IDE环境: 1、添加Irvine32.lib等所在的目录到library files;

实验三——LED指示灯循环控制

中国石油大学(北京) 实 验 报 告 实验课程:单片机原理及应用 实验名称:实验三——LED指示灯循环控制 总学时:48 教师:林立成绩: 实验日期:2013 年10 月24 日

一、实验目的 熟悉μVision3编译软件、掌握C51编程与调试方法。 二、实验内容 1、按照教材P227的图,绘制实验三电路原理图; 2、编写C51程序,实现8个LED灯依次点亮的功能:→→→→┅→→→→┅→的顺序,无限循环,间隔约50ms; 3、观察仿真结果,完成实验报告。 三、实验要求 1、采用两种加载并运行可执行文件的方法,即proteus独立运行和proteus + Keil联合运行,体会其中的差异和意义; 2、练习采用单步、断点以及监视窗等手段进行程序调试的方法; 3、观察仿真结果,完成实验报告:绘制的电路原理图、编程思路分析及C51源程序、调试过程简述,仿真运行效果以及实验小结。 4、提交实验报告的电子邮件主题及存盘文件名格式如,20马晓明实验三。 1、电路原理图 图1 实验原理

2、编程思路及C51源程序 编程思路:本次实验目的是实现8个LED灯的自上而下,自下而上循环亮起。指示灯的一次亮起通过在两个亮起的动作间加上一个肉眼可辨别的延时动作来实现,可编写一个延时程序来完成。指示灯的自上而下亮起或自下而上亮起,将这个动态的过程截成一个个单独的状态,找出各个状态下各的状态值,经观察发现可通过左移或右移数值1来实现。根据这一思路,可编写以下程序: 图2 源程序 3、调试过程简述 1.建立工程文件 单击菜单“Project”—“New project”选项,在“Create New Project”中输入文件名称,文件自动保存为.uv2格式。 2.选择单片机 工程文件保存后,在弹出的“Select Device for ‘Target1’中选择intel下的80C51BH型单片机。 3.编辑源程序文件

相关文档
最新文档