文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式程序设计学习助手设计

嵌入式程序设计学习助手设计

嵌入式程序设计学习助手设计
嵌入式程序设计学习助手设计

嵌入式程序设计学习助手设计

参赛人员:王国森刘乾文王晓东薛伟伟

1.作品简介

学习一门编程语言除了理论的学习,还要进行实践熟练,而传统的实践即上机练习对于大多数人来说是枯燥乏味的,如果可以将编程转化为更富有趣味性的游戏,那将提高人们学习编程的兴趣。

本作品的初衷就是教会人们如何编程,游戏覆盖编程菜鸟到大神各个阶段,关卡丰富。人们不需要任何编程知识即可了解程序的运行逻辑,并编出实用的代码。

本作品采用HT66F70A单片机作为系统的微控制器,创意在于前所未有地将游戏与嵌入式编程结合在一起。操纵者可以通过按键来对程序进行选择或编译,从而完成游戏任务,获得奖励,学习编程不再无趣。该编程游戏机通过将游戏机与编程语言结合,达到劳逸结合的效果,在放松中得到学习,在学习中得到放松。

2.电路原理图及各部件工作原理

2.1主控MCU 模块设计

HT66F70A 单片机是一款A/D 型具有8 位高性能精简指令集的Flash 单片机。,存储器包含了一个RAM 数据存储器和一个可用于存储序号、校准数据等非易失性数据的EEPROM 存储器。低功耗、可编程分频器、计数器、振荡类型选择、多通道A/D 转换、脉宽调制功能、I2C 接口、UART 总线,暂停和唤醒,时基功能、I/O 使用灵活等其它特性,使这款单片机可以广泛应用于电子测量仪器、环境监控、手持式测量工具、家庭应用、电子控制工具、马达控制等产品中。

HT66F70A最小系统原理图如图所示

图1:HT66F70A最小系统

2.2 16*16全彩点阵模块

该模块采用两片74HC595级联来控制点阵的16个列,用两片74LS138级联来控制点阵的16个行。进行编程的时候,首先HT66F70A芯片过来的红,绿,蓝信号会使所有的列都获得信号,但是此时行还没有信号,因此没有一个灯亮。当红,绿,蓝信号传输完毕后,HT66F70A开始传输行信号。首先选中第一行,则第一

行被点亮,其余不亮。接着选中第二行,第二行亮,其余不亮。依次类推,一个

周期内扫描8行。由于扫描的频率很高,因此我们是看不出逐行扫描的,模块与HT66F70A连接图如下:

图2:LED全彩点阵模块连接图

2.3 LCD12864液晶显示屏

12864是128*64点阵液晶模块的点阵数简称,业界约定俗成的简称。该12864每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。该模块不带ASCII码字符和中文字库,必须先将字库写入HT66F70A的RAM里面。模块连接图如下:

3.主要程序

3.1 游戏关卡数据

struct stu

{

const uchar *map; //地图

uchar coor_m[2]; //人物起始坐标

uchar coor_d[2]; //敌人1起始坐标

uchar coor_d2[2]; //敌人2起始坐标

uchar coor_q0[2];

uchar coor_q1[2];

uchar coor_q2[3]; //钱起始坐标

uchar pass; //胜利条件判断

uchar (*lcd_line)[16]; //LCD显示代码

uchar (*lcd_prompt)[16]; //LCD显示提示

uchar lines;

};

struct stu Barrier[5] ={

{tab1,{1,4},{5,4},{5,8},{0,0},{0,0},{0,0},pass_1,lcd_line_2,lcd_p rompt_2,5},

{tab2,{1,2},{0,0},{0,0},{0,0},{0,0},{0,0},pass_2,lcd_line_2,lcd_p rompt_1,5},

{tab3,{1,6},{5,2},{9,10},{0,0},{0,0},{0,0},pass_3,lcd_line_2,lcd_ prompt_2,5},

{tab4,{1,2},{5,2},{9,6},{0,0},{0,0},{0,0},pass_4,lcd_line_2,lcd_p rompt_2,5},

{tab5,{10,5},{1,5},{6,16},{0,0},{0,0},{0,0},pass_5,lcd_line_2,lcd _prompt_1,5},

}; //关卡数据结构体数组

struct stu *bar; //关卡指针变量

3.2 LED显示

void Led_Display()

{

uchar k;

for(k = 0; k < 16; k++)

{

HC595SendData(~(*(bar->map+2*k+1)),~(*(bar->map+2*k)),_YELLOW);

_ph = (_ph & 0xf0) |k; //高4位

}

Set_Dian(bar->coor_m[0],bar->coor_m[1],_PINK); //人物显示

Set_Dian(bar->coor_q0[0],bar->coor_q0[1],_GREEN);

Set_Dian(bar->coor_q1[0],bar->coor_q1[1],_GREEN);

Set_Dian(bar->coor_q2[0],bar->coor_q2[1],_GREEN); //钱显示if(bar->pass==0x14) Set_Dian(8,7,_CYAN); //村民显示

Set_Dian(bar->coor_d[0],bar->coor_d[1],_RED);

Set_Dian(bar->coor_d2[0],bar->coor_d2[1],_RED); //敌人显示}

3.3 用户编程

void youxidaima()

{

while(1)

{

if(FIND_ENEMY)

Attack();

Dian_Move(LEFT);

if(FIND_ENEMY)

Attack();

Dian_Move(RIGHT);

if(FIND_ENEMY)

Attack();

Dian_Move(DOWN);

if(FIND_ENEMY)

Attack();

Dian_Move(UP);

if(FIND_ENEMY)

Attack();

}

}

4.所需物品清单

1.LED全彩点阵

2.LCD12864液晶显示模块

3.WT588声音模块

4.按键

5.开关

6.手机电池

7.PCB板

5.作品照片

6.发展前景

在倡导计算机学习,要从娃娃抓起的年代,孩子们不能只是玩游戏,作为以程序员为职业的父母,怎么能忍心让孩子被游戏欺负呢?怎么忍心让孩子玩别人开发的游戏呢?所以,我们要对那些简单头脑就能玩的游戏说“不”。

所以该作品可以制作成外观精美,内容趣味,以游戏的方式来吸引孩子们的学习机。游戏从最简单的“for”,“if”,“while”等语句逐步扩展到数组,函数调用,变量定义再到后面的结构体,指针等等,孩子们便可以从对程序的一无所知逐步编程一名程序高手。

而该作品不仅仅只是C语言编程而已。在后续的发展中,我们还会扩展到引导有一定编程能力的孩子们去尝试如何设计游戏关卡及规则,这便需要孩子们了解单片机的基本构造,在一步步地通过游戏的方式去进行引导。孩子们便可在不知不觉中进入了嵌入式这个大家庭中。

在这个电子行业飞速发展的年代,嵌入式编程占据着举足轻重的地位。嵌入式行业虽然工资令人羡慕,不过其门槛之高也令人望而却步。我们知道,现在市场上流行着各种英语学习机,而却还始终没有一款嵌入式的学习机,来引领人们。

北京科技大学 嵌入式课程设计报告

《嵌入式控制系统》课程设计报告 学院 专业班级 姓名 学号 指导教师 _

目录 摘要 (4)

Abstract (4) 引言 (5) 带中断LED数码管驱动程序设计 (6) 1.设计内容 (6) 1.1 基本功能 (6) 1.2 扩展功能 (6) 1.3创新功能 (6) 2.实验设备 (6) 3.设计功能块说明 (6) 4.设计原理 (7) 4.1 LED发光原理 (7) 4.2 八位LED显示器 (8) 5. 实验步骤 (8) 5.1 驱动程序加载 (8) 5.2 添加控件 (8) 5.3基本功能的实现 (9) 5.4 使用指南 (10) 6. 实验结果 (10) 6.1 基本功能实现结果 (10) 6.2 LED数码管清零功能实现结果 (11) 6.3 中断计数功能实现结果 (12) 6.4 频率设置功能实现结果 (13) 7. 心得体会 (14) 附录 (16)

摘要 通过嵌入式控制系统课程的学习并结合本次课程设计,了解嵌入式系统的开发方法和流程,熟悉Intel XScale硬件平台及其应用处理机的使用方法,熟悉Windows CE嵌入式系统的基本原理、概念。能针对Intel XScale硬件平台、应用需求自行定制、优化WinCE操作系统,并独立编写可在Intel XScale嵌入式设备上运行的应用程序。 本课程设计主要实现了LED数码管的驱动程序,中断计数功能、LED显示清零功能、LED 数字显示频率设置的功能。 关键字:WINCE 中断数码管驱动 Abstract Learning Embedded Control Systems and combining the curriculum design can help us understand the Embedded Control Sy stems’ development methods and processes, and be familiar with Intel XScale Hardware platform and its usage. Know well the basic principles and concepts about WINCE. Design and optimize Windows Embedded Compact and compose Application software program that can operate on the Intel XScale Hardware platform. The main achievement of the curriculum design are drivers for LED, Interrupt Count, clean the results of the LED and set up the display frequency of the LED. Key words: WINCE Interrupt Digital Driving

嵌入式系统C语言程序设计

“黑色经典”系列之《嵌入式Linux C语言应用程序设计》 嵌入式主机通信环境的配置 配置Linux下的minicom和Windows下的超级终端 配置NFS服务 搭建Linux的根文件系统 Bootloader的原理 华清远见<嵌入式linux就业班>培训教材

3.1 嵌入式系统开发环境的构建 3.1.1 嵌入式交叉编译环境搭建 搭建交叉编译环境是嵌入式开发的第一步,也是关键的一步。不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不同的交叉编译器。选择交叉编译器非常重要,有些交叉编译器经常会有部分的BUG,都会导致最后的代码无法正常运行。 对于一般的开发板,厂商都会提供在该开发板上能够正常运行的交叉编译工具,其安装的过程比较简单,一般在厂商中提供的用户手册中会有详细说明,这里就不再赘述。另外,如μClinux也有制作成单一脚本工具,安装时只需执行该脚本就可以了。 在这里,首先来讨论一下关于选择gcc版本的问题。gcc的版本有很多种,其中低于3.3.2版本的只能编译Linux 2.4版本的内核,而3.3.2版本既能支持Linux 2.4版本的内核,也能支持Linux 2.6版本的内核,在本书采用的gcc版本为3.3.2。 具体软件以及它们对应的版本和下载地址 binutils 下 版本: gcc:用具。 下 版本: glibc:用 下载地址:ftp://https://www.wendangku.net/doc/b34016658.html,/gnu/glibc/glibc-2.2.5.tar.bz2。 版本:2.2.5 glibc-linuxthreads:提供Linux线程库。 下载地址:ftp://https://www.wendangku.net/doc/b34016658.html,/gnu/glibc/glibc-linuxthreads-2.2.5.tar.bz2。 版本:2.2.5 再接下来,用户需要为这些工具准备好它们的工作目录。在这里,首先建立一个~/cross 目录,之后,用户再在~/cross目录下建立以下目录。 # mkdir ~/cross/scource # mkdir ~/cross/patches # mkdir ~/cross/linux-2.6.x 做好这些准备工作之后,下面就可以开始正式开始操作了。 1.编译binutils 用户可以按照以下步骤编译binutils。 # cd ~/cross # tar –jxvf ./scource/binutils-2.14.tar.bz2 华清远见<嵌入式linux就业班>培训教材

嵌入式系统设计师练习题及答案解析

嵌入式系统设计师练习题及答案第一套 (1) 嵌入式系统设计师练习题及答案第二套 (5) 嵌入式系统设计师练习题及答案第三套 (16) 嵌入式系统设计师练习题及答案解析第四套 (27) 嵌入式系统设计师练习题及答案解析第五套 (45) 嵌入式系统设计师练习题及答案解析第六套 (59) 嵌入式系统设计师练习题及答案解析第七套 (67) 嵌入式系统设计师练习题及答案解析第八套 (75) 嵌入式系统设计师练习题及答案解析第九套 (81) 嵌入式系统设计师练习题及答案解析第十套 (90) 嵌入式系统设计师练习题及答案解析第十一套 (99) 嵌入式系统设计师练习题及答案解析第十二套 (106) 嵌入式系统设计师练习题及答案解析第十三套 (115) 嵌入式系统设计师练习题及答案解析第十四套 (126) 嵌入式系统设计师练习题及答案解析第十五套 (139) 嵌入式系统设计师练习题及答案解析第十六套 (154) 嵌入式系统设计师练习题及答案解析第十七套 (161) 嵌入式系统设计师练习题及答案解析第十八套 (169) 嵌入式系统设计师练习题及答案解析第十九套 (177) 嵌入式系统设计师练习题及答案解析第二十套 (189) 嵌入式系统设计师练习题及答案解析第二十一套 (199) 嵌入式系统设计师练习题及答案解析第二十二套 (212) 嵌入式系统设计师练习题及答案第一套 1、以下关于CPU的叙述中,错误的是 A.CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制

B.程序计数器PC除了存放指令地址,也可以临时存储算术/逻辑运算结果 C.CPU中的控制器决定计算机运行过程的自动化 D.指令译码器是CPU控制器中的部件 2、以下关于Cache的叙述中,正确的是 A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素 B.Cache的设计思想是在合理成本下提高命中率 C.Cache的设计目标是容量尽可能与主存容量相等 D.CPU中的Cache容量应大于cPu之外的Cache容量 3、风险预测从两个方面评估风险,即风险发生的可能性以及 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 4、许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括 A.便于为数据合理分配存储单元 B.便于对参与表达式计算的数据对象进行检查 C.便于定义动态数据结构 D.使于规定数据对象的取值范围及能够进行的运算 5、在计算机系统中,对程序员是透明的。 A.磁盘存储器 B.高速缓存 C.RAM存储器 D.flash存储器

《嵌入式系统开发技术》设计报告

嵌入式系统开发技术 设计报告 组长: 成员: 中国石油大学(华东)计算机与通信工程学院计算机科学系 二0 年12 月

一、引言 OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列C 函数和少量C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。它的应用领域非常广泛,包括人机互动、物体识别、图像分割、人脸识别、机器视觉、汽车安全驾驶等。随着手机性能的不断提高,OpenCV往安卓上移植已经成为可能,安卓设备移植上OpenCV之后将能够进行复杂的图像处理和视频分析工作,人们不必拘泥于使用固定的设备进行图像以及视频的处理,从而增加了处理的灵活性。 本课程设计实现的就是OpenCV到安卓的移植以及在安卓上实现一个简单的图像处理应用。Android应用程序是通过Android SDK(Software Development Kit)利用Java编程语言进行开发,同时也可以通过JNI调用C动态库,不过这种开发方式存在技术障碍,伴随着Android NDK(Native Development Kit)的问世,使得“JA V A+C”的开发方式走向成熟。 二、总体设计 1、功能描述 本课程设计分为以下四个模块,各模块功能介绍如下: Android-OpenCV项目: OpenCV中大部分重要API在该项目中已经封装成了JA V A接口,为安卓上的OpenCV开发提供C、C++函数支持。 Android NDK: 它包括从C / C++生成原生代码库所需要的工具和build files,能够将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中,支持所有未来Android平台的一些列原生系统头文件和库。在本课程设计中担任重要角色,包括交叉编译OpenCV源代码、编译测试程序等。 Cygwin: Windows下模拟Linux操作环境,在其中执行NDK编译。 Eclipse: Android开发环境,开发android程序,生成可执行的.apk文件,连接真机或虚拟机进行调试。 2、设计特色 本课程设计的特色在于成功的将android-opencv移植到eclipse开发环境中去,实现了在android设备开发图像处理、视频分析应用,提高了android设备的使用价值。编译环境采用Android NDK+Cygwin,方便开发者在windows环境下开发“java+c”程序。 3、体系结构

基于嵌入式系统的游戏程序设计

基于嵌入式系统的游戏程序设计 0 引言 随着近年来计算技术、通信技术的飞速发展,特别是互联网的迅速普及和3C(计算机、通信、消费电子)合一的加速,微型化和专业化成为发展的新趋势,嵌入式产品成为信息产业的主流。嵌入式系统被定义为以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统是面向用户、面向产品、面向应用。而广泛用于制造工业、过程控制、通信、仪器、仪表等,消费类产品,如果独立于应用自行发展,则会失去市场。嵌入式处理器在功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之间的竞争热点。 嵌入式处理器的应用软件是实现嵌入式系统功能的关键。软件要求固化存储,软件代码要求高质量、高可靠性。 1 开发平台 一个完整的嵌人式系统结构如图1所示,设计中采用的硬件平台为基于Intel Xscale架构的PXA255开发板,CPU运算速度为400 MHz,FLASH为32 MB容量的Intel Strata FLASH,SDRM 容量为64 MB,USBSlave支持USB1.1,LCD支持640×480分辨率。 由图1可以看出,一个完整的嵌入式系统不仅包含有硬件平台,还有运行于该硬件平台的操作系统和基于该操作系统的应用软件,而嵌入式LinUX只是众多嵌入式操作系统中的一个。 从20世纪80年代末开始,陆续出现了一些嵌入式操作系统,例如比较著名的有Vxwork,pSOS,Neculeus,QNX,ECOS,LYNX,Palm OS和Windows CE,这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且源代码的封闭性也大大限制了开发者的积极性。另外,结合国内实情,当前国家对自主操作系统的大力支持,也为源码开放的Linux推广提供广阔的发展前景。再者,对上层应用开发者而言,嵌入式系统需要的是一套高度简练,界面友善,质量可靠,应用广泛,易开发、多任务,并且价格低廉的操作系统。基于以上情况,采用嵌入式Linux操作系统作为开发的软件平台。 2 交叉编译工具链 在嵌入式系统软件的开发过程中,交叉编译工具链是极为重要的一环,设计并制作良好的交叉编译工具链是顺利实现软件开发的重要保障。 2.1 ARM-Linux的gcc交叉工具链 设计采用的Linux操作系统是经过修改与裁剪的ARM-Linux;使用的开发工具是非图形开发

嵌入式系统设计课设报告分析解析

福州大学 《嵌入式系统设计课设》 报告书 题目:基于28027的虚拟系统 姓名: 学号: 学院:电气工程与自动化学院 专业:电气工程与自动化 年级: 起讫日期: 指导教师:

目录 1、课程设计目的 (1) 2、课程设计题目和实现目标 (1) 3、设计方案 (1) 4、程序流程图 (1) 5、程序代码 (1) 6、调试总结 (1) 7、设计心得体会 (1) 8、参考文献 (1)

1、课程设计目的 《嵌入式系统设计课设》是与《嵌入式系统设计》课程相配套的实践教学环节。《嵌入式系统设计》是一门实践性很强的专业基础课,通过课程设计,达到进一步理解嵌入式芯片的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。培养大胆发明创造的设计理念,为今后就业打下良好的基础。 通过课程设计,掌握以下知识和技能: 1.嵌入式应用系统的总体方案的设计; 2.嵌入式应用系统的硬件设计; 3.嵌入式应用系统的软件程序设计; 4.嵌入式开发系统的应用和调试能力 2、课程设计题目和实现目标 课程设计题目:基于28027的虚拟系统 任务要求: A、利用28027的片上温度传感器,检测当前温度; B、通过PWM过零中断作为温度检测A/D的触发,在PWM中断时 完成温度采样和下一周期PWM占空比的修正;PWM频率为1K; C、利用按键作为温度给定;温度给定变化从10度到40度。 D、当检测温度超过给定时,PWM占空比增减小(减小幅度自己设 定);当检测温度小于给定时,PWM占空比增大(增大幅度自己 设定); E、把PWM输出接到捕获口,利用捕获口测量当前PWM的占空比; F、把E测量的PWM占空比通过串口通信发送给上位机; 3、设计方案-----介绍系统实现方案和系统原理图 ①系统实现方案: 任务A:利用ADC模块通道A5获取当前环境温度。 任务B:PWM过零触发ADC模块,在PWM中断服务函数中,将当前环境温度和按键设定温度进行比较,并按照任务D的要求修订PWM占空比。

嵌入式程序设计课程设计

课程设计 课程名嵌入式软件开发技术 题目基于嵌入式Linux的温度监测系统的 设计与实现 专业计算机科学与技术(嵌入式系统方向)班级 13计算机嵌入式系统班 学号 学生姓名 2016年6月

摘要 温度是个很普遍而又非常重要的参数,在日常生活、工农业生产以及科研领域都有着广泛的应用。因此,研制能够准确地测量和记录这个参数值的系统具有十分重要的意义。 基于ARM的嵌入式温度监测系统是采用嵌入式Linux作为操作系统,针对以S5PV210为处理器的开发板设计的一个嵌入式温度监测系统。论文在分析了Linux设备驱动程序的基本工作原理基础上,讨论了开发中经常会碰到的中断处理、拥塞处理、I/O端口,并在此基础上实现了基于S5PV210嵌入式处理器的开、读、写、关外部RAM的字符设备驱动和网络驱动。结合高精度温度传感器DS18B20,实现温度的正确采集,并通过以太网络将数据上传给上位机客户端。 论文首先介绍了通信网络中各种设备特性、总线结构及传输技术,然后根据单片机与PC机之间的串行通信原理,用ubantu完成温度监测系统的软件设计与实现,为用户提供一个友好的人机界面,对监测系统进行控制并显示采集后的数据。本系统还通过多线程实现了多个客户端与服务器的通信。 关键词:S5PV210;嵌入式Linux操作系统;DS18B20;网络编程

Abstract Temperature is a very common and very important parameter, in daily life, industrial and agricultural production and scientific research fields have a wide range of applications. Therefore, it is very important to develop a system that can accurately measure and record the value of this parameter. The temperature monitoring system of base on the ARM is use of embedded Linux as the operating system for the processor to S5PV210 development board designed for an embedded temperature monitoring system. Based on the analysis of the basic working principle based on the Linux device drivers discussed development often encounter interrupt handling, congestion handling, I / O ports, and on this basis to achieve the embedded processor based on open S5PV210 reading, writing, characters off the external RAM device driver and network drives. Combined with precision temperature sensor DS18B20, to achieve the correct temperature acquisition, and upload the data via Ethernet to a PC client. At first,the paper introduces the characteristics of various devices in a communication network, the bus structure and transmission technology, and according to the principle of serial communication between SCM and PC, with ubantu complete temperature monitoring system software design and implementation, to provide users with a friendly man-machine interface, the monitoring system to control and display the data after collection. The system also enables communication via a plurality of multi-threaded client and the server. Key words:S5PV210; embedded Linux operating system; DS18B20; Network programming

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

嵌入式MINIQQ程序设计项目开发总结报告

编号: [嵌入式MiniQQ程序设计] 项目开发总结报告(GB8567——88) [公司名称]北京邮电大学 [作者] [日期]2015/05/18

目录 1.引言 (1) 1.1.编写目的 (1) 1.3.参考资料 (1) 2.实际开发结果 (1) 2.1.产品 (1) 2.2.基本流程 (2) 2.3.进度 (2) 2.4.费用 (2) 开发工作评价 (2) 2.5.对生产效率的评价 (3) 2.6.对技术方法的评价 (3) 2.7.出错原因的分析 (3) 3.经验与教训 (3)

1.引言 1.1.编写目的 为了便于用户使用我们的MiniQQ,现做出一个一个说明性文档,旨在对本组设计思想,实现的功能性能的分析,输入项、输出项,流程逻辑,接口,存储分配,关键程序代码,限制条件与测试计划等做一个的详细说明。这项详细的说明书也是以后编程人员修改本代码的主要线索,为非本组成员修改和提高该程序的功能和性能有效地提供了便利的信息。1.2.定义 本文件中用到的专门术语包括窗口,控件,套接字 1.3.参考资料 [1] 《嵌入式实验指导书1~6》 [2] 《嵌入式Linux系统开发技术详解--基于ARM》,孙纪坤,人民邮电出版社. [3] 《嵌入式GUI开发设计—基于MiniGUI》ISBN 978-7-121-08606-9 2009.5 电子工业出版社 [4] 《ARM体系结构与编程》,杜春雷,清华大学出版社 [5] 《嵌入式Linux程序设计案例与实验教程》俞辉主编,ISBN 978-7-111-26327-2 2009.3 机械工业出版社 2.实际开发结果 2.1.产品 具有登录和聊天功能的miniQQ

嵌入式系统设计复习题

山东理工大学成人高等教育嵌入式系统设计复习题 一、简述题 1、画出MCS-51单片机的总线形成图,并写出地址线和数据线的数量 2、简述定时器/计数器方式1和方式2的最长定时器时间与最短定时时间(外部晶振为6MHz) 3、简述串行口的控制寄存器SCON中的SM0、SM1、SM2的含义 4、如果一个8位的D/A转换器满量程为5V,试分别确定当数字量为75H、0ACH时对应的模拟量。 5.MCS-51系列单片机三总线如何产生?说明各控制总线的名称及含义。 6.写出MCS-51单片机P3口的第二功能名称含义。 7.MCS-51单片机工作寄存器区字节地址范围是多少?若选择当前工作寄存器区为2区,应如何设置? 8.当中断控制寄存器IE的内容为92H时的含义是什么? 9.简述程序状态字PSW各位的含义。 10.MCS-51系列单片机内部有哪些主要逻辑部件组成? 11.P3口的第二功能是什么。 12.MCS-51单片机内部RAM如何分配的? 13.写出将片内RAM 30H单元、片外RAM 3000H单元的内容读入A中的指令。 14.位地址20H与字节地址20H有何区别?位地址20H具体在片内RAM中什么位置?15.写出特殊功能寄存器IE、IP、TMOD的名称及功能。 二、名词解释 1、A/D分辨率 2、中断

三、编程 1、定时器/计数器初始化编程 若要求T0作为定时器以方式1工作,定时时间为50ms; T1作为计数器以方式2工作,计3个脉冲溢出。设单片机晶振频率为12MHZ,编写初始化程序。 2、编程将片内RAM31H单元的高3位和30H单元的高5位合并为1个字节送片内RAM32H,要求31H的高3位在高位上。 3.以30H为起始地址的内部RAM中,连续存放8个单字节无符号数, 试编一程序,求其平均值送52H单元。 4.片内RAM的40H、41H单元存放2个压缩的BCD码,编制程序将其转换成七段码,并存入片内30H~33H单元中。已知七段码表的首地址为TAB。 四、设计 1、画出利用8255A管理LED3位静态显示的原理简图,并编写显示数字5、7、9的程序。 五、指令题 1.设片内RAM(30H)=0EH,执行下面程序后,(A)=?该程序完成何功能? MOV R0,#30H 答: MOV A,@R0 结果A= RL A 功能: MOV B,A RL A RL A ADD A,B RET 2.设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? (1)XCH A,R1 (2)XCHD A,@R1 3.设内部RAM中44H单元的内容为43H,执行下列程序后 MOV SP,#78H MOV R1,#44H

嵌入式操作系统课程设计报告

嵌入式系统设计报告 系(院):计算机科学学院 专业班级:计科11201 姓名:微尘 学号: 201203300 指导教师:王剑 设计时间:2015.6.22 - 2015.7.3 设计地点:4教硬件实验室

目录 一、课程设计的目的 (2) 1.1设计目的 (2) 1.2任务介绍 (2) 二、实验及开发环境 (3) 2.1 实验室环境 (3) 2.2 个人计算机课后开发环境 (3) 三、总体设计 (3) 四、详细设计 (4) 4.1 Windows CE系统编译与安装 (4) 4.2 编程驱动LED和数码管显示正确的信息 (7) 4.3 编程驱动电机运转 (8) 4.4 个人设计小程序 (10) 五、课程设计小结 (17) 5.1 设计小结 (17)

一、课程设计的目的 1.1设计目的 本次课程设计的目的是了解嵌入式系统、嵌入式操作系统,掌握基于嵌入式系统的应用开发基本知识。了解嵌入式操作系统Windows CE的特点,Windows CE的主要模块及各自的功能。掌握嵌入式操作系统Windows CE 的配置、编译、移植方法。了解Visual Studio .NET开发环境,掌握基于Windows CE平台的应用程序设计方法。 1.2任务介绍 以下任务需基于实验室的XSBase270开发平台完成 1.嵌入式操作系统Windows CE平台的搭建 使用Platform Builder编译出自己的Windows CE 5.0操作系统,然后根据实验提供的EBOOT引导程序将编译出的Windows CE 5.0系统安装(刷入)到实验平台。 2.IO接口控制-七段数码管的LED显示控制程序 了解Windows CE下I/O访问机制的原理。了解LED和七段数码管的显示和控制原理。掌握Windows CE下访问硬件I/O寄存器的方法。 3.IO接口控制-点击控制设计 了解Window CE下I/O访问机制和原理。掌握Windows CE下访问硬件I/O寄存器的方法,以及使用Visual Studio .NET对硬件设备编程的一般方法。 4.编写实用小程序并在指定的Windows CE平台上运行调试(选做) 这一部分我选择的是在Windows CE平台上使用Visual Studio 2005基于.NET利用C#语言编写一个简易计算器小程序。从而体验对嵌入式设备编程与普通PC编程的区别。

嵌入式系统开发技术试题库

嵌入式系统开发技术题库第3套 一、选择题 1:与个人计算机(PC)相比,嵌入式系统具有许多不同的特点。下面不属于嵌入式系统特点的是()。A:嵌入式系统与具体应用紧密结合,具有很强的专用性 B:嵌入式系统通常包含在非计算机设备(系统)中,具有隐蔽性 C:嵌入式系统的软硬件资源往往受到严格的限制 D:嵌入式系统性能较低,价格也比较便宜 2:嵌入式系统中的CPU具有一些与通用计算机所使用的CPU不同的特点,下面不是其特点的是()。A:支持实时处理 B:低功耗 C:高主频 D:集成了测试电路 3:嵌入式系统使用的片上系统英文缩写名为SoC,下面关于SoC叙述中错误的是()。 A:SoC也称为系统级芯片,它是电子设计自动化水平的提高和集成电路制造技术飞速发展的产物 B:SoC芯片中既包含数字电路,也可以包含模拟电路,甚至还能包含数字/模拟混合电路和射频电路C:SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能 D:SoC的设计制造难度很大,目前还没有得到广泛使用 4:微电子技术特别是集成电路制造技术是嵌入式系统发展的重要基础,下面关于集成电路的叙述中错误的是()。 A:集成电路的集成度指的是单个集成电路所含电子元件(如晶体管、电阻、电容等)的数目多少 B:根据集成度的高低,集成电路可以分为小规模、中规模、大规模、超大规模和极大规模等几种 C:嵌入式系统中使用的处理器芯片属于大规模集成电路 D:集成电路的制造工艺复杂且技术难度非常高,许多工序必须在恒温、恒湿、超洁净的无尘厂房内完成 5:文字信息是人们用以表达和传递信息的媒体之一,大多数嵌入式系统都必须处理文字信息。下面关于文字信息的表示及其处理的叙述中,错误的是()。 A:目前使用最广泛的西文字符集是ASCII字符集,它包含96个可打印字符 B:GB2312是我国目前广泛使用的汉字编码国家标准之一 C:GB2312包括6000多汉字,但不包含西文、俄文等其他字符 D:GB2312字符集中的汉字与符号在系统中采用双字节表示 6:假设一台数码相机一次可拍摄16位色1024 x 1024的彩色相片共80张,数据压缩比平均是4,则它使用的存储器容量大约是()。 A:40MB B:60MB C:80MB D:120MB 7:在数字音频信息数字化过程中,正确的处理顺序是()。 A:量化、取样、编码 B:取样、编码、量化 C:取样、量化、编码 D:编码、取样、量化 8:互联网借助TCP/IP协议把许多同构或异构的计算机网络互相连接起来,实现了遍布全球的计算机的互连、互通和互操作,其中的IP协议起着关键性的作用。下面有关IP协议的叙述中,错误的是()。

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

嵌入式程序设计实验报告

实验一开发环境的搭建与配置 【实验目的】 1)熟悉嵌入式Linux开发平台。 2)掌握嵌入式Linux开发平台的开发环境搭建与配置。 3)了解minicom配置串口通信参数的过程。 4)了解嵌入式Linux的启动过程。 5)掌握程序交叉编译运行及调试的一般方法。 【实验内容】 1)连接实验开发板与宿主机。 2)在虚拟机中的CentOS(宿主机)搭建开发环境。 3)在宿主机中配置minicom。 4)分析嵌入式Linux的启动过程。 5)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,然后传输到目标机上运行。 6)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,用gdbserver进行远程调试。 【实验步骤】 连接实验开发板,对虚拟机进行设置 1)首先把实验开发板打开,用网线和串口线连接宿主机,并连接电源(注意这时不要拨动实验 开发板的开关按钮)。 2)在桌面上点击打开vmware 软件,选择“编辑虚拟机设置”,如下图所示:

图1 3)进入虚拟机配置界面后把网络连接方式设置为“桥接方式”,如图2所示: 图2

4)添加串口,如下图所示: 图3 5)完成串口的添加后,选择“OK”,完成对虚拟机的设置。如下图所示:

图4 6)选择虚拟机的“Edit”、“Virtual Network Editor...”,如下图所示:

图5 7)进入虚拟机网络参数设置界面后对VMnet0进行设置(注意这里桥接的网卡应选择与实验开 发板相连接的那块儿网卡),然后点击“Apply”、“OK”如下图所示:

图6 8)上述设置完成后启动CentOS(CentOS的用户名为“root”,密码为“xidianembed”)。 工具链的配置 1)在CentOS的根目录下创建一个名为“EELiod”的目录,把实验中要用到的文件(主要是一 些rpm包)拷贝到该目录下。(可以用U盘、WinSCP等工具进行,此处不再做详细说明)。 2)交叉编译工具链位于/opt/buildroot-2011.02/output/host/usr目录下,进入工具链的bin目录下, 可以看到一些编译工具,这些工具将会在之后的交叉编译过程中使用到。

嵌入式系统设计考试考题

一.简答题: 1.在PXA270和Exynos 4412实验系统中,都采用了核心板及母板(主板)结构,请简述这种结构设计的优点和缺点。 答:核心板是一个六层的小板,主板是一个两层的大板。两种板子的特征以及要求不同:核心板的特征是集成性高,结构复杂,成本相对较高,要求要可以高速运行。主板的特征是扩展性强,可搭载外围设备,成本低廉,相对低速。设计成两块板子,让成本高的核心板尽量缩小,成本低廉,也便于设计以及维修更换,并且让两种板子都发挥了各自的特性,所以通常设计成两块板。如果设计成一块板子,两种板子的速度不匹配,设计过程、制作工艺复杂,成本高,出现问题也不好解决,同时主板扩展性强的特性也不好发挥。但是设计成两块电路板,可能出现的问题集中在两块板子的连接上,如电路设计,传输信息的方式,速度(传输时延),准确性等。 处理器有哪些工作模式和状态? 答:工作模式:用户模式、系统模式、快速中断模式、中断模式、管理模式、终止模式、未定义指令模式, 从编程的角度看,ARM处理器的工作状态一般有两种,并可以在两种状态下切换: 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; 第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 (ARM-Thumb Produce Call Standard)的主要内容是什么? 答:为了使单独编译的 C语言和汇编语言之间能够相互调用,必须为子程序间的调用规定一定的规则。ATPCS 就是ARM程序和Thumb程序中子程序调用的基本规则。其使用规则为: 1. 子程序通过寄存器R0~R3来传递参数. 这时寄存器可以记作: A1~A4 , 被调用的子程序在返回前无需恢复寄存器R0~R3的内容. 2. 在子程序中,使用R4~R11来保存局部变量.这时寄存器R4~R11可以记作: V1~V8 .如果在子程序中使用到V1~V8的某些寄存器,子程序进入时必须保存这些寄存器的值,在返回前必须恢复这些寄存器的值,对于子程序中没有用到的寄存器则不必执行这些操作.在THUMB程序中,通常只能使用寄存器R4~R7来保存局部变量. 3.寄存器R12用作子程序间scratch寄存器,记作ip; 在子程序的连接代码段中经常会有这种使用规则. 4. 寄存器R13用作数据栈指针,记做SP,在子程序中寄存器R13不能用做其他用途. 寄存器SP在进入子程序时的值和退出子程序时的值必须相等. 5. 寄存器R14用作连接寄存器,记作lr ; 它用于保存子程序的返回地址,如果在子程序中保存了返回地址,则R14可用作其它的用途. 6. 寄存器R15是程序计数器,记作PC ; 它不能用作其他用途. 7. ATPCS中的各寄存器在ARM编译器和汇编器中都是预定义的。 4.在嵌入式系统设计中,JTAG的主要作用是什么? 答:1 用于烧写FLASH,烧写FLASH的软件有很多种包括 fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。 2 用于调试程序,同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM 开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转

嵌入式程序设计-打地鼠游戏设计

嵌入式程序设计-打地鼠游戏设计 嵌入式程序设计 打地鼠 2013年6月3日 目录 1开发背 景 ..................................................................... ........................... 3 2功能描 述 ..................................................................... ........................... 3 3.基本原 理 ..................................................................... ........................... 3 4.系统总体设 计 ..................................................................... . (4) 4.1界面设 计 ..................................................................... . (4) 4.2 相关变量定 义 ..................................................................... .. (6) 4.3 内部类定义及方法说 明 (6)

5系统测 试 ..................................................................... . (16) 5.1 运行界面...................................................................... . (16) 1开发背景 打地鼠是一款常见的小游戏,简单有趣,深受人们的喜爱,本项目作为基于嵌入式WinCE课程设计和简单游戏编程而提出。希望通过开发《打地鼠》游戏,了解并掌握WinCE软件开发工具的使用,同时提高嵌入式设计的能力。 2功能描述 基本功能:地鼠随机出现在地图上,跟据鼠标点击事件捕获鼠标指针所在区域是否出现地鼠来判断玩家是否击中地鼠,玩家有10次失误机会。 3.基本原理 玩家触发游戏后,地鼠会随机出现在地图上,玩家通过鼠标击打地鼠,地鼠每隔一段时间机会随机出现在地图某一块,若玩家反映不及没有触发鼠标事件,地鼠随机出现别的地方玩家分数不变;若已触发鼠标事件且没有击中地鼠,玩家分数减少;击中则分数增加。 系统流程图:(主要部分的流程图)

相关文档
相关文档 最新文档