嵌入式系统设计实例

嵌入式系统综合实验一

嵌入式系统综合实验一

学号: 装 订 线 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 专业:测控技术与仪器 姓名:颜睿

装订 线1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发送响应信号,送出40bit 的数据,幵触发一次信采集。

b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低 电平保持时间不能小于18ms,然后等待DHT11 作出 应答信号。 装 线 订 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时, 等待外部信号低电平结束,延迟后DHT11 的DATA 引脚处于输出状态,输出80 微秒的低电平作为应答信 号,紧接着输出80 微秒的高电平通知外设准备接收数 据。

装 订线 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。 (2)数据格式 一次传送40 位数据,高位先出 8bit 湿度整数数据+ 8bit 湿度小数数据+8bit 温度整

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式系统设计实训报告

上海海洋大学 嵌入式系统设计项目实训报告 (2016- 2017第_1_学期) 专业:______计算机科学与技术_________________ 实训项目:____嵌入式应用——电子相册______ __ 实训时间:__2016_______年__12___月___26___日 实训成员:_________孙嘉晨1351127____________ _________周力1351137______________ __________________________________ __________________________________ 指导老师:________池涛_____________________ 计算机科学技术系 2015年11月制

一、实训目的 通过电子相册的制作,了解S3C2440芯片的构造,了解外围SDRAM及NANDFLASH 的存储结构。学会运用定时器中断及通过LCD显示图片,加强自身对嵌入式的理解,提升自身的实践能力。 二、实训内容 以S3C2440芯片为核心,通过外围SDRAM及NANDFLASH存储实现照片的存储,结合定时器中断,实现LCD显示图片,完成简易电子相册的设计。 三、实训设备 硬件:mini2440硬件平台 软件:bmp2h.exe软件进行图片转换 CodeWarrior for ARM Developer Suite软件 四、实训设计方案 (包括项目功能需求分析,方案设计,完成时间规划) 需求分析: 在上世纪末本世纪初,电子相册呈现迅速发展的势头,普及型数码相机的分辨率由200万象素增长到现在的800—1500万象素,价格也由300美元左右下降到现在的120美元左右。随着数码相机的日益普及,作为一种以数字照片的保存、回放和浏览为核心功能的产品——电子相册自然迎合了消费者的需求。 方案设计: 软件设计:代码包含2个模块,LCD模块包含两个文件,进行图片的显示与编辑;Timer 模块包含6个文件,其中timer.c和timer.h文件完成定时器的初始化,interrupt.h和interrupt.c 文件完成定时器中断函数的初始化,isrservice.h和isrservice.c文件完成定时器中断处理,pic.c 和pic.h等文件是由图片生产的C语言数组文件 硬件方面选择了S3C2440为核心的架构。基于ARM的微处理器具有低功耗、低成本、高性能等特点,ARM采用RISC(精简指令集计算机)架构和流水线结构,使用了大量的寄存器,具有极高的工作效率。其中,RISC架构具有如下特点:固定长度的指令格式,指令归整、简单,基本寻址方式只有2~3种,使用单周期指令,便于流水线操作。因此选择此硬件方案的优势有如下: (1)系统芯片功能强大,实现的功能多,对于新的多媒体格式支持性好,只需要安装更新的软件; (2)硬件电路简单,可采用标准电路,不需耗费过多的资源(人力,资金等); (3)可以在硬件上增加模块,留作二次开发使用,极为方便; (4)S3C2440是一个比较成熟的芯片,技术积累齐全; (5)S3C2440支持丰富的存储卡接口。 完成时间规划:第一天分析实训项目实现过程,完成软件方面内容,编写代码。 第二天实现硬件分析,完成硬件连接,对项目进行测试。 第三天完成实训内容,提交报告。 五、实训项目实现

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称: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 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

嵌入式Linux应用软件开发流程

从软件工程的角度来说,嵌入式应用软件也有一定的生命周期,如要进行需求分析、系统设计、代码编写、调试和维护等工作,软件工程的许多理论对它也是适用的。 但和其他通用软件相比,它的开发有许多独特之处: ·在需求分析时,必须考虑硬件性能的影响,具体功能必须考虑由何种硬件实现。 ·在系统设计阶段,重点考虑的是任务的划分及其接口,而不是模块的划分。模块划分则放在了任务的设计阶段。 ·在调试时采用交叉调试方式。 ·软件调试完毕固化到嵌入式系统中后,它的后期维护工作较少。 下面主要介绍分析和设计阶段的步骤与原则: 1、需求分析 对需求加以分析产生需求说明,需求说明过程给出系统功能需求,它包括:·系统所有实现的功能 ·系统的输入、输出 ·系统的外部接口需求(如用户界面) ·它的性能以及诸如文件/数据库安全等其他要求 在实时系统中,常用状态变迁图来描述系统。在设计状态图时,应对系统运行过程进行详细考虑,尽量在状态图中列出所有系统状态,包括许多用户无需知道的内部状态,对许多异常也应有相应处理。 此外,应清楚地说明人机接口,即操作员与系统间地相互作用。对于比较复杂地系统,形成一本操作手册是必要的,为用户提供使用该系统的操作步骤。为使系统说明更清楚,可以将状态变迁图与操作手册脚本结合起来。

在对需求进行分析,了解系统所要实现的功能的基础上,系统开发选用何种硬件、软件平台就可以确定了。 对于硬件平台,要考虑的是微处理器的处理速度、内存空间的大小、外部扩展设备是否满足功能要求等。如微处理器对外部事件的响应速度是否满足系统的实时性要求,它的稳定性如何,内存空间是否满足操作系统及应用软件的运行要求,对于要求网络功能的系统,是否扩展有以太网接口等。 对于软件平台而言,操作系统是否支持实时性及支持的程度、对多任务的管理能力是否支持前面选中的微处理器、网络功能是否满足系统要求以及开发环境是否完善等都是必须考虑的。 当然,不管选用何种软硬件平台,成本因素都是要考虑的,嵌入式Linux 正是在这方面具有突出的优势。 2、任务和模块划分 在进行需求分析和明确系统功能后,就可以对系统进行任务划分。任务是代码运行的一个映象,是无限循环的一段代码。从系统的角度来看,任务是嵌入式系统中竞争系统资源的最小运行单元,任务可以使用或等待CPU、I/O设备和内存空间等系统资源。 在设计一个较为复杂的多任务应用系统时,进行合理的任务划分对系统的运行效率、实时性和吞吐量影响都极大。任务分解过细会不断地在各任务之间切换,而任务之间的通信量也会很大,这样将会大大地增加系统的开销,影响系统的效率。而任务分解过粗、不够彻底又会造成原本可以并行的操作只能按顺序串行执行,从而影响系统的吞吐量。为了达到系统效率和吞吐量之间的平衡折中,在划分任务时应在数据流图的基础上,遵循下列步骤和原则:

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

嵌入式系统设计实验四

实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:实验四C 语言裸机编程 实验类型:验证型 同组学生姓名:__孙凡原_______ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 ? 初步了解C 运行库 ? 初步了解gcc arm 常用编译选项 ? 了解ARM 中断处理过程 二、实验内容和原理 ? 编写C 裸机代码实现跑马灯,通过控制Timer 中断实现 ? 通过控制uart 串口进行调试打印 三、主要仪器设备 树莓派、PC 机 四、操作方法和实验步骤 1 通过定时器产生中断,控制gpio ,实现跑马灯 2 控制uart 控制器,产生调试打印。 五、实验数据记录和处理 1.主程序arm.c 注释 //包含头文件 #include #include #include #include "rpi-aux.h" #include "rpi-armtimer.h" #include "rpi-gpio.h" #include "rpi-interrupts.h" #include "rpi-systimer.h" #include "rpi-led.h" /** Main function - we'll never return from here */ void kernel_main( unsigned int r0, unsigned int r1, unsigned int atags ) 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.3.28 地点:创客空间

嵌入式系统——实验1

《嵌入式系统设计(实验课)》内容安排 《嵌入式系统设计(实验课)》是《嵌入式系统设计》课程的一个重要环节。通过实验,学生可以对嵌入式系统的设计与开发过程有更深地体会。实验课共八次,每次2学时,实验内容结合课程内容,介绍一般的实验开发流程和软件硬件开发环境,并辅之以典型的嵌入式程序设计实例,使学生掌握基本的嵌入式软件开发技能。大量的具有实际应用背景的实验,更将理论与实践结合起来,使实验内容更加生动。 实验报告要求 一、实验名称: 说明:本次实验的名称 二、实验目的: 说明:本次实验的主要目的,参考每次的实验指导书 三、实验环境: 说明:实验用到的硬件软件环境。 四、实验内容与步骤: 说明:实现实验目的而进行的实验内容,如果有步骤要求则简要列出步骤 五、实验报告总结: 说明:对本次实验的总结, 1.画出主函数的程序流程图, 2.重写主程序.或者:自拟一个新的应用,参照本次实验的主程序,重新设计主程序并给出详尽注释。 3.其他,本次实验得到了什么?收获是什么?有些什么别的想法? 六、建议与意见: 说明:对于此次实验内容或在实验过程中有任何问题或建议,以及对于改善实验效果有什么建议,均可提出。 在书写实验报告的过程中,主要是帮助自己回顾和总结实验。重点放在第五部分,前四项可以十分简要地列写,第六项有则提出,无则不写。

实验一嵌入式微处理器系统的开发环境 一、实验环境 PC机一台 软件: ADS 1.2集成开发环境一套 二、实验目的 1.了解嵌入式系统及其特点; 2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序 三、实验内容 1.嵌入式系统的开发环境、基本配置 2.使用汇编指令完成简单的加法实验 四、实验步骤 (1)在D:\新建一个目录,目录名为experiment。 (2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。启动ADS 1.2 如图1-1所示: 图1-1启动ADS1.2 (3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮, 也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图1-2 所示的对话框。选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 图1-2 新建文件 在这个对话框中为用户提供了7 种可选择的工程类型:

嵌入式系统实验报告

实验一系统认识实验 一、实验目的 学习Dais软件的操作,熟悉程序编写的操作步骤及调试方法。 二、实验设备 PC计算机一台,Dais-52PRO+或Dais-PRO163C实验系统一套。 三、实验内容 编写程序,将80h~8Fh共16 个数写入单片机内部RAM 的30h~3Fh空间。 四、实验步骤 1.运行Dais软件,进入集成开发环境,软件弹出设置通信端口对话框(如图2-1-1), 请确保实验装置与PC正确连接,并已打开实验装置电源,使其进入在待命状态。 这里选择与实验装置实际相连的通信端口,并单击“确定”。如通信正确则进入Dais 软件主界面,否则弹出“通信出错”的信息框(如图2-1-2),请检查后重试。 图2-1-1设置通信端口对话框图2-1-2通信错误信息框 2.通信成功后,单击菜单栏“设置”→“仿真模式”项打开对话框,选择需要设置型 号、程序/数据空间。这里我们将型号设置为“MCS-51实验系统”,外部数据区 设置为“系统RAM”,用户程序区设置为“片外(EA=0)”,如图2-1-3所示,最 后单击“确定”按钮保存设置。

图2-1-3设置工作方式对话框 3.工作方式设置完毕后,单击菜单栏“文件”→“新建”项或按Ctrl+N组合键(建 议单击工具栏“”按钮)来新建一个文件,软件会出现一个空白的文件编辑窗口。 4.在新窗口中输入程序代码(A51\2_1.ASM): ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R1,#30H ;片内RAM首地址 MOV A,#80H ;写入数据初值 MOV R7,#16 ;循环变量 LOOP1: MOV @R1,A ;写数据到片内RAM INC R1 ;地址增量 INC A ;数据+1 DJNZ R7,LOOP1 ;循环变量-1,不为0继续 SJMP $ ;结束 END 5.单击菜单栏“文件”→“保存”项(建议单击工具栏“”按钮)保存文件。若 是新建的文件尚未命名,系统会弹出文件保存对话框(如图2-1-4),提示用户选择文件保存的路径和文件名,再单击“保存”按钮。

嵌入式系统设计性实验报告

嵌入式系统设计性实验报告 水温控制系统 院别:控制工程学院 专业:自动 学号:5090633 姓名:邱飒飒 指导老师:孙文义 2012年6月8日

嵌入式系统设计性实验报告 作者:邱飒飒班级:50906 学号:5090633 摘要:在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而大大的提高产品的质量和数量。因此,单片机对温度的控制问题是工业生产中经常会遇到的控制问题.该实验设计基于飞思卡尔MC9S12DG128开发板平台,根据实验任务要求,完成了基于单片机的水温自动控制系统的设计该实验设计基于飞思卡尔MC9S12DG128开发板平台,根据实验任务要求,完成了水温自动控制系统的设计。 关键字:水温控制单片机MC9S12DG128 一、系统设计的功能 1.1 水温控制系统设计任务和要求 该系统为一实验系统,系统设计任务: 设计并制作一个水温自动控制系统,控制对象为1升净水,容器为搪瓷器皿。 水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。同时满足以下要求: (1)温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。 (2)环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。 (3)用十进制数码管显示水的实际温度保留一位小数。 (4)采用适当的控制方法(如数字PID),当设定温度突变(由40℃提高到60℃)时,减小系统的调节时间和超调量。 (5)温度控制的静态误差≤0.2℃。 (6)从串口输出水温随时间变化的数值。 1.2 水温控制系统部分 水温控制系统是一个过程控制系统,组成框图如下所示,有控制器、执行器、被控对象及其反馈作用的测量变送组成。 图1 控制系统框图 1.3 系统总体功能分析 本系统是一个简单的单回路控制系统,为了实现温度的测量及自动控制,根据任务要求及要求,系统由单片机系统,前向通道,后向通道,及人机通话四个模块构成。总体框图如图2 所示。

嵌入式系统——实验3——2

实验一:基于ADS的C语言程序实验 一、实验环境 PC机一台 ADS 1.2集成开发环境一套 二、实验目的 通过实验了解使用ADS 1.2编写C语言程序,并进行调试。 三、实验内容 在C语言的环境内开发应用程序,一般需要一个汇编的启动程序,从汇编的启动程序,跳到C语言下的主程序,然后,执行C程序,具体的编程规则同标准C语言。 编写一个汇编程序文件Startup.s和一个C程序文件Test.c。汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后调跳转到C程序运行,这就是一个简单的启动程序。C程序使用加法运算来计算1+2+3+...+(N-1)+N的值(N>0)。 四、实验预习要求 (1)仔细阅读《ARM嵌入式系统》中第3和4章ARM指令系统的内容。 (2)仔细阅读文档《ADS集成开发环境及仿真器应用》或其他相关资料,了解ADS工程编辑和AXD调试的内容。(本实验使用软件仿真) 五、实验步骤 (1)启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程ProgramC。 (2)建立源文件Startup.s和Test.c,编写实验程序,然后添加到工程中。 (3)设置工程链接地址RO Base为0x40003f00,RW Base为0x40300000。设置调试入口地址Image entry point为Ox40003f00。 (4)设置位于开始位置的起始代码段,如图1-1,1-2所示。 在Layout栏中,如图1-1,在Place at beginning of image框内,需要填写项目的入口程序的目标文件名,如,整个工程项目的入口程序是Startup.s,那么应在Object/Symbol处填写其目标文件名Startup.o,在Section处填写程序入口的起始段标号Start。它的作用是通知编译器,整个项目的开始运行,是从该段开始的。

嵌入式系统设计实验二

实验报告 课程名称:嵌入式系统设计指导老师:马永昌成绩:________________ 实验名称:嵌入式系统的启动实验类型:验证型同组学生姓名:__孙凡原_______ 一、实验目的和要求(必填)二、实验内容和原理(必填) 三、主要仪器设备(必填)四、操作方法和实验步骤 五、实验数据记录和处理六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 ?初步了解嵌入式系统的开发流程 ?初步了解嵌入式系统的启动流程 ?掌握Linux内核编译 二、实验内容和原理 ?编译Linux内核 ?烧写内核镜像并启动 ?启动参数配置 三、主要仪器设备 树莓派、PC机 四、操作方法和实验步骤 1 安装编译内核的交叉编译工具链 2 配置内核,编译生成内核镜像文件。 3 替换SD卡中原先的内核镜像文件,启动树莓派。 五、实验数据记录和处理 1.创建root用户 sudo passwd root 输入密码,创建root用户密码 su root 切换到root用户

2.安装编译内核的交叉编译工具链 将交叉编译工具链压缩文件gcc-linaro-arm-linux-gnueabihf-raspbian-x64.tgz放入到虚拟机/home (从图形界面打开/home的方法:ubuntu侧栏Files->Devices->Computer->home, 注意不是“Home”)下,解压。 tar xzvf gcc-linaro-arm-linux-gnueabihf-raspbian-x64 设置环境变量 export PATH=$PATH:/home/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 此时运行 arm-linux-gnueabihf-gcc --version 可以看到版本号表明交叉编译工具链安装完成。 3.配置内核并编译 将内核源代码压缩文件放入到虚拟机/home下,解压 tar xzvf linux.tgz 配置内核 cd linux KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig 编译内核 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

《单片机系统设计》实验报告

短学期实验报告 (单片机系统设计) 题目: 专业: 指导教师: 学生姓名: 学号: 完成时间: 成绩:

基于单片机的交流电压表设计 目录 1系统的设计要求 (2) 2系统的硬件要求 (2) 2.1真有效值转换电路的分析 (2) 2.2放大电路的设计 (3) 2.3A/D转换电路的设计 (3) 2.4单片机电路的分析 (4) 2.5显示电路 (4) 3 软件设计 (5) 3.1 软件的总流程图 (5) 3.2 初始化定义与定时器初始化流程图 (5) 3.3 A/D转换流程图 (6) 3.4 数据处理流程图 (6) 3.5 数据显示流程图 (7) 4 调试 (7) 4.1 调试准备 (7) 4.2 关键点调试 (7) 4.3 测试结果 (8) 4.4 误差分析 (8) 5结束语 (8) 5.1 总结 (9) 5.2 展望 (9) 附录1 总原理图 (10) 附录2 程序 (10) 附录3 实物图 (14)

基于单片机的交流电压表设计 ****学院 ****专业 姓名 指导老师:******* 1 设计要求 (1)运用单片机实现真有效值的检测和显示。 (2)数据采集使用中断方式,显示内容为有效值与峰值交替进行。 2 硬件设计 本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D 转换电路、单片机电路、数码管显示电路五部分。 图2-1 原理框图 2.1 真有效值转换电路 真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。 图2-2 真有效值转换电路 由于AD737最大输入电压为200mV, 所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。 2.2 放大电路设计 放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。 A/D 转换 单片机 电路 显示 电路 转换 电路 交流 信号 放大 电路

嵌入式系统和应用第三四次实验

《嵌入式系统及使用》实验第三、四次 实验一 Linux映像固化和运行 一、实验目的 熟悉ARM实验设备和Emlink-W 仿真器 掌握使用Emlink-W仿真器固化linux映射程序 二、实验内容 完成H-JTAG软件配置 固化启动映像Bootloader 固化内核映像zImage 固化根文件系统映像ramdisk 三、实验步骤 1.准备工作 将Mini2410核心板boot跳线帽闭合 连接好Emlink-W仿真器、电源线(打开电源开关,给实验箱上电)。 2.固化完整的linux系统 参见附录一文档《基于EduKit-IV出厂固化说明》中“5使用Emlink-W仿 真器固化Linux映像程序”部分 3.启动ramdisk根文件系统 最基本的Linux系统就固化成功了,可以修改vivi的启动参数来设置启动方式(出厂默认是采用yaffs根文件系统启动方式): 启动ramdisk根文件系统: vivi> param ramdisk vivi> param save 启动yaffs根文件系统: vivi> param reset vivi> param save 启动nfs根文件系统: vivi> param set linux_cmd_line "root=/dev/nfs nfsroot=192.192.192.190:/home/example/nfs ip=192.192.192.200:192.192.192.190:192.192.192.1:255.255.255.0:EDUK4:eth1:off console=ttySAC1,115200 mem=64M init=/linuxrc noinitrd" vivi> param save 根据不通的vivi启动参数可以引导不同的根文件系统。 4. 根文件系统的更新 进行根文件系统的固化和更新。步骤如下: 1)在EduKit-IV实验平台中,Mini2410-IV核心子板中运行的Linux采用了“双根文件系统”的技术,MTD2分区存放ramdisk根文件系统,MTD3分区存放yaffs根文件系统。对于正常使用的用户而言,可见的文件系统是yaffs根文件系统,只有在该文件系统崩溃的时候,才通过修改vivi参数启动ramdisk根文件系统,来恢复更新yaffs根文件系统。同时在Linux映像固化的时候,yaffs根文件系统也是通过ramdisk文件系统更新的。下面的步骤将介绍通过

嵌入式软件开发流程

嵌入式软件的开发流程 嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、成本、体积和功耗等要求。最简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC几乎一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。 近些年来,随着以计算机技术,通讯技术为主的信息技术的快速发展和Internet 的广泛应用,传统的控制学科正在发生变革,出现了许多新的生长点。伴随而来的一个现象是控制专业的相当多的学生在毕业后进入了计算机,通讯行业,以致有人说学控制没有用,自动化专业可以取消了。这些情况的出现使我们控制教育工作者反复思考,传统的控制应如何拓宽它的领域?控制专业应该教什么才使学生感到有用?流行的嵌入式操作系统可以分为两类:一类是从运行在个人电脑上的操作系统向下移植到嵌入式系统中,形成的嵌入式操作系统,如微软公司的Windows CE及其新版本,SUN公司的Java操作系统,朗讯科技公司的Inferno,嵌入式Linux等。这类系统经过个人电脑或高性能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。 另一类是实时操作系统,如WindRiver 公司的VxWorks,ISI 的pSOS,QNX系统软件公司的QNX,ATI 的Nucleus,中国科学院凯思集团的Hopen嵌入式操作系统等,这类产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性高可靠性等进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用在军用产品和工业控制等领域中。Linux 是90年代以来逐渐成熟的一个开放源代码的操作系统。PC机上的Linux 版本在全球数以百万计爱好者的合力开发下,得到了非常迅速的发展。90 年代末uClinux,RTLinux 等相继推出,在嵌入式领域得到了广泛的关注,它拥有大批的程序员和现成的应用程序,是研究开发工作的宝贵资源。 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。

嵌入式系统设计实验六

实验六 8字数码管和点阵数码管实验....................... 错误!未定义书签。 实验目的............................................. 错误!未定义书签。 实验内容............................................. 错误!未定义书签。 预备知识............................................. 错误!未定义书签。 实验设备及工具....................................... 错误!未定义书签。 实验原理............................................. 错误!未定义书签。 、程序分析........................................... 错误!未定义书签。 实验步骤............................................. 错误!未定义书签。 八、思考题........................................... 错误!未定义书签。实验六 8字数码管和点阵数码管实验 实验目的 学习LED的相关知识 掌握74HC273芯片的工作原理 了解SPI接口的相关知识 实验内容 学习LED相关知识,了解74HC273芯片对LED点亮的工作机制,熟练阅读74HC273芯片资料,掌握对它的使用。 预备知识 有C语言基础 掌握在Linux下常用编辑器的使用 掌握Makefile 的编写和使用 掌握Linux下的程序编译与交叉编译过程 需要部分数字电路的知识

相关文档
最新文档