嵌入式设计实训大纲_嵌入式实训设计
嵌入式设计实训大纲由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“嵌入式实训设计”。
嵌入式系统实训大纲
适用专业:电子信息工程技术 学 制: 学 时:2周 学 分:2.0
一、实习的性质与目的通过本次实训,运用已学的课程知识,根据任务要求进行软硬件系统的设计和调试,对《嵌入式系统》课程中涉及的arm9s3c2410芯片结构、控制原理、硬件和编程等方面有一定的感性认识和实践操作能力,从而加深对本课程知识点的理解,使学生应用知识能力、设计能力、调试能力以及报告撰写能力等方面有显著提高。
二、教学要求 1.任务介绍
1、题目: 基于arm的模拟交通灯控制器设计
2、设计要求: 利用jxarm9_2410的实验箱上的资源(6个7段数码管、4个led等及按键)来设计一个“模拟交通灯控制器”。试验箱电路见附图。控制面板包括:6位数码显示、2组交通灯(每组交通灯包括红和绿2个灯)、十个数字按键键盘、电源按键、电源指示灯和一个运行键。工作流程如下:(1)按下电源键,电源指示灯亮;(2)按运行键,模拟交通灯控制器工作;(3)LED实时显示当前的交通灯状态;(4)红灯和绿灯的工作顺序如下:
2.功能分析(1)按下电源键,电源指示灯亮;(2)按运行键,模拟交通灯控制器工作;(3)LED实时显示当前的交通灯状态;(4)红灯和绿灯的工作顺序如下:绿灯先亮50S 绿灯闪烁5次 绿灯灭,同时红灯亮10S 红灯闪烁5次
红灯先亮50S 红灯闪烁5次 红灯灭,同时绿灯亮10S 绿灯闪烁5次(5)用2位数码管实时倒计时间,倒计时流程如下:从50S倒计时到00S “00”闪烁 从10S倒计时到00S “00”闪烁 绿灯先亮50S 绿灯闪烁5次 绿灯灭,同时红灯亮10S 红灯闪烁5次(6)运行过程中,若再按下电源键,则控制器停止工作,电源指示灯灭。
三、实习方法
(三)安全文明生产与班组生产技术管理 1)安全文明生产 2)
五、成绩评定 平时表现+学生作品+实习报告
六、实习要求
1、实习中要严格服从领导,听从指挥。
2、严格遵守实训室的各项规章制度,爱公共财产,损坏要赔偿。
3、严格遵守实习队纪律,无特殊情况不准请假,对无故缺勤者要严肃处理。
4、尊敬实习指导教师;
5、自始自终地时刻注意安全,未经现场教师同意,不准操作送电,更不准乱动,否则一切后果由自己负责,所有参加实习者要互相监督,发现违生产技术管理 反安全规定和乱动设备的行为立即制止,以确保安全。
6、虚心学习,刻苦钻研,努力实践,认真做好实习日记,完成实习作业。实习结束后认真完成实习报告,写出丰富全面的实习内容,保质保量完成实习任务。电子10—
1、2班嵌入式系统设计实习计划 根据教学进度安排,电子10—
1、2班进行为期2周的嵌入式系统实习计划。计划安排如下: 实训时间:
一、2012年9月3日——2010年9月16日 实训地点:
二、计算机1101室 实训领导小组:
三、组长:袁德明 副组长:李志球 实训队长:
四、刘天飞 指导老师: 单士铎 实训目的和内容见实训大纲(五、另附)
六、实训时间分配和实训项目: 月 日 星天实习内容 备期 数 注3 1 1 实习准备、动员,发放工具,分组,清点计算机,领实习日志、报告、记录本晚 等。布置任务并分解任务.自 习 4 2 1 熟悉实验箱上的资源,熟悉试验箱上的接口电路 写
3 1 优选方案并设计电路图,并验收书面文档 实
4 1 优选方案并设计软件流程图,并验收书面文档 习
5 1 设计并调试程序 报 8 2 查阅资料6、7 告 9 设计并调试程序 10 设计并调试程序 11 设计并调试程序 12 设计并调试程序
验收设计成果成绩考核 交实习日志、报告、记录本,交工具、计算机放回原处
七、生分组及指导教师 分人学生名单(每组第一名为组长)指导老备注 组 数 师 1 6 等 单士铎
等 2 6 等
等 3 6 等 刘天飞
4 等 4 6 等
等
八、训考核及成绩评定 按学校的有关规定考核学生表现等情况;考核评定成绩,按优、良、中、及格、不及格五级记入学生成绩档案
九、实训注意事项及要求
1、教师按“院实习管理办法”中有关规定执行。
2、学生按院“学生管理办法”和实习动员要求执行。
3、学生要严格遵守各项规章制度,注意安全,杜绝一切事故发生。电子信息工程 2012/8/30 电子10-
1、2第指导教师安排表 节 次 星期一 星期二 星期三 星期四 星期五 1节 单士铎 刘天飞、单士铎 刘天飞 刘天飞 刘天飞 2节 3节 单士铎
单士铎 刘天飞 刘天学院
飞 4节 刘天飞 5节 6节 单士铎 刘天飞
自习
单士铎
单士铎 7节
嵌入式系统设计实习指导书
1.课程设计的目的 《嵌入式系统》是一门实践性很强的课程,为了提高学生嵌入式综合程序设计的能力,在学完了《嵌入式系统》课程之后,结合实际问题设计应用程序,旨在加深对嵌入式系统课程知识的理解,加深对使用C语言进行嵌入式程序设计与开发的认识,掌握使用C语言开发嵌入式系统程序来解决实际问题的基本方法和过程,提高进行应用程序设计和分析的基本能力,为今后的学习与实践打下良好的设计基础。2.课程设计题目 由指导教师实现拟定设计题目及要求供学生选择。3.设计准备工作 根据设计任务书给定的题目确定设计的具体题目,结合实验箱上的资源进一步学习嵌入式系统的内容,重点是ARM处理器、LED接口、7段数码管的接口、键盘接口的硬件电路及工作原理,以及进一步熟悉ADTIDE开发环境的使用,掌握利用嵌入式C语言进行程序设计方法,根据选定的题目了解实际工作的任务和内容,收集有关原始信息和资料,结合设计要求,理清设计思路,明确设计内容。4.设计过程内容及方法、步骤 1)需求分析:根据选定的题目,了解实际工作中的任务和内容,收集有关原始信息和资料; 2)系统分析:结合设计要求,对系统进行分析,确定系统功能和系统结构及模块划分; 3)硬件电路的设计:分析工作中需要的电路,采用专业绘图软件进行绘制电路图;并保证电路正确。4)软件流程图设计:根据各模块的功能需要,设计出相应功能的软件流程图; 5)代码设计:根据各模块的功能,在相应函数中设计程序代码,实现所需功能,并进行模块调试,纠正错误; 6)系统测试:利用模拟数据,对整个程序进行运行测试,找出系统存在的问题和不足,并适当给与改正; 7)撰写项目报告。5.设计成果 1)设计成果:包括项目报告、程序源程序代码、硬件电路图。2)项目报告的要求: 项目报告的内容一般包括:引言;设计内容、系统分析;设计方案;开发环境;硬件设计;软件设计、存在问题及原因、使用手册、设计过程中疑难问题的解决办法,系统需要改进的地方和注意的问题;总结等几个部分。(1)项目报告书文字要通顺、层次清楚、对攻功能实现方法、关键技术、主要代码应注有文字说明,必要时用表格列出;(2)设计说明书文字一般不少于30000字。6.设计期间的基本要求 1)学生在教师的指导下,应积极、主动地独立完成课程设计所规定的全部任务。2)应严格按照进度进行设计,不得无故拖延。3)要遵守学院的作息时间,严格遵守设计纪律,原则上不得请假,因特殊原因必须请假者,一律由系领导批准。6.设计期间的基本要求 1)学生在教师的指导下,应积极、主动地独立完成课程设计所规定的全部任务。2)应严格按照进度进行设计,不得无故拖延。
3)要遵守学院的作息时间,严格遵守设计纪律,原则上不得请假,因特殊原因必须请假者,一律由系领导批准。4)设计方案有原则性错误、未按规定时间完成设计、抄袭他人设计、不按设计要求或未完成全部设计内容、无故旷课二次及以上、缺勤时间达三分之一及以上者,不允许参加答辩,成绩定为不及格。
任务一:熟悉实验箱硬件接口电路1、7段数码管接口电路
2、键盘电路
3、JXARM9-2410教学实验系统硬件资源分配 1).地址空间分配以及片选信号定义 表3-1 JXARM9-2410地址空间分配表 数据宽读/写 地址区间 说 明 度(位)属性 0x00000000~0x0003fffff 16 R/W FLASH存储器:28F320:4M字节; 控制LED跑马灯及键盘扫描: 0x02000000 bit0~3 控制键盘扫描; 8 W bit4~7控制跑马灯的显示。低电平有效。读入键盘扫描值:R
0x02000002 bit0~3有效,某位为低时,对应列有键按下。0x02000004 8 W 数码管数据寄存器。数码管扫描控制寄存器:
0x02000006 8 W bit0~bit5:低电平有效。2).外部中断分配 表3-2 JXARM9-2410外部中断分配表
中断口 说明 备注 INT0 按键中断测试 INT1 IDE中断 INT2 USB中断 INT3 触摸屏中断 INT4 网口中断 INT5 GPRS中断 JP2的1、2断接,选择L3DATA;
2、3断接,选择GPRS中断。INT6 CF卡中断 JP2的1、2断接,选择L3LOCK;
2、3断接,选择CF卡中断。任务二
熟悉开发环境 1基础知识 本章将以leddemo程序为例讲述在ADT IDE集成开发环境下,怎样编写、编译和调试程序,关于ADT IDE的更加详细的使用说明请参考“附录B ANSI C和GCC库文件的使用及设置”以及“ADT IDE用户手册”。1.检查硬件连接 检查实验箱配件是否齐全,包括主板,核心板和LCD等; 2.连接调试器
1)当使用JXARM9-2410内置简易调试模块时,请将计算机并口与实验箱左上角的并口通过并口延长线实现连接,并将JP7跳线通过跳线帽短接。
2)当使用ADT1000高级仿真器时,请将计算机并口与仿真器实现连接,然后通过14Pin的JTAG对连线与JXARM9-2410的JTAG口实现连接,并将JP7跳线上的跳线帽去掉。连接如下图所示: 图1-1 JXARM9-2410教学实验系统硬件连接图
注意事项:
1.实验箱和ADT1000分别使用各自装置配套电源,不要混用。2.不要同时连接ADT1000仿真器和简易调试模块,同时只能选择其中一种方式。
3.编辑、编译、调试
1)建立工程: 打开ADT1000,点击“File->New菜单”,弹出New对话框,如下图所示,选择Project页,在Project页中选择调试设备,对于使用ADT 1000仿真器的用户,请选择“ARM7LPT”,对于简易调试器的用户,请选择“ARM7SIMPLE”,在“Project name”和“Location”中输入工程名称和路径,请注意路径和工程名中不能包含空格。在工程类型中选择“EXEC”。
图1-2 新建工程 2)新建一个文件并保存为d:leddemoleddemo.c,编辑该文件,添加如下代码:
/****************************************************************************/ /*文件名称: LEDSEG7.C */ /*实验现象: 数码管依次显示出0、1,2、„„
9、a、b、C、d、E、F
*/ /****************************************************************************/ #define U8 unsigned char static int delayLoopCount=1000;unsigned char seg7table[16] = {
/* 0 1 2 3 4 5 6 7*/ 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, /* 8 9 A B C D E F*/ 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, };void
Delay(int
time);/****************************************************************************/
/* 函数说明: JXARM9-2410 7
段构共阳数码管测试
*/ /* 功能描述: 依次在7段数码管上显示0123456789ABCDEF */ /* 返回代码: 无 */ /* 参数说明: 无 */ /****************************************************************************/ void Test_Seg7(void){ int i;*((U8*)0x02000006)= 0x00;for(;;){ /* 数码管从0到F依次将字符显示出来 */ { for(i=0;i
}
/* 数码管从F到0依次将字符显示出来 */ for(i=0xf;i>=0x0;i--){ /* 查表并输出数据 */ *((U8*)0x02000004)= seg7table[i];
Delay(1000);
}
} } /****************************************************************************/ /* Function name : 循环延时子程序 */ /* Description : 循环 'time' 次 */ /* Return type :void */ /* Argument : 循环延时计数器 */ /****************************************************************************/ void Delay(int time){
int i;
for(;time>0;time--)for(i=0;i
} 3)将leddemo.c文件加入到工程leddemo中,如下图所示,点击右键菜单:
图1-3 加入文件到工程示意图将弹出文件选择对话框,选择d:leddemoleddemo.c文件,并点击“打开”按钮。
图1-4 文件选择对话框
4)新建一个文件并保存为d:leddemoldscript,编辑该文件,添加如下内容:
SECTIONS {
.= 0x0c000008;
.text : { *(.text)}
.data : { *(.data)}.rodata : { *(.rodata)}.b : { *(.b)} __EH_FRAME_BEGIN__ =.;__EH_FRAME_END__ =.;PROVIDE(__stack =.);
.debug_info
0 : { *(.debug_info)}.debug_line 0 : { *(.debug_line)}.debug_abbrev 0 : { *(.debug_abbrev)}.debug_frame 0 : { *(.debug_frame)} } 该文件为链接脚本文件,其意义和编写方法将在“实验2 ARM汇编语言编程实验”中解释,更进一步的解释请参考“附录A 链接定位脚本”。该文件必须通过第5步中的工程设置对话框设置到链接参数中才有效。
5)如下图所示,在工作区窗口中的leddemo工程名上右键点击并选择“Setting”菜单项。
图1-5 工程设置示意图弹出工程设置对话框,选择“Link”页,在“Link script”中输入“.ldscript”,然后点击“OK”按钮。
图1-6 Link选项
6)如下图所示,在工作区窗口中的leddemo工程名上右键点击并选择“Build”菜单项。图1-7 工程编译示意图编译成功后结果如下图所示。
图1-8 编译结果示意图
7)连接仿真器到JXARM9-2410 JTAG连接。并将调试器和JXARM9-2410上电,然后点击“Debug”菜单的“Remote Connect”进行连接,如下图所示。
图1-9 调试菜单正常连接结果如下图所示。
图1-10 连接结果示意图如果连接正确“Debug”菜单项将如下图所示
图1-11 正确连接后的调试菜单示意图 8)点击Debug->Download菜单下载程序到SDRAM中
图1-12 程序下载下载成功后,将显示入口点的源代码,如下图所示:
图1-13 下载成功后的调试窗口示意图 9)运行程序,点击Debug->Go菜单项,运行该程序,如果运行正常,JXARM9-2410-1上的六个七段数码管将显示十六进制数据。
图1-14 运行程序
10)点击Debug->Stop停止程序运行。任务三:采用动态显示的方法在7段数码管上显示如下字符
任务四:实现4个led发光二极管的跑马灯 任务五:实现模拟交通灯系统 a 实现红、绿的循环控制。使用红、绿二种不同颜色的LED灯实现此功能,由南往北方向红、绿二个灯依次依次显示60秒和40秒,由东往西方向的红绿二个灯依次显示40秒和60秒上。b用数码管显示倒计时。可以利用动态显示或静态显示。c 南北方向控制车辆的绿灯熄灭的同时,控制蜂鸣器响2秒来作为警报。