ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:151.97KB ,
资源ID:430061      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-430061.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统课程设计报告dz094zxfWord下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统课程设计报告dz094zxfWord下载.docx

1、三、硬件电路设计。(参考下图完成硬件电路设计,用屏幕抓图的方式将自己设计的PROTEUS电路图粘贴在下面,并用文字对所设计的电路功能、原理进一步说明)附图:硬件电路说明:1设置所有I/O口为第一功能,将硬件电路图按上图所示连接。2东西南北四个方向分别装有红、黄、绿三灯,通过放置标号的方式连接到LPC2106。3数码管为交通灯一位十进制倒计时显示,两个数码管显示同样的数字。四、源程序。(只将C语言应用程序附在后面,其它项目文档不要提供,C语言应用程序要有一定的注释说明)源程序:#include config.h void delay(uint32 time) /*延时1ms子程序*/ uint3

2、2 p; for(;time0;time-) for(p=2210;pp-); int main() int32 i; int32 a10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6F; /*数码管0-9的显示*/ PINSEL0=0x00000000; /*设置P0.0-P0.15工作模式为I/O口*/ PINSEL1=0x00000000; /*设置P0.16-P0.31工作模式为I/O口*/ IODIR = 0x00007FFF; /*设置所有用到的I/O口为输出*/ IOCLR = 0x00007E7F; /*清零输出端,消隐*/

3、 while(1) for(i=9;ii-) /*东西红灯、南北绿灯延时9秒*/ IOSET=0x00004200; /*东西红灯、南北绿灯LED显示*/ IOSET=ai; /*数码管显示时间*/ delay(1000); /*延时1秒*/ IOCLR=0x00007E7F; /*输出端清零*/ for(i=3;i-) /*东西红灯、南北黄灯延时3秒*/ IOSET=0x00002200; /*东西红灯、南北黄灯LED显示*/i-) /*东西绿灯、南北红灯延时9秒*/ IOSET=0x00001800; /*东西绿灯、南北红灯LED显示*/ i-) /*东西黄灯、南北红灯延时3秒*/ IOS

4、ET=0x00001400; /*东西黄灯、南北红灯LED显示*/五、仿真效果。(用屏幕抓图的方式将PROTEUS运行仿真效果图粘贴在下面)设计任务二 uC/OS-的移植与应用1了解嵌入式实时操作系统uC/OS-可移植、可裁剪等性能特点,正确理解实时操作系统中任务、信号、消息、中断等基本概念以及uC/OS-多任务管理的调度算法;2掌握uC/OS-在ARM7上移植的方法;3能将uC/OS-移植在LPC2106中,并根据具体要求创建用户任务,解决实际问题;1uC/OS-移植在LPC2106中。2编写用户任务程序,完成实时温度的采集控制。硬件电路见参考硬件电路图,图中用滑动变阻器代替温度传感器转换后

5、的电压,用ADC0809完成A/D转换,并用数码管显示出来。三、参考硬件电路。(用文字对所设计的电路功能、原理做详细说明)硬件电路图说明:1用仿真可调滑动变阻器控制输入电压变化代替温度传感器的输入电压变化,间接仿真环境温度变化。2ADC0808芯片用作A/D转换主芯片,12脚为参考电压,10脚接脉冲控制A/D转换速度。23、24、25引脚为通道选择。000为IN0通道。数码管显示模拟数值。3图中有按钮两个,按钮KEY为开关,按一下启动A/D转换并显示电压数值,再按一下停止显示;按钮RST为复位按键。4设置LPC2106引脚连接ADC0808的P0.14-P0.22和P0.12为输入,其他的引脚

6、为输出。#define TASK_STK_SIZE 64#define KEY 0x00001000 /管脚P0.12#define ADCS 0x00002000 /管脚P0.13#define ADCEND 0x00004000 /管脚P0.14uint32 led_code10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, /共阴极数码管字形码 OS_STK Task0StkTASK_STK_SIZE; /定义任务堆栈OS_STK Task1StkTASK_STK_SIZE;OS_STK Task2StkTASK_STK_SIZE;uint32 i;

7、/ADC转换值void Task0(void *data); /任务1,按下按键,启动数据采集void Task1(void *data); /任务2,A/D转换void Task2(void *data); /任务3,数码管显示/* 函数名称: main* 功能描述: c语言的主函数,由它启动多任务环境*/int main (void) OSInit(); /操作系统初始化 OSTaskCreate(Task0, (void *)0, &Task0StkTASK_STK_SIZE - 1, 2); OSTaskCreate(Task1, (void *)0, &Task1StkTASK_ST

8、K_SIZE - 1, 3); OSTaskCreate(Task2, (void *)0, &Task2StkTASK_STK_SIZE - 1, 4); OSStart(); /启动操作系统 return 0;void delay(uint32 t) /延时子程序 while(t-);void IO_init(void) /设置P0.0-P0.15工作模式为输入输出口 /设置P0.16-P0.31工作模式为输入输出口 IODIR=0x00002FFF; /P0.00-P0.11、P0.13为输出口,其它全为输入口 Task0 COS-II的第一个任务,判断按键状态,若按下并松开,则开始下一

9、个任务,否则一直等待*/void Task0(void *p_arg) p_arg=p_arg; /避免编译警告 TargetInit(); /目标板初始化 IO_init(); while (TRUE) /等待按键按下 while (IOPIN & KEY) != 0); /判断按键按下 delay(2000); KEY) = 0); /判断按键松开 IOCLR=0x0000FFFF; /P0.00-P0.15输出全部清零 OSTaskSuspend(2); /挂起本任务 Task1 COS-II的第二个任务,进行AD转换void Task1(void *p_arg) while (TRUE

10、) /ADC启动时序模拟,START接口需要20us的脉冲输入 IOCLR=ADCS; /ADC_START低电平输入清零 delay(20); /延时20us IOSET=ADCS; /ADC_START高电平输入有效 /ADC_START低电平输入清零 while (IOPIN & ADCEND) = 0); /判断 EOC若为高电平,则表示转换完毕 IOSET=115; /处理数据 用作输出数据 OSTaskSuspend(3); /挂起本任务 Task2 COS-II的第三个任务,LED数码管显示转换值void Task2(void *p_arg) int32 gw,sw,bw; /避

11、免编译警告 gw=i%10; /取个位数据 sw=i%100/10; /取十位数据 bw=i/100; /取百位数据 IOSET=(110)|led_codegw; /显示个位数据 IOCLR=0x0000FFFF; /清零9)|led_codesw; /显示十位数据8)|led_codebw; /显示百位数据 OSTaskResume(3); /恢复ADC任务 课程设计心得体会光阴似箭,日月如梭,为期两周的嵌入式系统课程设计在同学们紧张的钻研中画上了完满的句号。通过这两个星期的课程设计,我学到了很多知识,也开拓了自己的视野和知识面,受益匪浅,现谈谈自己的心得体会。在做第一个嵌入式课程设计之前

12、,我们所学的知识都是理论性的,所以一旦要求把理论性的东西用到实践中来,刚开始有一定的难度。我在听了老师的部分讲解之后,自己独立地写出了程序并进行了仿真,并且学会了使用ADS1.2软件和Proteus软件进行设计的调试和仿真,让我受益匪浅,并为我做下一个课程设计奠定了基础。我在这次课程设计中感受到最重要的一点是一定要学以致用,把所学知识用到生活中来。发明和创造就是这样产生的。并且,在设计与创造的过程中,遇到困难不要气馁,一定要坚持不懈,特别是对与科学研究,爱迪生进行了九千九百九十九次实验,才发明了电灯泡,造福了人类,如果他失败了九千九百九十八次就放弃了,那就不可能有这样的成就。伟人毕竟是伟人,作

13、为一名学生,在学习中一定要抱有积极地心态去对待学习遇到中的问题,不说要像伟人一样能那么执着地去克服困难,但至少要坚持完成自己的学习任务,为今后就业创造好的条件。像这次的课程设计中的交通灯,但并没有实际中交通灯那么复杂。当然,我虽然独立地完成了这次课程设计,但是,未来的路还很长,有更多更具挑战的事情在等着我们。所以我一定要争取学习更多的嵌入式知识,以赶上时代的步伐。在做了第一个课程设计以后再做第二个课程设计就变得不是那么难了,但是对C/OS-II操作系统还是很陌生,我和搭档在分析设计目的以后,坚持独立思考,根据老师的指导,独立完成了程序的编写。在编写程序的过程中,我们遇到失败总是没有放弃,而是换一种思维,再进行思考,在反复的编写和调试中,才完成了程序,并仿真通过。但是,在我和搭档做完课程设计后对于C/OS-II操作系统的移植还不是很了解,操作系统中还有大量的系统自带的函数不会使用。所以说未来的路还很长,我们学的东西还是太少了,我们需要学的东西实在是太多了。总之,这次课程设计让我学到了很多东西,感谢老师悉心的指导,感谢学校能给我们这么好的学习机会来培养我们的动手能力。希望学校能够更加注重学生动手能力的培养,多给学生自己动手操作的机会,在实验和课程设计这一块应该严格把关,培养出社会需要的动手能力强的学生。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2