嵌入式系统设计课程设计.doc

上传人:恋****泡 文档编号:873072 上传时间:2019-08-12 格式:DOC 页数:16 大小:287.50KB
返回 下载 相关 举报
嵌入式系统设计课程设计.doc_第1页
第1页 / 共16页
嵌入式系统设计课程设计.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《嵌入式系统设计课程设计.doc》由会员分享,可在线阅读,更多相关《嵌入式系统设计课程设计.doc(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 嵌入式系统设计课程设计嵌入式系统设计课程设计设计题目设计题目:基于基于 C/OS-II8*8C/OS-II8*8 点阵的设计与制作点阵的设计与制作课程设计题目:基于 C/OS-II8*8 点阵的设计与制作课程设计答辩或质疑记录: 1、时间管理包括哪些内容? 答:uC/OS-II 的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一 次,时间频率取决于用户对硬件系统的定时器编程来实现。中断发生的时间间隔是固定不变的, 该中断也成为一个时钟节拍。 uC/OS-II 要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的系统函数, 例如中断级的任务切换函数,系统时间

2、函数。2、内部时钟振荡器是否稳定?是否可以用于产生波特率的时基? 答:同器件的内部时钟振荡器的精度是不同的(20%)。随电源电压变化,它也将发生变化 (6.5%/V) 。但基本不随温度变化(传统的 8051 处理器在中断来临时只将程序计数器 PC 的值压入堆栈。 按照 uCOS-II 的要求,保存全部寄存器,AT89C55 的寄存器有 PSW、ACC、B、DPL、DPH、R0-R7 和 SP。 Cx51 编译器允许用 CPU 寄存器传递 3 个参数。 堆栈从低地址向高地址增长。 堆栈指针指向上次入栈地址。 AT89C55 存在系统栈。 系统栈深度为 256 字节。 因为需要进行任务栈与系统栈的

3、复制,获得系统栈的起始地址,所以需要对系统进行一些定义。首先,堆栈起点由 Keil 决定,只关心大小,然后通过 SOStack 获得 keil 分配 的 SP 起点。下面的代码就是相关的汇编代码,可以放在启动代码中,也可以放在相关的文 件中。 为了函数重入,形参和局部变量必须保存在堆栈里。MCS-51 硬件堆栈太小,Keil 将根 据内存模式在相应内存空间仿真堆栈,增长方向由上向下,与硬件栈相反。对于大模式编 译,函数返回地址保存在硬件堆栈里,形参和局部变量放在仿真堆栈中,对 MCS-51 咬使用 大模式编译。3.3. 编写编写 4 4 个汇编语言函数个汇编语言函数OS_CPU_A.SuC/O

4、S-II 的移植实例要求用户编写 4 个简略的汇编语言函数:OSStartHighRdy()、 OSCtxSw()、OSIntCtxSw()、OSTickISR()。表 2 移植所需要的具体材料及移植的参数编译器硬件堆栈大小任务栈大小系统栈保存参数(包括模栈指针?C_XBP)每秒切换次数定时器初值单片机型号Keil Cx5130H50H1750B800HSTC11F48XE4.4. 测试、编写驱动和应用步伐测试、编写驱动和应用步伐做完以上事情以后,就要测试移植的是否准确。测试一个 C/OS-II 实时内核并不庞 大,即是让这个实时内核在自己的目的板上跑起来。 uC/OS-II 移植完成以后,就

5、要在这个实时内核之上编写接口驱动步伐。由于嵌入式操 作体系体积更小,功效更强,且快速、稳固,更具有针对性,因此不像其它操作体系那样, 对体系的全部接口配置都需要驱动、管理、调治和监视。由于嵌入式产品是针对特别的用 途而计划的,有很强的埋头性,因此,在编写驱动步伐时内容更精简,更具有稳固性,编 写出的驱动模块更小。编写驱动步伐应完成以下基本功效:对配置初始化和开释;把 数据从内核传送到硬件和从硬件读取数据;读取应用步伐传送给配置文件的数据和回送 应用步伐恳求的数据;检测和处理配置出现的错误。实现了以上功效以后,一个嵌入式 操作体系就基本组成了。4、系统硬件电路设计 1. 复位电路部分复位电路部分

6、 如图所示,当要对晶片重置时,只要按此开关就能完成 LED 和开关的重置。2.晶振部分晶振部分 产生时钟信号3总设计图总设计图5、系统软件设计#include “includes.h“ unsigned char i=0; unsigned char j=0; unsigned char a8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char b8=0x30,0x18,0x24,0x12,0x24,0x18,0x30,0x00; void TaskStartyya(void *yydata) reentrant; void TaskS

7、tartyyb(void *yydata) reentrant; void TaskStartyyc(void *yydata) reentrant; void TaskStartyyd(void *yydata) reentrant; void TaskStartyye(void *yydata) reentrant; OS_STK TaskStartStkyyaMaxStkSize;/注意:我在 ASM 文件中设置?STACK 空间为 40H 即 64。 OS_STK TaskStartStkyybMaxStkSize;/任务堆栈 OS_STK TaskStartStkyycMaxStkS

8、ize; OS_STK TaskStartStkyydMaxStkSize; OS_STK TaskStartStkyyeMaxStkSize;void main(void) OSInit();InitTimer0();InitSerial();InitSerialBuffer(); KeyInit();OSTaskCreate(TaskStartyya, (void *)0, OSTaskCreate(TaskStartyyb, (void *)0, OSTaskCreate(TaskStartyyc, (void *)0, OSTaskCreate(TaskStartyyd, (void

9、*)0, OSTaskCreate(TaskStartyye, (void *)0, OSStart(); void TaskStartyya(void *yydata) reentrant /任务 1 for(;) TH0=(65536-1000)/256;TL0=(65536-1000)%256;P3=ai;P1=bi;i+;if(i=8)i=0; 6 6、软件调试软件调试1. 软件调试软件调试根据程序框图,写出对应的程序,在 keilC 中进行调试编译,生成.hex 文件。在 Proteus 中画出电路图,并装载上述生成的.hex 文件,首先要对程序中的每个子函数进行 功能测试,在得到我

10、们想要的功能后还要对子函数与子函数之间的调用进行测试,在所有 子函数测试都通过后才在能镶嵌到主函数中进行测试,仿真观察结果,根据结果再对程序 进行修改,调试,直到满意为止。2、硬件调试、硬件调试2.1、检查元器件 在焊接之前应先检查各元器件的好坏。 检查电容、电感、电阻的大小是否正确。 检查二极管是否导通。 2.2、排列元器件 由于本次课程设计采用的是万用板,元器件在电路上的排列要自己排列分布好,以为 焊接减少不必要的麻烦。 2.3、焊接在分布好元器件的格局后,开始焊接,先焊接单片机底座、排母、其它元器件。焊接 完元器件后即元器件分布在万用板上已定型。然后根据电路图,用导线连接各引脚。在用 导

11、线连接时应注意,导线焊接在元器件引脚上时剥皮部分长度要适中。每焊完一个元器件 都应该检查是否有错。 2.4、调试 按照电路图焊接完毕后,检查电路完毕后。单片机先不装上去,接上电源,用万用表 测试单片机和液晶的电源引脚,看其值是否正常,不正常检查电路调试直至正常。以避免 烧坏元器件。完成以上步骤后,接上电源装上单片机,看是否实现功能。如果出错,检查 电路,调试,直至出现正确结果。 七、实物组装八、心得体会经过这次课程设计,我觉得自己学到了不少东西。归纳起来,主要有以下几点: 1.通过这次课程设计,我能将以前四年所学到的专业知识与实践相联系,将所学到的 知识充分运用到本次设计中。同时,我也认识到自

12、己知识上不足的地方,体会到了所学理 论知识的重要性,知识掌握得越多,设计得就更全面、更顺利、更好。 2.进一步熟悉了单片机的知识。通过本次设计,我对单片机的基本原理、内部结构、 各引脚功能、定时器和中断的应用都有了更深刻的理解。并且,能够以单片机为基础的情 况下对单片机进行核移植,对嵌入式系统方面有了一定的了解,其中对嵌入式中的时间设 定方式和时间之间的间隔有了很大的了解,这也是嵌入式的重点,对优先级的设定有了一 个初步的了解。 3.通过本次设计,熟悉了设计一个项目所必经的几个阶段。本次设计从理论研究到硬 件原理图设计,从元器件的选择到 PCB 板的制作,从软件编程到最后的调试过程都由我独 立

13、完成。这不仅锻炼了我独立完成设计工作的能力,更重要的是了解了一个电子产品的设 计流程,为将来投入工作增加了宝贵的经验,奠定了坚实的基础。 4.在焊接时要认真仔细,在焊接上的技术要过关,不然检查出来会出现很多问题,在 我做出来的线路板上载最后检查出来了很多漏焊、虚焊的问题,导致最后检查特别的麻烦。5.提高了自己查找资料的能力。在设计过程中,我碰到了一些暂时无法解决的问题, 于是我通过上网查阅和图书馆借阅资料,或是通过与老师同学交流一步步地解决了。从中 我懂得了我们这个专业的知识面相当广泛,我们需要不断通过各种途径更新自己的知识, 不断充实自己,同时要懂得与他人交流意见,积极听取别人的建议,懂得团

14、队合作的重要 性。九、参考书目九、参考书目1 Jean J Labrosse嵌入式实时操作系统C/OS-IIM.邵贝贝译北京:北京航空航天 大学出版社,2003 2 任哲.嵌入式实时操作系统C/OS-II原理及应用M北京:北京航空航天大学出版社, 2003 3 沈睿. C/OS-在DSP2407 上若干移植问题的研究J.中国水运,2007,5(5):43-44. 4 马忠梅编著.单片机的C语言应用程序设计M.北京:北京航空航天出版社,2OO3. 5 徐灵伟,刘飞.基于C/OS-的嵌入式中断实现与扩展C.北京:中国控制与决策学会,2007 :999-1002附录:附录:元件清单组件数量(个)组件数量(个)STC89C5 5130pF 瓷片电容26264110K 电阻11 74LS3731PNP 普通三极 管111.0592 M 晶振1300 电阻14按键10芯片底座3 5v 电源110uf 极性电容1 排针若干电源接口1 排插若干5v 电源1 8*8 点阵 灯174073

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com