当前位置:文档之家› 基于ARM处理器的GPS导航系统设计报告

基于ARM处理器的GPS导航系统设计报告

基于ARM处理器的GPS导航系统设计报告
基于ARM处理器的GPS导航系统设计报告

基于ARM处理器的GPS导航系统设计报告

姓名:

班级:

学号:

基于ARM处理器的GPS导航系统设计报告

一、需求分析

1、问题的提出

随着我国经济水平和时代的快速发展,汽车行业也蓬勃发展起来。汽车的增长速度远远超过公路的增长速度,汽车拥有量的急剧增加和城市现代化交通建设的相对滞后导致城市交通情况不断恶化。同时,现代物流对运输车辆和货物安全与准时调运的要求、公交与出租车的运营管理、大型的企事业单位日常车辆管理也都对车辆的监控与导航有迫切的需求。面且随着旅游行业的发展,人们急需要一种可以随时随地知道自己方位和目的地的方便设备。

2.、可行性的分析

GPS(全球定位系统)具有全球、全天候工作,定位精度高,功能多,应用广的特点,通过GPS接收机可以实现精确的自主定位,这为实现车辆的定位和导航奠定了基础。伴随ARM处理器、嵌入式操作系统、路径优化控制算法和GPS 网络的成熟,车辆定位导航系统有了新的发展,可以在短时间内实现定位和最优路径导航。

本项目在信息系统终端的设计中采用了ARM处理器和嵌入式操作系统uC/OS-II(专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。)作为开发平台,通过采用ARM处理器可达到最大为60MHz的CPU操作频率,使得数据处理能力大大加强,同时,基于嵌入式操作系统uC/OS-II开发设计的软件具备了很强的扩展性和稳定性。

二.规格说明

二、规格说明

该嵌入式GPS导航系统由GPS系统获得当时所在的位置的经纬度,通过换算和地图匹配在地图上得到当时的实际位置,然后由用户输入目的地,通过最短路径算法计算最短路径并在矢量地图上显示,同时提取GPS提供的速度,时间等信息显示在屏幕上。

1.需要采用的设备

本嵌入式GPS导航系统的硬件核心是意法半导体ARM7系列中的16/32位RISC处理器STR710FZ2T6芯片,该芯片强大的实时处理能力和丰富的外围接口非常适合嵌入式系统的开发,本系统正是基于该芯片的这些特点面设计的。系统框图如图1所示。

系统以STR710FZ2T6微处理器为核心,与2片512KB的SDRAM(IS61LV25616)、一片8MB的NAND Flash和一片2MB NOR FLASH (SST39LF160)组成。外部添加了用于接收GPS信号的GPS模块,用于显示的液晶面板以及键盘输入模块。

图1 硬件框图3.主流程图

4.体系结构

a)该体系结构描述程序外框基本定义及程序初始化

b)该体系结构描述对各个按钮部件、页面部件的初始化

开始

c)该流程结构用以实现对地图路径、GPRS模块波特率的设置

d)该流程图描述地图显示法:首先把地图分割成n*n小块。然后系统通过得知

整张地图四角的坐标,计算出地图每个像素点所对应的坐标。最后根据读取的gps信息,找到对应的地图,并显示到LCD显示器上。

e)GPRS驱动原理如下所述:

GPS卫星发射两种频率的载波信号,即频率为1575.42MHz的L1载波和频率为1227.60HMz的L2载波。L1为民用频率,L2为军用。民用GPS信号调试成C/A 码发送,C/A码又被称为粗捕获码,是1MHz的伪随机噪声码(PRN码),其码长为1023位(周期为1ms)。用户机接受到C/A码后,通过gps接受器,解调为发送次C/A码的卫星时间。并通过多个卫星发送的C/A码时间差(至少3个),来确定当前位置。并以串口的形式把经纬度数据发送给上位机。

三.软件设计

3.1 软件数据设计

导航软件中的数据主要是导航地图的空间数据,主要由与导航需求相关的一些信息组成,包括道路网几何形状、道路等级、道路特征、交规限制、地理政治边界、感兴趣的点、路标和服务设施等。这些数据主要分为两大类:道路网数据和非道路网数据。道路网数据包括基本的道路网的地理数据(如道路的地理位置信息)以及道路上与车辆行驶相关的数据(如道路的交规信息、收费信息、和限速的信息)。道路网数据的主要特征是有较强的拓扑关系。非道路网数据主要包括能反映区域的基本地理面貌的地物信息(如河流.湖泊.边界等)以及与出行信息相关的单位信息(如学校、政府机关、医院等)。整个导航数据的获取和录入可以通过转换通用的地图为矢量图,并且以点代替具体的路面实况。

3.2软件系统设计

导航软件是以导航数据库为数据基础的。针对导航数据库的操作行为.从功能上将导航软件分为具有导航功能的部分和具有浏览功能的部分。导航功能部分是在动态行进过程中进行导航规划服务的,可分为导航定位、地图匹配、路径规划和路径引导等模块。主要通过导航界面与用户实现交互、浏览功能主要是在静态过程中对导航的地理信息提供浏览查询服务的通过浏览界面与用户实现交互。软件系统结构如图2所示。

图2.软件系统框图

3.2.1导航功能模块设计

该方面的设计中主要包括以下4个模块的设计:

(1)导航定位模块实时地从通信端口读取数据.然后进行分析处理,得到可以进行地图匹配的经、纬度数据并将其传给地图匹配模块。

(2)地图匹配模块根据导航定位模块输入的经纬度在导航数据库中进行匹配。

(3)路径规划模块主要是根据用户指定的出发地和目的地在导航数据库中的道路网络中规划出一条最佳路径。

(4)导航引导模块将地图匹配的结果和规划好的路径结合导航地图数据库的数据以地图的方式显示出来。这样就可以直观、无误地引导用户行进。

3. 2. 2浏览功能模块设计

该方面的设计中主要包括以下2个模块的设计:

(1)地图浏览模块主要是在浏览界面中实现对地图的缩放、平移等基本浏览操作。

(2)地图查询模块主要是根据用户的要求在导航地图数据库中进行查询操作并通过浏览界面显示出来。

3. 3软件界面设计

如前所述,从大的功能上导航软件分为具有浏览功能的部分和具有导航功能的部分。因此在界面方面也设计了两种不同的界面:浏览界面和导航界面。浏览界面主要为用户在查找浏览相关地理信息过程中提供交互服务。导航界面主要将当前的位置在导航地图中显示出来并在实时定位过程中为用户提供关于导航服务方面的一些交互提示。要求浏览界面和导航界面可以实时地进行切换这样可以方便地为用户提供所有的功能。

3.4嵌入式软件设计

该嵌入式系统采用uC/OSII操作系统,由于MCU的处理功能有限,所以在具体的软件实现过程中采用多线程技术,如图3所示。

图3.线程图

主控线程主要实现界面功能、导航功能中的地图匹配和导航引导模块、浏览功能中的地

图浏览模块以及这些模块间的消息派送、接收和处理,同时协调各个工作线程异步运行。

导航定位线程主要完成导航定位模块中的接收当前位置数据(经、纬度)的功能。在导航过程中运行线程,线程处理函数把接收到的经、纬度数据实时通过消息发到主线程,由主线程调用地图匹配模块作处理。

路径规划线程主要完成在道路网中求解最佳路径的任务。在用户要求提供最佳路径时根据用户的出发地和目的地求出一条最佳路径。在最佳路径求解算法中采用A*算法。

地图数据库查询线程主要完成对导航地图数据库的查询功能,根据用户要求生成线程.完成对相关地理信息的查询。

3.4.1软件的导航功能由主控线程控制实现.其基本实现流程如下(可见图4)

(1)运行导航定位线程从输入口读取GPS人线接收到的当前位置的经纬度坐标值。

(2)将经纬度坐标转换到屏幕的像素坐标。

(3)根据当前位置结合导航地图进行匹配处理,把当前位置信息匹配到地图上。

(4)显示并实时刷新导航地图和当前位置。

(5)是否求解最佳路径,若是,则执行下面的第(6)条;否则执行前而的第(4)条。

(6)在导航数据库中选择起始和终止位置,运行路径规划线程在道路网数据中解算出最佳路径并显示到地图上。

图4.导航功能流程图

3.4.2GPS数据提取

GPS板只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到嵌入式系统中。由于从串口接收的数据帧是一长串ASCII码字节流,在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从接收到的字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。对GPS信息进行提取必须首先明确其帧结构,数据帧主要由帧头、帧尾和帧内数据组成。对于不同的数据帧,其帧头是不同的,主要有“$GPGGA”、“$GPGSA”、“$GPGSV”以及“$GPRMC"等。这些帧头标识了后续帧内数据的组成和结构特点。各帧均以回车符和换行符作为帧尾,标识一帧的结束。

对数据帧处理,是先对帧头进行判断,然后只对感兴趣的帧进行数据的提取处理。由于帧内各数据段被逗号分割,因此在处理接收数据时一般是首先通过搜寻ASCII码“$”来判

断是否是帧头,接着对帧头的类别进行识别,然后再根据识别出来的帧类型以及逗号‘,’个数来确定当前正在读取的是哪个定位导航参数,并作出相应的提取和存储。流程图如图5所示。

图5.GPS数据接收与提取流程图

3.4.3显示与查询

通过GPS和人工输入接收到的数据,经过MCU的处理,在地图上用醒目的颜色显示出来流程图如下:

图6.显示流程图

三、测试

4.1 操作系统烧写测试

安装操作系统测试的目的是搭建系统的软件环境,便于后续工作

安装linux有如下步骤

1.格式化硬件

2.安装软件r

3.安装内核文件

4.安装文件系统

5.安装好操作系统后,重启系统.

4.2 卫星接收测试

卫星接收测试的目的是检测接收到卫星的数量,以便在接收到相同卫星的情况下,检测gps信号。测试位置选择以下四种:

第一次测试:位置—室内

第二次测试:位置—室外空旷地带

第三次测试:位置—街道

通过测试判断该GPS适合在室内还是在室外用。

4.3 地图显示测试

地图显示测试的目的是测试载入地图的正误、验证地图上下左右移动的功能。

第一次测试:判断是否能能实现上下左右移动

第二次测试:判断是否能实现上下左右移动

第三次测试:判断是否能实现上下左右移动

经测试地图能准确的载入,并能实现上下左右移动的功能

4.4 gps信号检测测试

Gps信号测试的目的是测试gps信号的精确度,通过测试判断gps数据精确度的高低和误差的大小。

4.5 功耗测试

测试环境:建议户外

系统使用硬件:gps模块、sd卡、液晶屏

通过测试判断,系统功耗的大小。是否能满足设计技术指标。

4.6 其他测试

1)地图路径变更测试 。

2)gps串口波特率设置。

4.7 测试结果分析

通过以上的测试数据可判断:本GPS导航系统是否能很好地实现题目要求的各项功能。是否能达到了设计要求。

四. 可靠性分析

在导航定位系统中GPS系统是口前世界上应用得最为广泛的,其功能作用已广为人所接受,加之GPS的接收模块的种类也很多,选择余地很大,可根据系统要求的精度、体积、定时标准加以选择。而且,随着美国取消了其SA政策,提高了输出导航电文的定位精度,使得GPS信号在被接收后不需经过GPS差分站的差分处理,其定位精度也能至少小于15米,这对于大多数民用系统是完全足够的。而且,GPS是一个全天候的系统,极少有工作盲区,除非在有着较为严重的空间遮挡的情况下,一般GPS天线都可以较为顺利的接收到GPS信号。同时,国内外相关行业的产品己大量运用该技术,因此,将GPS定位系统应用于本导航系统不仅具有很高的可行性,还具有相当的可靠性。

五.总结

本系统成功的模拟了个人手持gps导航系统。用户通过点击触摸屏幕、方便的使用软件。实现了地图的显示、拖动;gps信息、卫星数量的显示;地图路径的更改;gps波特率的更改的功能。系统低功耗、高处理速度、操作简易、界面有好。已具有一定的实用价值。

通过这次毕业设计,我在更加牢固、灵活地掌握了所学的专业知识的同时。大量了解了嵌入式方面的相关知识:arm体系结构、操作系统、c++编程、shell编程、硬件驱动程序。

试验二ARM汇编语言程序设计

实验二 ARM汇编语言程序设计 一、实验目的 1.了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程 2.掌握ARM汇编指令 二、实验设备 1. EL-ARM-830教学实验箱,PentiumII以上的PC机,仿真器电缆。 2. PC操作系统WIN98或WIN2000或WINXP, ADS1.2集成开发环境,仿真器驱动程序。 三、汇编语言简介 1.ARM汇编的一些简要的书写规范 ARM汇编中,所有标号必须在一行的顶格书写,其后面不要添加“:”,而所有指令均不能顶格书写。ARM汇编对标识符的大小写敏感,书写标号及指令时字母大 小写要一致。在ARM汇编中,ARM指令、伪指令、寄存器名等可以全部大写或者全 部小写,但不要大小写混合使用。注释使用“;”号,注释的内容由“;”号起到此 行结束,注释可以在一行的顶格书写。 详细的汇编语句及规范请参照ARM汇编的相关书籍、文档。 2. ARM汇编语言程序的基本结构 在ARM汇编语言程序中,是以程序段为单位来组织代码。段是相对独立的指令或数据序列,具有特定的名称。段可以分为代码段的和数据段,代码段的内容为执 行代码,数据段存放代码运行时所需的数据。一个汇编程序至少应该有一个代码段,当程序较长时,可以分割为多个代码段和数据段,多个段在程序编译链接时最终形 成一个可执行文件。可执行映像文件通常由以下几部分构成: ◆ 一个或多个代码段,代码段为只读属性。 ◆ 零个或多个包含初始化数据的数据段,数据段的属性为可读写。 ◆ 零个或多个不包含初始化数据的数据段,数据段的属性为可读写。 链接器根据系统默认或用户设定的规则,将各个段安排在存储器中的相应位置。源程序中段之间的相邻关系与执行的映象文件中的段之间的相邻关系不一定 相同。 3. 简单的小例子 下面是一个代码段的小例子 AREA Init,CODE,READONLY ENTRY LDR R0, =0x3FF5000 LDR R1, 0x0f STR R1, [R0]

嵌入式简易电子琴系统设计.

嵌入式开发试验 嵌入式简易电子琴系统设计 ARM2110实验开发板,外接矩阵键盘、蜂鸣器、LED显示屏、LED灯模块(带4.7K电阻)主程序 #include "systemInit.h" #include "buzzer.h" #include "music.h" #include "systemInit.h" #define lcden GPIO_PIN_0 //PB0; #define lcdrs GPIO_PIN_2 // 定义LED #define LED1_PERIPH #define LED1_PORT #define LED1_PIN #define LED2_PERIPH #define LED2_PORT #define LED2_PIN #define LED3_PERIPH #define LED3_PORT #define LED3_PIN #define LED4_PERIPH #define LED4_PORT #define LED4_PIN #define LED5_PERIPH #define LED5_PORT #define LED5_PIN #define LED6_PERIPH #define LED6_PORT #define LED6_PIN #define LED7_PERIPH #define LED7_PORT #define LED7_PIN #define LED8_PERIPH #define LED8_PORT #define LED8_PIN

// 定义KEY #define KEY_PERIPH2 #define KEY_PORT2 #define KEY_PIN2 //PB2; SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_4 SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_5 SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_6 SYSCTL_PERIPH_GPIOG GPIO_PORTG_BASE GPIO_PIN_0 SYSCTL_PERIPH_GPIOF GPIO_PORTF_BASE GPIO_PIN_2 SYSCTL_PERIPH_GPIOG GPIO_PORTG_BASE GPIO_PIN_1 SYSCTL_PERIPH_GPIOE GPIO_PORTE_BASE GPIO_PIN_0 SYSCTL_PERIPH_GPIOE GPIO_PORTE_BASE GPIO_PIN_1 SYSCTL_PERIPH_GPIOB GPIO_PORTB_BASE GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4 //连接方式矩阵键盘的行线接PC4~7 列线接PA0~3 unsigned char data; //PD0-PD7; unsigned char num; int guan; int jian; int numm;//lcd显示模块技术 //lcd模块 void write_com(unsigned char com) //写命令 { GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0x00); // lcdrs=0; GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2| GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,com);//PD=com; SysCtlDelay(5 * (TheSysClock / 4000)); // 延时 5ms } void write_data(unsigned char date) { GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0xFF); // lcdrs=1; GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2| GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,date);//PD=date; SysCtlDelay(5 * (TheSysClock / 4000)); GPIOPinWrite(GPIO_PORTB_BASE,lcden,0xFF); // lcden=1;

嵌入式电子琴设计

前言 现代的流行音乐离不开电子琴,键盘手一般是现代电声乐队的中坚力量。(单排键)电子琴、电吉他、架子鼓是流行音乐的三项主流乐器。电子琴的发明使人们可以演奏出未曾拥有的音色,丰富了人们情感的表现;电子琴创造出了许多其他乐器无法演奏出的音色,甚至自然不存在的音色,这些音色帮助了人们通过音乐表现自己的情感,在很多电视节目或者音乐作品中都有运用。电子琴的发明推动了音乐的普及,它让音乐真正成为了大众的音乐,成为了人类社会不可缺少的东西。电子琴是目前用于音乐普及教育和音乐素质培养最多的乐器,它的经济性为他在普通家庭中的普及带来了可能。 本文主要介绍的是使用LM3S8962来实现基于Cortex-M3简易电子琴系统设计的方法,本设计由嵌入式芯片LM3S8962、音乐播放、单音节按键和数码管显示为核心,辅以必要的电路,构成了一个简易的电子琴。当程序开始执行后,播放梁祝音乐,按下功能键后,切换至单音节演奏。本设计的主要内容:了解嵌入式技术的发展现状,熟悉电子琴各模块的工作原理;选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;熟悉嵌入式使用方法和编程规则,编写出相应模块的应用程序;分别在各自的模块中调试出对应的功能,并使用真实器件播放音乐,实现功能切换,验证程序的正确性。

1.课题知识介绍 1.1 Cortex-M3概述 ARM Cortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。 Cortex-M3内核主要是应用于小管脚数、低成本和低功耗的场合,并且具有极高的运算能力和极强的中断响应能力。Cortex-M3采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,降低了设计难度和应用障碍。 CM3是一个32位处理器内核,内部数据路径是32位,寄存器是32位,存储器接口也是32位。CM3采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来,数据访问不再占用指令总线,从而提升了性能。为了实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且可以并行工作。但是,指令总线和数据总线共享同一个存储器空间,一个统一的存储器系统。也就是说,不是因为有两条总线,可寻址空间就变成了8G。 1.2 LM3S8962概述 LM3S8962微控制器的优势还在于能够方便的运用多种微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容ARM Thumb?的Thumb2指令集来减少存储容量的需求,并以此达到降低成本的目的。最后,LM3S8962微控制器与tellaris?系列的所有成员是代码系列兼容的,这为用户提供了灵活性,能够适应各种精确的需求。

第1节 电子系统设计的发展趋势

(1) 电子系统设计的发展主要受以下两个技术的推动: 微电子技术——使得硅片单位面积上集成的晶体管数目越来越多。 计算机技术——软硬件技术的发展推动EDA技术的发展。 (2) 集成电路设计都是从器件的物理版图设计入手 EDA技术发展的推动 (3) 出现集成电路单元库,集成电路设计进入逻辑级,极大地推动IC产业的发展。 电子系统是IC之间通过PCB板等技术进行互联来构成的。PCB板上IC芯片之间连线的延时、PCB板的可靠性、PCB板的尺寸等因素,会对系统的整体性能造成很大的限制。 由IC互联构成的嵌入式系统设计 (4) IC互联构成的系统 (设计和工艺EDA技术 ) SOC——片上系统 SOC是指将一个完整产品的功能集成在一个芯片上或芯片组上。 SOC从系统的整体角度出发,以IP (Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段,借助于以计算机为平台的EDA工具进行开发。由于SOC设计能够综合、全盘考虑整个系统的情况,因而可以实现更高的系统性能。SOC的出现是电子系统设计领域内的一场革命,其影响将是深远和广泛的。 由SOC构成嵌入式系统设计:

IC:集成电路。 ASIC:专用集成电路。 通用集成电路:FPGA、CPLD等。 SOC:属于专用集成电路。 (1)SOC: 它是指将一个完整产品的各功能集成在一个芯片中,可以包括有CPU、存储器、硬 件加速单元(AV处理器、DSP、浮点协处理器等)、通用I/O(GPIO)、UART接口和模 数混合电路(放大器、比较器、A/D、D/A、射频电路、锁相环等),甚至延伸到传感器、 微机电和微光电单元。(如果把CPU看成是大脑,则SOC就是包括大脑、心脏、眼睛和 手的系统。) SOC系统的构建一个重要特性: 使用可重用的IP来构建系统。可以缩短产品的开发周期,降低开发的复杂度。可重 复利用的IP包括元件库、宏及特殊的专用IP等,如通信接口IP、输入输出接口IP;各家 开发商开发的微处理器IP,如ARM公司的RISC架构的ARM核。SOC嵌入式系统就是微 处理器的IP再加上一些外围IP整合而成的。SOC以嵌入式系统为核心,集软、硬件于一体,并追求最高的集成度,是电子系统设计追求的必然趋势和最终目标,是现代电子系统 设计的最佳方案。SOC是一种系统集成芯片,其系统功能可以完全由硬件完成,也可以由 硬件和软件协同完成。目前的SOC主要指后者。 SOC存在的问题: SoC初衷很好,但现实中却缺乏好的解决方案。由于是基于ASIC实现SoC系统,设 计周期长、费用高昂、成功率不高而且产品不能修改显得系统的灵活性差,往往使得学术 科研机构、中小企业难以承受。但是SoC以系统为中心、基于IP核的多层次、高度复用,可实现软硬件的无缝结合,综合性高。 (2)片上可编程系统(SoPC—System on a Programmable Chip)

ARM汇编程序设计

cmp r0,#5 bcs aaa add r0,r0,#1 aaa nop cmp r0,#5 addcc r0,r0,#1 bl指令完成两个功能:将子程序的返回地址保存在LR即R14同时将PC的值改为目标子程序的第一条指令的地址。 Start: Mov r0,#10 Mov r1,#3 Bl doadd Mov r1,r1,r0 Doadd Add r0,r0,r1 Mov pc,lr .end 用汇编程序实现IF语句的功能: Mov r0,#15 Mov r1,#12 Cmp r0,r1

Movhi r2,#100 Movls r2,#50 用汇编程序实现FOR循环的功能:Mov r0,#0 Mov r1,#10 Mov r2,#0 L1: cmp r0,r1 Bhs l2 Add r2,r2,#1 Add r0,r0,#1 B l1 L2: .end 用汇编语言实现WHILE循环While(x<=y) X=x*2; mov r0,#1 mov r1,#20 b l2 l1: mov r0,r0, lsl #1 l2: cmp r0,r1 bls l1 end

用汇编语言实现计算算术功能:n equ 100 .global _start -start: .arm arm_code: Ldr sp,=0x40003f00 Adr r0,thumbcode+1 Bx r0 .ltorg .thumb Thumb_code: Ldr r0,=n Bl sum_n B thumb_code Sum_n: Push {r1-r7,lr} Movs r2,r0 Beq sum_end Cmp r2,#1 Beq sum_end Mov r1,#1

实验二_ARM汇编语言程序设计

实验二ARM汇编语言程序设计 实验目的 1、了解ARM汇编语言程序的结构特点 2、了解ARM汇编语言程序的编写方法 3、掌握用ARM汇编语言设计简单程序 实验仪器设备及软件 ARM实验箱,计算机,ADS程序开发软件 实验原理 1、存储空间的格式 ARM920将存储空间视为从0开始由字节组成的线性集合,字节0-3中保存了第一个字,字节4-7中保存了第二个字,依此类推。字节还可以按小端格式或大端格式排列。ARM实验箱中存储器的配置见附录C。 2、ARM的寄存器 ARM状态下任何时刻都可以看到16个通过寄存器(r0-r15),1或2个状态寄存器(CPSR,SPSR),在特权模式下会切换到具体模下的寄存器组。每个寄存器都是32位的,并且每个通用寄存器都可以作为数据处理的源数据或目标数据寄存器。因此可以编写出更精简的程序。 3、ARM指令的条件执行 状态寄存器中的N,Z,C,V是数据处理指令影响的标志。几乎每条ARM指令可以根据状态位或状态位的逻辑运算有条件执行。条件执行的指令后缀参考教材。 4、桶形移器 ARM的桶形移位器,使ARM指令的中第二个操作数非常录活。利用移位器,一条ARM 指令可以完成更多功能。移位操作有: LSL 逻辑左移 LSR 逻辑右移 ASL 算术左移 ASR 算术右移 ROR 循环右移 RRX 带扩展循环右称 实验内容 1、把内存中ramaddr开始的ramword个字清零 (1)用后变址法 ramaddr equ 0x31000000 ramword equ 64 clrram mov r0,#0 mov r1,#ramword ldr r2,=ramaddr clrram1 str r0,[r2],#4 subs r1,r1,#1

第1节 电子系统设计的发展趋势

(1)电子系统设计的发展主要受以下两个技术的推动:?微电子技术——使得硅片单位面积上集成的晶体管数目越来越多。 计算机技术——软硬件技术的发展推动EDA技术的发展。?(2) 集成电路设计都是从器件的物理版图设计入手 EDA技术发展的推动 ?(3) 出现集成电路单元库,集成电路设计进入逻辑级,极大地推动IC产业的发展。?电子系统是IC之间通过PCB板等技术进行互联来构成的。PCB板上IC芯片之间连线的延时、PCB板的可靠性、PCB板的尺寸等因素,会对系统的整体性能造成很大的限制。 由IC互联构成的嵌入式系统设计 (4) IC互联构成的系统 (设计和工艺EDA技术) SOC——片上系统 SOC是指将一个完整产品的功能集成在一个芯片上或芯片组上。 SOC从系统的整体角度出发,以IP (Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段,借助于以计算机为平台的EDA工具进行开发。由于SOC设计能够综合、全盘考虑整个系统的情况,因而可以实现更高的系统性能。SOC的出现是电子系统设计领域内的一场革命,其影响将是深远和广泛的。 由SOC构成嵌入式系统设计:

IC:集成电路。?ASIC:专用集成电路。 通用集成电路:FPGA、CPLD等。 SOC:属于专用集成电路。 (1)SOC: 它是指将一个完整产品的各功能集成在一个芯片中,可以包括有CPU、存储器、硬件加速单元(AV处理器、DSP、浮点协处理器等)、通用I/O(GPIO)、UART接口和模数混合电路(放大器、比较器、A/D、D/A、射频电路、锁相环等),甚至延伸到传感器、微机电和微光电单元。(如果把CPU看成是大脑,则SOC就是包括大脑、心脏、眼睛和手的系统。) SOC系统的构建一个重要特性: 使用可重用的IP来构建系统。可以缩短产品的开发周期,降低开发的复杂度。可重复利用的IP包括元件库、宏及特殊的专用IP等,如通信接口IP、输入输出接口IP;各家开发商开发的微处理器IP,如ARM公司的RISC架构的ARM核。SOC嵌入式系统就是微处理器的IP再加上一些外围IP整合而成的。SOC以嵌入式系统为核心,集软、硬件于一体,并追求最高的集成度,是电子系统设计追求的必然趋势和最终目标,是现代电子系统设计的最佳方案。SOC是一种系统集成芯片,其系统功能可以完全由硬件完成,也可以由硬件和软件协同完成。目前的SOC主要指后者。 SOC存在的问题: SoC初衷很好,但现实中却缺乏好的解决方案。由于是基于ASIC实现SoC系统,设计周期长、费用高昂、成功率不高而且产品不能修改显得系统的灵活性差,往往使得学术科研机构、中小企业难以承受。但是SoC以系统为中心、基于IP核的多层次、高度复用,可实现软硬件的无缝结合,综合性高。?(2)片上可编程系统(SoPC—Systemona Programmable Chip) ?SoPC是一种灵活、高效的SoC解决方案。它将处理器、存储器、I/O口、LVDS等系统需要的功能模块集成到一个PLD器件上,构成一

嵌入式简易电子琴系统设计报告

(此文档为word格式,下载后您可任意编辑修改!) 《嵌入式系统原理与应用》综合设计报告 简易电子琴系统设计 系部:电子与信息工程系 专业班级: 学生姓名: 学号: 小组成员: 指导教师: 时间:2012.6.4~2012.6.29

完成日期2012年6月 目录 1绪论 (1) 1.1 综合设计目的 (1) 1.2 简易电子琴简介 (1) 1.2.1 电子琴在中国的发展 (1) 1.2.2 电子琴发明的意义 (1) 1.2.3 电子琴的电学原理 (2) 1.3芯片简介 (2) 1.3.1 LM3S2110微控制器 (2) 1.3.2 ARM Cortex-M3处理器内核 (3) 1.3.3 通用输入/输出端口(GPIO) (3) 1.3.4 脉宽调制器 (PWM) (3) 2综合设计内容 (4) 2.1综合设计题目 (4) 2.2综合设计要求 (4) 2.2.1主要内容 (4) 2.2.2主要技术指标、要求 (4) 2.2.3所用设备与器材 (4) 3 硬件方案 (5) 3.1 系统硬件的构成与原理 (5) 3.2 ARM 2110开发板原理与应用 (5) 3.2.1 LM3S2110特性概述 (5) 3.2.2 LM3S2110的GPIO特性 (6) 3.3 独立按键 (6) 3.4 矩阵键盘 (7) 3.5蜂鸣器 (8) 3.6 LED灯应用方式 (9) 3.7 1602字符液晶屏 (10)

4 软件方案 (11) 4.1设计原理框图 (11) 4.2程序流程图 (11) 4.3导线连接方案 (12) 4.4调试过程 (13) 5结束语 (14) 5.1设计总结与感想 (14) 5.2答谢词 (14) 参考文献 (15) 附录一 ARM 2110芯片 (16) 附录二4×4矩阵键盘 (16) 附录三蜂鸣器模块 (17) 附录四 LCD显示屏 (17) 附录五 LED灯模块 (18) 附录六实验成果图 (18) 附录七程序清单 (19) 1.头文件 (19) 2.定义LED (19) 3.定义KEY (19) 4.LCD模块使能 (19) 5.LCD显示 (20) 6.LED灯模块 (21)

嵌入式课程设计电子词典硬件设计说明

上海电力学院 嵌入式系统 课程设计报告 题目:电子词典的设计 姓名: 学号: 院系: 专业年级: 同组成员: 年月日

一、实验内容及要求 在LCD屏幕左侧绘制出单词输入框和释义显示框以及一个搜索键,右侧绘制4*4键盘按钮,模拟出简易电子词典的功能,按钮操作用触摸屏或键盘实现均可。 实现功能: (1)LCD屏幕上显示4*4键盘,显示单词及其翻译、例句。 (2)一个键可完成2个英文字母的输入,如左上角第一个键可实现输入a,b两个字母,第一次按下时为输入a,如果需输入b,只需连续快速按键两次即可。 (3)在输入完单词后,点击搜索键,即可在释义显示框中显示该单词的词性、中文解释、示例词组和句子等。 (4)当发现输入的单词在库中不存在时,可实现将该单词添加入库的操作。 二、设计思路 (1)通过LCD显示模块画出电子词典操作界面。 (2)对应界面中各键的位置设置键盘对应键值。 (3)设定功能键,实现以下3个功能:①退格键:删除最后一位字母;②搜索∕保存键:对输入框的单词进行判断,若单词存在于词库中,则显示单词词性、词义、例句;若单词不存在则自动进行保存;③转换键:按下后,字母键输出对应的第二个字母。 (4)按键后赋值并显示。 三、软件构架

四、模块分析 (1)键盘模块 流程图: 源代码:/****************************************************************************** *************** * File:keyboard.c * Author: embest * Desc:keyboard source code * History: ******************************************************************************* **************/ /*--- include files ---*/

一个典型的嵌入式系统设计和实现

关键字:嵌入式系统设计 ARM FPGA多功能车辆总线Multifunction Vehicle Bus 在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术也取得迅速发展,嵌入式技术应用范围的急剧扩大。本文介绍了一种基于ARM和FPGA,从软件到硬件完全自主开发多功能车辆总线(Multifunction Vehicle Bus)MVB??B嵌入式系统的设计和实现。 系统设计和实现 通常来说,一个嵌入式系统的开发过程如下: 1.确定嵌入式系统的需求; 2.设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平 台以及软硬件的分割和总体系统集成; 3.详细的软硬件设计和RTL代码、软件代码开发; 4.软硬件的联调和集成; 5.系统的测试。 一、步骤1:确定系统的需求: 嵌入式系统的典型特征是面向用户、面向产品、面向应用的,市场应用是嵌入 式系统开发的导向和前提。一个嵌入式系统的设计取决于系统的需求。 1、MVB总线简介 列车通信网(Train Communication Network,简称TCN)是一个集整列列车内 部测控任务和信息处理任务于一体的列车数据通讯的IEC国际标准 (IEC-61375-1), 它包括两种总线类型绞线式列车总线(WTB)和多功能车厢总线(MVB)。 TCN在列车控制系统中的地位相当与CAN总线在汽车电子中的地位。多功能车辆总线MVB是用于在列车上设备之间传送和交换数据的标准通信介质。附加在总线上的设备可能在功能、大小、性能上互不相同,但是它们都和 MVB总线相连,通过MVB总线来交换信息,形成一个完整的通信网络。在MVB系统中,根据IEC-61375-1列车通信网标准, MVB总线有如下的一些特点: 拓扑结构:MVB总线的结构遵循OSI模式,吸取了ISO的标准。支持最多4095个设备,由一个中心总线管理器控制。简单的传感器和智能站共存于同一总线上。 数据类型:MVB总线支持三种数据类型:

嵌入式电子菜单的设计

目录 1绪论 (2) 1.1任务的提出 (2) 1.2设计的目的和意义 (2) 2相关知识简介 (2) 2.1开发工具 (2) 2.2开发语言 (2) 2.3开发环境 (3) 3总体设计 (3) 3.1设计的总体结构描述 (3) 3.2功能模块描述 (3) 3.3功能模块的状态转换 (4) 4详细设计 (4) 4.1键盘模块设计 (4) 4.2显示模块设计 (5) 4.3控制模块 (7) 5系统测试 (10) 5.1键盘扫描模块 (10) 5.2键盘译码 (10) 5.3多位加法器 (10) 5.4七段数码管 (11) 5.5 RAM存储器 (11) 5.6系统控制器 (11) 6结论 (12) 7致谢 (12)

电子菜单的设计 1绪论 嵌入式系统是以应用为中心,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件等组成,它是集软硬件于一体的可独立工作的“器件”。 1.1任务的提出 本课题的任务即是设计一种简单的电子点菜单终端,以CYC-L2 V2.0便携式EDA/SOPC/DSP实验系统为硬件平台,利用VHDL语言进行编程,要求实现的电子点菜单功能齐全,使用方便。 1.2设计的目的和意义 餐馆引进电子点菜系统,具有重大的意义:首先,提高运营效率与降低运营成本,使用电子点菜系统可以加快点菜速度,减少人力资源的投入,避免跑、冒、漏;其次,提升餐馆品牌与形象,电子点菜系统是一个高科技产品,它代替传统的纸笔式点菜方式给人一种高贵的感觉;最后,营造一个安静、舒服的就餐环境,传统的点菜方式在某些环节中出现大声喧哇的场面,电子点菜系统则可以避免这类情况的出现。 2相关知识简介 2.1开发工具 本实验系统是在CYC-L2 V2.0便携式EDA/SOPC/DSP实验系统基础上研发而成,具有完备的外部接口电路模块,并继承了该系统开放性的特点。系统由开发板(含主板、底板)、ByteBlaster II并口下载板(含电缆)和12V直流电源三个组成部件构成。采用Altera公司的Cyclone EP1C6Q240系列FPGA为主芯片,包括系统时钟、SRAM 存储器、FLASH存储器、网络接口芯片、串行配置芯片、音频编码/解码芯片、模数转换器、数模转换器、键盘、显示器和串行接口等外围电路模块。 2.2开发语言 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,

实验二A ARM汇编语言程序设计实验

实验三ARM汇编语言程序设计实验(一) 一、实验目的 1.掌握ADS1.2集成开发环境 2.了解ARM汇编指令用法,并能够编写简单的汇编程序 3.掌握指令的条件执行,掌握LDR/STR指令,完成存储器的访问 二、实验内容 1.用LDR指令读取0x40003100地址上的数据,将该数据加1,若结果大于10,则使用STR指令将结果写入原地址,否则,将把0写入原地址。 2.用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(ProcessorRegister)监视R0、R1的值,打开存储器观察窗口(Memory)监视0x40003100地址处的值。 三、预备知识 1、用ARM ADS集成开发环境,编写和调试程序的基本过程。 2、ARM指令的使用 四、实验设备及工具(包括软件调试工具) 硬件:PC机Pentium100以上。 软件:PC机Windows操作系统、ARM ADS 1.2集成开发环境、AXD 五、实验步骤 1.启动ADS1.2,使用ARM Executable Image工程模板建立一个工程。如SY3 2.建立汇编源文件Test3.s,加入工程中。 3.设置工程连接地址R0 Base 0x40000000,RW Base 0x40003000。 4.编译、连接工程,选择Project Debug ,启动AXD软件仿真调试。 5.打开寄存器窗口,监视R0、R1的值,设置观察地址0x40003100,显示方式为32bit,

监测0x40003100上的值。 6.可以单步运行程序,可以设置、取消断点,或者全速运行,停止运行,调试时观察寄存器0x40003100上的值,运行结果见图3-1。 图3-1 ARM实验3的运行结果 六、实验参考程序 COUNT EQU 0X40003100 AREA TEST3, CODE,READONLY ENTRY CODE32 START LDR R1,=COUNT MOV R0,#0 STR R0,[R1] LOOP LDR R1,=COUNT LDR R0,[R1] ADD R0,R0,#1 CMP R0,#10 MOVHS R0,#0 STR R0,[R1]

一个典型的嵌入式系统设计和实现

关键字:嵌入式系统设计ARM FPGA多功能车辆总线Multifunction Vehicle Bus 在计算机、互联网和通信技术高速发展的同时,嵌入式系统开发技术也取得迅速发展,嵌入式技术应用范围的急剧扩大。本文介绍了一种基于ARM和FPGA,从软件到硬件完全自主开发多功能车辆总线(Multifunction Vehicle Bus)MVB??B 嵌入式系统的设计和实现。 系统设计和实现 通常来说,一个嵌入式系统的开发过程如下: 1.确定嵌入式系统的需求; 2.设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平台 以及软硬件的分割和总体系统集成; 3.详细的软硬件设计和RTL代码、软件代码开发; 4.软硬件的联调和集成; 5.系统的测试。 一、步骤1:确定系统的需求: 嵌入式系统的典型特征是面向用户、面向产品、面向应用的,市场应用是嵌入式系统开发的导向和前提。一个嵌入式系统的设计取决于系统的需求。 1、MVB总线简介 列车通信网(Train Communication Network,简称TCN)是一个集整列列车内部测控任务和信息处理任务于一体的列车数据通讯的IEC国际标准(IEC- 61375-1), 它包括两种总线类型绞线式列车总线(WTB)和多功能车厢总线(MVB)。 TCN在列车控制系统中的地位相当与CAN总线在汽车电子中的地位。多功能车辆总线MVB是用于在列车上设备之间传送和交换数据的标准通信介质。附加在总线上的设备可能在功能、大小、性能上互不相同,但是它们都和 MVB总线相连,通过MVB总线来交换信息,形成一个完整的通信网络。在MVB系统中,根据IEC -61375-1列车通信网标准, MVB总线有如下的一些特点: 拓扑结构:MVB总线的结构遵循OSI模式,吸取了ISO的标准。支持最多4095个设备,由一个中心总线管理器控制。简单的传感器和智能站共存于同一总线上。 数据类型:MVB总线支持三种数据类型: a.过程数据:过程变量表示列车的状态,如速度、电机电流、操作员的命令。过程变量的值叫过程数据。它们的传输时间是确定的和有界的。为保证这一延迟时间,这些数据被周期性地传送。

arm汇编快速入门

ARM汇编语言 ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令作成. ARM汇编语言的设计基础是汇编伪指令,汇编伪操作和宏指令. 伪操作,是ARM汇编语言程序里的一些特殊的指令助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序运行汇编程序处理,而不是在计算机运行期间有机器执行.也就是说,这些伪操作只是汇编过程中起作用,一旦汇编结束,伪操作的使命也就随之消失. 宏指令,是一段独立的程序代码,可以插在程序中,它通过伪操作来定义,宏在被使用之前必须提前定义好,宏之间可以互相调用,也可自己递归调用.通过直接书写宏名来使用宏.并本具宏指令的格式输入输出参数.宏定义本身不产生代码,只是在调用它时把宏体插入到原程序中.宏与C语言中的子函数形参和实参的调用相似,调用宏时通过实际的指令来代替宏体实现相关的一段代码,但宏的调用与子程序的调用有本质的区别,既宏并不会节省程序的空间,其优点是简化程序代码,提高程序的可读性以及宏内容可以同步修改. 伪操作,宏指令一般与编译程序有关,因此ARM汇编语言的伪操作,宏指令在不同的编译环境下有不同的编写形式和规则. 伪指令也是ARM汇编语言程序里的特殊助记符,也不在处理器运行期间由机器执行,他们在汇编时将被合适的机器指令代替成ARM或Thumb指令,从而实现真正的指令操作. 目前常用的ARM编译环境有2种.

1. ADS/SDT IDE:ARM公司开发,使用了CodeWarrior公司的编译器. 2. 集成了GNU开发工具的IDE开发环境;它由GNU的汇编器as,交叉汇编器gcc和连接器id组成. ADS编译环境下的ARM伪操作和宏指令,可参考北航出版社的<

嵌入式系统设计原理及应用复习题问题详解自制版(电子科大)

考试题型:填空题、选择题、简答题、计算题、设计题 考试方式:开卷 第0章绪论 l、什么是数字系统设计技术? 在解决了对不同目标信息的数字化编码、数字化传输、数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最优 化的性能(如速度)、最低廉的成本(如芯片而积、集成密度等)来实现该系统的技术。2、什么是集成电路IC? 集成电路(IC)是指通过一系列特定的加工工艺,将多个晶体管、电阻、电容等器件,按照一定的电路连接集成在一块半导体单品片(如Si或GaAs) 或陶瓷等基片上,作为一个不可分割的整体完成某一特定功能的电路组件 3、什么是集成电路IP? 集成电路IP是经过预先设计、预先验证,符合产业界普片认同的设计规范和设计标准,具有相对独立功能的电路模块或予系统。其具有知识含量高、 占用芯片而积小、运行速度快、功耗低、工艺容差性大等特点,可以复用(Reuse)于SOC、SOPC或复杂ASIC设计中。 4、什么是sOc? SOC,即嵌入式系统发展的最高形式—一片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广 义角度讲,SOC是一个微小型系统, 5、光刻的基本原理。 光刻是以某种波长的光为曝光光源,透过掩模版(由不透光的图形组成),照射在涂有光刻胶(光致抗蚀剂)的被加工材料表面上,利用光刻胶的感光性和抗蚀性,经过化学显影,制作出与掩模版图形一致的光刻胶图形。 光刻是复制微细图形的最有效手段之一,是芯片制作的核心技术。 掩模版是一种玻璃板,加了一个反射金属层。 光刻胶是一种光敏组织聚合物,性质与胶卷类似,光能改变它的化学性质。 第1章嵌入式系统基础知识 4、嵌入式系统的定义和特点是什么? 分别从技术角度和系统角度给出嵌入式系统的定义 技术角度:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机 系统。是将应用程序、操作系统和计算机硬件集成在—起的系统 系统角度:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统 嵌入式系统的特点是什么? 从三要素说:嵌入式:嵌入到对象体系中,有对象环境要求 专用性:软、硬件按对象要求裁减 计算机系统:实现对象的智能化功能

电子密码锁设计(嵌入式系统)

嵌入式系统 一.前言 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。为保证电子产品设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术已成为不可缺少的一项先进技术和重要工具,掌握EDA技术是电子信息类专业学生,工程技术人员所必备的基本能力和技能。 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。 意外事故或人为破坏可能造成中的灾难性后果的系统称为要害系统。要害系统的保证性包括安全性、可开性和保全性,内涵非常丰富。 我们设计的电子密码锁是一类针对要害系统的安全保险器件,其设计概念与常见的保安密码锁有所不同。从系统设计观点看,电子安全密码锁是一个实体域定义的概念,比较机械安全密码锁,具有设计实现简便、密码装订灵活、制造成本低廉等优点。 每一位解锁意图码在密码锁内部引发的试图解锁动作,可称为安全密码锁的解锁事件。电子安全密码所有开启意图码驱动,进党开启意图码预设定的安全密码完全匹配时,方可逐步开启密码锁。 基于解锁时间概念思考,电子密码锁应具备如下基本功能: 1.逐位解锁解锁过程的事件序列特性决定了它内部状态机的多步步进特性。 2.单次试开解锁事件是单向不可逆的,因此,安全密码锁内部应含误码锁定组件。 3.码鉴别通过后,给出可靠的控制信号。 我们构思运用RS触发器构成的数字逻辑电路控制来模拟电子密码锁。

二.总体方案设计 2.1. 一号方框图 图2.1 一号方案图 我定的一号方框图(初稿)为上图。 一号方框图中,我共设了8个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键。密码可在之前任意修改。由键盘输入密码,开始效验,密码输入正确则执行开门,如果密码输入错误则运用555单稳态触发器响鸣10秒钟。 大概的思路有:用四个RS触发器串联,输入密码正确与否,输出的电平不同,由此达到密码效验。键盘的输入打算由八个四组开关控制,分为0和1两种情况。而响鸣10秒钟由555定时器构成的单稳态触发器控制时间。开门由灯泡点亮模拟。 可有一个问题:本身的密码仅有16种情况,很容易试出密码,因为没有时间次数的限制,贼人能够轻易得到密码。仅仅是这样的设计,此数字密码锁失去意义。 于是,我准备再此方案图中加入计时器及锁定电路使其完善:在密码刚输入时开始计时,若计时超过60秒则报警。另外,若三次输入错误密码,锁定输

《嵌入式电子系统设计》课程实验指导书实验1:最小系统实验,(2014.7.11)

实验一最小系统实验 一、实验目的 熟悉最小系统的硬件构成,掌握复位电路、晶振电路、电源电路(尤其是滤波电容的应用),编写一个例程,并在最小系统上运行;了解嵌入式开发的基本思想和过程。 掌握最小系统的构成,在将来的项目运用中能根据不同的场合选择相应的复位电路。 二、实验原理 本实验通过一个简短的Boot 引导程序介绍ARM 开发平台的启动过程,同时该引导程序也可其他章节程序引导的示例程序。本程序主要为了让读者能够清晰理解启动程序的基本架构组成部分以及掌握ARM 引导程序的编写方法。 三、主要实验设备 1.硬件:宿主机、ARM教学试验箱; 2.软件:Windows操作系统、ADS1.2集成开发环境。 四、实验内容 构建最小系统,用示波器观察一下晶振电路的波形,测一下晶振正常工作时的电压。编写一个例程,编译并运行。设置ARM仿真器的开发环境。程序架构如下: 1.程序头 IMPORT MDCNFG ;声明MDCNFG(读写寄存器)物理地址0x48000000 IMPORT MDREFR ;声明MDREFR(刷新寄存器)0x48000004 IMPORT MDMRS ;声明MDMRS(模式/设置寄存器0x48000040 IMPORT init_MDCNFG ; 声明init_MDCNFG 0x02000ac9 IMPORT init_MDREFR ; 声明init_MDREFR 0x0011e018 IMPORT init_MDMRS ; 声明init_MDMRS 0x320032 IMPORT StackSvc ; 声明StackSvc 0xa0600000 IMPORT StackIrq ; 声明StackIrq 0xa0605000 IMPORT StackFiq ; 声明StackFiq 0xa060a000 IMPORT StackAbt ; 声明StackAbt 0xa060e000 IMPORT StackUnd ; 声明StackUnd 0xa0714000 IMPORT StackUsr ; 声明StackUsr 0xa0720000

1冒泡排序的ARM汇编程序

1冒泡排序的ARM汇编程序ORG 09B0H QUE:MOV R3,#50H QUE1:MOV A,R3 MOV R0,A MOV R7,#0AH CLR 00H MOV A,@R0 Q12:INC R0 MOV R2,A CLR C MOV 22H,@R0 CJNE A,22H,Q13 SETB C Q13:MOV A,R2 JC Q11 SETB 00H XCH A,@R0 DEC R0 XCH A,@R0 INC R0 Q11:MOV A,@R0 DJNZ R7,Q12 JB 00H,QUE1 SJMP $ END

2 ARM汇编希尔排序法对10个带符号数进行排序Code: void shell(int src[],int l,int r){ int ih; r++; for(ih=1;ih<(r-l)/9;ih=ih*3+1); //eax,ih //ebx,il //ecx,ir //edx,cmps _asm{ push eax push ebx push ecx push edx push esi push edi;貌似这堆进栈用处不大哎 mov edi,src mov eax,dword ptr [ih] LIH: cmp eax,0 jna EXIH mov ebx,eax dec ebx LLH: cmp ebx,dword ptr [r] jnb EXLLH mov ecx,ebx mov edx,dword ptr [edi+ecx*4]

LCMP: mov esi,eax dec esi cmp ecx,esi jna EXCMP push ecx sub ecx,eax cmp edx,dword ptr [edi+ecx*4] pop ecx jnb EXCMP push ebx push ecx sub ecx,eax mov ebx,dword ptr [edi+ecx*4] pop ecx mov dword ptr [edi+ecx*4],ebx pop ebx sub ecx,eax jmp LCMP EXCMP: mov dword ptr [edi+ecx*4],edx inc ebx jmp LLH EXLLH: push ecx mov ecx,3 push edx cdq

相关主题
文本预览
相关文档 最新文档